2016-08-10 3 views
1

칼만 필터를 사용하여 ARFIMA를 예측하고 arfima 모델을 Kalmanforecast에 맞출 수 없습니다.ARFIMA에서 모델이 생성되지 않음 R

library(base) 
library(stats) 
library(parallel) 
library(forecast) 
sink(file='/home/nero/KF_arfima.log') 
f=COST$COST 
x=logb(p,10) 
# Start the clock! 
ptm <- proc.time() 
p=arfima(x[1:50], drange=c(0, 0.5),estim=c("mle")) 
pr <- KalmanForecast(2, p$model) 
y=x[51:52] 
yhat=pr$pred #predicted value 
map=mean(abs((y - yhat)/y)) #MAPE 
proc.time() - ptm 
print(map) 

나는 또한 확인 및 모델이라 어떤 개체가 없음을 발견 한 오류를

Error in KalmanForecast(2, p$model) : invalid argument type"

을 얻고있다. 나는 그것을 해결하기 위해 3 일을 잃었다. 다양한 R 패키지를 사용해 보았지만 그 중 어느 것도 해결하지 못했습니다. 그 문제를 해결하는 방법을 알려주십시오.

데이터 샘플 :

Timestamp,COST 
2015-09-21T00:00:00+00:00,6 
2015-09-21T00:06:00+00:00,7 
2015-09-21T00:12:00+00:00,7 
2015-09-21T00:18:00+00:00,7 
2015-09-21T00:24:00+00:00,7 
2015-09-21T00:30:00+00:00,7 
2015-09-21T00:36:00+00:00,7 
2015-09-21T00:42:00+00:00,6 
2015-09-21T00:48:00+00:00,7 
2015-09-21T00:54:00+00:00,6 
2015-09-21T01:00:00+00:00,6 
2015-09-21T01:06:00+00:00,7 
2015-09-21T01:12:00+00:00,7 
2015-09-21T01:18:00+00:00,7 
2015-09-21T01:24:00+00:00,7 
2015-09-21T01:30:00+00:00,7 
2015-09-21T01:36:00+00:00,7 
2015-09-21T01:42:00+00:00,6 
2015-09-21T01:48:00+00:00,7 
2015-09-21T01:54:00+00:00,6 
2015-09-21T02:00:00+00:00,6 
2015-09-21T02:06:00+00:00,8 
2015-09-21T02:12:00+00:00,8 
2015-09-21T02:18:00+00:00,7 
2015-09-21T02:24:00+00:00,8 
2015-09-21T02:30:00+00:00,7 
2015-09-21T02:36:00+00:00,7 
2015-09-21T02:42:00+00:00,7 
2015-09-21T02:48:00+00:00,8 
2015-09-21T02:54:00+00:00,7 
2015-09-21T03:00:00+00:00,6 
2015-09-21T03:06:00+00:00,7 
2015-09-21T03:12:00+00:00,7 
2015-09-21T03:18:00+00:00,7 
2015-09-21T03:24:00+00:00,7 
2015-09-21T03:30:00+00:00,7 
2015-09-21T03:36:00+00:00,7 
2015-09-21T03:42:00+00:00,7 
2015-09-21T03:48:00+00:00,6 
2015-09-21T03:54:00+00:00,6 
2015-09-21T04:00:00+00:00,6 
2015-09-21T04:06:00+00:00,7 
2015-09-21T04:12:00+00:00,7 
2015-09-21T04:18:00+00:00,7 
2015-09-21T04:24:00+00:00,7 
2015-09-21T04:30:00+00:00,6 
2015-09-21T04:36:00+00:00,6 
2015-09-21T04:42:00+00:00,6 
2015-09-21T04:48:00+00:00,6 
2015-09-21T04:54:00+00:00,7 
2015-09-21T05:00:00+00:00,6 
2015-09-21T05:06:00+00:00,7 
2015-09-21T05:12:00+00:00,7 
+0

재현 가능한 예제없이 R을 사용하는 방법에 관한 문제이므로이 질문을 주제와 관련이 없도록 닫으려고합니다. – gung

+0

@ gung 전체 코드와 데이터 소스를 배치합니다. – Kal

+0

감사합니다. 나는 당신이 그곳에있는 것이 가장 좋다고 생각하지만 데이터에 어떻게 접근 할 수 있는지 보지 못했습니다. 필자가 제공 한 링크에 데이터를 게시하는 방법이 있습니다. – gung

답변

1

KalmanForecast에 대한 도움말 파일은 분명히 모델의 종류가 필요한 사항에 대해 설명합니다. arfima 함수는 필요한 종류의 출력을 생성하지 않습니다.

오히려 사용 KalmanForecast보다, 당신은 예측을 생산하기 위해 예상 패키지에서 forecast 기능을 사용할 수 있습니다. 또한 Kalman 필터를 사용하여 예측을 계산합니다.

실제로 작업을 수행하기 위해 KalmanForecast을 사용하려면 mod 인수를 직접 작성해야합니다.

+0

다음과 같은 코드를 변경했지만 여전히 동일한 오류가 발생합니다 :'k = arfima (x [1 : 400], drange = c (0, 0.5), estimate = c ("mle"))' 'z = 예측 (k, h = 2)' 'pr <- KalmanForecast (2, z)'모델을 확인했지만 그 모델은 다릅니다. – Kal

+0

당신은 내가 쓴 것을 읽지 않았습니다. 도움말 파일에 설명 된 형식으로 mod 인수를 작성하지 않으면'KalmanForecast'를 사용할 수 없습니다. –

+0

감사합니다 ... 이제 예측 패키지의 작동. 처음에는 예측 패키지를 검색했지만 칼만 필터를 찾지 못했습니다 :) – Kal