Я пытаюсь предсказать фондовый рынок, используя гауссовский HMM.Я не понимаю, как выполняется этап прогнозирования после обучения модели.Я не понимал, как точное предсказание наиболее вероятной последовательности состояний может помочь предсказать будущее значение.
Один из задаваемых вопросов предлагает этот метод: «Используйте алгоритм Витерби с (частичной) последовательностью, чтобы получить наиболее вероятноепоследовательность скрытого состояния. Возьмите распределение излучения последнего скрытого состояния в этой последовательности и прогнозируйте, например, среднее значение этого распределения (которое часто является гауссовым). "
Я не получил то, что он говорит, после предсказания большинствапоследовательность вероятных состояний.
Я обучил свою модель, используя функции, доступные с hmmlearn
в python.Я также применил алгоритм Витерби к образцу, чтобы предсказать возможную последовательность скрытых состояний.Но я понятия не имею, что делать после этого.Я не очень хорош с математикой непрерывного HMM.Подскажите пожалуйста, как именно делается прогноз.
Код:
import numpy as np
from hmmlearn import hmm
import pandas as pd
np.random.seed(42)
model = hmm.GaussianHMM(n_components=3, covariance_type="full",algorithm='viterbi')
model.startprob_ = np.array([0.3,0.4,0.6])
model.transmat_ = np.array([[0.7, 0.2, 0.1], [0.3, 0.5, 0.2], [0.3, 0.3, 0.4]])
model.means_ = np.array([[0.0], [3.0], [5.0]])
model.covars_ = np.tile(np.identity(1), (3, 1, 1))
df = pd.read_csv("HistoricalQuotes.csv")
Y = df['close'][2:40]
Y = Y[::-1]
X = np.array(Y)
X = np.reshape(X, (-1,1))
model.fit(X)
Y = df['close'][40:55]
Y = Y[::-1]
X = np.array(Y)
Z = model.predict(X)