예측을 위해 칼만 필터링과 함께 DLM을 사용하는 방법 무엇입니까)? 89 2009Q1

누군가 시계열에서 R에서 DLM Kalman 필터링을 사용하는 방법에 대한 예제를 안내해 줄 수 있습니까? 이 값 (연간 계절성을 가진 분기 값)이 있다고 가정합니다. 다음 값을 예측하기 위해 DLM을 어떻게 사용 하시겠습니까? 그리고 BTW, 충분한 과거 데이터가 있습니까 (최소한 무엇입니까)?

89  2009Q1  
82  2009Q2  
89  2009Q3  
131 2009Q4  
97  2010Q1  
94  2010Q2  
101 2010Q3  
151 2010Q4  
100 2011Q1  
?   2011Q2

R 코드 요리 책 스타일의 단계별 사용법 유형을 찾고 있습니다. 예측의 정확성이 나의 주요 목표는 아닙니다. 데이터가 충분하지 않더라도 2011Q2에 숫자를 제공하는 코드 시퀀스를 배우고 싶습니다.



답변

JSS 39-02 의 논문 은 5 가지 칼만 필터링 R 패키지를 비교하고 샘플 코드를 제공합니다.


답변

DLM은 멋지지만 ARIMA 또는 다른 방법만큼 간단하지는 않습니다. 다른 방법에서는 데이터를 연결 한 다음 알고리즘의 일부 매개 변수를 조정하여 설정을 안내하는 다양한 진단을 참조 할 수 있습니다.

DLM을 사용하면 기본 공간 기계를 작성합니다.이 기계는 기본적으로 숨겨진 Markov 모델과 같은 것을 구현하는 여러 행렬로 구성됩니다. 일부 패키지 ( sspir다른 것들 중에서도 생각합니다)는 개념과 행렬의 역할을 이해하기를 기대합니다. dlm패키지로 시작하고 @RockScience가 권장하는대로 비 네트를 살펴 보는 것이 좋습니다.

으로 dlm당신이려고하고 기본적으로 몇 가지 조치를 취할 :

  1. 내 시리즈를 설명하는 구성 요소는 무엇입니까? 유행? 계절? 외인성 변수? 당신이 사용하는 dlm도구를 좋아 dlmModPoly사용하여 이러한 구성 요소를 구현하는 +하나 개의 모델로 함께 참여 연산자.

  2. 이 모델에 필요한 많은 매개 변수를 필요로하는 R 서브 루틴을 작성하고 해당 매개 변수로 구성 요소를 작성한 다음 함께 추가하고 결과 모델을 리턴하십시오.

  3. 사용 dlmMLE(최적화에서 발생할 수있는 함정에 기본적으로 최적화입니다 MLE를 사용하여) 적절한 매개 변수를 찾기 위해 검색 / 최적화를 할 수 있습니다. dlmMLE후보 매개 변수를 사용하여 R 서브 루틴을 반복적으로 호출하여 모델을 작성한 후 테스트하십시오.

  4. 작성한 R 서브 루틴과 3 단계에서 찾은 매개 변수를 사용하여 최종 모델을 작성하십시오.

  5. 로 데이터를 필터링 dlmFilter한 다음로 원활하게 데이터를 필터링하십시오 dlmSmooth.

  6. dlmModReg모형에 시변 변수가있는 요인 을 사용 하거나 수행 하는 경우 dlmForecast계열을 예측 하는 데 사용할 수 없습니다 . 시변 모델로 끝나는 경우 입력 데이터를 NA로 dlmFilter채우고 dlmForecast시간에 따라 변하는 매개 변수와 함께 작동하지 않기 때문에 NA에 대한 정보를 채우십시오 (나쁜 사람의 예측) .

  7. 구성 요소를 개별적으로 검사하려면 (계절과는 별도로 추세) 매트릭스와 각 열의 내용을 이해하고 구성 요소를 어떻게 구성해야하는지 이해해야합니다 dlm(순서가 중요합니다).

다른 이름의 패키지가 있는데,이 패키지 dlm는 백엔드를 포함하여 이러한 패키지 중 몇 가지를 사용할 수있는 프런트 엔드를 만들려고합니다 . 불행히도, 나는 그것이 잘 작동하는 것을 결코 얻지 못했지만 그건 나일 수도 있습니다.

DLM에 관한 책을받는 것이 좋습니다. 나는 그들 중 몇 명을 얻었고 내가 dlm있는 곳으로 가려고 많은 시간 을 보냈습니다. 나는 전문가가 아닙니다.


답변

dlm vignette http://cran.r-project.org/web/packages/dlm/vignettes/dlm.pdf 특히 3.3 장 을 읽으십시오.


답변