python 白噪声检验 结果-时间序列 平稳性检验 白噪声 峰度 偏度
时间序列
简而言之,时间序列就是带时间戳的数值序列。股票,期货等金融数据就是典型的时间序列。量化的过程,很多时间都是在分析时间序列,找到稳定赚钱因子。
平稳性定义
所谓时间序列的平稳性,是指时间序列的均值,方差以及协方差都是常数,与时间t无关。这样的序列才可以作为我们基于历史预测未来的基础。
满足以上条件属于严平稳,一般达到弱平稳都是可以接受的。
平稳性是当前时间序列分析的前提条件,因为我们的建模过程基本都是以大数定理和中心极限定理为理论基础(比如ARMA,ARIMA模型等),而大数定理和中心极限定理也是有前提条件的,那就是要求样本同分布(等价于时间序列的平稳性)。如果这个条件不满足,那么我们的很多分析结果是不可靠的。
白噪声属于平稳序列,因为它的均值为0,方差为常数,协方差为0。但白噪声属于纯随机序列,基于它预测是没有意义的。
随机游走属于非平稳序列,因为它的均值为常数,但是方差为非常数,与时间t有关。
平稳性检验
对于一个时间序列,我们如何处理呢?
1 检验序列是否平稳性序列
2 如果序列非平稳,通过数学变换为平稳性序列
3 检验序列是否白噪声
4 下一步
平稳性检验常用方法有ADF检验和KPSS检验。
平稳性检验-ADF Test
ADF Test:Augmented Dickey-Fuller Test
首先假设时间序列是不稳定的,根据假设求得的置信度P值如果小于阈值(一般为1%),那么我们认为假设不成立,时间序列是稳定的;反之,假设成立。
Python和R都有相应平稳性检验的模块。
Python需安装statsmodels模块。
R需安装tseries模块。
这里以Python为例:
#python
import numpy as np
from statsmodels.tsa.stattools import adfuller
ss = np.random.randn(10000)
adfuller(ss)
#(-100.04436307924058,
# 0.0, ##(P Value)
# 0,
# 9999,
# {"1%": -3.4310041633725734,
# "10%": -2.566923883481157,
# "5%": -2.861829101294412},
# 28143.20974307366)
检验结果的第二项为P值,这里为0.0%,远低于阈值1%,因为我们检验的是一个标准正太分布,因此假设肯定是不成立的,我们的序列为稳定性时间序列。
平稳性检验-KPSS Test
KPSS Test:Kwiatkowski-Phillips-Schmidt-Shin Test
首先假设序列是平稳的,根据假设求得的P值如果小于阈值(一般为5%),那么假设不成立;反之,假设成立。仍以Python为例:
#python
import numpy as np
from statsmodels.tsa.stattools import kpss
ss = np.random.randn(10000)
kpss(ss)
# (0.09407968315491025,
# 0.1, ##(P Value)
# 38,
# {"1%": 0.739, "10%": 0.347, "2.5%": 0.574, "5%": 0.463})
检验结果的第二项为P值,这里为10%,远高于阈值5%,因此假设是成立的,我们的序列为稳定性时间序列。
白噪声检验-Ljung-Box Test
首先假设序列为白噪声,根据假设求得的P值如果小于阈值(一般为5%),那么假设不成立;反之,假设成立。仍以Python为例:
#python
import numpy as np
from statsmodels.stats.diagnostic import acorr_ljungbox as ljbox
ss = np.random.randn(10000)
ljbox(ss, lags=1)
# (array([0.00307541]),
# array([0.95577487])) ##P-Value
检验结果的第二项为P值,这里为95.57%,远高于阈值5%,因此假设是成立的,我们的序列为白噪声序列(实际是随机序列)。
峰度 - Kurtosis
峰度表征统计分布在平均值处峰值高低的度量,反应了峰部的尖度。
峰度按数值包括三类:
正态分布(Kurtosis = 0)
厚尾分布(Kurtosis > 0)
瘦尾分布(Kurtosis < 0)
金融时间序列一般都是厚尾分布。
Python峰度计算采用scipy模块,R峰度计算采用moments模块。
这里需要说明的是:Python峰度计算是以0为中间值,R中峰度计算是以3位中间值(R峰度计算过程中没有减3的操作)。
以Python为例:
#python
import numpy as np
from scipy.stats import kurtosis
ss = np.random.randn(10000)
kurtosis(ss)
# -0.045421184138716875
偏度 - Skewness
偏度表征统计分布偏斜方向和程度的度量,是统计分布非对称程度的数字特征。
偏度按数值包括三类:
正态分布(skew = 0)
左偏分布(skew < 0),峰在左边。
右偏分布(skew > 0),峰在右边。
以Python为例:
#python
import numpy as np
from scipy.stats import skew
ss = np.random.randn(10000)
skew(ss)
# -0.0071660377825474705
非平稳变换
非平稳的序列如何变换成平稳系列呢?
一般有如下几种方法:
对数变换
平滑变换(移动平均,指数平均等)
差分变换(一阶差分,二阶差分,高阶差分等)
分解变换(多成分分解 = 长期趋势 + 中期趋势 + 随机)
这里就不展开了。
python 白噪声检验 结果-时间序列 平稳性检验 白噪声 峰度 偏度相关推荐
- python白噪声检验_时间序列 平稳性检验 白噪声 峰度 偏度
时间序列 简而言之,时间序列就是带时间戳的数值序列.股票,期货等金融数据就是典型的时间序列.量化的过程,很多时间都是在分析时间序列,找到稳定赚钱因子. 平稳性定义 所谓时间序列的平稳性,是指时间序列的 ...
- 【R语言实验】基于R语言的时间序列平稳性检验
一.实验项目名称:基于R语言的时间序列平稳性检验 二.实验目的与要求: 平稳时间序列的概念,平稳性检验的时序图检验方法和自相关图检验方法. 三.实验原理: 时序图和自相关图检验时间序列的平稳性依据: ...
- python 白噪声检验-时间序列 平稳性检验 白噪声 峰度 偏度
时间序列 简而言之,时间序列就是带时间戳的数值序列.股票,期货等金融数据就是典型的时间序列.量化的过程,很多时间都是在分析时间序列,找到稳定赚钱因子. 平稳性定义 所谓时间序列的平稳性,是指时间序列的 ...
- python时间序列平稳性检验_Python量化投资基础:时间序列的平稳性检验
主要内容: 1. 自相关性和自相关系数 2. 强平稳和弱平稳 3. Python平稳性检验实战 重要性:10分 (1-10). 时间序列数据的平稳性对于我们采用什么样的分析方式.选择什么样的模型有着至 ...
- python ADF单位根检验,序列平稳性检验
文章目录 平稳性.单位根理解 python ADF检验 参考文章 平稳性.单位根理解 平稳的序列 直观感受如下: 但统计意义上的平稳并不是这样哈,我们都知道一个成语"一叶障目":当 ...
- matlabadftest_怎样用matlab做时间序列平稳性检验
展开全部 用matlab做时间序e68a84e8a2ad62616964757a686964616f31333431373234列平稳性检验需要作图.拟合,具体说明如下所示: 根据动态数据作相关图,进 ...
- 时间序列平稳性检验—R语言KPSS检验
1.R语言函数ur.kpss() 用R自带的google股价变化数据goog为例(可以通过导入fpp2包之后直接使用goog这个数组变量). 1.1 对goog进行KPSS检验 R代码为 librar ...
- 时间序列平稳性检验(ADF)和白噪声检验(Ljung-Box)
在对时间序列做预测前,我们要对数据进行一系列检验,主要是检验数据的稳定性和随机性(白噪声检验),本文主要介绍ADF检验和Ljung-Box检验 ADF检验 ADF检验即单位根检验是指检验序列中是否存在 ...
- 时间序列平稳性分析和白噪声检验
文章目录 一.时间序列平稳性 1.ADF检验 1.1.ADF检验原理 1.2.ADF的python实现 2.ACF和PACF 二.白噪声检验 原始的负荷时间序列曲线 一.时间序列平稳性 时间序列分析之 ...
最新文章
- linux学习:进程间通信—管道
- python的c语言扩展方法简介
- 数据结构: 试用判定树的方法给出在中序线索化二叉树上: (1) 如何搜索指定结点的在中序下的后继。 (2) 如何搜索指定结点的在前序下的后继。(3) 如何搜索指定结点的在后序下的后继。
- [IE技巧] 让IE 以全屏模式启动
- 工作流实战_08_flowable 流程实例的启动
- 【不体系】布谷鸟过滤器
- 【资料分享】500篇干货解读人工智能新时代
- unity序列帧动画
- 联想微型计算机如果进入BIos,联想怎么进入bios
【处理方法】
- ASP.Net之发展史
- el-table 表尾行合并,列合并,统计
- 【论文笔记】Question Answering over Freebase with Multi-Column Convolutional Neural Networks
- html win10虚拟键盘,Win10怎么调出虚拟键盘
- 微信小程序把view居中_初识微信小程序
- http,post请求
- 第15讲 布尔函数标准型及化简
- 比MySQL快801倍,OLAP两大神器ClickHouse和Doris到底怎么选?
- 信号与线性系统翻转课堂笔记2
- 被寄予厚望的苹果健康业务,到底想做什么?
- 毕业设计 单片机(stm32)远程宠物喂养系统 - 物联网 esp8266