首席数据官

Hi, 请登录

时间序列7:基于prophet预测天气

本文参考网络资源:/anshuai_aw1/article/details/83412058

天气数据是一个典型的时间序列数据温度数据分析温度数据分析,尝试用facebook提出的prophet来对天气进行预测。

一、数据集:

采用的数据集为北京2011年1月1日到2020年3月23日的天气情况。

采集工具:后裔采集器

网址:/lishi/beijing.html

数据集中包含日期、天气状况、气温(最高气温、最低气温)、风力风向。

温度数据分析_温度数据_数据的分析

下文针对“最高温度“进行分析。

二、基于python的prophet代码:

1)首先需要安装fbprophet包

2)代码如下:

温度数据_温度数据分析_数据的分析

# https://blog.csdn.net/anshuai_aw1/article/details/83412058
import pandas as pd
import numpy as np
from fbprophet import Prophet
import matplotlib as plt
from sklearn.metrics import mean_squared_error,mean_absolute_error,r2_score
# 1、load data
df = pd.read_csv('data/weather-beijing.csv')
df.columns = ['ds','y']
df.plot()
# 2、数据预处理:通过图像,发现2016-01-23数据为异常值,删除异常值
df.loc[(df['ds'] == '2016-01-23'), 'y'] = None
df.plot()
# 3、训练集、测试集划分
trainsize = int(df.shape[0]*0.9)
train = df[0:trainsize]
test = df[trainsize:df.shape[0]]
# 4、模型训练
# changepoint_prior_scale默认为0.05,增大changepoint_prior_scale表示让模型拟合更多,可能发生过拟合风险
model = Prophet(changepoint_prior_scale=0.5)
model.fit(df);
#5、模型预测
# 构建待预测日期数据框,periods = 365 代表除历史数据的日期外再往后推 365 天
future = model.make_future_dataframe(periods=df.shape[0]-trainsize)
print("-----------------future.tail-----------------")
print(future.tail())
# 预测数据集
forecast = model.predict(future)
print("-----------------forcast tail-----------------")
print(forecast[['ds', 'yhat', 'yhat_lower', 'yhat_upper']].tail())
# 展示预测结果
model.plot(forecast);
# 预测的成分分析绘图,展示预测中的趋势、周效应和年度效应
model.
试看结束,如继续查看请付费↓↓↓↓
打赏0.5元才能查看本内容,立即打赏

来源【首席数据官】,更多内容/合作请关注「辉声辉语」公众号,送10G营销资料!

版权声明:本文内容来源互联网整理,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 jkhui22@126.com举报,一经查实,本站将立刻删除。

相关推荐

二维码
评论