시계열 예측을 자동화 할 수 있습니까?


18

모든 시계열을 분석하고 분석 된 시계열 데이터에 가장 적합한 기존 / 통계 예측 방법 (및 해당 매개 변수)을 "자동"으로 선택할 수있는 알고리즘을 만들고 싶습니다.

이런 식으로 할 수 있습니까? 그렇다면 어떻게 접근 할 수 있는지 몇 가지 팁을 주시겠습니까?


3
아니요, 합리적으로 달성 할 수 없습니다. 종종 두 가지 합리적인 모델을 구별하기에 충분한 데이터가 없으므로 가능한 모든 모델을 신경 쓰지 마십시오. 최상의 모델을 달성하려면 물리학을 절대적인 용어로 알고 있어야하며, 모델링 가정을 알지 못하거나 테스트 및 검증 할 수없는 경우가 종종 있습니다.
Carl

3
아니요. 어떤 모델이 가장 적합한 지 결정할 방법이 없습니다. 파이썬은이 토론과 관련이 없습니다. 그럼에도 불구하고 좋은 결과를 얻으려는 시도가 있습니다. 예를 들어 github.com/facebook/prophet 프로젝트입니다. 또한 파이썬 바인딩이 있습니다.
Cagdas Ozgenc

3
답변이 "아니오"인 경우에도 합리적인 질문이라고 생각하기 때문에 공개 투표를합니다. 제목에서 파이썬을 제거하는 것이 좋습니다. 관련이 없거나 특히 여기 주제와 관련이 있기 때문입니다.
mkt-Reinstate Monica

1
제안한대로 제목에서 파이썬을 제거했습니다. 답변 주셔서 감사합니다.
StatsNewbie123

2
"무료 점심 없음"정리를 참조하십시오.
AdamO

답변:


20

먼저 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이 "모든 것을 지배하는 하나의 모델"이며 이론적으로 정당화되지는 않지만 실제 시나리오에는 매우 실용적이고 유용합니다.

위에서 언급 한 모든 방법에 적용되는 또 다른주의 사항 : 여러 시계열을 예측하고 너무 수동으로 분석 할 수 없기 때문에 자동화 된 시계열 예측을 수행하려고합니다. 그렇지 않으면 자신의 실험을 수행하고 자신에게 가장 적합한 모델을 찾을 수 있습니다. 자동화 된 예측 접근 방식이 각 시계열에 대해 최상의 모델을 찾지 못할 것이라는 점을 명심해야합니다. 모든 시계열에 대해 평균적으로 합리적으로 좋은 모델을 제공 할 것입니다. 이러한 시계열 중 하나는 자동 방법으로 선택한 것보다 더 나은 모델을 갖습니다. 이 게시물 보기예를 들어. 간단히 말해, 자동 예측을 사용하려면 각 시계열에 대해 가능한 최상의 예측 대신 "충분히 좋은"예측을 허용해야합니다.


통찰력있는 답변에 감사드립니다. 솔직히이 질문을 할 때의 초기 아이디어는 다른 모델 군에서 선택할 수 있다는 것이 었습니다.
StatsNewbie123

비즈니스 예측 (예 : 생산 계획 및 재고 관리 등)과 같이보다 구체적인 도메인에 알고리즘을 적용하려면 어떻게해야합니까? 더 나은 결과를 얻을 수 있다고 생각하십니까?
StatsNewbie123

2
@JoanaClaudino는 그렇습니다. 상업적 수요 예측 패키지의 핵심입니다. 그러나 일반적으로 하나의 특정 비즈니스 도메인으로 자신을 제한 할 때 하나의 특정 모델 군으로 자신을 제한 할 수 있기 때문에 더 쉽습니다 (동일한 비즈니스 도메인에서 오는 시계열은 계절성, 데이터 밀도 등의 측면에서 유사한 특성을 갖습니다 ... 그러므로 한 가족이 모든 가족에게 적합하다고 가정하는 것이 안전합니다.)
Skander H.

알았어, 이제 알겠다 큰 도움을 주셔서 다시 한번 감사드립니다.
StatsNewbie123

11

필자가 제안한 접근법에는 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는 공식 모델링 또는 가설 테스트 작업을 넘어 데이터가 무엇을 말해 줄 수 있는지 확인하기위한 것입니다.

자동 모델링 프로그램의 리트머스 테스트는 매우 간단합니다. 과적 합없이 신호와 노이즈를 분리합니까? 경험적 증거는 이것이 가능했다는 것을 암시한다. 미래는 과거에 대해 책임을지지 않으며 결과를 선택할 수있는 원산지에 따라 다를 수 있으므로 예측 정확도는 종종 오해의 소지가 있습니다.


정말 고맙습니다. 당신의 대답은 매우 도움이됩니다!
StatsNewbie123

감사합니다, IrishStat. 통찰력이 있습니다. 매개 변수가 통계적으로 유의하지 않더라도 "매개 변수 삭제"와 반대로 매개 변수를 유지하는 것이 정당한가?
ColorStatistics

1
예. 그것이 당신에게 더 "즐거운 대답"을 준다면. 0.0과 다르지 않은 기울기 계수는보다 현실적인 (통계적으로 유의하지 않은 경우) 예측을 제공 할 수 있습니다. 그렇지 않으면 초과 계수를 운반하는 것은 비논리적이며 분산 예측에서 불확실성을 증가시킵니다. 필요성과 충분 성 테스트를 처리 할 수없는 일부 저자들은 맹목적으로 / 순진하게 모델 식별이 1 단계 프로세스라고 가정하지만 Box와 Jenkins (및 다른 모든 사람들!)는 모델을 필요한만큼 복잡하지만 지나치게 복잡하지 않게 만드는 데 관심이 있습니다. Albert E., JW Tukey et al.
IrishStat

3
"이 제안 된 자동 예측 접근 방식은 모델의 형태를 맞춤화함으로써 (예를 들어 맞춤 양복과 매우 유사하게 맞춤화함으로써) 모든 시계열에 가장 적합한 모델을 찾을 것입니다." 그것은 매우 강력한 진술입니다. 정확하다면,이 접근법이 M3, M4 대회에서 이길 것임을 의미합니다. 그렇습니까?
Skander H.

1
@ joana-claudino 저는 제안 된 절차의 파이썬 버전을 발전시키는 데 관심이 있기 때문에 ISEG 프로젝트에 특히 관심이 있습니다. 물론 이것은 SE의 사이트 외부에있을 것입니다.
IrishStat
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.