2017-01-02 7 views
0

저는 통계 모델의 SARIMAX 모델을 사용하려고했지만 내 예측에 대한 신뢰 구간을 반환하려고합니다.Statsmodels의 SARIMAX`conf_int()`출력을 이해하고 사용하는 데 문제가 없습니다.

내 목표는 신뢰 구간의 상한 및 하한에 대한 일련의 예측을 생성하는 것입니다.

내 모델에 맞도록 시도한 다음 get_prediction() 및 마지막으로 conf_int()을 사용합니다. get_prediction()은 예상대로 각 색인에 대한 데이터를 반환합니다.

 0 1 
ar.S.L7 0.018806 0.194818 
ma.S.L7 -0.830238 -0.717128 
sigma2 40.832875 48.105937 

이해가 안 그러나, conf_int() 이상한 행렬을 반환합니다. 나는 이것들이 모델의 매개 변수라는 것을 알았지 만, 이들을 사용하여 각각의 인덱스에 대한 상향 및 하향 예측을하는 방법을 모르겠습니다.

나는 상담했습니다 : this, thisthis,하지만 그들 중 누구도 같은 문제가있는 것 같습니다. 또한 this question을 살펴 봤습니다. 나는 그들의 코드를 가능한 한 가깝게 따라하려고했지만 그 문제를 재현 할 수는 없다.

+0

conf_int는 어떤 통계가 참조되는지에 따라 다른 것을 의미합니다. 모델 결과 인스턴스의'conf_int'는 추정 된 매개 변수에 대한 신뢰 구간입니다. 예측이나 예측에서'conf_int'는 새로운 관찰에 대한 예측 간격이거나 새로운 관찰의 기대 값에 대한 신뢰 구간입니다. – user333700

답변

1

당신이 할 경우 :

model = sm.tsa.statespace.SARIMAX(params) 
fit_model = model.fit() 

nforecast = 144 
forecast = fit_model.get_prediction(end=model.nobs+nforecast) 

ci = forecast.conf_int() 

print(ci.head()) 

당신은 얻을해야합니다

  upper [name of your feature]  lower [name of your feature] 

time1   0.018806     0.194818 
time2   -0.830238     -0.717128 
time3   40.832875     48.105937 

CI의 기본 제목은 당신이 기능 제목이없는 경우 '낮은'단지 '위'와 당신의 원본 데이터.