지난 번 화이자 주식은 1차 차분으로 정상적인 시계열자료로 판단되므로 2000년 1월부터 2017년 8월까지 스타벅스(Starbucks) 주식으로 확인
## 자료불러오기
library(xlsx)
library(tseries) #본 예제에서는 필요없음
df <- read.xlsx("D:/R/TimeSeries/Sbux_Stock.xlsx", 1)
df_ts <- ts(df[,3], start=c(2000, 1), end=c(2017, 8), frequency=12)
원 시계열자료로 추세 확인, 1차 차분된 시계열 자료를 통해 분산이 증가하는 것을 확인할 수 있음
## 1. 원 시계열 도표 vs 1차 차분 후 시계열 도표
par(oma=c(0,0,5,0))
par(mfrow = c(1,2))
plot(df_ts, main="raw data", ylab="Stock($)", xlab="Year")
plot(diff(df_ts), main="1st diff data", ylab="Stock($)", xlab="Year")
mtext("<Figure 1> Stock of Starbucks(2000.01~2017.08)",outer=TRUE,cex=2)
분산이 비정상적이면서 평균도 비정상적일 경우, 변수변환을 통해 분산을 일정하게 하고, 차분을 통해 평균을 정상적으로 만들어야 함
자료를 먼저 차분하게 되면 부호가 음인 값이 산출되어 로그를 계산할 수 없기 때문
로그변환 후 1차 차분한 자료를 보면, 분산이 상대적으로 작아진 것을 확인
하지만 과거자료의 변동이 더 큰 것으로 보이므로, 다음에는 Box-Cox 멱변환을 통해 분산을 확인할 필요가 있음
## 2. 로그 변환 시계열 도표 vs 로그 변환 후 1차 차분한 시계열 도표
par(oma=c(0,0,5,0))
par(mfrow = c(1,2))
log_df_ts <- log(df_ts)
plot(log_df_ts, main="raw data", ylab="Stock($)", xlab="Year")
plot(diff(log_df_ts), main="1st diff data", ylab="Stock($)", xlab="Year")
mtext("<Figure 2> log(Stock) of Starbucks(2000.01~2017.08)",outer=TRUE,cex=2)
(자료출처) investing.com
(참고문헌) 시계열 애널리스트를 위한 Eviews 솔루션(2015, 정동빈 지음)
'시계열 분석' 카테고리의 다른 글
15. [R] 시계열분석 모형 식별, 검진 및 예측 예제 (4) | 2017.09.19 |
---|---|
14. [R] 시계열분석 정상성 확인 예제 : 비정상적 분산, Box-Cox 변환 (2) | 2017.09.14 |
12. [R] 시계열분석 정상성 확인 예제 : 비정상적 평균 (13) | 2017.09.11 |
11. 개입모형 (0) | 2017.09.09 |
10. [R] AR모형과 MA모형의 ACF, PACF 시뮬레이션 (2) | 2017.09.08 |