시간별 측정에는 4 가지 시계열이 있습니다.
- 집안의 열 소비
- 집 밖 온도
- 태양 복사
- 풍속
집안의 열 소비량을 예측할 수 있기를 원합니다. 매년 계절과 계절에 따라 뚜렷한 계절 경향이 있습니다. 다른 계열간에 명확한 상관 관계가 있기 때문에 ARIMAX 모델을 사용하여 적합하게 만들고 싶습니다. 패키지 TSA의 arimax 함수를 사용하여 R에서 수행 할 수 있습니다.
이 함수에 대한 문서를 읽고 전송 함수를 읽으려고했지만 지금까지 내 코드는 다음과 같습니다.
regParams = ts.union(ts(dayy))
transferParams = ts.union(ts(temp))
model10 = arimax(heat,order=c(2,1,1),seasonal=list(order=c(0,1,1),period=24),xreg=regParams,xtransf=transferParams,transfer=list(c(1,1))
pred10 = predict(model10, newxreg=regParams)
나에게 준다 :
여기서 검은 선은 실제 측정 된 데이터이고 녹색 선은 내 적합 모델입니다. 좋은 모델 일뿐만 아니라 무언가 잘못된 것이 분명합니다.
ARIMAX 모델 및 전달 기능에 대한 지식이 제한적임을 인정합니다. arimax () 함수에서 (내가 이해 한 한) xtransf는 기본 시계열을 예측하기 위해 (전달 함수를 사용하여) 사용하려는 외생 시계열입니다. 그러나 xreg와 xtransf의 차이점은 무엇입니까?
더 일반적으로, 내가 잘못한 것은 무엇입니까? lm (heat ~ temp radi wind * time) 에서 얻은 것보다 더 잘 맞고 싶습니다 .
편집 : 일부 의견에 따라 전송을 제거하고 대신 xreg를 추가했습니다.
regParams = ts.union(ts(dayy), ts(temp), ts(time))
model10 = arimax(heat,order=c(2,1,1),seasonal=list(order=c(0,1,1),period=24),xreg=regParams)
여기서 dayy는 "연중 숫자 일"이고 시간은 하루 중 시간입니다. 온도는 다시 외부 온도입니다. 결과는 다음과 같습니다.
어느 것이 더 좋지만, 내가 기대했던 것과는 거의 다릅니다.