본문 바로가기

시계열 분석

14. [R] 시계열분석 정상성 확인 예제 : 비정상적 분산, Box-Cox 변환

반응형

로그변환에 이어, Box-Cox 변환에 대해 확인


지난번 2000년 1월부터 2017년 8월 스타벅스 자료를 활용하여 Box-Cox 변환을 위한 λ 계산


## 자료 불러오기

library(xlsx)

library(tseries)

df <- read.xlsx("D:/R/TimeSeries/Sbux_Stock.xlsx", 1)


## box-cox 변환

library(MASS)

library(forecast)

box_df <- boxcox(df[,3]~1)

mtext("<Figure 1> Log-Likelihood for the Stock of Starbucks", outer=TRUE, cex=1.5)

lam <- box_df$x[which.max(box_df$y)]

lam


 λ는 -0.1414141로 95% 신뢰구간에 0을 포함하고 있음을 그래프를 통해 확인 가능

 이로그변환과 유사할 것을 의미하며, 이는 단순히 로그변환을 사용할 수 있음


## box-cox 변환 시계열 도표 vs box-cox 변환 후 1차 차분한 시계열 도표

par(oma=c(0,0,5,0))

par(mfrow = c(1,2))

box_df_ts <- ts((BoxCox(df[,3],lam)), start=c(2000, 1), end=c(2017, 8), frequency=12)

plot(box_df_ts, main="raw data", ylab="Stock($)", xlab="Year")

plot(diff(box_df_ts), main="1st diff data", ylab="Stock($)", xlab="Year")

mtext("<Figure 2> Box-Cox Transformation of Starbucks's Stock(2000.01~2017.08)",outer=TRUE,cex=2)

box-cox 변환 후 시계열도표와 1차 차분한 도표를 통해, 지난번 로그변환과 유사한 것을 확인할 수 있음


반응형