无法在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错误(季节性调整股票价格〜油价+指数): 不是时间序列数据
答案 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
对于这个过于简化的例子,这基本上是理智的输出。