机器学习——时间序列(二)


前言

在使用时间序列模型进行预测时,首先需要判断数据是否有异常值,数据是否符合随机性,检查平稳性与周期性


一、异常值检验

data.sort_values("Month",inplace=true)
data.head()

在这里插入图片描述

data["Value"].interpolate(inplace=True) #这里填充用的是时间上下的均值进行填充
data.isnull.sum()

sns.boxplot(data=data["Value"]) #使用箱线图查看检查

在这里插入图片描述

二、重复值

data[data.duplicated(keep=False)]  #检查重复之后删除
data.drop_duplicated(inplace=True)
print(data.shape)

在这里插入图片描述

三、重新设置索引并进行时间点检测

'''时间序列上一般使用日期时间类型索引,这样方便操作元素。
因此我们将数据中的时间列转换成日期类型,并将其设置为索引。'''

data["Month"]=pd.to_datetime(data["Month"])
data.set_index("Month",inplace=True)
data.head()

#检测时间点是否缺失
data=data.asfreq("MS") #MS指月份第一天
data.insull().sum()
#存在缺失点,进行填充插值
data["Value"].interpolate(inplace=True) #这里填充用的是时间上下的均值进行填充
data.isnull.sum()

在这里插入图片描述

四、时间序列可视化

data["Value"].plot(figsize=(15,5))

在这里插入图片描述

五、平稳性检验

import sys
sys.path.append("../tools")
import tstools

tsools.stationarity_test(data["Value"],m=12)#其中12为周期

在这里插入图片描述
在这里插入图片描述

六、纯随机性检验

tstools.random_test(data["Value"])

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山林里的迷路人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值