首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >平均预测法

平均预测法

作者头像
裴来凡
发布于 2022-05-29 10:34:58
发布于 2022-05-29 10:34:58
9430
举报
代码语言:javascript
复制
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from sklearn.metrics import mean_squared_error
from math import sqrt
plt.rcParams['font.sans-serif']=['SimHei']
df=pd.read_csv('C:/Users/xpp/Desktop/data.csv', nrows=11856)
#创建训练和测试集
train=df[0:10300]
test=df[10300:]
#数据聚合
df['Timestamp']=pd.to_datetime(df['Datetime'],format='%d-%m-%Y %H:%M')#4位年用Y,2位年用y
df.index=df['Timestamp']
df=df.resample('D').mean()#按天采样,计算均值
train['Timestamp']=pd.to_datetime(train['Datetime'],format='%d-%m-%Y %H:%M')
train.index=train['Timestamp']
train=train.resample('D').mean()
test['Timestamp']=pd.to_datetime(test['Datetime'],format='%d-%m-%Y %H:%M')
test.index=test['Timestamp']
test=test.resample('D').mean()
rms=sqrt(mean_squared_error(test.Count,y_hat_avg.avg_forecast))
#print("平均预测法",rms)
#绘图
train.Count.plot(figsize=(15,8),title= '日数据',fontsize=14)
test.Count.plot(figsize=(15,8),title= '日数据',fontsize=14)
y_hat_avg=test.copy()
y_hat_avg["avg_forecast"]= train.Count.mean()
train.Count.plot(figsize=(16,10),title='平均预测法',fontsize=14)
test.Count.plot(figsize=(16,10),title='平均预测法',fontsize=14)
y_hat_avg.avg_forecast.plot(figsize=(16,10),title='平均预测法',fontsize=14)
plt.legend(loc='best')
plt.show()

算法:平均预测法是将预期值等同于之前所有观测点的平均值的预测方法,数学方法有算数平均、几何平均、调和平均和平方平均预测法,物理方法有移动平均、加权平均、移动加权平均和中心移动平均预测法。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-26,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档