大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
引言
DT时代,数据的重要性已经不必再强调了。
最近几年深度学习,机器学习,人工智能炙手可热,各行各业的人,无论是单纯的蹭热度也好,还是真的想做一些改变,都在往这三个概念上靠,但我相信,绝大部分人是真的希望借着人工智能的‘好风’做出些成绩的。而这些所谓的‘高科技’对数据却又是强依赖的。 那么对数据深入了解,做到知己知彼,可以说是很有必要的。
数据中,有一种数据叫时间序列数据,是很重要的一种数据。这种数据在各行各业都占有很大的比重。目前,在金融界,时间序列的研究是最热的。没办法,人家那可是最直接的真金白银。而其他行业对此研究可就有点跟不节奏了。希望接下来的系列文章对大家能有所帮助。
1.时间序列分解
时间序列是按照时间次序排列的随机变量序列。如股价变动,CPU使用率波动等等。下图是某地历史上的降雨量时间序列图:(是不是感觉和你熟悉的数据样子差不多?)
任何时间序列经过合理的函数变换后,都可以被认为是由三个部分叠加而成的,即:趋势项部分,周期项部分,以及随机噪声项部分。
用公式表示:
其中 T是趋势项,S是周期项,R是随机项,X则是时间序列项。t代表的是时间。
研究时间序列的最主要目的当然是预测。 而从时间序列中把这三个部分分解出来是序列分析、预测的的首要任务,这一过程被称为时间序列分解(Time Series Decomposition, TSD)。
1.1 分解时间序列
趋势项是时间序列中总体的变化趋势,是缓慢的,长期的。一般先把趋势项分离出来,再依次分离周期项、随机项。其分解方式有以下几种:
1.1.1 分段常数法
这是最简单最直接的方法,比如,把股票的月均价做为股价的趋势变化。然后用时间序列减掉趋势项,剩下周期项与随机项。可再以周均值或日均值做为周期项,再减掉即剩下随机项了,也即随机项的估计了。
1.1.2回归趋势
另一种比较简单的趋势拟合即是采用线性回归。从趋势项的角度,可简单地认为时间序列与时间有简单的线性关系:
或者可以认为是二次曲线的趋势:
当然,一说到回归,选择也就多了起来,不必拘泥某一种形式,根据相关数据选择最优的模型是关键。
1.1.3 逐步平均法
可理解为在时间维度上的分段平均法。
1.2 平稳序列
可以看到,时间序列中的趋势项,以及周期项是比较容易提取的,其中应用到的知识也是比较长规,甚至可以说是简单。当剔除趋势项以及周期项,时间序列往往表现出某种平稳波动性,即平稳序列。我们之所以研究时间序列,或者说时间序列可研究,是因为我们认为时间序列数据是蕴含数据的变化信息的。基于此,我们才可以在知道历史数据时,对未来做出预测。而平稳性是要满足的一个条件。(如果不满足怎么办?那我们后面会谈到如何将非平稳的变成平稳序列。如果变不成呢?那就没辙了。
1.2.1基本概念
在讲平稳序列之前,我们先来说说基本概念:
随机变量序列\(\{Y_t: t= 0,\pm1,\pm2,…\}\) 称为一个随机过程,并以之作为观测时间序列模型。已知该过程完整的概率结构是由所有 Y 的有限联合分布构成的分布族决定的。大家不要被其中的关于随机过程的相关名词吓到,没必要,你只要知道他是以数学的方式来描述时间序列就够了。我只需关注下面的一些概念就可以了。
对于随机过程:\(\{Y_t: t= 0,\pm1,\pm2,…\}\) :
-
均值函数:
\[\mu_t = E(Y_t), t= 0,\pm1,\pm2,… \]即\(\mu_t\) 恰是过程在t时刻的期望值,一般地,不同时刻\(\mu_t\) 可取不同的值。
-
自协方差函数:
\[\gamma_{t,s} = Cov(Y_t,Y_s), t,s = 0,\pm1,\pm2,… \]其中 \(Cov(Y_t,Y_s) = E[(Y_t – \mu_t)(Y_s – \mu_s)] = E(Y_tY_s) – \mu_t\mu_s\)
-
自相关函数:
\[\rho_{t,s} = Corr(Y_t,Y_s), t,s = 0,\pm1,\pm2,… \]其中\(Corr(Y_t,Y_s) = \frac{Cov(Y_t,Y_s)}{\sqrt{Var(Y_t)Var(Y_s)}} = \frac{\gamma_{t,s}}{\sqrt{\gamma_{t,t}\gamma_{s,s}}}\)
从上面可以推知:
上面是最最基本的概念了,大家不要被公式吓到,你能看到这篇文章,99% 说明你上过大学,这些充其量也就是高中知识,多一分钟思考,之后的概念才好理解。以后不必要的公式绝不放上来,有用的公式我一定会‘大白话’给大家解释。’冻挖瑞~’
1.2.2随机游动
令 \(e_1, e_2\), … 为一列独立同分布随机变量序列,简记为\(e_1, e_2,\dots *i.i.d*. 假定 var(\)e_1$) = \(\sigma\), \(Ee_1 = 0\)
按下面的方式给出的序列{\(X_t\):和=1, 2, …},称为随机游动(random walk):
等价地,(定义\(X_0\)= 0):
即 t 时刻的变量是与(t-1)时刻有关的。
刚可以很得到下面的一些结论:
这里也就是说,对于满足随机游动的时间序列,它的序列均值是0,方差是一个定值,t,s两时点的数据相关系数只与两者所在时间有关,而与其他无关。
下图是一个随机游动模拟的例子:
1.2.3 平稳性
接下来,我们就要了解下平稳性的概念了。平稳性可分为严平稳以及宽平稳两种:
- 时间序列\(\{X_t : t= 0,\pm1,\pm2,…,\}\) 称为严平稳,若其(联合)概率分布具有推移不变性。即对任意整数\(s\le t\) 及正整数\(n \ge 1\),随机向量\((X_s,X_{s+1},…,X_{s+n})\) 和\((X_t,X_{t+1},…X_{t+n})\) 具有相同的(联合)概率分布。通俗地说,即随便取两段相同长度的时间序列数据,’看起来‘应该差不多,没有明显区别。
如果在生产生活中碰到严平稳数据应该高兴因为它一定会很好处理,但绝大部分都不符合严平稳的性质。但我们会经常碰到宽平稳数据:
- 时间序列\(\{X_t : t= 0,\pm1,\pm2,…,\}\) 称为宽平稳:若其满足如下3条:
- \(EX_t^2 \le \infty, t=0,\pm1,\pm2,…\)
- 均值函数为常数,$\mu_t = EX_t =c, t = 0,\pm1,\pm2,… $
- 自协方差函数\(\gamma_{t,s}\) 只依赖于时间间隔(t-s) (等价地 ( s-t ) ),即:\(\gamma_{t,s} = \gamma_{s,t}, \ \ \ \ \ t,s = 0,\pm1,\pm2,…\)
以后指的平稳性,如无特指,即指的是宽平稳。
1.2.4 两类重要的平稳时间序列
-
白噪声
设时间序列\(\{\epsilon_t: t = 0,\pm1,\pm2,\dots\}\) 满足:
\[E\epsilon_t = 0, cov(\epsilon_t,\epsilon_s) = \left\{ \begin{aligned} \sigma^2, \qquad t = s && \\ && t,s = 0,\pm1,\pm2,\dots \\ 0 , \qquad t\ne t && \\ \end{aligned} \right. \]则称\(\{\epsilon_t\} =\{\epsilon_t: t = 0,\pm1,\pm2,…\}\) 为白噪声,简记为:\(\{\epsilon_t\}\sim WN(0,\sigma^2)\).
可知对于白噪声:
\[\gamma_k = \left\{\begin{aligned} \sigma^2, \quad k = 0 &&\\ && k = 0,\pm1,\pm2,…\\ 0, \quad k \ne 0. &&\\ \end{aligned}\right. \]
白噪声的结构相对简单,但却是非常重要的,因为它是后面要讲的众多重要模型或序列的‘生成元’。
-
随机余弦波:
这个也是一个重要的平稳时间序列,但可能后面很多讲都见不到,等见到,咱再讲也不迟。
1.3 总结
作为第一讲,我们从整体上了解了什么是时间序列,也讲了很多概念,更用了很多公式,这些是时间序列最最基本的东西,是后面的知识的基础,大家一定把这里的东西‘吃透’,那后面的知识就会比较轻松。
1.4 参考文献:
PS: 接下来基本上都是以下列文献作为参考文献,所以后面将不再罗列出来,除非新加入的文献,请知悉。
1: 何书元. 应用时间序列分析 北京:北京大学出版社,2003
2: Peter J. Brockwell, Rechard A. Davis 著, 田铮等译. 时间序列的理论与方法(第二版).北京:高等教育出版社,2001
3: Jonathon D. Cryer, Kung-Sik Chan 著,潘红宇等译.时间序列分析及应用:R语言(原书第二版).北京: 机械工业出版社,2011
4: Walter Enders 著,杜江;谢志超译. 应用计量经济学:时间序列分析(第二版).北京:高等教育出版社,2006.
5: Ruey S. Tsay 著,王远林等译.金融时间序列分析(第三版)北京:人民邮电出版社,2012.
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/167892.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...