機械学習を使用して、将来の1つ以上のステップの財務時系列を予測する方法を把握しようとしています。
いくつかの記述データを含む財務時系列があり、モデルを作成し、そのモデルを使用して先のnステップを予測したいです。
私がこれまでやってきたことは:
getSymbols("GOOG")
GOOG$sma <- SMA(Cl(GOOG))
GOOG$range <- GOOG$GOOG.High-GOOG$GOOG.Low
tail(GOOG)
           GOOG.Open GOOG.High GOOG.Low GOOG.Close GOOG.Volume GOOG.Adjusted     sma range
2013-05-07    863.01    863.87   850.67     857.23     1959000        857.23 828.214 13.20
2013-05-08    857.00    873.88   852.91     873.63     2468300        873.63 834.232 20.97
2013-05-09    870.84    879.66   868.23     871.48     2200600        871.48 840.470 11.43
2013-05-10    875.31    880.54   872.16     880.23     1897700        880.23 848.351  8.38
2013-05-13    878.89    882.47   873.38     877.53     1448500        877.53 854.198  9.09
2013-05-14    877.50    888.69   877.14     887.10     1579300        887.10 860.451 11.55
次に、このデータにrandomForestモデルを適合させました。
fit <- randomForest(GOOG$GOOG.Close ~ GOOG$sma + GOOG$range, GOOG)これは驚くほどうまく収まるようです:
> fit
Call:
 randomForest(formula = GOOG$GOOG.Close ~ GOOG$sma + GOOG$range,      data = GOOG) 
               Type of random forest: regression
                     Number of trees: 500
No. of variables tried at each split: 1
          Mean of squared residuals: 353.9844
                    % Var explained: 97.28そしてそれを使用して予測を試みました:
predict(fit, GOOG, n.ahead=2)しかし、この予測はうまくいきませんでした。
モデルを近似する前に、予測したい数だけステップで他の変数を遅らせる必要がありますか?
おそらく他にも多くのことを考慮する必要がありますが、これらは機械学習を試す最初のステップです。