StatsForecast는 numba
사용하여 고성능에 최적화된 자동 ARIMA
, ETS
, CES
및 Theta
모델링을 포함하여 널리 사용되는 일변량 시계열 예측 모델 모음을 제공합니다. 또한 벤치마킹 모델의 대용량 배터리도 포함되어 있습니다.
다음을 사용하여 StatsForecast
설치할 수 있습니다.
pip install statsforecast
또는
conda install - c conda - forge statsforecast
자세한 지침은 설치 가이드를 참조하세요.
최소한의 예
from statsforecast import StatsForecast
from statsforecast . models import AutoARIMA
from statsforecast . utils import AirPassengersDF
df = AirPassengersDF
sf = StatsForecast (
models = [ AutoARIMA ( season_length = 12 )],
freq = 'ME' ,
)
sf . fit ( df )
sf . predict ( h = 12 , level = [ 95 ])
이 빠른 가이드로 시작해보세요.
모범 사례를 보려면 이 엔드투엔드 연습을 따르세요.
통계 모델에 대한 현재 Python 대안은 느리고 부정확하며 확장성이 좋지 않습니다. 그래서 우리는 생산 환경에서 예측하거나 벤치마크로 사용할 수 있는 라이브러리를 만들었습니다. StatsForecast
에는 수백만 개의 시계열을 효율적으로 맞출 수 있는 광범위한 모델 배터리가 포함되어 있습니다.
AutoARIMA
, AutoETS
, AutoCES
, MSTL
및 Theta
를 Python에서 가장 빠르고 정확하게 구현합니다..fit
및 .predict
. exogenous variables
및 prediction intervals
포함.pmdarima
보다 20배 빠릅니다.R
보다 1.5배 빠릅니다.Prophet
보다 500배 빠릅니다.statsmodels
보다 4배 빠릅니다.numba
통해 고성능 기계어 코드로 컴파일됩니다.뭔가 빠졌나요? 이슈를 열거나 이메일을 보내주세요.
엔드투엔드 연습: 여러 시계열에 대한 모델 학습, 평가 및 선택
? 이상 탐지: 표본 내 예측 구간을 사용하여 시계열에 대한 이상을 탐지합니다.
?? 교차 검증: 강력한 모델의 성능 평가.
❄️ 다중 계절성: MSTL을 사용하여 다중 계절성이 있는 데이터를 예측하는 방법.
? 수요 피크 예측: 일일 피크를 감지하고 전기 요금을 줄이기 위한 전기 부하 예측입니다.
? 간헐적 수요: 0이 아닌 관측치가 거의 없는 예측 계열입니다.
?️ 외생 회귀자: 날씨나 가격 등
자동 예측 도구는 최상의 매개변수를 검색하고 시계열 그룹에 대해 가능한 최상의 모델을 선택합니다. 이러한 도구는 일변량 시계열의 대규모 컬렉션에 유용합니다.
모델 | 포인트 예측 | 확률적 예측 | 적합치 표본 추출 | 확률적 적합치 | 외인성 특징 |
---|---|---|---|---|---|
자동ARIMA | ✅ | ✅ | ✅ | ✅ | ✅ |
자동ETS | ✅ | ✅ | ✅ | ✅ | |
오토CES | ✅ | ✅ | ✅ | ✅ | |
오토세타 | ✅ | ✅ | ✅ | ✅ | |
자동MFLES | ✅ | ✅ | ✅ | ✅ | ✅ |
자동TBATS | ✅ | ✅ | ✅ | ✅ |
이러한 모델은 시계열의 기존 자기상관을 활용합니다.
모델 | 포인트 예측 | 확률적 예측 | 적합치 표본 추출 | 확률적 적합치 | 외인성 특징 |
---|---|---|---|---|---|
아리마 | ✅ | ✅ | ✅ | ✅ | ✅ |
자동회귀 | ✅ | ✅ | ✅ | ✅ | ✅ |
두 개의 세타선을 얻고 결합하여 최종 예측값을 생성하는 다양한 기술을 사용하여 두 개의 세타선을 비계절화된 시계열에 맞춥니다.
모델 | 포인트 예측 | 확률적 예측 | 적합치 표본 추출 | 확률적 적합치 | 외인성 특징 |
---|---|---|---|---|---|
세타 | ✅ | ✅ | ✅ | ✅ | |
최적화된Theta | ✅ | ✅ | ✅ | ✅ | |
다이나믹세타 | ✅ | ✅ | ✅ | ✅ | |
DynamicOptimizedTheta | ✅ | ✅ | ✅ | ✅ |
둘 이상의 명확한 계절성이 있는 신호에 적합합니다. 전기 및 로그와 같은 저주파 데이터에 유용합니다.
모델 | 포인트 예측 | 확률적 예측 | 적합치 표본 추출 | 확률적 적합치 | 외인성 특징 |
---|---|---|---|---|---|
MSTL | ✅ | ✅ | ✅ | ✅ | 추세 예측자가 지원하는 경우 |
MFLES | ✅ | ✅ | ✅ | ✅ | ✅ |
TBATS | ✅ | ✅ | ✅ | ✅ |
시간이 지남에 따라 일정하지 않은 변동성을 나타내는 시계열 모델링에 적합합니다. ARCH 모델은 GARCH의 특별한 경우입니다.
모델 | 포인트 예측 | 확률적 예측 | 적합치 표본 추출 | 확률적 적합치 | 외인성 특징 |
---|---|---|---|---|---|
가르흐 | ✅ | ✅ | ✅ | ✅ | |
아치 | ✅ | ✅ | ✅ | ✅ |
기준선 설정을 위한 고전적 모델.
모델 | 포인트 예측 | 확률적 예측 | 적합치 표본 추출 | 확률적 적합치 | 외인성 특징 |
---|---|---|---|---|---|
역사적 평균 | ✅ | ✅ | ✅ | ✅ | |
순진한 | ✅ | ✅ | ✅ | ✅ | |
무작위걷기드리프트 | ✅ | ✅ | ✅ | ✅ | |
계절순진한 | ✅ | ✅ | ✅ | ✅ | |
창평균 | ✅ | ||||
계절별 기간 평균 | ✅ |
과거로 갈수록 가중치가 기하급수적으로 감소하는 모든 과거 관측치의 가중 평균을 사용합니다. 추세 및/또는 계절성이 명확한 데이터에 적합합니다. 명확한 추세나 계절성이 없는 데이터에는 SimpleExponential
계열을 사용하세요.
모델 | 포인트 예측 | 확률적 예측 | 적합치 표본 추출 | 확률적 적합치 | 외인성 특징 |
---|---|---|---|---|---|
단순지수평활화 | ✅ | ||||
단순지수평활화최적화됨 | ✅ | ||||
계절지수평활 | ✅ | ||||
계절 지수 평활화최적화됨 | ✅ | ||||
잡목 숲 | ✅ | ✅ | ✅ | ✅ | |
홀트윈터스 | ✅ | ✅ | ✅ | ✅ |
0이 아닌 관측치가 거의 없는 계열에 적합합니다.
모델 | 포인트 예측 | 확률적 예측 | 적합치 표본 추출 | 확률적 적합치 | 외인성 특징 |
---|---|---|---|---|---|
아디다 | ✅ | ✅ | ✅ | ||
크로스톤클래식 | ✅ | ✅ | ✅ | ||
Croston최적화됨 | ✅ | ✅ | ✅ | ||
크로스턴SBA | ✅ | ✅ | ✅ | ||
IMAPA | ✅ | ✅ | ✅ | ||
TSB | ✅ | ✅ | ✅ |
CONTRIBUTING.md를 참조하세요.
@misc { garza2022statsforecast ,
author = { Azul Garza, Max Mergenthaler Canseco, Cristian Challú, Kin G. Olivares } ,
title = { {StatsForecast}: Lightning fast forecasting with statistical and econometric models } ,
year = { 2022 } ,
howpublished = { {PyCon} Salt Lake City, Utah, US 2022 } ,
url = { https://github.com/Nixtla/statsforecast }
}
멋진 분들에게 감사드립니다(이모지 키):
아줄 ? | 호세 모랄레스 ? | 스가토 레이 | 제프 택스 ? | 다르린주의자 ? | 알렉 헬리아르 | 데이브 허쉬펠드 |
메르겐탈러 | 혈연 | 야스라이트90 ? | 아시니그 ? | 필립 길리센 | 세바스찬 해그네 ? | 왕한 |
벤 제프리 ? | 벨리아브스키 | 마리아나 멘체로 가르시아 | 니킬 굽타 ? | JD ? | 조쉬 아텐버그 | 제로엔피터보스 |
Jeroen Van Der Donckt | 로임프로그 | 넬슨 카르데나스 볼라뇨 | 카일 슈마우스 | 아크말 솔리예프 | 닉 투 | 케빈 코 |
황 이벤 | 앤드류 그로스 | 타니쉬카아 | 마누엘 칼졸라리 |
이 프로젝트는 모든 기여자 사양을 따릅니다. 어떤 종류의 기여도 환영합니다!