Logo
Section 1 / 4

Prophet

学习如何使用 Python 中的 Prophet 进行预测。

导入

Prophet

学习如何使用 Python 中的 Prophet 进行预测。

...
Prophet logo
1import pandas as pd 2import matplotlib.pyplot as plt 3from prophet import Prophet 4import logging 5 6# 禁用日志输出 7logger = logging.getLogger('cmdstanpy') 8logger.addHandler(logging.NullHandler()) 9logger.propagate = False 10logger.setLevel(logging.CRITICAL) 11 12df = pd.read_csv('airpassengers.csv') 13 14# 转换数据类型 15df['Month'] = pd.to_datetime(df['Month'], format='%Y-%m') 16 17# 重命名列 18df = df.rename(columns={'Month': 'ds', 'Passengers': 'y'}) 19 20# 使用 Prophet 模型 21model = Prophet() 22model.add_country_holidays(country_name='US') 23model.fit(df) 24 25future = model.make_future_dataframe(periods=24) 26predictions = model.predict(future) 27 28# 绘图 29fig, ax = plt.subplots(figsize=(7, 4.5), dpi=300) 30fig = model.plot(predictions, xlabel='日期', ylabel='乘客数量') 31 32fig.subplots_adjust(top=0.95) 33plt.title("航空公司乘客数量预测") 34plt.legend() 35 36fig.savefig("output/output.png") 37plt.close(fig)
1import pandas as pd 2import matplotlib.pyplot as plt 3from prophet import Prophet 4import logging 5 6# 禁用日志输出 7logger = logging.getLogger('cmdstanpy') 8logger.addHandler(logging.NullHandler()) 9logger.propagate = False 10logger.setLevel(logging.CRITICAL) 11df = pd.read_csv('airpassengers.csv') 12 13# 转换数据类型 14df['Month'] = pd.to_datetime(df['Month'], format='%Y-%m') 15 16# 重命名列 17df = df.rename(columns={'Month': 'ds', 'Passengers': 'y'}) 18 19# 使用 Prophet 模型 20model = Prophet() 21model.add_country_holidays(country_name='US') 22model.fit(df) 23 24future = model.make_future_dataframe(periods=24) 25predictions = model.predict(future) 26 27# 绘制各组成部分 28fig, ax = plt.subplots(figsize=(7, 4.5), dpi=300) 29fig = model.plot_components(predictions) 30 31fig.subplots_adjust(top=0.95) 32 33fig.savefig("output/output.png") 34plt.close(fig)
1import pandas as pd 2import matplotlib.pyplot as plt 3from prophet import Prophet 4import datetime 5import logging 6 7# 禁用日志输出 8logger = logging.getLogger('cmdstanpy') 9logger.addHandler(logging.NullHandler()) 10logger.propagate = False 11logger.setLevel(logging.CRITICAL) 12df = pd.read_csv('microsoft_stock.csv') 13 14# 转换数据类型 15df["Date"] = pd.to_datetime(df['Date'], format='%m/%d/%Y %H:%M:%S').dt.date 16 17# 重命名列 18df = df.rename(columns={'Date': 'ds', 'Close': 'y'}) 19 20# 使用 Prophet 模型 21model = Prophet() 22model.add_country_holidays(country_name='US') 23model.fit(df) 24 25future = model.make_future_dataframe(periods=180) 26predictions = model.predict(future) 27 28# 绘图 29fig, ax = plt.subplots(figsize=(7, 4.5), dpi=300) 30fig = model.plot(predictions, xlabel='日期', ylabel='价格') 31 32fig.subplots_adjust(top=0.95) 33plt.title("微软股票收盘价预测") 34plt.legend() 35 36fig.savefig("output/output.png") 37plt.close(fig)

时间序列的Python基础

LSTM