程式
如何在機器學習中分配 n 天目標變數
我正在嘗試使用有監督的機器學習來預測未來的價格。我的邏輯是從t, t-1, t-2 和 t-3時期取開盤價和收盤價來預測t+1,t+3 和 t+5時期的未來收盤價
library(quantmod) symbol= getSymbols("AAPL",from="2010-03-01", auto.assign=F) close<-Cl(symbol) open<-Op(symbol) lc1<-lag(close) lc2<-lag(close,2) lc3<-lag(close,3) lo1<-lag(open) lo2<-lag(open,2) lo3<-lag(open,3) X<-cbind(close,open,lc1,lc2,lc3,lo1,lo2,lo3) Y<-need to assign close price for t+1,t+3 and t+5
我已經使用滯後函式為周期 0、1、2 和 3 創建了特徵向量,但我的問題是如何為 t+1、t+3 和 t+5 週期分配目標變數。
您需要將每個目標變數分配到它們自己的列,然後為每個預測範圍訓練模型
library(quantmod) symbol= getSymbols("AAPL",from="2010-03-01", auto.assign=F) close<-Cl(symbol) open<-Op(symbol) lc1<-lag(close) lc2<-lag(close,2) lc3<-lag(close,3) lo1<-lag(open) lo2<-lag(open,2) lo3<-lag(open,3) X<-cbind(close,open,lc1,lc2,lc3,lo1,lo2,lo3)
添加結果變數 (Y)
X$t1<-lag(close,-1) X$t3<-lag(close,-3) X$t5<-lag(close,-5)
由此你可以訓練 3 個模型來預測 $ t+n, n=1,..,n $
您似乎在做的實際上是一個自回歸 (AR) 模型,因此也許您可以從使用現有模型中受益,例如ARIMA R 已經有了很好的 實現。