68
Lecture notes on the Time Series Analysis 읊읩읮읳읥읯읧 읋읩읭 을읥읰읡읲이읭읥읮이 읯읦 읓이읡이읩읳이읩읣읳 읡읮읤 읉읮읦읯읲읭읡이읩읯읮 읓읣읩읥읮읣읥 을읯읮읧읧익읫 읕읮읩읶읥읲읳읩이읹 E-mail:[email protected] 윲윰윰윸 윱윱 윲윴

Lecture notes on the Time Series Analysis - Datamining …datamining.dongguk.ac.kr/lectures/2008-2/timeseries/te… ·  · 2011-01-06Lecture notes on the Time Series Analysis 읊읩읮읳읥읯읧

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

윶윷