首页 > 解决方案 > 使用移动平均线作为神经网络的变量来预测 R 中的股票价格:如何修复模型中的长度误差?

问题描述

我目前正在使用神经网络模型来预测股票价格,但是我想知道是否有人使用移动平均线作为预测器,你是如何做到的?

我目前有这个代码,我使用 data_serie8 作为股票价格(长度为 2013),使用 my_moving_average_2 作为移动平均线(长度为 2009)。为了获得股票价格的移动平均值,我应用了带有参数 k = 5 的 rollmean() 函数。因此,这使得移动平均变量失去了 4 个值。

    #Fit model
    model8 <- train(data_serie8 ~ stats::lag(my_moving_average_2), 
               data_serie8, 
               method='nnet', 
               linout=TRUE, 
               trace = FALSE)
    ps <- predict(model8, actual_serie8)

但是,当我运行此代码时,会出现此错误:

model.frame.default 中的错误(form = data_serie8 ~ stats::lag(my_moving_average_2),:可变长度不同(找到 'stats::lag(my_moving_average_2)')

我相信这是因为缺少 4 个值。有谁知道如何解决我如何在移动平均变量的开头和结尾填充 2 个值的问题。也许还有其他选择。请告诉我。

此外,在使用移动平均线时,您是否建议仅使用一个滞后、无滞后或更多滞后来预测股价?

标签: rneural-networkpredictionmoving-averagennet

解决方案


推荐阅读