2012년 9월부터 2017년 8월까지 화이자(Pfizer) 주가를 활용하여 시계열의 정상성 확인
# 라이브러리 불러오기
library(xlsx)
library(tseries)
# 시계열 자료 불러오기
df <- read.xlsx("C:/Users/chocochip/Documents/R/TimeSeries/Pfe_Stock.xlsx", 1)
df_ts <- ts(df[,4], start=c(2012, 9), end=c(2017, 8), frequency=12)
## 원 시계열
# 1. 비정상적 평균 확인 : 추세
par(oma=c(0,0,0,0))
par(mfrow = c(1,1))
plot(df_ts, main="<Figure 1> Stock of Pfizer(2012.09~2017.08)", ylab="Stock($)", xlab="Year")
- 2015년까지 증가추세로 보임
- 2015년 이후는 별다른 추세가 없는 것으로 보임
# 2. 비정상적인 평균 확인 : ACF, PACF
par(oma=c(0,0,5,0))
par(mfrow = c(1,2))
acf(df_ts , main="ACF", ylab="")
pacf(df_ts, main="PACF", ylab="")
mtext("<Figure 2> ACF, PACF of Pfizer's Stock",outer=TRUE,cex=2)
- ACF는 서서히 감소하는 형태
# 3. 비정상적인 평균 확인 : Dickey-Fuller 단위근 검정
adf.test(df_ts, k=0)
- 단위근 검정에서 p-value가 0.05보다 크므로 귀무가설을 채택
결론 : 추세, ACF, 단위근 검정을 통해 평균이 비정상적인 것으로 판단되므로, 비계절적 1차 차분 실시
## 1차분 후 시계열
# 1. 비정상적 평균 확인 : 추세
par(oma=c(0,0,0,0))
par(mfrow = c(1,1))
plot(diff(df_ts), main="<Figure 3> (1st diff)Stock of Pfizer(2012.09~2017.08)", ylab="Stock($)", xlab="Year")
- 특징적인 추세는 없는 것으로 판단됨
# 2. 비정상적인 평균 확인 : ACF, PACF
par(oma=c(0,0,5,0))
par(mfrow = c(1,2))
acf(diff(df_ts) , main="ACF", ylab="")
pacf(diff(df_ts), main="PACF", ylab="")
mtext("<Figure 4> (1st diff)ACF, PACF of Pfizer's Stock",outer=TRUE,cex=2)
- ACF와 PACF 모두 0에 가까움
# 3. 비정상적인 평균 확인 : Dickey-Fuller 단위근 검정
adf.test(diff(df_ts), k=0)
- 단위근 검정에서 p-value가 0.05보다 작으므로 대립가설을 채택
결론 : 1차 차분한 시계열의 추세, ACF, 단위근 검정을 통해 평균이 정상적인 것으로 판단
'시계열 분석' 카테고리의 다른 글
14. [R] 시계열분석 정상성 확인 예제 : 비정상적 분산, Box-Cox 변환 (2) | 2017.09.14 |
---|---|
13. [R] 시계열분석 정상성 확인 예제 : 비정상적 분산, 로그변환 (0) | 2017.09.13 |
11. 개입모형 (0) | 2017.09.09 |
10. [R] AR모형과 MA모형의 ACF, PACF 시뮬레이션 (2) | 2017.09.08 |
9. 지수평활법 (0) | 2017.09.07 |