R中的线性回归预测

时间:2015-12-28 21:32:20

标签: r forecasting

无法在R中编写我的预测脚本。我将所有时间序列数据都导入到导入全局环境的.csv文档中。代码一直工作到anova(reg1)。所以我的问题是为什么脚本的其余部分不起作用,我怎么需要编辑脚本使它看起来像示例4.4在这个链接中看起来像https://www.otexts.org/fpp/4/8

data <- read.csv("Ny.csv", h=T, sep=";")

SeasonallyadjustedStockprice<-data$Seasonallyadj

Oilprice<-data$Oilaverage

Index<-data$DJI

plot.ts(Oilprice)

plot.ts(SeasonallyadjustedStockprice)

plot.ts(Index)

reg1<-lm(SeasonallyadjustedStockprice~Oilprice+Index)

summary(reg1)

anova(reg1)

Time <- tslm(SeasonallyadjustedStockprice~Oilprice+Index) 

f <- forecast(Time, h=5,level=c(80,95))

错误消息如下: tslm错误(季节性调整股票价格〜油价+指数):   不是时间序列数据

1 个答案:

答案 0 :(得分:4)

它看起来像是因为公式右侧的术语不是时间序列。这是一个简化的例子:

>df
  a b
1 1 2
2 2 4
3 3 6
4 4 8

> y
[1] 1 3 5 7

>tslm(y ~ a + b, data=df)
Error in tslm(y ~ a + b, data = df) : Not time series data

> dfts = ts(df)    # This is of class 'mts' (multiple time series)
> tslm(y ~ a + b, data=dfts)

Call:
lm(formula = formula, data = dfts, na.action = na.exclude)

Coefficients:
(Intercept)            a            b  
         -1            2           NA  

对于这个过于简化的例子,这基本上是理智的输出。