auto.arima는 std 오류로 생성 된 NaN에 경고


9

내 데이터는 고용 인구의 시계열 L과 기간, 년입니다.

n.auto=auto.arima(log(L),xreg=year)
summary(n.auto)
Series: log(L) 
ARIMA(2,0,2) with non-zero mean 

Coefficients:
         ar1      ar2      ma1     ma2  intercept    year
      1.9122  -0.9567  -0.3082  0.0254    -3.5904  0.0074
s.e.     NaN      NaN      NaN     NaN     1.6058  0.0008

sigma^2 estimated as 1.503e-06:  log likelihood=107.55
AIC=-201.1   AICc=-192.49   BIC=-193.79

In-sample error measures:
           ME          RMSE           MAE           MPE          MAPE 
-7.285102e-06  1.225907e-03  9.234378e-04 -6.836173e-05  8.277295e-03 
         MASE 
 1.142899e-01 
Warning message:
In sqrt(diag(x$var.coef)) : NaNs produced

왜 이런 일이 발생합니까? auto.arima가 왜 이러한 ar * ma * 계수의 표준 오차로 최상의 모델을 선택합니까? 이 선택된 모델은 결국 유효합니까?

저의 목표는 모델 L = L_0 * exp (n * year)에서 모수 n을 추정하는 것입니다. 더 나은 접근 방식에 대한 제안이 있으십니까?

티아.

데이터:

L <- structure(c(64749, 65491, 66152, 66808, 67455, 68065, 68950, 
69820, 70637, 71394, 72085, 72797, 73280, 73736, 74264, 74647, 
74978, 75321, 75564, 75828, 76105), .Tsp = c(1990, 2010, 1), class = "ts")
year <- structure(1990:2010, .Tsp = c(1990, 2010, 1), class = "ts")
L
Time Series:
Start = 1990 
End = 2010 
Frequency = 1 
 [1] 64749 65491 66152 66808 67455 68065 68950 69820 70637 71394 72085 72797
[13] 73280 73736 74264 74647 74978 75321 75564 75828 76105

문제를 복제 할 수 있도록 일부 데이터를 게시 할 수 있습니까?
Rob Hyndman

@RobHyndman 데이터 업데이트
Ivy Lee

dput(L)출력을 입력 하여 붙여 넣으십시오. 이렇게하면 복제가 매우 쉬워집니다.
Zach

답변:


11

AR 계수의 합은 1에 가까우며 매개 변수가 정상 영역의 가장자리 근처에 있음을 나타냅니다. 표준 오류를 계산하는 데 어려움이 있습니다. 그러나 추정치에는 아무런 문제가 없으므로 필요한 모든 값은0당신은 그것을 얻었다.

auto.arima()계산 속도를 높이기 위해 몇 가지 단축키를 사용하고, 의심스러운 것으로 보이는 모델을 제공 할 때 해당 단축키를 끄고 얻는 것을 확인하는 것이 좋습니다. 이 경우 :

> n.auto <- auto.arima(log(L),xreg=year,stepwise=FALSE,approx=FALSE)
> 
> n.auto
Series: log(L) 
ARIMA(2,0,0) with non-zero mean 

Coefficients:
         ar1      ar2  intercept    year
      1.8544  -0.9061    11.0776  0.0081
s.e.  0.0721   0.0714     0.0102  0.0008

sigma^2 estimated as 1.594e-06:  log likelihood=107.19
AIC=-204.38   AICc=-200.38   BIC=-199.15

이 모델은 조금 더 좋습니다 (예 : 더 작은 AIC).


1
표준 오차를 계산할 수없고 예측에 모형을 사용해야하는 경우 어떻게해야합니까? 예측에서 유효하지 않은 비현실적으로 작은 신뢰 구간이 발생합니까? 필자의 경우 (길이 35의 시계열), coefficiets의 SE에 NaN을 사용 approximation=FALSE하고 stepwise=FALSE여전히 생산합니다.
Mihael

4

과잉 사양으로 인해 문제가 발생합니다. AR (1)을 가진 간단한 첫 번째 차분 모델이면 충분합니다. MA 구조 나 전력 변환이 필요하지 않습니다. ar (1) 계수가 1.0에 가깝기 때문에이를 2 차 모델로 간단히 모델링 할 수도 있습니다. 실제 / 적합 / 예측의 여기에 이미지 설명을 입력하십시오도표  기간 7에서 가능한 이상치 / 배치는 방정식이 있는 잔류 도표 입니다! 여기에 이미지 설명을 입력하십시오여기에 이미지 설명을 입력하십시오요약하면, 추정은이 경우 [ "mene mene tekel upharsin"]을 원하는 것으로 밝혀진 모델 사양에 따릅니다. 진지하게, 나는 당신이 모델 식별 전략에 익숙해지고, 불필요한 구조로 모델을 부엌 싱크대에 넣지 말 것을 제안합니다. 때로는 적은 것이 더 많습니다! Parsimony는 목표입니다!. 도움이 되었기를 바랍니다 ! "auto.arima가 왜 이러한 ar * ma * 계수의 표준 오차로 최상의 모델을 선택 하는가?"라는 대답에 더 답하기 위해 가능한 이유는 상태 공간 솔루션이 모든 것이 아니라 그것이 시도하는 가정적인 모델이지만 그것은 단지 내 추측 일뿐입니다. 실패의 원인은 로그 xform에 대한 가정 일 수 있습니다. 전력 변환은 예상 값을 잔차의 표준 편차에서 분리하는 데만 사용됩니다. 연결이있는 경우 Box-Cox 변환 (로그 포함)이 적합 할 수 있습니다. 귀 뒤에서 변형을 당기는 것은 좋은 생각이 아닙니다.

이 선택된 모델은 결국 유효합니까? 기필코 아니다 !


0

비슷한 문제에 직면했습니다. optim.control 및 optim.method로 게임 해보십시오. 이 NaN은 헤세 매트릭스의 대각선 요소의 음의 제곱입니다. ARIMA (2,0,2)의 피팅은 비선형 문제이며 최적화는 가능성 최대 값 대신에 경사 점 (구배는 0이지만 Hesse 매트릭스는 양으로 정의되지 않음)으로 수렴하는 것처럼 보였습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.