อัปเดตปี 2023: เราจะหารือเกี่ยวกับแผนการของเราสำหรับอนาคตของศาสดาในบล็อกโพสต์นี้: facebook/prophet ในปี 2023 และต่อๆ ไป
ศาสดาเป็นขั้นตอนสำหรับการพยากรณ์ข้อมูลอนุกรมเวลาโดยอิงตามแบบจำลองแบบบวกซึ่งแนวโน้มที่ไม่เชิงเส้นสอดคล้องกับฤดูกาลรายปี รายสัปดาห์ และรายวัน รวมถึงผลกระทบในวันหยุด ใช้งานได้ดีที่สุดกับอนุกรมเวลาที่มีผลกระทบตามฤดูกาลและข้อมูลในอดีตหลายฤดูกาล Prophet ทนทานต่อข้อมูลที่ขาดหายไปและการเปลี่ยนแปลงของแนวโน้ม และโดยทั่วไปจะจัดการกับค่าผิดปกติได้ดี
Prophet เป็นซอฟต์แวร์โอเพ่นซอร์สที่เผยแพร่โดยทีมงาน Core Data Science ของ Facebook พร้อมให้ดาวน์โหลดบน CRAN และ PyPI
Prophet เป็นแพ็คเกจ CRAN ดังนั้นคุณสามารถใช้ install.packages
install.packages( ' prophet ' )
หลังการติดตั้งคุณสามารถเริ่มต้นได้!
install.packages( ' remotes ' )
remotes :: install_github( ' facebook/prophet@*release ' , subdir = ' R ' )
คุณยังสามารถเลือกแบ็กเอนด์ stan สำรองแบบทดลองที่เรียกว่า cmdstanr
ได้ เมื่อคุณติดตั้ง prophet
แล้ว ให้ทำตามคำแนะนำเหล่านี้เพื่อใช้ cmdstanr
แทน rstan
เป็นแบ็กเอนด์:
# 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
หลังการติดตั้งคุณสามารถเริ่มต้นได้!
ศาสดาสามารถติดตั้งผ่าน conda-forge ได้
conda install -c conda-forge prophet
หากต้องการรับการเปลี่ยนแปลงโค้ดล่าสุดเมื่อรวมเข้าด้วยกัน คุณสามารถโคลน Repo นี้และสร้างจากแหล่งที่มาด้วยตนเองได้ สิ่งนี้ ไม่ รับประกันว่าจะมีเสถียรภาพ
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 โปรดทราบว่าคุณจะต้องมีหน่วยความจำอย่างน้อย 4GB เพื่อติดตั้งศาสดาพยากรณ์ และหน่วยความจำอย่างน้อย 2GB เพื่อใช้ศาสดาพยากรณ์
การใช้ cmdstanpy
กับ Windows ต้องใช้คอมไพเลอร์ C ที่เข้ากันได้กับ Unix เช่น mingw-gcc หากติดตั้ง cmdstanpy ก่อน จะสามารถติดตั้งได้ผ่านคำสั่ง cmdstanpy.install_cxx_toolchain
y
ข้อผิดพลาดในการหารเป็นศูนย์ในเมตริกการตรวจสอบข้ามNDArray[np.float_]
เป็น NDArray[np.float64]
เพื่อให้เข้ากันได้กับ numpy 2.0 holidays
ตามวันหยุดเวอร์ชัน 0.57scaling
อาร์กิวเมนต์ให้กับอินสแตนซ์ Prophet()
อนุญาตให้ใช้มาตราส่วน minmax
บน y
แทนมาตราส่วน absmax
(หารด้วยค่าสูงสุด) scaling='absmax'
โดยค่าเริ่มต้น โดยคงลักษณะการทำงานของเวอร์ชันก่อนหน้าไว้holidays_mode
ให้กับอินสแตนซ์ Prophet()
อนุญาตให้ผู้ถดถอยในช่วงวันหยุดมีโหมดที่แตกต่างจากผู้ถดถอยตามฤดูกาล holidays_mode
จะใช้ค่าเดียวกันกับ seasonality_mode
หากไม่ได้ระบุไว้ โดยคงลักษณะการทำงานของเวอร์ชันก่อนหน้าไว้Prophet
: preprocess()
และ calculate_initial_params()
สิ่งเหล่านี้ไม่จำเป็นต้องถูกเรียกและจะไม่เปลี่ยนกระบวนการปรับโมเดล จุดประสงค์ของพวกเขาคือเพื่อให้ความชัดเจนในขั้นตอนก่อนการประมวลผล (การปรับ y
การสร้างอนุกรมฟูเรียร์ การปรับขนาดตัวถดถอย การตั้งค่าจุดเปลี่ยน ฯลฯ) ก่อนที่ข้อมูลจะถูกส่งไปยังโมเดล stanextra_output_columns
ใน cross_validation()
ผู้ใช้สามารถระบุคอลัมน์เพิ่มเติมจาก predict()
เพื่อรวมไว้ในเอาต์พุตสุดท้ายควบคู่ไปกับ ds
และ yhat
เช่น extra_output_columns=['trend']
hdays
ที่กำหนดเองของศาสดาพยากรณ์เลิกใช้แล้วเวอร์ชันล่าสุดและตอนนี้ถูกลบออกแล้ว holidays
ตามวันหยุดเวอร์ชัน 0.34holidays
สำหรับวันหยุดของประเทศเท่านั้นholidays
ตามวันหยุดเวอร์ชัน 0.25.predict()
สูงสุด 10 เท่าโดยการลบการสร้าง DataFrame ระดับกลางออกtrain()
และ predict()
construct_holiday_dataframe()
holidays
ตามวันหยุดเวอร์ชัน 0.18pystan2
ด้วย cmdstan
+ cmdstanpy
stan
การคำนวณเมตริกการตรวจสอบข้าม วันหยุดholidays
และ pandas
holidays
และแพ็คเกจ pandas
cmdstanpy
พร้อมใช้งานแล้วใน Pythonศาสดาได้รับใบอนุญาตภายใต้ใบอนุญาตของ MIT