0
我預計利用這樣產生的諧波迴歸時間序列:[R諧波預測失敗 - newdata結構
(包使用:T系列,預測,TSA,plyr)
airp <- AirPassengers
TIME <- 1:length(airp)
SIN <- COS <- matrix(nrow = length(TIME), ncol = 6,0)
for (i in 1:6){
SIN[,i] <- sin(2*pi*i*TIME/12)
COS[,i] <- cos(2*pi*i*TIME/12)
}
SIN <- SIN[,-6]
decomp.seasonal <- decompose(airp)$seasonal
seasonalfit <- lm(airp ~ SIN + COS)
上的裝配工作只精細。預測時發生問題。
TIME.NEW <- seq(length(TIME)+1, length(TIME)+12, by=1)
SINNEW <- COSNEW <- matrix(nrow=length(TIME.NEW), ncol = 6, 0)
for (i in 1:6) {
SINNEW[,i] <- sin(2*pi*i*TIME.NEW/12)
COSNEW[,i] <- cos(2*pi*i*TIME.NEW/12)
}
SINNEW <- SINNEW[,-6]
prediction.harmonic.dataframe <- data.frame(TIME = TIME.NEW, SIN = SINNEW, COS = COSNEW)
seasonal.predictions <- predict(seasonalfit, newdata = prediction.harmonic.dataframe)
這將導致警告:
Warning message:
'newdata' had 12 rows but variables found have 144 rows
我經歷了,發現名字是SIN.1
,SIN.2
,等等,而不是SIN1
和SIN2
...所以我手動更改的,它仍然沒有工作。我還手動刪除了SIN.6
,因爲它由於某種原因仍然存在。
幫助?
編輯:我也瀏覽過類似的帖子,這些問題的答案並沒有解決我的問題。
'airp'從哪裏來?這裏使用了哪些軟件包?請確保您的示例是[reproducible](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)。 – MrFlick
@MrFlick我修好了 - 現在應該可以重現。是嗎? –