모든 시계열을 분석하고 분석 된 시계열 데이터에 가장 적합한 기존 / 통계 예측 방법 (및 해당 매개 변수)을 "자동"으로 선택할 수있는 알고리즘을 만들고 싶습니다.
이런 식으로 할 수 있습니까? 그렇다면 어떻게 접근 할 수 있는지 몇 가지 팁을 주시겠습니까?
모든 시계열을 분석하고 분석 된 시계열 데이터에 가장 적합한 기존 / 통계 예측 방법 (및 해당 매개 변수)을 "자동"으로 선택할 수있는 알고리즘을 만들고 싶습니다.
이런 식으로 할 수 있습니까? 그렇다면 어떻게 접근 할 수 있는지 몇 가지 팁을 주시겠습니까?
답변:
먼저 IrishStat에 의해 설명 된 접근 방식은 일반적인 모델 집합이 아니라 ARIMA 모델에만 적용됩니다.
주요 질문에 대답하려면 "시계열 예측을 자동화 할 수 있습니까?"
네 그렇습니다. 필자의 수요 예측 분야에서 대부분의 상용 예측 패키지는 그렇게합니다. R의 오픈 소스 예측 패키지에서 Rob Hyndman의 auto.arima () (자동 ARIMA 예측) 및 ETS () (자동 지수 평활 예측) 함수와 같은 여러 오픈 소스 패키지도 마찬가지 입니다.이 두 함수에 대한 자세한 내용은 여기를 참조하십시오. . 내 경험상 R 패키지만큼 성숙하지는 않지만 Pyramid 라는 auto.arima의 Python 구현도 있습니다 .
내가 언급 한 상용 제품과 내가 언급 한 오픈 소스 패키지는 정보 기준을 사용하여 최상의 예측을 선택한다는 아이디어를 바탕으로 작동합니다. 여러 모델에 적합하고 AIC, BIC, AICc, 등 ... (일반적으로 이는 샘플 유효성 검사 대신 수행됩니다).
그러나 중요한 경고가 있습니다. 이러한 모든 방법 은 단일 모델 제품군 내 에서 작동 합니다. ARIMA 모델 세트 중에서 가장 적합한 모델을 선택하거나 지수 평활 모델 중에서 가장 적합한 모델을 선택합니다.
예를 들어 ARIMA, 지수 평활 및 Theta 방법 중에서 가장 적합한 모델을 선택하려는 경우와 같이 다른 모델 군에서 선택하려는 경우에는 훨씬 더 어렵습니다. 이론적으로는 단일 모델 군 내에서와 동일한 방식으로 정보 기준을 사용하여 수행 할 수 있습니다. 그러나 실제로는 고려 된 모든 모델에 대해 정확히 동일한 방식으로 AIC 또는 BIC를 계산해야하며 이는 중요한 과제입니다. 정보 기준 대신 시계열 교차 유효성 검사 또는 샘플 유효성 검사 를 사용하는 것이 더 나을 수 있지만 훨씬 계산 집약적이며 코드가 지루합니다.
Facebook의 Prophet 패키지는 일반 가산 모델을 기반으로 예측 생성을 자동화합니다 . 자세한 내용은 여기를 참조하십시오 . 그러나 Prophet은 매개 변수가 많은 매우 유연한 모델이지만 하나의 단일 모델에만 적합합니다. 선지자의 암시 적 가정은 GAM이 "모든 것을 지배하는 하나의 모델"이며 이론적으로 정당화되지는 않지만 실제 시나리오에는 매우 실용적이고 유용합니다.
위에서 언급 한 모든 방법에 적용되는 또 다른주의 사항 : 여러 시계열을 예측하고 너무 수동으로 분석 할 수 없기 때문에 자동화 된 시계열 예측을 수행하려고합니다. 그렇지 않으면 자신의 실험을 수행하고 자신에게 가장 적합한 모델을 찾을 수 있습니다. 자동화 된 예측 접근 방식이 각 시계열에 대해 최상의 모델을 찾지 못할 것이라는 점을 명심해야합니다. 모든 시계열에 대해 평균적으로 합리적으로 좋은 모델을 제공 할 것입니다. 이러한 시계열 중 하나는 자동 방법으로 선택한 것보다 더 나은 모델을 갖습니다. 이 게시물 보기예를 들어. 간단히 말해, 자동 예측을 사용하려면 각 시계열에 대해 가능한 최상의 예측 대신 "충분히 좋은"예측을 허용해야합니다.
필자가 제안한 접근법에는 ARIMA보다 훨씬 일반적인 모델이 포함됩니다. 시간이 지남에 따라 변할 수있는 계절적 모형, 여러 수준, 여러 추세, 시간에 따라 변할 수있는 매개 변수 및 시간에 따라 변할 수있는 오류 분산까지 포함됩니다. 이 제품군을보다 정확하게 ARMAX 모델이라고하지만 완벽한 투명성을 위해 곱셈 구조를 가진 (희귀 한) 변형을 제외합니다.
당신은 팁을 요청했고 나는 이것이 당신을 시작하기에 좋은 것이라고 생각합니다.
이 플로우 차트 / 워크 플로우를 따르거나 에뮬레이트하는 코드를 작성하는 것이 좋습니다. "최상의 모델"은 지정한 기준을 평가하여 찾을 수 있습니다. 적합 데이터의 MSE / AIC이거나 보류 된 데이터의 MAPE / SMAPE 또는 선택한 기준일 수 있습니다.
시계열 분석의 특정 요구 사항 / 목표 / 제약을 모르는 경우 이러한 각 단계를 자세히 설명하는 것은 매우 간단 할 수 있습니다. 그러나 더 깊이 이해하고 있다면 더 복잡 할 수 있습니다. 철저한 시계열 분석에 존재하는 복잡성 / 기회에 대한 학습 / 감상.
나는 하나의 시계열 모델링을 자동화 (또는 일반적으로 모델링)에 대해 이동하는 방법에 관해서는 더 방향을 제공하기 위해 요청을받은 /stats//search?q=peeling+an+onion는 내지도의 일부를 포함 "양파 껍질"및 관련 작업.
AUTOBOX는 실제로 유용한 모델을 형성하고 이와 관련하여 유용한 교사가 될 수 있으므로 중간 단계를 자세히 설명하고 보여줍니다. 전체적인 과학적 아이디어는 "필요한 것 추가"및 "유용하지 않은 것으로 보이는 것 삭제"입니다. 이것은 Box와 Bacon이 이전에 제안한 반복 프로세스입니다.
모델은 충분히 복잡해야하지만 (멋짐) 너무 복잡하지 않아야합니다 (팬시). 간단한 방법이 복잡한 문제에 대해 작동한다고 가정하면 Roger Bacon과 수많은 Bacon 추종자를 따르는 과학적 방법과 일치하지 않습니다. 로저 베이컨 (Roger Bacon)이 한 번 말했듯이 나는 종종 다음과 같이 역설했다. 과학을하는 것은 반복되는 패턴을 찾는 것이다. 이상을 탐지하는 것은 반복되는 패턴을 따르지 않는 값을 식별하는 것입니다. 자연의 방법을 아는 사람은 자신의 편차를보다 쉽게 알 수 있으며, 반면에 자신의 편차를 아는 사람은 자신의 방식을 더 정확하게 설명 할 것입니다. spirt pf Bacon에서 현재 식별 된 "최상의 모델 / 이론"이 불충분 한시기를 식별하여 규칙을 학습 한 다음 "더 나은 표현"을 반복 할 수 있습니다.
내 말에 "터키는 데이터에 의해 제안 된 명백한 모델 결함에 기초한 모델 개선 계획을 제안하는 탐색 적 데이터 분석 (EDA)을 제안했다". 이것이 AUTOBOX와 과학의 핵심입니다. EDA는 공식 모델링 또는 가설 테스트 작업을 넘어 데이터가 무엇을 말해 줄 수 있는지 확인하기위한 것입니다.
자동 모델링 프로그램의 리트머스 테스트는 매우 간단합니다. 과적 합없이 신호와 노이즈를 분리합니까? 경험적 증거는 이것이 가능했다는 것을 암시한다. 미래는 과거에 대해 책임을지지 않으며 결과를 선택할 수있는 원산지에 따라 다를 수 있으므로 예측 정확도는 종종 오해의 소지가 있습니다.