时空序列研究工具(分析年周期变化和未来趋势预测)

首页教程更新时间:2023-05-17 21:48:13

prophet是facebook开发的一款开源时间序列分析预测工具。它根据已有序列分析,预测未来一段时间数据变化趋势,并给出年变化趋势,季节因素,节假日因素等。

安装

conda install pystan conda install fbprophet

这个库需要先安装pystan这个库,再进行安装。

测试

import pandas as pd import numpy as np from fbprophet import Prophet import matplotlib.pyplot as plt import os path_file = f'./23003_3_3211.60' df = path_to_df(path_file,'60') m = Prophet(yearly_seasonality=True,changepoint_range=1,seasonality_mode='multiplicative',seasonality_prior_scale=365) # 训练模型 m.fit(df) #print(m) # 构建预测集,预测未来一年的涨势 future = m.make_future_dataframe(periods=365) #print (future.tail()) # 进行预测 forecast = m.predict(future) #forecast = m.predict(test) m.plot(forecast) plt.savefig('forecast.png',dpi=300) #print (forecast.tail(10)) #forecast[['ds', 'yhat', 'yhat_lower', 'yhat_upper']].tail(10) m.plot_components(forecast,figsize=(8,6)) plt.savefig('plot_components.png',dpi=300) #m.add_seasonality() #fig2 = m.plot(forecast) #print() fig, axes = plt.subplots(2,1,figsize=(6,8), dpi= 200) axes[0].plot(forecast['ds'],forecast['yearly']) #lags=50, axes[1].plot(forecast['ds'],forecast['trend']) plt.savefig('plot_fig.png',dpi=300)

时空序列研究工具,分析年周期变化和未来趋势预测(1)

点是观测数据,实线是预测数据,灰色区域,是置信区间。这个是年变周期是365,预测时间也是未来1年。

时空序列研究工具,分析年周期变化和未来趋势预测(2)

这个图是划分趋势性分量,年变分量,周分量。这个年变成分是之前decompose得到的趋势性成分不太一样,原理应该是类似的。

X1diff = df['y'].diff().dropna() ## 检验ARIMA模型的参数d X1d = pm.arima.ndiffs(df['y'], alpha=0.05, test="kpss", max_d=3) print("使用KPSS方法对序列X1的参数d取值进行预测,d = ",X1d) X1diffd = pm.arima.ndiffs(X1diff, alpha=0.05, test="kpss", max_d=3) print("使用KPSS方法对序列X1一阶差分后的参数d取值进行预测,d = ",X1diffd) X2d = pm.arima.ndiffs(df['y'], alpha=0.05, test="kpss", max_d=3) print("使用KPSS方法对序列X2的参数d取值进行预测,d = ",X2d) X1d = pm.arima.nsdiffs(df['y'], 365, max_D=2) print("对序列X1的季节阶数D取值进行预测,D = ",X1d) X1diffd = pm.arima.nsdiffs(X1diff, 12, max_D=2) print("序列X1一阶差分后的季节阶数D取值进行预测,D = ",X1diffd) X1decomp = pm.arima.decompose(df["y"].values,"multiplicative", m=365) ## 可视化出分解的结果 ax = pm.utils.decomposed_plot(X1decomp,figure_kwargs = {"figsize": (10, 6)}, show=False) ax[0].set_title("乘法模型分解结果") plt.show() ## 使用加法模型分解结果(通常适用于平稳趋势的序列) X1decomp = pm.arima.decompose(X1diff.values,"additive", m=365) ## 可视化出分解的结果 ax = pm.utils.decomposed_plot(X1decomp,figure_kwargs = {"figsize": (10, 6)}, show=False) ax[0].set_title("加法模型分解结果") plt.show() decompose分解结果

时空序列研究工具,分析年周期变化和未来趋势预测(3)

一阶差分后decompose分解结果

时空序列研究工具,分析年周期变化和未来趋势预测(4)

,
图文教程
相关文章
热门专题
推荐软件
奇热小说
奇热小说
下载
QQ2019手机版
QQ2019手机版
下载
王者荣耀
王者荣耀
下载
百度浏览器迷你版
百度浏览器迷你版
下载
2345浏览器手机版
2345浏览器手机版
下载
网易邮箱
网易邮箱
下载
爱奇艺
爱奇艺
下载
网易云音乐
网易云音乐
下载
WPSOffice
WPSOffice
下载
优酷
优酷
下载
谷歌浏览器(Chrome)
谷歌浏览器(Chrome)
下载
迅雷看看播放器
迅雷看看播放器
下载
UC浏览器
UC浏览器
下载
QQ音乐
QQ音乐
下载
阿里旺旺买家版v9.12.10C官方版
阿里旺旺买家版v9.12.10C官方版
下载
360安全卫士v12.1官方版
360安全卫士v12.1官方版
下载
猜你喜欢
萤宝家园通iOS
萤宝家园通iOS
下载
湖北地税app
湖北地税app
下载
ReemakeAirv1.0.0
ReemakeAirv1.0.0
下载
广东麻将精华版
广东麻将精华版
下载
云不倒
云不倒
下载
找教练教练版
找教练教练版
下载
颜色箍排序
颜色箍排序
下载
大淄博app
大淄博app
下载
骑士的公主养成
骑士的公主养成
下载
疯狂寿司店电脑版
疯狂寿司店电脑版
下载
苍空物语电脑版
苍空物语电脑版
下载
糖果天天消无限泡泡龙
糖果天天消无限泡泡龙
下载
巫师3狂猎网飞版叶奈法MOD
巫师3狂猎网飞版叶奈法MOD
下载
DayPlannerMac版V1.0.2
DayPlannerMac版V1.0.2
下载
地下城时空之门
地下城时空之门
下载
荒野求生运输小船
荒野求生运输小船
下载