如何在 R 中使用 depmixS4 包训练和测试模型?

问题描述

我正在创建一个使用 sp500 价格时间序列示例查找隐藏状态的模型。我的任务是在训练集和测试集上找到两个状态。

library(quantmod)
library(plotly)
library(depmixS4)

# train sample
getSymbols("^GSPC",from="2015-01-01",to="2019-01-30")

# test sample
getSymbols("^GSPC",to="2019-01-30")

# Calculate differenced logarithmic returns using S&P500 Close prices

sp500_temp = diff(log(Cl(GSPC)))
sp500_returns = as.numeric(sp500_temp)

# Fit Hidden Markov Model to S&P500 returns,with two “states”

hidden_markov_model <- depmix(sp500_returns ~ 1,family = gaussian(),nstates = 2,data = data.frame(sp500_returns=sp500_returns))

model_fit <- fit(hidden_markov_model)

# Calculate posterior probabilities for each of the market states

posterior_probabilities <- posterior(model_fit)

q <- cbind(GSPC,posterior_probabilities$state)

在变量 q 价格及其对应状态中。

另外,我想将训练集中得到的结果应用到测试集中并确定其中的状态,但我不明白如何做到这一点,以免再次拟合模型

可能是我对马尔可夫隐状态的概念理解有误,求帮忙解决问题

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)