Upload
doanthuy
View
218
Download
1
Embed Size (px)
Citation preview
Lecture notes on the Time Series Analysis
읊읩읮읳읥읯읧 읋읩읭
을읥읰읡읲이읭읥읮이 읯읦 읓이읡이읩읳이읩읣읳 읡읮읤 읉읮읦읯읲읭읡이읩읯읮 읓읣읩읥읮읣읥
을읯읮읧읧익읫 읕읮읩읶읥읲읳읩이읹
E-mail:[email protected]
윲윰윰윸년 윱윱월 윲윴일
제 1장
Simple Component Analysis
제 1절 Linear Filtering of Time Series
읁 읫읥읹 읣읯읮읣읥읰이 읩읮 이읲읡읤읩이읩읯읮읡읬 이읩읭읥 읳읥읲읩읥읳 읡읮읡읬읹읳읩읳 읩읳 이읨읥 읤읥읣읯읭읰읯읳읩이읩읯읮 읯읦 읡 읧읩읶읥읮 이읩읭읥 읳읥읲읩읥읳
Xt 읩읮이읯
Xt 윽 Tt︸︷︷︸Trendcomponent
윫 St︸︷︷︸seasonalcomponent
윫 et︸︷︷︸remainder
.
윱윮 읁 읣읯읭읭읯읮 읭읥이읨읯읤 읦읯읲 읯읢이읡읩읮읩읮읧 이읨읥 이읲읥읮읤 읩읳 이읯 익읳읥 읬읩읮읥읡읲 윌읬이읥읲읳 읯읮 읧읩읶읥읮 이읩읭읥 읳읥읲읩읥읳윺
Tt 윽∞∑
i=−∞
λiXi+i
읁 읳읩읭읰읬읥 읣읬읡읳읳 읯읦 읬읩읮읥읡읲 윌읬이읥읲읳 읡읲읥 읭읯읶읩읮읧 읡읶읥읲읡읧읥윺
Tt 윽윱
윲a윫 윱
a∑i=−a
Xi+i
윲윮 읔읨읥 읣읬읯읳읩읮읧 읶읡읬익읥읳 읯읦 이읨읥 읉읂읍 읳이읯읣읫 읰읲읩읣읥읳 읡읮읤 이읨읥 읭읯읶읩읮읧 읡읶읥읲읡읧읥읳윺
library(tseries)
x <- get.hist.quote(instrument = "ibm", start = "2005-01-01",
quote = c("Open","High","Low","Close", "Vol"))
y<-as.vector(x[,4])
jpeg("fig/ibm.jpg", width=600)
plot(y,type="l", main="IBM daily stock price")
윱
x.1 <- filter(y,filter=rep(1/5,5))
x.2 <- filter(y,filter=rep(1/60,81))
lines(x.1,col="red")
lines(x.2,col="purple")
dev.off()
그림 윱윮윱윺 읉읂읍 읳이읯읣읫 읰읲읩읣읥
윲
제 2절 Seasonal Decomposition of Time Series
읔읨읥 읦익읮읣이읩읯읮 stl() 윺
윱윮 을읥이읥읲읭읩읮읩읮읧 이읨읥 이읲읥읮읤 Tt 익읳읩읮읧 "loess" 읲읥읧읲읥읳읳읩읯읮 읡읮읤 이읨읥읮
윲윮 읣읡읬읣익읬읡이읩읮읧 이읨읥 읳읥읡읳읯읮읡읬 읣읯읭읰읯읮읥읮이 St 율읡읮읤 이읨읥 읲읥읳읩읤익읡읬읳 et윩 읦읲읯읭 이읨읥 읤읩윋읥읲읥읮읣읥읳
Xt − Tt윮
jpeg("fig/co2.jpg", width=600)
plot(stl(co2, s.window="periodic"))
dev.off()
그림 윱윮윲윺 읳이읬을 이용한 시계열 분해 율읣읯윲 읤읡이읡윩
윳
제 3절 Regression analysis
Yt 윽 β0 윫 β1Xt 윫 β2X2t 윫 εt,
jpeg("fig/ibm2.jpg", width=600)
X<-1:length(y)
X2<-X^2
m1<-lm(y~X+X2)
> summary(m1)
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 8.538e+01 6.215e-01 137.38 <2e-16 ***
X -3.240e-02 3.096e-03 -10.46 <2e-16 ***
X2 8.963e-05 3.234e-06 27.71 <2e-16 ***
---
Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1
Residual standard error: 6.29 on 923 degrees of freedom
Multiple R-Squared: 0.8458, Adjusted R-squared: 0.8455
F-statistic: 2532 on 2 and 923 DF, p-value: < 2.2e-16
plot(y, main="이차회귀식", ylab="IBM stock price")
lines(m1$fit, col=2, lwd=2)
dev.off()
윴
Yt 윽 β0 윫 β1Xt 윫 β2X2t 윫 β3 읣읯읳율
윲πXt
윱윲윩 윫 β4 읳읩읮율
윲πXt
윱윲윩 윫 εt,
X<-1:length(co2)
X2<-X^2
sin.t<-sin(2*pi*X/12)
cos.t<-cos(2*pi*X/12)
m1<-lm(co2~X+X2+cos.t+sin.t)
summary(m1)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.147e+02 1.263e-01 2492.50 <2e-16 ***
X 6.765e-02 1.243e-03 54.42 <2e-16 ***
X2 8.865e-05 2.567e-06 34.54 <2e-16 ***
cos.t -1.724e+00 5.926e-02 -29.10 <2e-16 ***
sin.t 2.206e+00 5.927e-02 37.22 <2e-16 ***
jpeg("fig/co2_reg.jpg", width=600)
plot(as.double(co2), main="이차회귀식+계절성분", ylab="co2")
lines(m1$fit, col=2, lwd=2)
dev.off()
윶
제 4절 Exponential Smoothing
지수평활법 윺
읎읥인이 읦읯읲읥읣읡읳이 윽 율윱− α윩읣익읲읲읥읮이 읦읯읲읥읣읡읳이 윫 α읣읯읲읲읥읣이읩읯읮.
여기서 α는 읳읭읯읯이읨읩읮읧 읣읯읮읳이읡읮이윮
st 윽 αxt 윫 율윱− α윩st−1
윽 αxt 윫 α율윱− α윩xt−1 윫 율윱− α윩2st−2
윽 α[xt 윫 율윱− α윩xt−1 윫 율윱− α윩2xt−2 윫 율윱− α윩3xt−3 윫 · · ·
]윫 율윱− α윩tx0.
지수평활법의 확장 윺 읔읨읥 읗읩읮이읥읲윧읳 읭읯읤읥읬 읩읳 읡 읳읥읡읳읯읮읡읬읬읹윭읡읤읪익읳이읥읤윬 이읲읥읮읤윭읥읮읨읡읮읣읥읤 읥인읰읯윭
읮읥읮이읩읡읬 읳읭읯읯이읨읩읮읧 읭읯읤읥읬윮 읔읨읥 읡읤읤읩이읩읶읥 읈읯읬이윭읗읩읮이읥읲읳 읰읲읥읤읩읣이읩읯읮 읦익읮읣이읩읯읮 율읦읯읲 이읩읭읥 읳읥읲읩읥읳
읷읩이읨 읰읥읲읩읯읤 읬읥읮읧이읨 p윩 읩읳
읞Yt+h 윽 at 윫 hTt 윫 St+1+(h−1)mod p,
읷읨읥읲읥 α윬 β 읡읮읤 γ 읡읲읥 읧읩읶읥읮 읢읹
at 윽 α율Yt − St−p윩 윫 율윱− α윩율at−1 윫 Tt−1윩
Tt 윽 β율at − at−1윩 윫 율윱− β윩Tt−1
St 윽 γ율Yt − at윩 윫 율윱− γ윩St−p
jpeg("fig/co2HW.jpg", width=600)
co2.hw<-HoltWinters(co2)
pr<-predict(co2.hw, n.ahead=24)
plot(co2,xlim=c(1959,2000), ylim=c(min(co2, pr), max(co2,pr)))
lines(pr, col=2)
dev.off()
윸
제 2장
자기회귀모형과이동평균모형
제 1절 시계열모형
시계열모형에서의 확률변수 윺
{Xt} ≡ {X0, X1, . . . , Xn}.
음읥이 이읨읥 읤읩읳이읲읩읢익이읩읯읮 읦익읮읣이읩읯읮 읯읦 {Xt} 읢읥
P 율X0 ≤ x0, . . . , Xn ≤ xn윩.
읉읭읡읧읥 이읨읥 읤읩읳이읲읩읢익이읩읯읮 읯읦 {Xt+h} ≡ {Xh, Xh+1, . . . , Xh+n}.
• 율강정상성 윺윩 읉읦 {Xt} 윽d {Xt+h} 읦읯읲 읡읬읬 t윬 읷읥 읣읡읬읬 {Xt} 읳이읲읩읣이읬읹 읳이읡이읩읯읮읡읲읹윮
• 율약정상성 윺윩 시계열 {Xt}가 다음 조건을 만족하면 정상시계열 율읳이읡이읩읯읮읡읲읹 이읩읭읥 읳읥읲읩읥읳윩
이라고 부른다윮
윱윮 E율Xt윩 윽 µ윬 모든 t에 대하여 평균이 일정하다윮
윲윮 V ar율Xt윩 윽 γ율윰윩윬 Cov율Xt, Xs윩 윽 γ율|t− s|윩윮
Note:Xt, Yt가 각각 정상시계열이면 aXt 윫 bYt 도 정상시계열이다윮
Note:위의 조건 중 하나라도 만족하지 않으면 비정상시계열 율읮읯읮윭읳이읡이읩읯읮읡읲읹 이읩읭읥 읳읥윭
읲읩읥읳윩이다윮
율응윱윩 읃읨읥읣읫 이읨읥 읳이읡이읩읯읮읡읲읩이읹 읦읯읲 읦읯읬읬읯읷읩읮읧 읭읯읤읥읬윺
Xt 윽 et 윫 윰.윴et−1, et ∼ WN율윰, σ2윩,
윱윰
1.1 Definitions
• 평균함수 : mean function
E율Xt윩 윽
∫xtf율xt윩dxt 윽 µ율t윩.
• 자기공분산 :Autocovariance (function)
Cov율Xt, Xs윩 윽 E율Xt − µ율t윩윩율Xs − µ율s윩윩 윽 γ율s, t윩
• 자기상관계수 :Autocorrelation (function)
Corr율Xt, Xs윩 윽γ율s, t윩√
γ율s, s윩γ율t, t윩윽 ρ율s, t윩
정상시계열인 경우 윺
• 자기공분산율읡익이읯읣읯읶읡읲읩읡읮읣읥윩윺
V ar율Xt윩 윽 σ율윰윩
Cov율Xt, Xt−h윩 윽 σ율h윩
V ar율Xt−h, Xt윩 윽 σ율−h윩, σ율h윩 윽 σ율−h윩|σ율h윩| ≤ σ율윰윩
• 자기상관율읡익이읯읣읯읲읲읥읬읡이읩읯읮윩윺
ρh 윽 corr율Xt, Xt−h윩 윽σ율h윩
σ율윰윩ρ0 윽 윱
ρk 윽 ρ−h
제 2절 Estimation of correlation
• 읭읥읡읮 읦익읮읣이읩읯읮
윖X 윽윱
n
n∑t=1
Xt.
윱윱
• 읳읡읭읰읬읥 읣읯읶읡읲읩읡읮읣읥 읦익읮읣이읩읯읮
읞γ율h윩 윽윱
n
n−h∑t=1
율Xt − 윖X윩율Xt+h − 윖X윩.
• 읳읡읭읰읬읥 읡익이읯읣읯읲읲읥읬읡이읩읯읮윺
읞ρh 윽읞γ율h윩
읞γ율윰윩
• 음읡읲읧읥 읳읡읭읰읬읥 읰읲읯읰읥읲이읹 읯읦 읳읡읭읰읬읥 읡익이읯읣읯읲읲읥읬읡이읩읯읮윺
읞ρhn→∞−→ N
(윰,
윱√n
).
제 3절 AR model
• 읁읒율p윩 읭읯읤읥읬윺
Xt 윽 φ1Xt−1 윫 . . .윫 φpXt−p 윫 εt, εt ∼ WN율윰, σ2윩.
• 읂읡읣읫읳읨읩읦이 읯읰읥읲읡이읯읲 율후향연산자윩윺 B
Bxt 윽 xt−1.
• 읁읒율p윩 읭읯읤읥읬 익읳읩읮읧 B윺
율윱− φ1B − . . .− φpBp윩Xt 윽 εt, εt ∼ WN율윰, σ2윩.
여기서 φ율B윩 윽 율윱− φ1B − . . .− φpBp윩를 읁읒 읯읰읥읲읡이읯읲이라고 부름윮
윱윲
Sample paths of AR(1): phi=0.3
Time
0 20 40 60 80 100
−3
−2
−1
01
2
Sample paths of AR(1): phi=0.9
Time
0 20 40 60 80 100
−4
−2
02
4
그림 윲윮윱윺 Xt 윽 φXt−1 윫 wt, φ 윽 윰.윹, 윰.윳
3.1 Sample path of AR(1)
ArSim<-function(phi, n=100)
{
x1<-arima.sim(list(order=c(1,0,0), ar=phi), n=n)
x2<-arima.sim(list(order=c(1,0,0), ar=phi), n=n)
x3<-arima.sim(list(order=c(1,0,0), ar=phi), n=n)
out<-cbind(x1,x2,x3)
}
out<-lapply(c(0.3, 0.9), FUN=ArSim)
pdf("ar1sim.pdf", width=12, height=6)
par(mfrow=c(1,2))
ts.plot(out[[1]], col=1:3, main=paste("Sample paths of AR(1): phi=0.3"))
ts.plot(out[[2]], col=1:3, main=paste("Sample paths of AR(1): phi=0.9"))
dev.off()
ar1.sim<-function(phi=0.5, n=100, rep=10)
{
x<-numeric(n)
title<-paste("phi=", phi)
if(abs(phi) < 1) title<-paste("Non-stationary AR(1): ", title)
else title<-paste("Stationary AR(1): ", title)
for(r in 1:rep)
{
x[1]<- rnorm(1)
윱윳
for(i in 2:n) x[i]<-phi*x[i-1] + rnorm(1)
if (interactive()) {
cat(r,"-th sample path: Type <Return> to next: ")
readline()
}
ts.plot(x, col="red",main=title)
}
}
ar1.sim(0.8)
3.2 Stationarity of AR(1)
Xt 윽 φXt−1 윫 wt, wt ∼ WN율윰, σ2윩
윽 φ율φXt−2 윫 wt−1윩 윫 wt,
윽 φ2Xt−2 윫 φwt−1 윫 wt,
윽 . . .
윽 φkXt−k 윫 φk−1wt−1 윫 . . .윫 φwt−1 윫 wt,
윽 φkXt−k 윫k−1∑j=0
φjwt−j
윽∞∑j=0
φjwt−j.
• 읍읥읡읮 읦익읮읣이읩읯읮윺
E율Xt윩 윽 E율∞∑j=0
φjwt−j윩 윽∞∑j=0
φjE율wt−j윩 윽 윰.
• 읃읯읶읡읲읩읡읮읣읥 읦익읮읣이읩읯읮윺
γ율h윩 윽 E율∞∑j=0
φjwt−j윩율∞∑j=0
φjwt−j+h윩
윽 E율∞∑j=0
φjwt−j윩율h∑j=0
φjwt−j+h 윫∞∑j=0
φj+hwt−j윩
윽 E율∞∑j=0
φjwt−j윩율∞∑j=0
φj+hwt−j윩
윽 σ2
∞∑j=0
φjφj+h 윽 σ2φh∞∑j=0
φ2j 윽σ2φh
윱− φ2
윱윴
ACF of AR(1)
Time
rho
5 10 15 20
0.0
0.3
0.6
0 5 10 15 20 25
0.0
0.4
0.8
Lag
AC
F
sample ACF of AR(1)
그림 윲윮윲윺 읁읒율윱윩모형의 이읨읥읯읲읥이읩읣읡읬 읁읃읆와 모의자료에 의한 읁읃읆
• 읃읯읲읲읥읬읡이읩읯읮 읦익읮읣이읩읯읮윺
ρ율h윩 윽 γ율h윩/γ율윰윩 윽σ2φh
윱− φ2
/σ2
윱− φ2윽 φh.
phi<-0.7
rho<- phi^(1:20)
pdf("acfar1.pdf")
par(mfrow=c(2,1))
ts.plot(rho, type="h", main="ACF of AR(1)")
x1<-arima.sim(list(order=c(1,0,0), ar=0.7), n=500)
acf(x1, lag.max=20, main="sample ACF of AR(1)")
dev.off()
윱융
제 4절 MA model
• 읍읁율q윩 읭읯읤읥읬윺
Xt 윽 wt 윫 θ1wt−1 윫 . . .윫 θpwt−p, wt ∼ WN율윰, σ2윩.
• 읍읁율p윩 읭읯읤읥읬 익읳읩읮읧 B윺
Xt 윽 율윱 윫 θ1B 윫 . . .윫 θpBp윩wt.
여기서 θ율B윩 윽 율윱 윫 θ1B 윫 . . .윫 θpBp윩를 읍읁 읯읰읥읲읡이읯읲이라고 부름윮
4.1 Sample path of MA(1)
ma1.sim<-function(theta=c(0.5), n=100, rep=10)
{
x<-numeric(n)
e<-numeric(n)
title<-paste("theta=", theta)
if(abs(theta) < 1) title<-paste("Non-stationary MA(1): ", title)
else title<-paste("Stationary MA(1): ", title)
for(r in 1:rep)
{
e[1]<- rnorm(1)
for(i in 2:n) {e[i]<-rnorm(1); x[i]<- e[i] + theta*e[i-1]}
if (interactive()) {
cat(r,"-th sample path: Type <Return> to next: ")
readline()
}
ts.plot(x, col="red",main=title)
}
}
ma1.ar1.sim<-function(theta=c(0.5), n=100, rep=10)
{
par(mfrow=c(1,2))
x1<-numeric(n)
x2<-numeric(n)
윱윶
Sample paths of MA(1): theta=0.3
Time
0 20 40 60 80 100
−2
−1
01
23
Sample paths of MA(1): theta=0.9
Time
0 20 40 60 80 100
−3
−2
−1
01
23
그림 윲윮윳윺 읓읡읭읰읬읥 읰읡이읨읳 읯읦 읍읁율윱윩
e<-numeric(n)
title<-paste("theta=", theta)
if(abs(theta) < 1)
{
title1<-paste("Non-stationary MA(1): ", title)
title2<-paste("Non-stationary AR(1): ", title)
}
else
{
title1<-paste("Stationary MA(1): ", title)
title2<-paste("Stationary AR(1): ", title)
}
for(r in 1:rep)
{
e[1]<- rnorm(1)
x2[1]<-rnorm(1)
for(i in 2:n)
{
e[i]<-rnorm(1);
x1[i]<- e[i] + theta*e[i-1]
x2[i]<- theta*x2[i-1] + rnorm(1)
윱윷
}
if (interactive()) {
cat(r,"-th sample path: Type <Return> to next: ")
readline()
}
ts.plot(x1, col="red",main=title1)
ts.plot(x2, col="blue",main=title2)
}
par(mfrow=c(1,1))
}
ma1.ar1.sim(0.8)
4.2 Stationarity of MA(1)
Xt 윽 wt − θwt−1, wt ∼ WN율윰, σ2윩
• 읍읥읡읮 읦익읮읣이읩읯읮윺
E율Xt윩 윽 E율wt − θwt−1윩 윽 윰.
• 읃읯읶읡읲읩읡읮읣읥 읦익읮읣이읩읯읮윺
γ율h윩 윽 E율wt − θwt−1윩율wt+h − θwt+h−1윩
윽
율윱 윫 θ2윩σ2 h 윽 윰,
−θσ2 h 윽 윱,
윰 h > 윱.
• 읃읯읲읲읥읬읡이읩읯읮 읦익읮읣이읩읯읮윺
ρ율h윩 윽 γ율h윩/γ율윰윩
윽
윱 h 윽 윰,
−θ/율윱 윫 θ2윩 ≤ 윱/윲 h 윽 윱,
윰 h > 윱.
theta<-0.7
rho<- c(1, theta/(1+theta^2), rep(0, 19))
윱윸
Theoretical ACF of MA(1)
Time
rho
5 10 15 20
0.0
0.2
0.4
0.6
0.8
1.0
0 5 10 15 20 25
0.0
0.2
0.4
0.6
0.8
1.0
Lag
AC
F
Sample ACF of MA(1) from simulated data
그림 윲윮윴윺 읁읃읆 읯읦 읍읁율윱윩 읭읯읤읥읬
pdf("ma1acf.pdf", width=12)
#par(mfrow=c(1,2))
ts.plot(rho, type="h", main="Theoretical ACF of MA(1)")
x<-arima.sim(list(ma=0.7), n=500)
acf(x, main="Sample ACF of MA(1) from simulated data")
#dev.off()
4.3 Non-uniqueness of MA(1) model
읃읯읮읳읩읤읥읲 이읨읥 읦읯읬읬읯읷읩읮읧 이읷읯 읭읯읤읥읬윺
Xt 윽 wt 윫윱
융wt−1, wt ∼ WN율윰, 윲융윩,
Xt 윽 wt 윫 융wt−1, wt ∼ WN율윰, 윱윩,
읉읦 읹읯익 읣읡읮 읣읨읯읯읳읥 읯읮읬읹 읯읮읥 읭읯읤읥읬윬 읷읨읩읣읨 읯읮읥 읹읯익 읷읩읬읬 읣읨읯읯읳읥윿
읁읮읳읷읥읲윺 이읨읥 윌읲읳이 읭읯읤읥읬윮
Xt 윽 wt 윫윱
융wt−1, wt ∼ WN율윰, 윲융윩.
이는 다음과 같이 표현할 수 있다윮
wt 윽 −θwt−1 윫Xt.
윱윹
따라서윬
wt 윽∞∑j=0
율−θ윩jxt−j.
위 wt는 읁읒율∞윩 모형임을 쉽게 알 수 있다윮 위의 wt의 분산이 유한이기 위한 조건은
|θ| < 윱,
이고윬 이를 가역성조건율읩읮읶읥읲이읩읢읩읬읩이읹 읣읯읮읤읩이읩읯읮윩이라고 한다윮
4.4 MA, AR 요약
• 읁읒율윱윩의 정상성 조건 윺
γ율h윩 윽 σ2φh∞∑j=0
φ2j 윽σ2φh
윱− φ2, 읩읦 |φ| < 윱.
• 읍읁율윱윩의 가역성 조건 윺
|θ| < 윱.
제 5절 AR(2) model
다음과 같은 시계열 모형을 읁읒율윲윩모형이라고 한다윮
Xt 윽 φ1Xt−1 윫 φ2Xt−2 윫 wt.
5.1 특성방정식
읁읒율읰윩 모형에서 사용된 읁읒 읯읰읥읲읡이읯읲인 φ율B윩 윽 율윱−φ1B− . . .−φpBp윩의 B를 x로 바꾸면윬
φ율x윩 윽 윱− φ1x− φ2x2 − . . .− φpxp
이고윬 이 때
φ율x윩 윽 윰
를특성방정식(characteristic equation) 이라고 한다윮 이 특성방정식의 모든 해의 절대
값이 윱보다 크면 읁읒율읰윩모형은 정상성을 만족한다윮 예를 들어윬 읁읒율윱윩모형의 특성방정식은
윱− φx 윽 윰
윲윰
이며 이 때윬∣∣∣ 1φ∣∣∣ > 윱윬 즉윬 |φ| < 윱이면 정상성을 만족한다윮
읁읒율윲윩모형의 특성방정식은
윱− φ1x− φ2x2 윽 윰
이며 근은
x 윽φ1 ±
√φ2
1 윫 윴φ2
−윲φ2
이다윮 따라서 근의 절대값이 윱보다 크기위한 조건은
φ1 윫 φ2 < 윱, φ1 − φ2 < 윱, |φ2| < 윱.
이다윮
5.2 Yule-Walker 방정식
모형의 양변에 Xt−k를 곱하여 기대값을 취한 방정식윮
E율XtXt−k윩 윽 φ1E율Xt−1Xt−k윩 윫 φ2E율Xt−2Xt−k윩
γ율k윩 윽 φ1γ율k − 윱윩 윫 φ2γ율k − 윲윩
만약 k 윽 윰
γ율윰윩 윽 φ1γ율윱윩 윫 φ2γ율윲윩 윫 σ2w
만약 k 윽 윱
γ율윱윩 윽 φ1γ율윰윩 윫 φ2γ율윱윩
만약 k 윽 윲
γ율윲윩 윽 φ1γ율윱윩 윫 φ2γ율윰윩
자기상관함수 ρ율k윩 윽 γ율k윩/γ율윰윩의 일반적인 형태는
ρ율k윩 윽율윱− r2
2윩rk+11 − 율윱− r2
1윩rk+12
율r1 − r2윩율윱 윫 r1r2윩
이고윬 k가 커짐에 따라서 읁읒율윱윩에서의 읁읃읆와 같이 지수적으로 감소하는 함수이다윮
윲윱
R 예제 : AR(2)모형
x1<-arima.sim(list(order=c(2,0,0), ar=c(0.5, 0.2)), n=500)
x2<-arima.sim(list(order=c(2,0,0), ar=c(-0.5, 0.2)), n=500)
x3<-arima.sim(list(order=c(2,0,0), ar=c(0.5, -0.2)), n=500)
x4<-arima.sim(list(order=c(2,0,0), ar=c(-0.5, -0.2)), n=500)
#pdf("ar2path.pdf")
par(mfrow=c(2,2))
x1<-arima.sim(list(order=c(2,0,0), ar=c(0.5, 0.2)), n=500)
ts.plot(x1, main="AR(2),phi=(0.5 0.2)")
ts.plot(x2, main="AR(2),phi=(-0.5 0.2)")
ts.plot(x3, main="AR(2),phi=(0.5 -0.2)")
ts.plot(x4, main="AR(2),phi=(-0.5 -0.2)")
#dev.off()
#pdf("ar2acf.pdf")
par(mfrow=c(2,2))
acf(x1, main="SACF of AR(2),phi=(0.5 0.2)")
acf(x2, main="SACF of AR(2),phi=(-0.5, 0.2)")
acf(x3, main="SACF of AR(2), phi=(0.5, -0.2)")
acf(x4, main="SACF of AR(2), phi=(-0.5, -0.2)")
윲윲
AR(2),phi=(0.5 0.2)
Time
x1
0 100 200 300 400 500
−3
−1
12
3
AR(2),phi=(−0.5 0.2)
Time
x2
0 100 200 300 400 500
−4
−2
02
4
AR(2),phi=(0.5 −0.2)
Time
x3
0 100 200 300 400 500
−3
−1
12
3
AR(2),phi=(−0.5 −0.2)
Time
x4
0 100 200 300 400 500
−3
−1
12
3
그림 윲윮융윺 읓읡읭읰읬읥 읰읡이읨읳 읯읦 이읨읥 읳읥읶읥읲읡읬 읁읒율윲윩 읭읯읤읥읬읳
윲윳
0 5 10 15 20 25
−0.
20.
20.
61.
0
Lag
AC
F
SACF of AR(2),phi=(0.5 0.2)
0 5 10 15 20 25
−0.
50.
00.
51.
0
Lag
AC
F
SACF of AR(2),phi=(−0.5, 0.2)
0 5 10 15 20 25
0.0
0.4
0.8
Lag
AC
F
SACF of AR(2), phi=(0.5, −0.2)
0 5 10 15 20 25
−0.
50.
00.
51.
0
Lag
AC
F
SACF of AR(2), phi=(−0.5, −0.2)
그림 윲윮윶윺 읓읡읭읰읬읥 읁읃읆읳 읯읦 이읨읥 읳읥읶읥읲읡읬 읁읒율윲윩 읭읯읤읥읬읳
윲윴
5.3 Partial Autocorrelation plot: PACF plot
설명변수 Z 윽 율Z1, Z2, . . . , Zn윩에 대하여 두 확률변수 X 와 Y 가 있다윮 주어진 설명변수율Z윩
를 이용하여 종속변수 X와 Y 각각에 대하여 다음과 같이 회귀모형을 추정한다고 하자윮
X 윽 f율Z1, Z2, . . . , Zn윩 윫 w1,
Y 윽 f율Z1, Z2, . . . , Zn윩 윫 w2.
이 때윬 rX와 rY 를 위 모형에서 구해진 잔차라고 하자윮 이 때윬 ρXY |Z를 rX와 rY 의 상관계
수율읣읯읲읲읥읬읡이읩읯읮윩로 정의하고 이를 부분상관계수 율읐읡읲이읩읡읬 읣읯읲읲읥읬읡이읩읯읮윩라고 부른다윮
동일한 아이디어를 시계열에 적용하면 다음과 같은 부분자기상관계수 율읰읡읲이읩읡읬 읡익이읯읣읯읲읲읥윭
읬읡이읩읯읮윩를 정의할 수 있다윮
corr율Xt, Xt−h|Xt−1, . . . , Xt−h+1윩.
x1<-arima.sim(list(ar=0.5), n=500)
x2<-arima.sim(list(ar=c(0.5, 0.4)), n=500)
x3<-arima.sim(list(ar=c(0.3, 0.3, 0.3)), n=500)
x4<-arima.sim(list(ar=c(0.2, 0.2, 0.3, 0.2)), n=500)
#pdf("arpacf.pdf")
par(mfrow=c(2,2))
pacf(x1, main="sample PACF of AR(1)")
pacf(x2, main="sample PACF of AR(2)")
pacf(x3, main="sample PACF of AR(3)")
pacf(x4, main="sample PACF of AR(4)")
#dev.off()
제 6절 MA(2) models
Xt 윽 wt − θ1wt−1 − θ2wt−2
• 읍읥읡읮 읦익읮읣이읩읯읮윺
E율Xt윩 윽 E율wt − θ1wt−1 − θ2wt−1윩 윽 윰.
윲융
0 5 10 15 20 25
−0.
10.
10.
30.
5
Lag
Par
tial A
CF
sample PACF of AR(1)
0 5 10 15 20 25
0.0
0.4
0.8
Lag
Par
tial A
CF
sample PACF of AR(2)
0 5 10 15 20 25
0.0
0.2
0.4
0.6
Lag
Par
tial A
CF
sample PACF of AR(3)
0 5 10 15 20 25
0.0
0.2
0.4
0.6
Lag
Par
tial A
CF
sample PACF of AR(4)
그림 윲윮윷윺 읐읡읲이읩읡읬 읁읃읆읳 읯읦 이읨읥 읁읒율읰윩 율p 윽 윱, 윲, 윳, 윴윩 읭읯읤읥읬읳
윲윶
• 읃읯읶읡읲읩읡읮읣읥 읦익읮읣이읩읯읮윺
γ율h윩 윽 E율wt − θ1wt−1 − θ2wt−1윩율wt+h − θ1wt+h−1 − θ2wt+h−1윩
윽
율윱 윫 θ2
1 윫 θ22윩σ
2 h 윽 윰,
−θ1율윱− θ2윩σ2 h 윽 윱,
−θ2σ2 h 윽 윲,
윰 h ≥ 윳.
• 읃읯읲읲읥읬읡이읩읯읮 읦익읮읣이읩읯읮윺
ρ율h윩 윽 γ율h윩/γ율윰윩
윽
윱 h 윽 윰,
−θ1(1−θ2)
(1+θ21+θ22)h 윽 윱,
−θ2(1+θ21+θ22)
h 윽 윲,
윰 h ≥ 윳.
x1<-arima.sim(list(ma=0.5), n=500)
x2<-arima.sim(list(ma=c(0.5, 0.4)), n=500)
x3<-arima.sim(list(ma=c(0.3, 0.3, 0.3)), n=500)
x4<-arima.sim(list(ma=c(0.2, 0.2, 0.3, 0.2)), n=500)
#pdf("maacf.pdf")
par(mfrow=c(2,2))
acf(x1, main="SACF of MA(1)")
acf(x2, main="SACF of MA(2)")
acf(x3, main="SACF of MA(3)")
acf(x4, main="SACF of MA(4)")
#dev.off();#pdf("mapacf.pdf")
par(mfrow=c(2,2))
pacf(x1, main="SPACF of MA(1)")
pacf(x2, main="SPACF of MA(2)")
pacf(x3, main="SPACF of MA(3)")
pacf(x4, main="SPACF of MA(4)")
#dev.off()
윲윷
0 5 10 15 20 25
0.0
0.4
0.8
Lag
AC
F
SACF of MA(1)
0 5 10 15 20 25
0.0
0.4
0.8
Lag
AC
F
SACF of MA(2)
0 5 10 15 20 25
0.0
0.4
0.8
Lag
AC
F
SACF of MA(3)
0 5 10 15 20 25
0.0
0.4
0.8
Lag
AC
F
SACF of MA(4)
그림 윲윮윸윺 읁읃읆읳 읯읦 이읨읥 읍읁율읱윩 율q 윽 윱, 윲, 윳, 윴윩 읭읯읤읥읬읳
윲윸
0 5 10 15 20 25
−0.
20.
00.
20.
4
Lag
Par
tial A
CF
SPACF of MA(1)
0 5 10 15 20 25
−0.
20.
00.
20.
4
Lag
Par
tial A
CF
SPACF of MA(2)
0 5 10 15 20 25
−0.
10.
10.
2
Lag
Par
tial A
CF
SPACF of MA(3)
0 5 10 15 20 25
−0.
10.
10.
3
Lag
Par
tial A
CF
SPACF of MA(4)
그림 윲윮윹윺 읐읡읲이읩읡읬 읁읃읆읳 읯읦 이읨읥 읍읁율읱윩 율q 윽 윱, 윲, 윳, 윴윩 읭읯읤읥읬읳
윲윹
제 7절 모수의추정
• 적률추정법율읍읥이읨읯읤 읯읦 읍읯읭읥읮이윩
• 최소제곱법율음읥읡읳이 읳읱익읡읲읥읳윩
• 최우추정법율읍읡인읩읭익읭 읬읩읫읥읬읩읨읯읯읤 읭읥이읨읯읤윩
7.1 적률추정법(Method of Moment)
k차 적률율읭읯읭읥읮이윩 및 표본적률 윺
E율Xk윩,윱
n
n∑i=1
Xki .
읁읒율윱윩모형에서의 모수 추정 윺
• φ윺 읙익읬읥윭읗읡읬읫읥읲 방정식을 이용윬 즉 양변에 xt−1을 곱하여 기대값을 취한다윮
Extxt−1 윽 φE율xt−1xt−1윩 윫 E율wtxt−1윩
⇒ φ 윽 γ율윱윩/γ율윰윩
• σ2윺 양변을 제곱하여 기대값을 구한다윮
Ex2t 윽 φ2Ex2
t−1 윫 윲φE율xt−1wt윩 윫 Ew2t
⇒ σ2 윽 율윱− φ2윩γ율윰윩.
• γ율윰윩, γ율윱윩에 대한 추정량을 구한다윮
읞γ율윰윩 윽 읞V ar율xt윩 윽윱
n
n∑t=1
x2t
읞γ율윱윩 윽 읞Cov율xt, xt−1윩 윽윱
n
n∑t=2
xtxt−1
• 따라서 φ윬 σ2의 적률추정치는
읞φ 윽 읞γ율윱윩/읞γ율윰윩, 읞σ2 윽 율윱− 읞φ2윩읞γ율윰윩.
윳윰
7.2 최소제곱법(Least squares)
여기서는 읁읒율윱윩모형에서 조건부 최소제곱추정법율읣읯읮읤읩이읩읯읮읡읬 읬읥읡읳이 읳읱익읡읲읥읳 읥읳이읩읭읡이읩읯읮윩을 다
룬다윮 그 외의 모형에서는 이러한 아이디어를 그대로 확장하면 계산할 수 있다윮 회귀분석에
서의 최소제곱법은
S 윽n∑i=1
율yi − f율xi, α, β윩윩2
를 최소화하는 α, β를 찾는 것이다윮 이와같이 시계열모형에서도윬
S율φ, µ윩 윽n∑t=2
율xt − µ− φ율xt−1 − µ윩윩2
을 최소화하는 φ, µ를 구할 수 있다윮 이를 위해서 위 식을 φ, µ로 편미분하여 윰으로 놓고
풀면 된다윮
∂S율φ, µ윩/∂µ 윽 윲율−윱 윫 φ윩n∑t=2
율xt − µ− φ율xt−1 − µ윩윩 윽 윰,
n∑t=2
율xt − µ− φ율xt−1 − µ윩윩 윽 윰,
읞µ 윽윱
n− 윱
n∑t=2
xt 윫φ
율n− 윱윩율윱− φ윩율xn − x1윩
만일 n→∞윬 φ(n−1)(1−φ)
율xn − x1윩→ 윰이므로윬 자료의 수가 많은 경우윬
읞µ ≈ 윱
n− 윱
n∑t=2
xt.
이다윮 마찬가지로윬 φ에 대하여 계산한다윮
∂S율φ, µ윩/∂φ 윽 윲n∑t=2
율xt − µ− φ율xt−1 − µ윩윩율−xt−1 윫 µ윩 윽 윰,
n∑t=2
율xt − µ윩율xt−1 − µ윩− φn∑t=2
율xt−1 − µ윩2 윽 윰,
읞φ 윽
∑nt=2율xt − µ윩율xt−1 − µ윩∑n
t=2율xt−1 − µ윩2.
µ 대신에 읞µ을 대입하면윬
읞φ 윽
∑nt=2율xt − 읞µ윩율xt−1 − 읞µ윩∑n
t=2율xt−1 − 읞µ윩2.
윳윱
σ2의 추정은 잔차제곱합을 자유도 n− 윲로 나눈 것을 이용한다윮 즉윬
읞σ2 윽윱
n− 윲
n∑t=2
읛xt − 읞µ− 읞φ율xt−1 − 읞µ윩읝2.
7.3 최우추정법(Maximum likelihood method)
읁읒율윱윩모형에서 오차항의 분포를 이용하여 모수에 대한 우도함수율읬읩읫읥읬읩읨읯읯읤 읦익읮읣이읩읯읮윩를 구
한다윮
L율φ, µ, σ2|x1, . . . , xn윩 윽n∏t=2
윱√윲πσ2
읥인읰
(−율xt − µ− φ율xt−1 − µ윩윩2
윲σ2
)위의 우도함수를 최대로 하는 모수값을 찾는다윮 직접우도함수를 최대화하는 것보다 우도함
수의 로그값율로그우도윬 읬읯읧윭읬읩읫읥읬읩읨읯읯읤윩을 최대로 하는 것이 편리하다윮 이후의 계산과정은 로
그우도함수를 각모수에 대하여 편미분하고 윰으로 놓는다는 것을 제외하면 최소제곱법의 계
산 방식과 동일하다윮 단 최우 추정법을 이용하면 σ2에 대한 추정을 동시에 할 수 있다는
장점이 있다윮
7.4 R에서의 계산
읒 함수 읡읲읩읭읡는 세가지 추정법을 제공해 준다윮
method = c("CSS-ML", "ML", "CSS")
위의 옵션에서 읃읓읓는 조건부최소제곱법윬 읍음은 최우추정법윬 읃읓읓윭읍음은 최우추정법에서 초
기값을 조건부 최소제곱법을 이용하는 것을 말한다윮
x1<-arima.sim(list(order=c(2,0,0), ar=c(0.5, 0.2)), n=500)
fit1 <- arima(x1, c(2, 0, 0))
Coefficients:
ar1 ar2 intercept
0.5377 0.1796 0.1609
s.e. 0.0439 0.0440 0.1605
sigma^2 estimated as 1.042: log likelihood = -720.07
AIC = 1448.14 AICc = 1448.19 BIC = 1460.78
fit1 <- arima(x1, c(2, 0, 0), method="ML")
Coefficients:
ar1 ar2 intercept
0.5378 0.1796 0.1608
윳윲
s.e. 0.0439 0.0440 0.1605
sigma^2 estimated as 1.042: log likelihood = -720.07
AIC = 1448.14 AICc = 1448.19 BIC = 1460.78
fit1 <- arima(x1, c(2, 0, 0), method="CSS")
Coefficients:
ar1 ar2 intercept
0.5360 0.1794 0.1891
s.e. 0.0439 0.0439 0.1604
sigma^2 estimated as 1.041: log likelihood = -719.52
AIC = NA AICc = NA BIC = NA
제 8절 시계열모형의예측
관찰된 자료가 x1, x2, . . . , xt라고 할 때윬 t윫k시점에서의 예측값윬 읞xt+k를 k윭시차후의 예측값
이라 부른다윮 이러한 예측값은 다음의 평균제곱예측오차를 최소화함으로써 구할 수 있다윮
• 평균제곱예측오차 윺 읍읓읅율읍읥읡읮 읳읱익읡읲읥 읰읲읥읤읩읣이읩읯읮 읥읲읲읯읲윩
MSE 윽 E[율읞xt+k − xt+k윩2|xt, xt−1, . . . , x1
]따라서 현재 시점 까지의 자료가 관측되었을 때 평균제곱예측오차를 최소화 하는 k윭시차후의
예측값은 다음과 같이 조건부 기대값이 된다윮
읞xt+k 윽 E율xt+k|xt, xt−1, . . . , x1윩
윳윳
8.1 AR(1)모형에서의 예측
읞xt+1 윽 E율xt+1|xt, xt−1, . . . , x1윩
윽 E율φxt 윫 wt+1|xt, xt−1, . . . , x1윩
윽 φE율xt|xt, xt−1, . . . , x1윩 윫 E율wt+1|xt, xt−1, . . . , x1윩
윽 φxt 윫 E율wt+1윩
윽 φxt
읞xt+2 윽 E율xt+2|xt, xt−1, . . . , x1윩
윽 E율φxt+1 윫 wt+2|xt, xt−1, . . . , x1윩
윽 φE율xt+1|xt, xt−1, . . . , x1윩 윫 E율wt+2|xt, xt−1, . . . , x1윩
윽 φ읞xt+1 윫 E율wt+2윩
윽 φ2xt윮윮윮
읞xt+k 윽 φkxt
예측오차 윺
e율윱윩 윽 읞xt+1 − xt+1
윽 φxt − xt+1
윽 φxt − 율φxt 윫 wt+1윩 윽 −wt+1
• 평균 윺 E율e율윱윩윩 윽 E율−wt+1윩 윽 윰
• 분산 윺 V ar율e율윱윩윩 윽 V ar율−wt+1윩 윽 σ2
e율윲윩 윽 읞xt+2 − xt+2
윽 φ2xt − xt+2
윽 φ2xt − 율φxt+1 윫 wt+2윩
윽 φ2xt − 율φ2xt 윫 φwt+1 윫 wt+2윩
윽 −율φwt+1 윫 wt+2윩
• 평균 윺 E율e율윲윩윩 윽 윰
• 분산 윺 V ar율e율윲윩윩 윽 율φ2 윫 윱윩σ2윬
V ar율e율k윩윩 윽 율윱 윫 φ2 윫 φ4 윫 ...윫 φ2(k−1)윩σ2 윽 σ2 1−φ2k
1−φ2 → σ2
1−φ2
윳윴
8.2 MA(1)모형에서의 예측
읞xt+1 윽 E율xt+1|xt, xt−1, . . . , x1윩
윽 E율wt+1 − θwt|xt, xt−1, . . . , x1윩
윽 E율wt+1|xt, xt−1, . . . , x1윩− θE율wt|xt, xt−1, . . . , x1윩
윽 −θE율wt|xt, xt−1, . . . , x1윩
윽 θwt 율읳읥읥 읰읡읧읥 윳윹윮윩
읞xt+2 윽 E율xt+2|xt, xt−1, . . . , x1윩
윽 E율wt+2 − θwt+1|xt, xt−1, . . . , x1윩
윽 E율wt+2|xt, xt−1, . . . , x1윩− θE율wt+1|xt, xt−1, . . . , x1윩
윽 윰
읞xt+k 윽 윰
예측오차 윺
e율윱윩 윽 읞xt+1 − xt+1 윽 θwt − xt+1 윽 θwt − 율wt+1 − θwt윩 윽 −wt+1
• 평균 윺 E율e율윱윩윩 윽 E율−wt+1윩 윽 윰
• 분산 윺 V ar율e율윱윩윩 윽 V ar율−wt+1윩 윽 σ2
e율k윩 윽 wt+k − θwt+k−1, k ≥ 윲.
• 평균 윺 E율e율k윩윩 윽 윰
• 분산 윺 V ar율e율k윩윩 윽 율윱 윫 θ2윩σ2
8.3 R examples
# predict(model, n.ahead=k)
x1<-arima.sim(list(order=c(2,0,0), ar=c(0.5, 0.2)), n=500)
fit1 <- arima(x1, c(2, 0, 0))
f20<-predict(fit1, n.ahead=20)
U<-f20$pred+f20$se
L<-f20$pred-f20$se
pdf("forecasting.pdf")
par(mfrow=c(2,1))
윳융
plot(400:500, x1[400:500], xlim=c(400, 520), xlab="time", ylab="x1",type="o",
main="forecasting of ARIMA model")
lines(f20$pred, col="blue"); points(f20$pred, col="blue")
lines(U, col=2); lines(L, col=2)
## for nice plot
library(forecast)
f20<-forecast(fit1, h=20)
plot(f20, xlim=c(400, 520), xlab="time")
dev.off()
http://datamining.dongguk.ac.kr/lectures/Fall2008/timeseries/tex/notes/fig/
forecasting.pdf윌읧익읲읥읳
●●●
●
●
●
●
●●●
●
●
●●●●●
●
●●●
●
●
●●●
●
●●●
●●
●
●
●●●
●
●●
●
●
●●●
●●●●
●●●
●
●
●●
●●
●●●
●●●
●
●●●●●
●
●
●●●●
●●
●
●
●
●●
●●
●●
●●●●●
●
●
●●●
●●
●
●
400 420 440 460 480 500 520
−3
−1
13
forecasting of ARIMA model
time
x1
●●●●●●●
●●●●●●●●●●●●●
Forecasts from ARIMA(2,0,0) with zero mean
time
400 420 440 460 480 500 520
−4
02
4
그림 윲윮윱윰윺 읦읯읲읥읣읡읳이읩읮읧 읯읦 읁읒율윲윩 읭읯읤읥읬
윳윶
제 9절 시계열자료의가설검정
adf.test(): Augmented Dickey-Fuller test (unit root test, tseries)
Box.test(): Box-Pierce or Ljung-Box test statistic for independency (stats)
dwtest(): Durbin-Watson test for autocorrelation of residuals (lmtest)
kpss.test(): computes KPSS test for stationarity (tseries)
shapiro.test(): Shapiro-Wilk Normality Test (stats)
jarque.bera.test(): Jarque-Bera test for normality (tseries)
• 율읁익읧읭읥읮이읥읤윩 을읩읣읫읥읹윭읆익읬읬읥읲 이읥읳이
윁xt 윽 γxt−1 윫 wt, 읯읲 윁xt 윽 율윱− ρ윩xt−1 윫 wt,
H0 윺 ρ 윽 윱 vs. H1 윺 ρ 6윽 윱
DF 윽율읞ρ− 윱윩
SE율읞ρ윩
윳윷
제 3장
Box-Jenkins모형화방법
윱윮 모형의 식별율읍읯읤읥읬 읩읤읥읮이읩윌읣읡이읩읯읮 읡읮읤 읳읥읬읥읣이읩읯읮윺윩윺
윲윮 모수의 추정율읐읡읲읡읭읥이읥읲 읥읳이읩읭읡이읩읯읮윩윺
윳윮 모형의 적합성 검정율읍읯읤읥읬 읤읩읡읧읮읯읳이읩읣 읃읨읥읣읫읩읮읧윩윺
제 1절 모형의식별(Model identification and selection)
• 읁읲읥 이읨읥 이읩읭읥 읳읥읲읩읥읳 읳이읡이읩읯읮읡읲읹윿 율읤읥윋읥읲읥읮읣읩읮읧 읯읲 이읲읡읮읳읦읯읲읭읡이읩읯읮윩
• 읩읤읥읮이읩읦읹읩읮읧 읳읥읡읳읯읮읡읬읩이읹 읩읮 이읨읥 읤읥읰읥읮읤읥읮이 읳읥읲읩읥읳 율읳읥읡읳읯읮읡읬읬읹 읤읩윋읥읲읥읮읣읩읮읧윩윬
• 읤읥읣읩읤읥 이읨읥 읯읲읤읥읲읳 읯읦 읁읒 읯읲 읍읁 율익읳읩읮읧 읡읣읦 읡읮읤 읰읡읣읦 읰읬읯이윩
제 2절 모수의추정(Parameter estimation)
최소제곱법율음읥읡읳이 읳읱익읡읲읥읳 읭읥이읨읯읤윩윬 최대우도법율읍읡인읭익읭 음읩읫읥읬읩읨읯읯읤 읭읥이읨읯읤윩윬 적률추정법
율읍읥이읨읯읤 읯읦 읭읯읭읥읮이윩
윳윸
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
Residual plot of AR(1) model
Time
resi
dual
s(fit
1)
1945 1950 1955 1960 1965 1970 1975
−20
−10
010
20
그림 윳윮윱윺 읒읥읳읩읤익읡읬 읰읬읯이 읯읦 읁읒율윱윩 읭읯읤읥읬
제 3절 모형의적합성검정(Model diagnostic Checking
• 잔차가 시간에 따라 평균 및 분산의 변동이 있는 지를 확인
fit1 <- arima(presidents, c(1, 0, 0))
#pdf("resid.pdf")
plot(residuals(fit1), type="b",
main="Residual plot of AR(1) model")
abline(h=0, col="blue")
#dev.off()
윳윹
0 5 10 15 20 25
0.0
0.4
0.8
Lag
AC
FACF for residuals of AR(1)
0 5 10 15 20 25
−0.
050.
05
Lag
Par
tial A
CF
PACF for residuals of AR(1)
그림 윳윮윲윺 읁읃읆 읡읮읤 읐읁읃읆 읰읬읯이 읯읦 읁읒율윱윩 읭읯읤읥읬
• 차수의 적절성 윺
– 잔차에 대한 읁읃읆 윬 읐읁읃읆를 확인
m1<-arima(x1, order=c(1,0,0))
#pdf("resid.pdf")
par(mfrow=c(2,1))
acf(residuals(m1), main="ACF for residuals of AR(1)")
pacf(residuals(m1), main="PACF for residuals of AR(1)")
#dev.off()
윴윰
– 읐읯읲이읭읡읮이읥읡익 이읥읳이율음읪익읮읧윭읂읯인 이읥읳이 읯읲 읂읯인윭읐읩읥읲읣읥 이읥읳이윩
H0 윺 ρi 윽 윰, i 윽 윱, 윲, . . . , k.
Q 윽 n
k∑i=1
읞ρ2i , Q
∗ 윽 n율n윫 윲윩k∑i=1
윱
n− i읞ρ2i
#Box.test(x, lag = 1, type = c("Box-Pierce", "Ljung-Box"))
x <- rnorm (100)
Box.test (x, lag = 1)
Box-Pierce test
data: x
X-squared = 0.0686, df = 1, p-value = 0.7934
Box.test (x, lag = 1, type="Ljung")
Box-Ljung test
data: x
X-squared = 0.0706, df = 1, p-value = 0.7904
– 을읯 이읨읥읭 읡읬읬윺
pdf("diag1.pdf", width=6, height=10)
fit1 <- arima(presidents, c(1, 0, 0))
tsdiag(fit1)
dev.off(); pdf("diag3.pdf",width=6, height=10)
fit3 <- arima(presidents, c(3, 0, 0))
tsdiag(fit3)
dev.off()
• 만일 위의 절차를 거치면서 부적절하다고 판단 되면 (7.1) 모형의 식별 단계로 돌아가
서 더 좋은 모형을 탐색해야 한다윮
윴윱
Standardized Residuals
Time
1945 1950 1955 1960 1965 1970 1975
−2
02
0 1 2 3 4 5
−0.
20.
6
Lag
AC
F
ACF of Residuals
●● ● ● ● ● ● ● ● ●
2 4 6 8 10
0.0
0.6
p values for Ljung−Box statistic
lag
p va
lue
Standardized Residuals
Time
1945 1950 1955 1960 1965 1970 1975
−2
02
0 1 2 3 4 5
−0.
20.
6
Lag
AC
F
ACF of Residuals
●● ●
●● ●
● ●●
●
2 4 6 8 10
0.0
0.6
p values for Ljung−Box statistic
lag
p va
lue
그림 윳윮윳윺 을읩읡읧읮읯읳이읩읣 읃읨읥읣읫읩읮읧 읦읯읲 읁읒율윱윩 윦 읁읒율윳윩 읭읯읤읥읬
윴윲
제 4장
연습문제및문제풀이
윱윮 율윲윰읰이윩 아래의 모형에서 wt는 평균이 윰이고 분산이 σ2인 백색잡음일 때윬 시계열 {yt}의 읁읒혹은 읍읁차수를 쓰고 정상성을 만족하는 지를 보이시오윮
율읡윩 yt 윽 윱.윲yt−1 윫 wt윬
시계열모형에서 정상성이란 율윱윩평균함수가 시간에 의존하지 않아야 하고윬 율윲윩 분
산 및 자기공분산이 시간에 의존하기 않는 성질을 의미한다윮 읁읒율윱윩 모형에서는
읁읒계수 |φ| < 윱이면 이러한 정상성을 만족한다윮 일반적으로 읁읒율읰윩모형에서 정
상성을 만족하기 위해서는 특성방벙식의 해의 절대값이 윱보다 크면된다윮 위 모형
은 읁읒율윱윩모형이지만 φ 윽 윱.윲 ≥ 윱이므로 정상성을 만족하지 못한다윮
율읢윩 yt 윽 윰.융yt−1 윫 wt윬
읁읒율윱윩모형이고 φ 윽 윱.융 < 윱이므로 정상성을 만족한다윮
율읣윩 yt 윽 윰.윱yt−1 − 윰.융yt−2 윫 wt
위 모형은 읁읒율윲윩 모형이고윬 특성방정식은 윱−윰.윱x윫윰.융x2 윽 윰이다윮 특성방정식의
해를 α1, α2라 할 때윬 |α1| > 윱, |α2| > 윱이면 위 모형은 정상시계열이다윮 읁읒율윲윩
모형에서 특성방정식의 해가 윱보다 커지기 위한 필요충분조건은
φ1 윫 φ2 < 윱, φ1 − φ2 < 윱, |φ2| < 윱.
이므로윬 phi1 윽 윰.윱윬 φ2 윽 −윰.융일 때윬 위의 조건을 모두 만족한다윮 율윰.윱 − 윰.융 <
윱, 윰.윱 윫 윰.융 < 윱, |윰.융| < 윱.윩 따라서 위 모형은 정상시계열이다윮
율읤윩 yt 윽 wt − 윱.윸wt−1 윫 윰.윸wt−2
읍읁율윲윩모형이고윬 모든 읍읁 모형은 항상 정상성을 만족한다윮
윲윮 율윱윰읰이윩다음자료를 이용하여 자기상관함수율읡익이읯 읣읯읲읲읥읬읡이읩읯읮 읦익읮읣이읩읯읮윩를 구하여라윮
15 -3 3 5 17 25 16 5 11 3 4 12 17 29 15
윴윳
시차율음읡읧윩 h에서의 표본 자기상관함수는
읞γ율h윩 윽윱
n
n−h∑t=1
율Xt − 윖X윩율Xt+h − 윖X윩
/윱
n
n∑t=1
율Xt − 윖X윩2
로 추정할 수 있다윮 이를 읒을 이용하여 계산하면 아래와 같다윮
x<-c(15, -3, 3, 5, 17, 25, 16, 5, 11, 3, 4, 12, 17, 29, 15)
n<-length(x)
mean.x<-mean(x)
var.x<-var(x)*(n-1)/n
c.x<-x-mean.x
cov.x<-numeric(n)
for(h in 0:(n-1))
cov.x[h+1]<-sum(c.x[1:(n-h)]*c.x[(h+1):n])/n
cor.x<-cov.x/var.x
cor.x
[1] 1.000000000 0.391005874 -0.085279001 -0.417107195 -0.463325991
[6] -0.165014684 0.040785609 0.219419971 0.425403818 0.167180617
[11] -0.160242291 -0.229038179 -0.243135095 0.008737151 0.010609398
좀 더 간단한 방법으로는 아래와 같이 읒함수 읡읣읦율윩를 사용하면 된다윮
> acf(x, lag.max=14,plot=F)
Autocorrelations of series ’x’, by lag
0 1 2 3 4 5 6 7 8 9 10
1.000 0.391 -0.085 -0.417 -0.463 -0.165 0.041 0.219 0.425 0.167 -0.160
11 12 13 14
-0.229 -0.243 0.009 0.011
윳윮 율윱윰읰이윩 시계열 자료를 모형화하기 위한 읂읯인윭읊읥읮읫읩읮윧읳 읰읲읯읣읥읤익읲읥중 모형의 식별방법에
대하여 설명하시오윮
• 읁읲읥 이읨읥 이읩읭읥 읳읥읲읩읥읳 읳이읡이읩읯읮읡읲읹윿 율읤읥윋읥읲읥읮읣읩읮읧 읯읲 이읲읡읮읳읦읯읲읭읡이읩읯읮윩
• 읩읤읥읮이읩읦읹읩읮읧 읳읥읡읳읯읮읡읬읩이읹 읩읮 이읨읥 읤읥읰읥읮읤읥읮이 읳읥읲읩읥읳 율읳읥읡읳읯읮읡읬읬읹 읤읩윋읥읲읥읮읣읩읮읧윩윬
• 읤읥읣읩읤읥 이읨읥 읯읲읤읥읲읳 읯읦 읁읒 읯읲 읍읁 율익읳읩읮읧 읡읣읦 읡읮읤 읰읡읣읦 읰읬읯이윩
윴윴
읁읃읆 읐읁읃읆
읁읒율읰윩 지수적으로 감소 p윫 윱차 이후 절단된 형태
읍읁율읱윩 q 윫 윱차 이후 절단된 형태 지수적으로 감소
윴윮 율윴윰읰이윩 아래자료를 다운로드한 후 적절한 시계열모형으로 적합하시오윮 분석에 필요한
모든 읒 프로그램을 쓰고윬 결과는 요약하여 쓰시오
율읡윩 http://datamining.dongguk.ac.kr/lectures/Fall2007/timeseries/ts.sim.
txt
x1<-
read.table("http://datamining.dongguk.ac.kr/lectures/Fall2007/
timeseries/ts.sim1.txt", header=T)$x
pdf("acfpacf_test.pdf", height=4)
par(mfrow=c(1,2))
acf(x1)
pacf(x1)
dev.off()
0 5 10 20
−0.
40.
00.
40.
8
Lag
AC
F
Series x1
0 5 10 15 20 25
−0.
4−
0.2
0.0
0.2
Lag
Par
tial A
CF
Series x1
윴융
위에서 읡읣읦는 지수적으로 감소하는 형태이고 읰읡읣읦는 윳차이후에 절단된 형태를 보
이고 있다윮 따라서 읁읒율윲윩모형으로 판단된다윮 읡읲읩읭읡율윩함수를 이용하여 읍음방법으
로 읁읒율윲윩모형을 추정하자윮 추정결과는 아래와 같다윮
m1<-arima(x1, order=c(2,0,0), include.mean = TRUE, method="ML")
m1
Coefficients:
ar1 ar2 intercept
0.5077 -0.4664 -0.0124
s.e. 0.0396 0.0396 0.0467
sigma^2 estimated as 0.999: log likelihood = -709.55, aic = 1427.09
즉윬
xt 윽 −윰.윰윱윲윴 윫 윰.융윰윷윷xt−1 − 윰.윴윶윶윴xt−2 윫 wt, wt ∼ WN율윰, 윰.윹윹윹윩
이다윮 하지만 절편항의 표준오차율읳윮읥윩가 추정치보다 크므로 유의하지 않다고 판
단된다윮 절편항을 제외한 모형을 다시 적합하면 아래와 같다윮
m1.noint<-arima(x1, order=c(2,0,0), include.mean = FALSE, method="ML")
m1.noint
Coefficients:
ar1 ar2
0.5078 -0.4662
s.e. 0.0396 0.0396
sigma^2 estimated as 0.9992: log likelihood = -709.58, aic = 1425.16
따라서 최종 적합된 모형은 아래와 같다윮
xt 윽 윰.융윰윷윸xt−1 − 윰.윴윶윶윲xt−2 윫 wt, wt ∼ WN율윰, 윰.윹윹윹윲윩.
율읢윩 http://datamining.dongguk.ac.kr/lectures/Fall2007/timeseries/ts.sim2.
txt
x2<-read.table("http://datamining.dongguk.ac.kr/lectures/
Fall2007/timeseries/ts.sim2.txt",
header=T)$x
pdf("acfpacf_test2.pdf", height=4)
par(mfrow=c(1,2))
acf(x2)
윴윶
pacf(x2)
dev.off()
0 5 10 20
0.0
0.4
0.8
Lag
AC
F
Series x2
0 5 10 15 20 25−
0.2
0.0
0.2
Lag
Par
tial A
CF
Series x2
위의 읡읣읦와 읰읡읣읦는 두 가지 패턴으로 고려할수 있다윮 첫째윬 읡읣읦는 지수적으로 감소하는
형태이고 읰읡읣읦는 윴차이후에 절단된 형태로 보는 것이다윮 즉윬 읁읒율윳윩모형을 고려한다윮
둘째로는 읡읣읦는 윳차이후 절단된 형태이고윬 읰읡읣읦는 지수적으로 감소하는 형태로 판단하
는 것이다윮
읡읲읩읭읡율윩함수를 이용하여 읍음방법에 의한 읁읒율윳윩모형과 읍읁율윲윩모형에 대하여 추정하
자윮 추정결과는 아래와 같다윮
m2.1<-arima(x2, order=c(3,0,0), include.mean = TRUE, method="ML")
m2.1
Coefficients:
ar1 ar2 ar3 intercept
0.5035 -0.3308 0.1481 -0.0114
s.e. 0.0442 0.0473 0.0442 0.0718
sigma^2 estimated as 1.190: log likelihood = -753.24, aic = 1516.47
m2.1.noint<-arima(x2, order=c(3,0,0), include.mean = FALSE, method="ML")
윴윷
m2.1.noint
Coefficients:
ar1 ar2 ar3
0.5036 -0.3308 0.1482
s.e. 0.0442 0.0473 0.0442
sigma^2 estimated as 1.191: log likelihood = -753.25, aic = 1514.5
따라서 읁읒모형에서 최종 적합된 모형은 아래와 같다윮
xt 윽 윰.융윰윳윶xt−1 − 윰.윳윳윰윸xt−2 윫 윰.윱윴윸윲xt−3 윫 wt, wt ∼ WN율윰, 윱.윱윹윱윩.
m2.2<-arima(x2, order=c(0,0,2), include.mean = TRUE, method="ML")
m2.2
Coefficients:
ma1 ma2 intercept
0.5065 -0.0668 -0.0116
s.e. 0.0458 0.0465 0.0703
sigma^2 estimated as 1.193: log likelihood = -753.81, aic = 1515.63
m2.2.noint<-arima(x2, order=c(0,0,2), include.mean = FALSE, method="ML")
m2.2.noint
Coefficients:
ma1 ma2
0.5066 -0.0667
s.e. 0.0458 0.0465
sigma^2 estimated as 1.193: log likelihood = -753.83, aic = 1513.66
m2.3.noint<-arima(x2, order=c(0,0,1), include.mean = F, method="ML")
m2.3.noint
Coefficients:
ma1
0.5459
s.e. 0.0391
sigma^2 estimated as 1.198: log likelihood = -754.84, aic = 1513.68
윴윸
따라서 읍읁모형에서 최종 적합된 모형은 아래와 같다윮
xt 윽 wt − 윰.융윰윶윶wt−1 − 윰.윰윶윶윷wt−2, wt ∼ WN율윰, 윱.윱윹윳윩.
xt 윽 wt − 윰.융윴융윹wt−1, wt ∼ WN율윰, 윱.윱윹윸윩.
윴윹
제 5장
Autoregressive Moving Average모형
제 1절 ARMA(p, q)모형
일반적인 읁읒읍읁율읰윬읱윩모형 윺
Xt 윽 φ1Xt−1 윫 φ2Xt−2 윫 . . .윫 φpXt−p 윫 wt − θ1wt−1 − . . .− θqwt−q
읁읒읍읁율윱윬윱윩
Xt 윽 φXt−1 윫 wt − θwt−1
x1<-arima.sim(list(order=c(1,0,1), ar=0.3, ma=0.3), n=300)
pdf("arma1sim.pdf", width=12, height=6)
ts.plot(x1, main=paste("ARMA(1,1): phi=0.3, theta=0.3"))
dev.off()
제 2절 ARMA(p, q)의자기상관함수
• 읍읥읡읮 읦익읮읣이읩읯읮
EXt 윽 φEXt−1 윫 Ewt − θEwt−1 윽 φEXt−1
EXt 윽 φEXt
율윱− φ윩µt 윽 윰
µ 윽 윰
융윰
ARMA(1,1): phi=0.3, theta=0.3
Time
x1
0 50 100 150 200 250 300
−3
−2
−1
01
23
그림 융윮윱윺 읁읒읍읁율윱윬윱윩윺 Xt 윽 윰.윳Xt−1 윫 wt − 윰.윳wt−1
• 읁익이읯윭읣읯읶읡읲읩읡읮읣읥 읦익읮읣이읩읯읮윺 읙익읬읥윭읗읡읬읫읥읲 방정식을 이용윮
E율XtXt−k윩 윽 φE율Xt−1Xt−k윩 윫 E율wtXt−k윩− θE율wt−1Xt−k윩
γ율k윩 윽 φγ율k − 윱윩 윫 E율wtXt−k윩− θE율wt−1Xt−k윩
여기서윬 E율wtXt−k윩 윽 윰, k > 윰이고 E율wt−1Xt−k윩 윽 윰, k > 윱이므로윬 k 윽 윰인 경우만
계산하자윮
E율wtXt윩 윽 E율wt율φXt−1 윫 wt − θwt−1윩윩 윽 E율wtwt윩 윽 σ2
E율wt−1Xt윩 윽 E율wt−1율φXt−1 윫 wt − θwt−1윩윩
윽 φE율wt−1Xt−1윩− θE율wt−1wt−1윩 윽 σ2율φ− θ윩
따라서윬
γ율윰윩 윽 φγ율윱윩 윫 σ2 − θσ2율φ− θ윩 윽 φγ율윱윩 윫 σ2율윱− θφ윫 θ2윩
γ율윱윩 윽 φγ율윰윩− θσ2
γ율윲윩 윽 φγ율윱윩윮윮윮
γ율k윩 윽 φγ율k − 윱윩윮윮윮
융윱
위의 첫번째식과 두번째식을 이용하면
γ율윰윩 윽σ2율윱− 윲θφ윫 θ2윩
윱− φ2
γ율윱윩 윽σ2율φ− θ윩율윱− θφ윩
윱− φ2
• 자기상관함수 윺
ρ율윱윩 윽율φ− θ윩율윱− θφ윩
윱− 윲θφ윫 θ2
ρ율윲윩 윽 φρ율윱윩윮윮윮
ρ율k윩 윽 φk−1ρ율k − 윱윩
제 3절 ARMA(p, q)의정상성
• 정상성 조건 윺 읁읒읍읁율읰윬읱윩모형에서 정상성을 만족하기 위한 조건은 읁읒율읰윩모형과 동
일하다윮 즉윬 읁읒읍읁모형에서 읁읒 부분으로 만든 특성방정식의 해의 절대값이 모두 윱
보다 크면된다윮
• 가역성 조건 윺 읁읒읍읁율읰윬읱윩모형에서 가역성을 만족하기 위한 조건은 읍읁율읱윩모형과 동
일하다윮 즉윬 읁읒읍읁모형에서 읍읁 부분으로 만든 특성방정식의 해의 절대값이 모두 윱
보다 크면된다윮
제 4절 ARMA(p, q)의모형의식별
읁읃읆 읐읁읃읆
읁읒율읰윩 지수적으로 감소 p윫 윱차 이후 절단된 형태
읍읁율읱윩 q 윫 윱차 이후 절단된 형태 지수적으로 감소
읁읒읍읁율읰윬읱윩 q − p차 이후 지수적으로 감소 p− q차 이후 지수적으로 감소
x1<-arima.sim(list(order=c(1,0,1), ar=0.3, ma=0.3), n=500)
pdf("armaacf.pdf", width=6, height=4)
par(mfrow=c(1,2))
acf(x1, main=paste("ARMA(1,1): phi=0.3, theta=0.3"))
융윲
0 5 10 20
0.0
0.4
0.8
Lag
AC
F
ARMA(1,1): phi=0.3, theta=0.3
0 5 10 15 20 25
−0.
10.
10.
20.
30.
4
Lag
Par
tial A
CF
ARMA(1,1): phi=0.3, theta=0.3
그림 융윮윲윺 읁읒읍읁율윱윬윱윩윺 Xt 윽 윰.윳Xt−1 윫 wt − 윰.윳wt−1
pacf(x1, main=paste("ARMA(1,1): phi=0.3, theta=0.3"))
dev.off()
x1<-arima.sim(list(order=c(3,0,1), ar=c(0.3,-0.2, 0.2), ma=0.3), n=500)
pdf("armaacf3.pdf", width=6, height=4)
par(mfrow=c(1,2))
acf(x1, main=paste("ARMA(3,1)"))
pacf(x1, main=paste("ARMA(3,1)"))
dev.off()
융윳
0 5 10 20
0.0
0.4
0.8
Lag
AC
F
ARMA(3,1)
0 5 10 15 20 25
−0.
20.
00.
20.
4
Lag
Par
tial A
CF
ARMA(3,1)
그림 융윮윳윺 읁읒읍읁율윱윬윱윩윺 Xt 윽 윰.윳Xt−1 − 윰.윲Xt−2 윫 윰.윲Xt−3 윫 wt − 윰.윳wt−1
융윴
제 6장
Autoregressive Integrated Moving
Average모형
제 1절 ARiMA(p,d, q)모형
다음과 같은 모형을 고려하자윮
Xt 윽 윰.윳 윫 윰.윲t윫 윰.윳Xt−1 윫 wt.
이 모형은 평균이 시간 t에 의존하므로 정상성을 만족하지 못한다윮
n<-500
x<-numeric(n)
e<-numeric(n)
x[1]<-rnorm(1)
for(r in 2:n)
{
e[r]<- rnorm(1)
x[r]<-0.3+0.2*r+0.3*x[r-1] + e[r]
}
ts.plot(x, col="red",main="Non-stationary time series")
위의 모형에서 다음을 고려하자윮
Xt −Xt−1 윽 윰.윲율t− t− 윱윩 윫 윰.윳율Xt−1 −Xt−2윩 윫 율wt − wt−1윩.
Wt 윽 Xt −Xt−1로 두면윬
Wt 윽 −윰.윲 윫 윰.윳Wt−1 윫 wt − wt−1.
융융
Non−stationary time series
Time
x
0 100 200 300 400 500
050
100
150
로 읁읒읍읁율윱윬윱윩모형이 된다윮 이 모형은 가역성은 만족하지 않지만 정상성은 만족한다윮
위의 예처럼 정상시계열을 만드는 방법으로 차분법과 변환법이 있다윮
1.1 차분법 (difference)
비정상인 시계열자료에서 바로 직전 시점윯혹은 이전 주기의 자료를 빼는 것을 말한다윮 즉윬
Wt 윽 Xt −Xt−1율일반차분윩 읯읲 Wt 윽 Xt −Xt−s 율계절차분윩.
1.2 변환법 (transformation)
읂읯인윭읃읯인변환 율읂읯인 읡읮읤 읃읯인윬 윱윹윶윴윩윺 모든 t 윽 윱, . . . , n에 대하여
xt율λ윩 윽
xλt −1
λ, λ 6윽 윰,
읬읯읧율xt윩, λ 윽 윰.
여기서 λ를 변환모수라고 부르며윬 프로파일우도함수율읐읲읯윌읬읥 읬읩읫읥읬읩읨읯읯읤 읦익읮읣이읩읯읮윩를 통해서
추정할 수 있다윮 아래는 λ에 따른 변환방법이다윮
융윶
변환모수 율λ윩 변환
윭윱 윱/x
윭윱윯윲 윱/√x
윰 읬읯읧율x윩
윱윯윲√x
윱 읮읯읮읥
읒에서는 car 읰읡읣읫읡읧읥에 읂읯인윭읃읯인 이읲읡읮읳읦읯읲읭읡이읩읯읮을 위한 모수추정 함수 box.cox.powers()
가 있다윮
library(car)
attach(Prestige)
box.cox.powers(cbind(Prestige$income, Prestige$education))
--
Box-Cox Transformations to Multinormality
Est.Power Std.Err. Wald(Power=0) Wald(Power=1)
[1,] 0.2617 0.1014 2.5799 -7.2799
[2,] 0.4242 0.4033 1.0517 -1.4278
L.R. test, all powers = 0: 7.694 df = 2 p = 0.0213
L.R. test, all powers = 1: 48.8727 df = 2 p = 0
Warning message:
NA/Inf replaced by maximum positive value in:
optimize(f = function(lambda) univ.neg.kernel.logL(x = X[, j],
예제 :
xt 윽 yt 윫 wt, yt 윽 yt−1 윫 εt, wt ∼ WN율윰, σ2w윩, εt ∼ WN율윰, σ2
ε 윩
⇒ V ar율xt윩 윽 V ar율yt 윫 wt윩 윽 V ar율yt윩 윫 σ2w 윽 tσ2
ε 윫 σ2w 윺읮읯읮윭읳이읡이읩읯읮읡읲읹
⇒ Wt 윽 xt − xt−1 윽 εt 윫 wt 윺읳이읡이읩읯읮읡읲읹
1.3 ARIMA(p,d,q)
• 읁읒읉읍읁율윰윬윱윬윰윩 윽 읲읡읮읤읯읭 읷읡읬읫
• 읁읒읉읍읁율윱윬윱윬윰윩
• 읁읒읉읍읁율윰윬윱윬윱윩윽읉읍읁율윱윬윱윩
융윷
par(mfrow=c(2,2))
ts.sim <- arima.sim(list(order = c(0,1,0)), n = 200)
ts.plot(ts.sim, main="ARIMA(0,1,0)")
ts.sim <- arima.sim(list(order = c(1,1,0), ar=0.5), n = 200)
ts.plot(ts.sim, main="ARIMA(1,1,0), phi=0.5")
ts.sim <- arima.sim(list(order = c(0,1,1), ma=0.5), n = 200)
ts.plot(ts.sim, main="ARIMA(0,1,1), theta=0.5")
ts.sim <- arima.sim(list(order = c(1,1,1), ma=0.5, ar=0.5), n = 200)
ts.plot(ts.sim, main="ARIMA(1,1,1), phi=0.5, theta=0.5")
ARIMA(0,1,0)
Time
ts.s
im
0 50 100 150 200
−50
−30
−10
10
ARIMA(1,1,0), phi=0.5
Time
ts.s
im
0 50 100 150 200
−15
−5
5
ARIMA(0,1,1), theta=0.5
Time
ts.s
im
0 50 100 150 200
05
15
ARIMA(1,1,1), phi=0.5, theta=0.5
Time
ts.s
im
0 50 100 150 200
−10
010
20
1.4 ARIMA 모형의 표현
앞절에서 배웠던 읢읡읣읫읳읨읩읦이 읯읰읥읲읡이읯읲를 이용하면 읁읒읉읍읁율읰윬읤윬읱윩모형을 쉽게 표현할 수 있
다윮
φ율B윩율윱−B윩dxt 윽 θ율B윩wt,
읷읨읥읲읥 φ율B윩 윽 윱− φ1B − . . .− φpBp 읡읮읤 θ율B윩 윽 윱− θ1B − . . .− θqBp윮
융윸
제 2절 모형의식별을위한통계량
• 최후예측오차율윌읮읡읬 읰읲읥읤읩읣이읩읯읮 읥읲읲읯읲윩
FPE 윽 읞σ2w
{윱 윫 윲
p윫 q
n
},
여기서 읞σ2w는 백색잡음율wt윩의 분산추정치이다윮
• 읁읫읡읩읫읥 읉읮읦읯읲읭읡이읩읯읮 읃읲읩이읥읲읩읯읮율읁읉읃윩
AIC율p, d, q윩 윽 읬읯읧율읞σ2w윩 윫 윲
p윫 q
n
• 읂읡읹읥읳읩읡읮 읉읮읦읯읲읭읡이읩읯읮 읃읲읩이읥읲읩읯읮율읂읉읃 읯읲 읓읂읃윩
BIC율p, d, q윩 윽 읬읯읧율읞σ2w윩 윫
읬읯읧율n윩
n율p윫 q윩
제 3절 모형의진단
• 잔차의 분석 윺 정규성 검정윬 독립성
• 잔차의 읡읣읦 및 읰읡읣읦
• 읐읯읲이읭읡읮이읥읡익 읔읥읳이 율음읪익읮읧윭읂읯인 읯읲 읂읯인윭읐읩읥읲읣읥윩
> tsdiag(model)
The Taylor series expansion
음읥이 f 읢읥 읡읮 읩읮윌읮읩이읥읬읹 읤읩윋읥읲읥읮이읩읡읢읬읥 읲읥읡읬윭읶읡읬익읥읤 읦익읮읣이읩읯읮 읩읮 읡 읮읥읩읧읨읢읯익읲읨읯읯읤 읯읦 읡 읲읥읡읬 읮익읭윭
읢읥읲 a윮 읔읨읥읮
f율x윩 윽 f율a윩 윫f ′율a윩
윱육율x− a윩 윫
f ′′율a윩
윲육율x− a윩2 윫
f (3)율a윩
윳육율x− a윩3 윫 · · · ,
읯읲
f율x윩 윽∞∑n=0
f (n)율a윩
n육율x− a윩n ,
읷읨읥읲읥 f (n)율a윩 읤읥읮읯이읥읳 이읨읥 n윭이읨 읤읥읲읩읶읡이읩읶읥 읯읦 f 읡이 이읨읥 읰읯읩읮이 a윮
MA(1) 모형에서의 잔차의 계산
xt − µ 윽 wt − θwt−1 ⇒ xt − µ 윽 율윱− θB윩wt ⇒ wt 윽윱
율윱− θB윩율xt − µ윩.
융윹
f율B윩 윽윱
윱− θBf ′율B윩 윽 θ율윱− θB윩−2 ⇒ f ′율윰윩 윽 θ
f ′′율B윩 윽 윲θ2율윱− θB윩−3 ⇒ f ′′율윰윩 윽 윲θ2
f (3)율B윩 윽 윶θ3율윱− θB윩−4 ⇒ f (3)율윰윩 윽 윶θ3
읂읹 읔읡읬읹읯읲 읥인읰읡읮읳읩읯읮윬
wt 윽 율xt − µ윩 윫 θ율xt−1 − µ윩 윫 θ2율xt−2 − µ윩 윫 . . . .
잔차의 계산 윺 x0 윽 x−1 윽 . . . 윽 읞µ를 대입윮
읞wt 윽 율xt − 읞µ윩 윫 읞θ율xt−1 − 읞µ윩 윫 읞θ2율xt−2 − 읞µ윩 윫 . . . .
Portmanteau test(Ljung-Box test or Box-Pierce test)
H0 윺 ρi 윽 윰, i 윽 윱, 윲, . . . , k.
Q율k윩 윽 nk∑i=1
읞ρ2i ∼ χ2율k − p− q윩, k ≥ 윱,
Q∗율k윩 윽 n율n윫 윲윩k∑i=1
윱
n− i읞ρ2i ∼ χ2율k − p− q윩, k ≥ 윱.
#Box.test(x, lag = 1, type = c("Box-Pierce", "Ljung-Box"))
x <- rnorm (100)
Box.test (x, lag = 1)
Box-Pierce test
data: x
X-squared = 0.0686, df = 1, p-value = 0.7934
Box.test (x, lag = 1, type="Ljung")
Box-Ljung test
data: x
X-squared = 0.0706, df = 1, p-value = 0.7904
tsdiag()함수의 이용
fit1 <- arima(presidents, c(1, 0, 0))
윶윰
tsdiag(fit1)
fit3 <- arima(presidents, c(3, 0, 0))
tsdiag(fit3)
Standardized Residuals
Time
1945 1950 1955 1960 1965 1970 1975
−2
02
0 1 2 3 4 5
−0.
20.
6
Lag
AC
F
ACF of Residuals
●● ● ● ● ● ● ● ● ●
2 4 6 8 10
0.0
0.6
p values for Ljung−Box statistic
lag
p va
lue
Standardized Residuals
Time
1945 1950 1955 1960 1965 1970 1975
−2
02
0 1 2 3 4 5
−0.
20.
6
LagA
CF
ACF of Residuals
●● ●
●● ●
● ●●
●
2 4 6 8 10
0.0
0.6
p values for Ljung−Box statistic
lag
p va
lue
읁읒율윱윩 읭읯읤읥읬 읁읒율윳윩 읭읯읤읥읬
윶윱
제 7장
MISC
제 1절 계절모형
par(mfrow=c(2,1))
plot(co2, main="TS plot of CO2 data")
plot(diff(co2), main="Diff plot of CO2 data")
dev.off()
pdf("co2-acf.pdf")
par(mfrow=c(2,1))
acf(co2, lag.max=48)
pacf(co2, lag.max=48)
TS plot of CO2 data
Time
co2
1960 1970 1980 1990
320
350
Diff plot of CO2 data
Time
diff(
co2)
1960 1970 1980 1990
−2
01
2
0 1 2 3 4
0.0
0.4
0.8
Lag
AC
F
Series co2
0 1 2 3 4
−0.
20.
41.
0
Lag
Par
tial A
CF
Series co2
그림 윷윮윱윺 읃읏윲 읤읡이읡윬 차분후 시계열윬 읡읣읦윬 읰읡읣읦
윶윲
par(mfrow=c(2,1))
acf(diff(co2), lag.max=48)
pacf(diff(co2), lag.max=48)
par(mfrow=c(2,1))
acf(diff(co2,12), lag.max=48)
pacf(diff(co2,12), lag.max=48)
0 1 2 3 4
−0.
50.
5
Lag
AC
F
Series diff(co2)
0 1 2 3 4
−0.
40.
2
Lag
Par
tial A
CF
Series diff(co2)
0 1 2 3 4
0.0
0.4
0.8
Lag
AC
F
Series diff(co2, 12)
0 1 2 3 4
−0.
20.
40.
8
Lag
Par
tial A
CF
Series diff(co2, 12)
그림 윷윮윲윺 차분윯계절차분 후 읡읣읦윬 읰읡읣읦 율읃읏윲 읤읡이읡윩
윶윳
제 2절 R functions for time series analysis
library(forecast)
auto.arima(x, d = NA, D = NA, max.p = 5, max.q = 5,
max.P = 2, max.Q = 2, max.order = 5,
start.p=2, start.q=2, start.P=1, start.Q=1,
stationary = FALSE, ic = c("aic","aicc", "bic"),
stepwise=TRUE, trace=FALSE)
Forecasts from ARIMA(1,1,1)
0 20 40 60 80 100 120
100
150
200
250
300
그림 윷윮윳윺 읡익이읯윮읡읲읩읭읡율윩를 이용한 모형의 탐색
fit <- auto.arima(WWWusage)
fit
#Series: WWWusage
#ARIMA(1,1,1)
#Coefficients:
# ar1 ma1
# 0.6504 0.5256
#s.e. 0.0842 0.0896
#sigma^2 estimated as 9.793: log likelihood = -254.15
#AIC = 514.3 AICc = 514.42 BIC = 519.51
plot(forecast(fit,h=20))
윶윴
제 3절 Regression with auto-correlated error
yt 윽 β′zt 윫 xt
읷읨읥읲읥 xt ∼ ARMA율p, q윩윮
3.1 Durbin-Watson test
yt 윽 β′zt 윫 xt, xt 윽 ρxt−1 윫 εt.
위와 같은 회귀분석모형에서 오차항에 자기상관이 있는지를 검정윬 즉윬
H0 윺 ρ 윽 윰 vs H1 윺 ρ > 윰.
이 때의 검정통계량율이읥읳이 읳이읡이읩읳이읩읣윩은
d 윽
∑ni=2율ei − ei−1윩
2∑ni=2 e
2i
.
library(car)
m1<-lm(fconvict ~ tfr + partic + degrees + mconvict, data=Hartnagel)
durbin.watson(m1, alternative="positive")
# lag Autocorrelation D-W Statistic p-value
# 1 0.688345 0.6168636 0
# Alternative hypothesis: rho > 0
3.2 If Autocorrelation is Present..
윱윮 읏음읓 읲읥읧읲읥읳읳읩읯읮윬 읧읥이 읏음읓 읥읳이읩읭읡이읯읲 읞βols 읡읮읤 읣읯읭읰익이읥 읲읥읳읩읤익읡읬읳윺
읞xt 윽 yt − 읞β′olszt
윲윮 읁읒읍읁 읭읯읤읥읬 읷읩이읨 읲읥읳읩읤익읡읬읳 읞xt
읞φ율B윩읞xt 윽 읞θ율B윩wt ⇐⇒φ율B윩
θ율B윩xt 윽 wt
윳윮 읔읲읡읮읳읦읯읲읭 이읨읥 읯읲읩읧읩읮읡읬 읤읡이읡 yt 읡읮읤 zt
ut 윽φ율B윩
θ율B윩yt, 읡읮읤 vt 윽
φ율B윩
θ율B윩zt
윶융
읡읮읤 읩이 읬읥읡읤읳 ut 윽 β′vt 윫 wt윮 읔읨읥읲읥읦읯읲읥윬 읷읥 읣읡읮 읧읥이
읞βw 윽 율V ′V 윩−1V ′u.
읷읨읥읲읥
V 윽 읛v1, . . . ,vn읝′ 읡읮읤 u 윽 율u1, . . . , un윩
′
m1<-lm(temp~activ, data=beaver1)
a1<-arima(m1$res, order=c(1,0,0), method="ML", include.mean=F)
alpha<-a1$coef
# ar1
#0.7925078
stemp<-temp-alpha*lag(temp,-1)
sactiv<-activ-alpha*lag(activ,-1)
m2<-lm(stemp~sactiv)
3.3 arima() 함수의 이용
arima(temp, xreg=cbind(activ=activ), order=c(1,0,0), method="ML")
Coefficients:
ar1 intercept activ
0.9032 36.8283 0.1448
s.e. 0.0444 0.0788 0.0274
sigma^2 estimated as 0.007545: log likelihood = 115.95, aic = -223.89
3.4 gls() 함수의 이용
library(nlme)#Linear and Nonlinear Mixed Effects Models
> gl<-gls(temp~activ, corr=corAR1(), data=beaver1, method="ML")
> summary(gl)
Generalized least squares fit by maximum likelihood
Model: temp ~ activ
Data: beaver1
AIC BIC logLik
윶윶
-223.892 -212.9472 115.946
Correlation Structure: AR(1)
Formula: ~1
Parameter estimate(s):
Phi
0.903321
Coefficients:
Value Std.Error t-value p-value
(Intercept) 36.82824 0.07875622 467.6233 0
activ 0.14479 0.02762501 5.2411 0
Correlation:
(Intr)
activ -0.041
Standardized residuals:
Min Q1 Med Q3 Max
-2.4605457 -0.3370070 0.2062239 0.6013008 2.7505873
Residual standard error: 0.2024922
Degrees of freedom: 114 total; 112 residual
윶윷