X-13아리마-시트 백테스팅

사용자로부터 예측 정확도에 대한 질문을 많이 받습니다. 내 모델 예측이 실제 미래 값과 어떻게 일치하는가? 예측값과 실제값이 밀접하게 추적되나요? 어떤 종류의 추적 오차가 발생하나요?

백테스팅 기법은 이러한 질문을 간단한 방식으로 해결합니다. 시간을 거슬러 올라가면 그 시점까지의 데이터만 사용하여 모델을 보정하고 표본 외 예측을 수행할 수 있습니다. 그런 다음 다른 날짜에 대해 이 절차를 반복합니다.

백테스팅 프로세스가 끝나면 예측된 값의 시계열을 생성하고, 이를 실제 시계열과 비교하여 분석할 수 있습니다. 그런 다음 모든 종류의 통계를 계산할 수 있습니다.

이 글은 한 사용자의 구체적인 지원 문의에서 영감을 받아 작성되었습니다:

“시즌 조정 및 최종(즉, 비시즌 조정) 값에 대한 X-13ARIMA-SEATS 예측에 대한 백테스트를 수행하려면 어떻게 해야 하나요?”

백테스팅을 수행하려면 입력 데이터 세트만 다른 여러 X13AS 시나리오를 실행해야 합니다.

이 튜토리얼에서는 1970년 1월부터 2022년 6월까지 미국 노동부(DOL)의 비농업 급여 고용 월별 데이터를 사용합니다.

  1. X13 마법사를 사용하여 전체 데이터 세트를 사용하여 X13 모델을 구성합니다. 마법사는 사용자가 지정한 워크시트에 모델 사양(JSON 텍스트)을 작성합니다.
    X13 마법사를 사용하여 X13 모델을 구성합니다. 출력은 JSON 텍스트의 모델 사양입니다.
  2. 그런 다음 빈 열에 예측을 수행하려는 모든 기간을 나열합니다.
    '월' 데이터 열은 예측하려는 모든 기간으로 구성됩니다.
  3. 데이터 집합의 시작부터 (2)단계에서 지정한 각 기간까지의 데이터 포인트 수를 계산합니다.
    데이터 집합의 시작부터 '월' 열에 지정된 기간까지 데이터 포인트를 계산합니다.
  4. (1)의 X13AS(.) 수식을 (3)의 열에 인접한 별도의 열에 복사합니다.
    각 예측 기간에 대해 X13 공식을 사용합니다.
  5. 입력 데이터의 셀 범위를 NxSubset(.) 호출로 바꿉니다. NxSubset 함수는 전체 데이터 집합을 첫 번째 인수로 사용하지만 마무리 오프셋은 (3)단계의 열에서 계산됩니다.
    첫 번째 인수부터 인수 612(F10)까지의 데이터 집합을 선택하려면 NxSubset 함수(노란색으로 강조 표시됨)를 사용합니다.

    참고:

    참고하세요. NxSubset(.) 참조 매뉴얼 페이지에서 자세히 알아보세요.

  6. 이제 X13AS(.) 함수는 지금까지의 데이터만 사용하여 새로운 시나리오를 구성합니다.
  7. X13ASCOMP(.) 및 X13ASFORE(.) 함수를 사용하여 이 행의 날짜에 대한 구성 요소 또는 예상 값을 쿼리합니다.
    X13ASFORE(.) 함수를 사용하여 인접 날짜의 예측 값을 가져옵니다.
  8. Excel에 내장된 함수 VLOOKUP(.)을 사용하여 각 행의 실제 값을 쿼리합니다.
    VLOOKUP(.) 함수를 사용하여 인접한 날짜의 실제 데이터를 가져옵니다.
  9. 맨 위 행의 공식을 표의 나머지 부분으로 복사합니다. 이렇게 하면 일련의 X13 모델 계산이 트리거되며 완료하는 데 최대 1분 정도 걸릴 수 있습니다.
    선택한 나머지 기간에 공식을 복사한 후의 X13 백테스팅 출력 테이블입니다.
  10. 마지막으로 백테스팅 값을 실제 값과 함께 플롯해 보겠습니다.
    21년 1월부터 2022년 6월까지 DOL 급여 고용 데이터에 대한 백테스트된 예측 값과 실제 값을 비교한 플롯입니다.

결론

이 예에서는 지난 24개월 동안의 비계절 조정된 1개월 예측을 계산했지만, 연구 범위를 쉽게 확장하거나 다른 결과를 계산할 수 있습니다.

백테스팅 출력 시계열을 계산한 후에는 MAPE, RMSE, MASE 등과 같이 선호하는 예측 성능 측정값(NumXL에 포함)을 사용하여 예측 추적 오류를 정량적으로 설명해야 합니다.

  첨부 파일

댓글

댓글을 남기려면 로그인하세요.

도움이 되었습니까?
0명 중 0명이 도움이 되었다고 했습니다.