2015-12-28 7 views
2

У меня возникли проблемы с написанием моего прогноза в R. У меня есть все данные временных рядов в документе CSV, который импортируется в глобальную среду. Код работает вплоть до anova (reg1). Так что мой вопрос, действительно, почему остальная часть сценария не работает, и как мне нужно, чтобы изменить сценарий, чтобы сделать его выглядеть как пример 4.4 выглядит как в этой ссылке (https://www.otexts.org/fpp/4/8)Линейная регрессия Прогнозирование в R

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 (SeasonallyadjustedStockprice ~ Oilprice + Index): не раз, когда данные серии

+2

Итак, что конкретно представляет собой ваш вопрос здесь? Пожалуйста, отредактируйте свой пост, чтобы сделать это более понятным. Обязательно поставьте [воспроизводимый пример] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example), который не зависит от данных, доступных только на вашем компьютере , – MrFlick

+0

Что значит «не работает»? Вы получаете сообщение об ошибке? Если это так, вы должны включить это. – MrFlick

ответ

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 

Это в основном разумный выход для этого чрезмерно упрощенного примера.

Смежные вопросы