ARIMA PARAMETER

행동하는 개발자·2023년 7월 21일

TimeSeries

목록 보기
7/8

ARIMA 모델의 fit() 메서드의 disp 매개변수는 피팅 프로세스 중에 표시되는 수렴 출력의 빈도를 제어한다.

disp

  • disp > 0: 인수가 0보다 크면 프로세스는 disp 반복 횟수마다 수렴 정보를 출력한다. disp가 1이라면 모든 반복마다 출력이 표시된다.
  • disp = 0: 수렴 메시지가 콘솔에 출력되지 않는다.
  • disp < 0: 수렴 메시지를 콘솔에 출력하지 않으며, 최종 수렴된 값의 요약도 출력하지 않는다.

predict vs forecast

  • predict(start, end): 이 방법은 샘플 내 예측 및 샘플 외 예측을 수행하려는 경우에 사용된다. 샘플 내 예측에 유용한 과거 값을 예측하는 데 사용하며 미래 값도 예측할 수 있다.

  • forecast(steps): 샘플 외 예측을 위해 설계된 파라미터이다. steps는 샘플 끝에서 예측하려는 향후 단계의 수이다.

LinAlgError: LU decomposition error.

ARIMA를 하다보면 상당히 자주 만나는 에러이다. 해당 데이터가 역행렬이 성립되지 않기 때문에 생기는 문제라고 하는데, 명확한 설명은 찾기 힘들다.

일반적으로 선형대수연산을 수행할 수 없을 때 발생하는데 시계열 모델의 맥락에서는 다음과 같다.

  • 비정상성: ARIMA 및 SARIMA 모델의 가정 중 하나는 입력 계열이 고정적이어야 한다. 그렇지 않은 경우 이와 같은 수치 문제가 발생할 수 있다. 계열을 구분하거나 변환을 적용하여 비정상 데이터를 정상으로 만드는 것을 고려할 수 있다.

  • 높은 차수: 차수가 너무 높으면 차이가 심해서 수치가 불안정해질 수 있다.

  • 큰 매개변수 공간: 모델의 매개변수에 대한 검색 공간이 너무 크면 모델이 이 데이터에 적합하지 않은 매개변수의 부적절한 조합으로 맞추려고 할 수 있다.

해결방법

정상성 확인: 모델을 fit하기 전에 데이터가 정상적인지 확인해야 한다. 차분은 종종 시계열을 정상화하는데 사용되지만 다른 변환도 필요할 수 있다.

복잡성 줄이기: 더 간단한 모델을 시도해볼 수 있다. 높은 차수를 가진 모델이 실패할 확률이 더 높아진다.

데이터 증가: 모델이 복잡할수록 필요한 데이터가 많아진다.

매개변수 변환: 경우에 따라 모델을 다시 매개변수화하는 것이 도움이 될 수 있다. 예를 들어, ARIMA(2,1,2)를 적합하는 대신 ARIMA(1,1,1)을 fit 해볼 수 있다.

profile
끊임없이 뭔가를 남기는 사람

0개의 댓글