python数据分析

python数据分析(9)——挖掘建模(4)时序模式 1, 时间序列算法 2, 时间序列的预处理 2,1平稳性检验 2,1,1 时序图检验 平稳的时序图序列值在一个常数附近随机波动

本文包含相关资料包-----> 点击直达获取<-------

python数据分析(9)——挖掘建模(4)时序模式

1. 时间序列算法

2. 时间序列的预处理

2.1平稳性检验

2.1.1 时序图检验

平稳的时序图序列值在一个常数附近随机波动,而且波动的范围有界。

2.1.2 自相关图检验

平稳序列具有短期相关性。

2.1.3 单位根检验

存在单位根是非平稳时间序列。

2.2 纯随机性检验

序列值之间没有任何关系(理想状态)。

3. 平稳时间序列

3.1 AR模型

3.2 MA模型

3.3 ARMA模型

3.4建模步骤

4. 非平稳时间序列分析

4.1 ARIMA模型

4.2 代码实现

```python

- - coding: utf-8 - -

arima时序模型

import pandas as pd

参数初始化

discfile = 'arima_data.xls' forecastnum = 5

读取数据,指定日期列为指标,Pandas自动将“日期”列识别为Datetime格式

data = pd.read_excel(discfile, index_col = u'日期')

时序图

import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签 plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号 data.plot() plt.show()

自相关图

from statsmodels.graphics.tsaplots import plot_acf plot_acf(data).show()

平稳性检测

from statsmodels.tsa.stattools import adfuller as ADF print(u'原始序列的ADF检验结果为:', ADF(data[u'销量']))

返回值依次为adf、pvalue、usedlag、nobs、critical values、icbest、regresults、resstore

差分后的结果

D_data = data.diff().dropna() D_data.columns = [u'销量差分'] D_data.plot() #时序图 plt.show() plot_acf(D_data).show() #自相关图 from statsmodels.graphics.tsaplots import plot_pacf plot_pacf(D_data).show() #偏自相关图 print(u'差分序列的ADF检验结果为:', ADF(D_data[u'销量差分'])) #平稳性检测

白噪声检验

from statsmodels.stats.diagnostic import acorr_ljungbox print(u'差分序列的白噪声检验结果为:', acorr_ljungbox(D_data, lags=1)) #返回统计量和p值

from statsmodels.tsa.arima_model import ARIMA

data[u'销量'] = data[u'销量'].astype(float)

定阶

pmax = int(len(D_data)/10) #一般阶数不超过length/10 qmax = int(len(D_data)/10) #一般阶数不超过length/10 bic_matrix = [] #bic矩阵 for p in range(pmax+1): tmp = [] for q in range(qmax+1): try: #存在部分报错,所以用try来跳过报错。 tmp.append(ARIMA(data, (p,1,q)).fit().bic) except: tmp.append(None) bic_matrix.append(tmp)

bic_matrix = pd.DataFrame(bic_matrix) #从中可以找出最小值

p,q = bic_matrix.stack().idxmin() #先用stack展平,然后用idxmin找出最小值位置。 print(u'BIC最小的p值和q值为:%s、%s' %(p,q)) model = ARIMA(data, (p,1,q)).fit() #建立ARIMA(0, 1, 1)模型 model.summary2() #给出一份模型报告 model.forecast(5) #作为期5天的预测,返回预测结果、标准误差、置信区间。 ```

原始序列图

原始自相关图

一阶差分后序列图

一阶差分后自相关图

一阶差分后偏自相关图

结果

原始序列的ADF检验结果为: (1.8137710150945274, 0.9983759421514264, 10, 26, {'1%': -3.7112123008648155, '5%': -2.981246804733728, '10%': -2.6300945562130176}, 299.46989866024177)

差分序列的ADF检验结果为: (-3.1560562366723532, 0.02267343544004886, 0, 35, {'1%': -3.6327426647230316, '5%': -2.9485102040816327, '10%': -2.6130173469387756}, 287.5909090780334) 差分序列的白噪声检验结果为: (array([11.30402222]), array([0.00077339]))

BIC最小的p值和q值为:0、1

参考文献

  • 基于商品名称的电商平台商品自动分类的研究与实现(西南交通大学·黄超)
  • 文本综合处理平台的研究与实现(济南大学·王孟孟)
  • 连锁超市数据分析系统的开发与实现(首都经济贸易大学·刘亚云)
  • 网站运营分析系统设计与实现(电子科技大学·蒋黎)
  • 基于轻量级J2EE的证券数据分析系统研究与设计(浙江大学·唐业祎)
  • 基于数据挖掘的电视节目个性化推荐研究及实现(曲阜师范大学·徐晟杰)
  • 分布式多数据源电商数据融合分析系统(北京邮电大学·张骏)
  • 网站运营分析系统设计与实现(电子科技大学·蒋黎)
  • 数据统计分析应用软件的研究与实现(西安工程大学·贺艳琴)
  • 标准化报表的数据分析在电信财务收入系统中的应用(电子科技大学·金鑫)
  • 电子商务网站的数据分析系统研究与开发(北方工业大学·韩杰)
  • 基于股票数据流和投资者情绪的股价预测系统的设计与实现(华南理工大学·陈泽铭)
  • 基于Hadoop的电商数据分析系统的设计与实现(广西师范大学·孙明铎)
  • 基于Web使用挖掘的在线报名推荐系统的研究与实现(电子科技大学·王玥)
  • 基于数据挖掘的学生数据剖析系统研究(哈尔滨师范大学·李晓楠)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:源码客栈 ,原文地址:https://bishedaima.com/yuanma/35400.html

相关推荐

发表回复

登录后才能评论