我正在使用R中“TSA”包中的函数prewhiten
。我收到有关NA
值的错误,但我不明白,因为我没有{{1}我的数据中的值。以下是错误消息:
NA
它适用于某些数据文件,但不适用于其他数据文件。当我打印whitedata <- prewhiten(xhr, ypred, mod1)
Error in na.omit.ts(as.ts(x)) : all times contain an NA
和xhr
时,我看不到任何ypred
值。
两者都是时间序列:
NA
ypred&lt; - ts(数据$ pred_z,start = 1,频率= 10)#convert to time series
奇怪的是,如果我使用不同的模型(一个基于xhr <- ts(data$hr_z,start=1,frequency=10) #convert to a time series
构建的模型)运行它,它运行得很好。我使用的模型是:
ypred
因此,在进入prewhitening之前,似乎正在对数据进行某些操作,并且出现NA值。
是否有任何方法/功能让我检查更详细的内容或让我手动进行预白化?
答案 0 :(得分:0)
不知道prewhiten功能有什么问题,但您可以手动执行以下操作:
fitwhite <- fitted(Arima(xhr, model=mod1))
fitwhite2 <- fitted(Arima(ypred, model=mod1))
print(ccf(fitwhite, fitwhite2))
答案 1 :(得分:0)
我有同样的问题。我已经尝试过您的方法,但是在以下时间可以使用
library(forecast)
x <- xhr - fitted(Arima(xhr, model = mod1))
y <- ypred - fitted(Arima(ypred, model = mod1))
ccf(x, y)
您也可以这样做:
y <- residuals(Arima(y, model = mod_1))
您可以检查预增白方法是否有效
sum(x - mod1$residuals) < 10^6