时间序列分析

python实现-时间序列分析

点点圈 提交于 2020-03-08 17:47:24
python实现-时间序列分析 import numpy as np import pandas as pd import datetime import matplotlib.pyplot as plt import statsmodels.api as sm from dateutil.relativedelta import relativedelta from statsmodels.tsa.seasonal import seasonal_decompose #首先处理下数据 data=pd.read_excel("/Users/huangqiankun/Downloads/时时序数据.xlsx",index_col=0) print(data.head(10)) data.index.name = None # 将index的name取消 data.reset_index(inplace=True) data.drop(data.index[64], inplace=True) start = datetime.datetime.strptime("2003-01", "%Y-%m") # 把一个时间字符串解析为时间元组 date_list = [start + relativedelta(months=x*3) for x in range(0, 64)] #

时间序列分析-基本概念

匿名 (未验证) 提交于 2019-12-02 23:39:01
1.随机过程 Y 是一个随机变量,与t有关 2.状态空间与参数空间 状态空间:对于一个随机过程,其取值所在的空间 参数空间:其随机过程中所有参数所在的空间,若参数空间离散,则Y t 为离散随机过程,若参数空间连续,则Y t 为连续随机过程 3.均值,方差,协方差 均值:u = E(Y t ) 自协方差函数:γ t,s = Conv(Y t , Y s ) 自相关函数:ρ t,s t , Y s )/ sqrt(Var(Y t )*Var(Y s 4.两个简单的随机过程 随机游动过程 e t ) = 0   Var(e t e 2 Y = Y + e t u = 0 Var(Y t ) = tσ e 2 滑动平均过程 e t ) = 0   Var(e t e 2 Y = (e t + e t-1 ) / 2 u t = 0 Var(Y t ) = 0.5 * σ e 2

python时间序列分析

泪湿孤枕 提交于 2019-11-28 10:54:41
题记: 毕业一年多天天coding,好久没写paper了。在这动荡的日子里,也希望写点东西让自己静一静。 恰好 前段时间用python做了一点时间序列方面的东西,有一丁点心得体会想和大家分享下。在此也要特别感谢 顾志耐和 散沙 ,让我喜欢上了python。 什么是时间序列 时间序列简单的说就是各时间点上形成的数值序列,时间序列分析就是通过观察历史数据预测未来的值。在这里需要强调一点的是,时间序列分析并不是关于时间的回归,它主要是研究自身的变化规律的(这里不考虑含外生变量的时间序列)。 为什么用python    用 两个字总结“情怀”,爱屋及乌,个人比较喜欢python,就用python撸了。能做时间序列的软件很多,SAS、R、SPSS、Eviews甚至matlab等等,实际工作中应用得比较多的应该还是SAS和R,前者推荐 王燕写的《应用时间序列分析》,后者推荐“ 基于R语言的时间序列建模完整教程 ”这篇博文( 翻译版 )。python作为科学计算的利器,当然也有相关分析的包:statsmodels中tsa模块,当然这个包和SAS、R是比不了,但是python有另一个神器:pandas!pandas在时间序列上的应用,能简化我们很多的工作。 环境配置    python推荐直接装Anaconda,它集成了许多科学计算包,有一些包自己手动去装还是挺费劲的

Python小案例:预测小偷行为

南楼画角 提交于 2019-11-25 18:48:37
案件回顾 杂货店屡遭贼 1,杂货店遭小偷情况严重 2,现有8个月内,每天的失窃纪录 3,偷窃者有老顾客家属和学生,店主希望能防患于未然(问题:失窃是否有规律?怎样运用规律堤防盗贼?) 时间序列分析 将数据存储为csv格式,导入python,查看前10行数据。 [Python] 纯文本查看 复制代码 ? 1 2 3 4 5 import pandas as pd xiaotailang = pd.read_csv( 'xiaotailang.csv' ) xiaotailang.head( 10 ) 按照时间顺序,画出失窃数额的线形图。 [Python] 纯文本查看 复制代码 ? 1 2 3 4 5 6 7 8 9 xiaotailang.date = pd.to_datetime(xiaotailang.date) import matplotlib.pyplot as plt import pylab plt.rcParams[ 'font.sans-serif' ] = [ 'SimHei' ] xiaotailang.index = xiaotailang.iloc[:, 2 ] xiaotailang.iloc[:, 0 ].plot() plt.ylabel( "数额" ) plt.title( "失窃数据" ) pylab.show() 从图显示,可以看出一月和四月