Python数据挖掘--时间序列

概念

时间序列:(TIME SERIES)均匀时间间隔的观测值序列
时间序列分析:(Time Series Analysis)趋势分析,序列分解,序列预测

序列分解

时间序列分解(Time-Series Decomposition)

  • 时间序列按照季节性来分类:分为季节性时间序列和非季节性时间序列
  • 非季节性时间序列:趋势部分,不规则部分
  • 季节性时间序列:趋势部分,不规则部分,季节性部分

非季节性时间序列分解

  • MA(Moving Average):移动平均是一种简单平滑技术,它通过在时间序列上逐项推移取一定项数的均值,来表现指标的长期变化和发展趋势。
  • SMA(Simple Moving Average):简单移动平均,将时间序列上前N个数值做简单的算术平均。
    Python数据挖掘--时间序列_第1张图片
  • WMA(Weighted Moving Average):加权移动平均,在基于简单移动平均的基础上,对时间序列上前n期的每一期数值赋予相应的权重,即加权平均的结果。
    基本思想:提升近期的数据、减弱远期数据对当前预测值的影响,使预测值更贴近最近的变化趋势。
    Python数据挖掘--时间序列_第2张图片
  • 示例
    数据解释:从2017年1月1日到2018年3月28日某电子产品销售金额,对这部分时间序列进行分解。
    1、简单移动平均
    根据以往经验,暂时按照以7天的均值来估算平均值。
import pandas as pd
import numpy
import matplotlib.pyplot as plt
data = pd.read_excel('E:\\2018年\\司机生态整体框架\\兼职全职司机占比对完单量的预测\\20170101_20180328数据.xlsx')
#x = data['日期']
x = pd.Series(range(1,len(data)+1))
y = data['呼叫订单数']
Y = pd.rolling_mean(y,7)
plt.plot(x,y,'k-',x,Y,'g-')
plt.show()
y_ = y-Y
plt.plot(x,y,'k-',x,Y,'g-',x,y_,'r-')

注:1、用时间过x轴无法画图,因为日期是文本格式,无法转换为浮点型数据
2、执行出来的图形非常小,无法准确查看时间趋势。

你可能感兴趣的:(python初探)