PCA биржевой доходности - PullRequest
       6

PCA биржевой доходности

0 голосов
/ 12 апреля 2020

У меня есть особая доходность акций и я хочу выяснить, какую из этих возвратов можно использовать для объяснения всей совокупности возвратов. Поэтому я использую PCA для топ-2 возвратов, чтобы объяснить доходность акций. Я взял журнал возврата акций.

Мой код выглядит так:

from sklearn.decomposition import PCA
pca = PCA(n_components=2)
pcadata = stock['lr']
pca.fit(pcadata)
first_pc= pca.components_[0]
second_pc = pca.components_[1]

Когда я запускаю это, я получаю эту ошибку:

ValueError: Expected 2D array, got 1D array instead:
Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.

Как мне решить эту ошибку?

1 Ответ

0 голосов
/ 12 апреля 2020

PCA - это процедура уменьшения размера, поэтому вам необходим двумерный массив выборок x переменных. Затем PCA будет искать комбинации переменных, которые больше всего различаются в этих выборках. Похоже, вы включаете только одну переменную stock['lr']; поэтому вы получаете ошибку. Возможно, вы могли бы дать нам немного больше объяснений о ваших данных, чтобы мы могли определить, как вы должны вводить свои данные.

Чтение ваших комментариев (я не могу ответить, потому что мне нужно 50 репутаций, чтобы сделать это ... ), Я думаю, вы могли ошибиться в использовании PCA. Вы ищете репрезентативную выборку, в то время как PCA предоставляет вам «репрезентативные» переменные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...