时间序列分析与应用 Chapter1

时间序列分析与应用
第一章 时间序列特征

参考书 “Time Series Analysis and Its Applications (4th ed.)” by Robert H. Shumway and Davis S. Stoffer


环境准备

安装R conda install -c r r-essentials
频道是Navigator和conda查找包的位置。(source)具有相同名称的包可能存在于多个通道上。如果希望从默认通道以外的其他通道安装,则指定要使用哪个通道的一种方法是使用conda install -c channel_name package_name语法。 另请阅读this以获取使用通道的安装过程的描述.
同时使用R和pythonconda install rpy2
安装R package conda install -c r r-dplyr
pip切换源 pip install package -i url
豆瓣 http://pypi.douban.com/simple/
阿里云 http://mirrors.aliyun.com/pypi/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
华中科技大学 http://pypi.hustunique.com/

一、均值和自协方差函数

mean公式
μ x ( t ) = E ( x t ) \mu_x(t) =E(x_t) μx(t)=E(xt)

ACVF(Autocovariance function)
γ x ( s , t ) = C o v ( X s , X t ) = E [ ( X s − μ x ( s ) ) ( X t − μ x ( t ) ) ] \gamma_x(s,t)=Cov(X_s,X_t)=E[(X_s-\mu_x(s))(X_t-\mu_x(t))] γx(s,t)=Cov(Xs,Xt)=E[(Xsμx(s))(Xtμx(t))]

ACF(Autocorrelation function)
ρ x ( s , t ) = C o r r ( X s , X t ) = γ x ( s , t ) γ x ( s , s ) γ x ( t , t ) \rho_x(s,t)=Corr(X_s,X_t)=\frac{\gamma_x(s,t)}{\gamma_x(s,s)\gamma_x(t,t)} ρx(s,t)=Corr(Xs,Xt)=γx(s,s)γx(t,t)γx(s,t)

C o v ( . , . ) Cov(.,.) Cov(.,.)的性质:

C o v ( X , Y ) = C o v ( Y , X ) Cov(X,Y)=Cov(Y,X) Cov(X,Y)=Cov(Y,X)
C o v ( X , X ) = V a r ( X ) Cov(X,X)=Var(X) Cov(X,X)=Var(X)
C o v ( X , a ) = 0 Cov(X,a)=0 Cov(X,a)=0
C o v ( X + Y , Z ) = C o v ( X , Z ) + C o v ( Y , Z ) Cov(X+Y,Z)=Cov(X,Z)+Cov(Y,Z) Cov(X+Y,Z)=Cov(X,Z)+Cov(Y,Z)
C o v ( a X , Y ) = a C o v ( X , Y ) Cov(aX,Y)=aCov(X,Y) Cov(aX,Y)=aCov(X,Y)
C o v ( X , Y ) ≤ C o v ( X , Z ) + C o v ( Y , Z ) Cov(X,Y) \leq Cov(X,Z)+Cov(Y,Z) Cov(X,Y)Cov(X,Z)+Cov(Y,Z)

二、平稳时间序列

strict stationary
( x t 1 , . . . x t n ) = ( x t 1 + h , . . . x t n + h ) (x_{t1},...x_{tn})=(x_{t1+h},...x_{tn+h}) (xt1,...xtn)=(xt1+h,...xtn+h)

weak stationary
E [ x t ] = m E[x_t]=m E[xt]=m
E [ ∣ x t ∣ 2 ] < ∞ E[|x_t|^2]<\infty E[xt2]<
γ x ( r , s ) = γ x ( r + t , s + t ) \gamma_x(r,s)=\gamma_x(r+t,s+t) γx(r,s)=γx(r+t,s+t)

对于平稳时间序列,acvf可简写作
γ x ( t , t + h ) = γ x ( h ) \gamma_x(t,t+h)=\gamma_x(h) γx(t,t+h)=γx(h)

平稳过程的例子:
(1)white noise
(2)3点的移动平均 X t = 1 3 ( W t − 1 + W t + W t + 1 ) X_t=\frac{1}{3}(W_{t-1}+W_{t}+W_{t+1}) Xt=31(Wt1+Wt+Wt+1)
非平稳过程的例子:
(1)signal+noise X t = g ( t ) + W t X_t=g(t)+W_{t} Xt=g(t)+Wt
(2)Random walk with a drift

三、 经典时序建模方法

(1)假定该随机过程可拆分为
确定性的趋势
季节组分
平稳的随机组分

(2)估计模型参数: OLS
(3)检查模型拟合优度:AIC、BIC
(4)预测
可选的方法:Box and Jenkins

四、 超前序列和滞后序列

差分算子:
∇ d X t = X t − X t − d \nabla_d X_t=X_t-X_{t-d} dXt=XtXtd
∇ k X t = ∇ ( ∇ k − 1 ( X t ) ) , k ≥ 1 \nabla^k X_t=\nabla(\nabla^{k-1}(X_t)),k\geq 1 kXt=(k1(Xt)),k1

滞后算子:
B k X t = X t − k B^kX_t=X_{t-k} BkXt=Xtk

五 绘制时序图R示例

画两条TS在一张大图,两行一列两个小图形式排列

 plot.ts(time_series_to_be_plotted, 
 		plot.type = “multiple”, nc = 1, main = ts_title)

画两条TS在一张图

plot.ts(time_series_to_be_plotted, 
		plot.type=“single”, main=ts_title, col=colors_name, 
		ylab=“amplitudes”) 
legend(“bottomright”, time_series_name, col=colors_name, lty=1)

构造一个分段时序

s_i_fun = function(t) ifelse(t<=125, 0, 10*exp(-(t-125)/25)*cos(2*pi*t/4))
omega_fun = function(t) rnorm(length(t))

t_index = 1:250
set.seed(19460614)
x_i = ts(s_i_fun(t_index) + omega_fun(t_index))

R语言中::双冒号的作用
要使用某个包里的函数,通常做法是先加载(library)包,再调用函数。
最新加载的包的namespace会成为最新的enviroment,某些情况下可能影响函数的结果。

package name::functionname的用法
一是可以在需要用某个函数时临时直接加载包,不用事先library。另一点更重要的是尽可能减少library带来的附带作用,这一点在开发R包时影响较大。而这种写法的副作用,是会稍微慢上那么几毫秒,在需要反复循环使用一个函数时对效率有影响,其他时候除了写起来麻烦一点,基本没有显见的副作用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值