2023 업데이트: 우리는 이 블로그 게시물에서 Prophet의 미래에 대한 계획을 논의합니다: 2023년 및 그 이후의 facebook/prophet
Prophet은 비선형 추세를 연간, 주간, 일일 계절성과 휴일 효과에 맞추는 추가 모델을 기반으로 시계열 데이터를 예측하는 프로시저입니다. 이는 강력한 계절 효과와 여러 계절의 과거 데이터가 있는 시계열에서 가장 잘 작동합니다. Prophet은 누락된 데이터와 추세 변화에 강력하며 일반적으로 이상값을 잘 처리합니다.
Prophet은 Facebook의 핵심 데이터 과학 팀에서 출시한 오픈 소스 소프트웨어입니다. CRAN과 PyPI에서 다운로드할 수 있습니다.
Prophet은 CRAN 패키지이므로 install.packages
사용할 수 있습니다.
install.packages( ' prophet ' )
설치 후 시작할 수 있습니다!
install.packages( ' remotes ' )
remotes :: install_github( ' facebook/prophet@*release ' , subdir = ' R ' )
cmdstanr
이라는 실험적인 대체 Stan 백엔드를 선택할 수도 있습니다. prophet
설치한 후 백엔드로 rstan
대신 cmdstanr
사용하려면 다음 지침을 따르세요.
# R
# We recommend running this in a fresh R session or restarting your current session
install.packages(c( " cmdstanr " , " posterior " ), repos = c( " https://mc-stan.org/r-packages/ " , getOption( " repos " )))
# If you haven't installed cmdstan before, run:
cmdstanr :: install_cmdstan()
# Otherwise, you can point cmdstanr to your cmdstan path:
cmdstanr :: set_cmdstan_path( path = < your existing cmdstan > )
# Set the R_STAN_BACKEND environment variable
Sys.setenv( R_STAN_BACKEND = " CMDSTANR " )
Windows에서 R에는 컴파일러가 필요하므로 rstan
에서 제공하는 지침을 따라야 합니다. 핵심 단계는 패키지를 설치하기 전에 Rtools를 설치하는 것입니다.
사용자 정의 Stan 컴파일러 설정이 있는 경우 CRAN 바이너리가 아닌 소스에서 설치하십시오.
Prophet은 PyPI에 있으므로 pip
사용하여 설치할 수 있습니다.
python -m pip install prophet
설치 후 시작할 수 있습니다!
Prophet은 conda-forge를 통해서도 설치할 수 있습니다.
conda install -c conda-forge prophet
병합된 최신 코드 변경 사항을 가져오려면 이 저장소를 복제하고 소스에서 수동으로 빌드하면 됩니다. 이는 안정성을 보장 하지 않습니다 .
git clone https://github.com/facebook/prophet.git
cd prophet/python
python -m pip install -e .
기본적으로 Prophet은 고정 버전의 cmdstan
(필요한 경우 다운로드 및 설치)을 사용하여 모델 실행 파일을 컴파일합니다. 이것이 바람직하지 않고 기존 cmdstan
설치를 사용하려는 경우 환경 변수 PROPHET_REPACKAGE_CMDSTAN
False
로 설정할 수 있습니다.
export PROPHET_REPACKAGE_CMDSTAN=False ; python -m pip install -e .
컴파일러(gcc, g++, build-essential)와 Python 개발 도구(python-dev, python3-dev)가 설치되어 있는지 확인하세요. Red Hat 시스템에서는 gcc64 및 gcc64-c++ 패키지를 설치합니다. VM을 사용하는 경우 Prophet를 설치하려면 최소 4GB의 메모리가 필요하고 Prophet를 사용하려면 최소 2GB의 메모리가 필요하다는 점에 유의하세요.
Windows에서 cmdstanpy
사용하려면 mingw-gcc와 같은 Unix 호환 C 컴파일러가 필요합니다. cmdstanpy가 먼저 설치된 경우 cmdstanpy.install_cxx_toolchain
명령을 통해 설치할 수 있습니다.
y
누락된 날짜에 대한 예측을 포함하고 교차 검증 측정항목에 분할 오류가 없습니다.NDArray[np.float_]
NDArray[np.float64]
로 변경했습니다. holidays
데이터가 업데이트되었습니다.Prophet()
인스턴스화에 인수 scaling
추가했습니다. absmax
최대 스케일링(최대값으로 나누기) 대신 y
에 대한 minmax
스케일링을 허용합니다. scaling='absmax'
기본적으로 이전 버전의 동작을 유지합니다.Prophet()
인스턴스화에 holidays_mode
인수를 추가했습니다. 휴일 회귀자가 계절성 회귀자와 다른 모드를 가질 수 있습니다. holidays_mode
지정되지 않은 경우 seasonality_mode
와 동일한 값을 사용하여 이전 버전의 동작을 유지합니다.Prophet
객체에 preprocess()
및 calculate_initial_params()
두 가지 메소드를 추가했습니다. 이는 호출할 필요가 없으며 모델 피팅 프로세스를 변경하지 않습니다. 그 목적은 데이터가 stan 모델에 전달되기 전에 수행된 전처리 단계( y
스케일링, 푸리에 계열 생성, 회귀 스케일링, 변경 지점 설정 등)에 대한 명확성을 제공하는 것입니다.cross_validation()
에 extra_output_columns
인수를 추가했습니다. 사용자는 ds
및 yhat
과 함께 최종 출력에 포함할 추가 열을 predict()
에서 지정할 수 있습니다(예: extra_output_columns=['trend']
.hdays
모듈은 지난 버전에서 더 이상 사용되지 않으며 현재 제거되었습니다. holidays
데이터가 업데이트되었습니다.holidays
패키지에만 의존합니다.holidays
데이터가 업데이트되었습니다..predict()
속도를 최대 10배까지 높였습니다.train()
및 predict()
파이프라인의 속도를 최소 1.5배 향상시킵니다.construct_holiday_dataframe()
의 버그를 수정했습니다.holidays
데이터가 업데이트되었습니다.pystan2
종속성을 cmdstan
+ cmdstanpy
로 대체했습니다.stan
모델 코드, 교차 검증 측정항목 계산, 휴일이 개선되었습니다.holidays
및 pandas
관련 버그 수정holidays
및 pandas
패키지의 업스트림 변경과 관련된 버그를 수정합니다.cmdstanpy
백엔드를 사용할 수 있습니다.Prophet은 MIT 라이선스에 따라 라이선스가 부여됩니다.