数据挖掘建模--时间序列分析

本文介绍了时间序列分析在数据挖掘中的流程,包括数据预处理、平稳性检验、模型选择(如ARIMA、SARIMA)和差分处理等步骤。通过统计量和假设检验确定序列性质,并建立预测模型,用于预测未来数据。
摘要由CSDN通过智能技术生成

数据挖掘建模–时间序列分析

时间序列分析可以处理按照时间序列排序数据并预估出未来数据。要对时间序列进行分析需要首先确定时间序列分布函数,但取得困难,退而求用计算时间序列的特征统计量(低阶距)来研究时间序列性质。
pip install pmdarima

时间序列分析流程

start–数据预处理–平稳性检验–确定周期与差分值–纯随机性检验–(非随机)模型定阶–建模拟合–残差诊断–白噪声–end
数据预处理:
缺失值填充:插值填充data[“value”].interpolate(inplace=True);
异常值处理(离群点暂不处理)
重复值处理(drop_duplicate)
设置日期索引列:pd.todatetime(data[]) data.set_index
时间序列监测:data=data.asfreq(“MS”)#M月度S开始日期,data.isnull().sum()#查看是否缺失
时间序列分析
时间序列可视化
平稳性检验:查看原始数据展示图
纯随机性检验:
效应分解:线性分解和指数分解,分为趋势、周期、随机性(残差)

from statsmodels.tsa.seasonal import seasonal_decompose
r = seasonal_decompose(data["value"])
f = r.plot()
f.set_size_inches(15,15)
plt.subplots_adjust(hspace=0.2)
plt.show()

数据建模
基模型:
切分数据集:训练集和测试集

from pmdarima.model_selection import train_test_split
train,test = train_test_split(data,test_size=12)

计算预测数据集:过去几个月均值预测下一个月

history_size = 3
s = data["value"].iloc[-(test.shape[0]+history_size):]
t = s.rolling(window=history_size).mean()
hat = t.shift(1).dropna()

结果可视化
评估 R²—受量纲影响MSE/MAE/RMSE不采用

特征统计量

均值、方差、自协方差、自相关系数
自协方差 :同一个事件在两个不同时刻的关系
r(t,s) = E[(Xt-μt)(Xs-μs)]
自相关系数:同一个事件在两个不同时刻的关系
ρ(t,s) = r(t,s)/(根号D(Xt)*根号D(Xs))=E[(Xt-μt)(Xs-μs)]/(根号D(Xt)*根号D(Xs))

时间序列检验

主要有平稳性检验和随机性检验
1、平稳性检验:平稳的时间序列有平稳统计量,才能实现根据现有数据预测未来走势,建模才有实践意义。
特性:任意时刻均值、方差为常数;自协方差和自相关系数与时间间隔有关与时间起止点无关;
自协方差令r=s-t ,则r® =r(t,t+r) =E[(Xt-μt)(X(t+r)-μ(t+r))]
当r=0时,自协方差=方差
同理自相关系数也可以改变公式
如果序列平稳,通常只有短期相关性or无相关性,一开始自相关系数不为0,但是很快衰减到0;
如果序列非平稳,通常自相关系数衰减到0速度很慢;
如果序列周期性,自相关系数也会呈现周期性;
自相关系数绘制:

1)plot 自带的 
fig,ax = plt.subplots(1,2)
fig.set_size_inches(15,5)
pd.plotting.autocorrelation_plot(y,ax=ax[0])
pd.plotting.autocorrelation_plot(y2,ax=ax[1])
plt.show()

2)statsmodels

from statsmodels.graphics.tsaplots import plot_acf
fig,ax = plt.subplots(1,2)
f
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值