ADP (R)

오늘의 ADP 준비 / 2022-08-16 화(D40)

멋쟁이천재사자 2022. 8. 16. 10:10

지난 5월 21일 25회 ADP 필기를 합격하고, 9월 25일 26회 실기를 준비하고 있습니다.

 

1. 기출 문제 (시계열 문제)  풀이

 

25회 기출문제 ([Adp 실기 기출 풀이] 25회 시계열 문제 ) 를 풀고 있는데 모델의 평가,해석 등이 어렵습니다.

auto.arima 의 결과가 ARIMA(0,1,1)(1,0,2)[12] 일 때 해석을 어떻게 정리해야 하는지 공부하고 있어요.

 

시계열 관련 자료들을 이것 저것 보고는 있는데...

0,1,1 은 비계절 부분이고 1,0,2는 12라는 계절성 시차를 기준으로 하는 계절성 부분의 모델이다.

여기까지는 쉬운데...

 

 

 

ACF 가 지속적인 선형 감소의 패턴을 보여주면 d 는 1임.

출처: https://blog.naver.com/gksthf4140/222631377895

 

 

계절부분이 0,0,0 이면 Simple SARIMA 이며, ARIMA(0,1,1)(1,0,2)의 경우는 Multiplicated SARIMA 에 해당함.

이것도 그닥 어려운 이야기는 아니지요.

 

출처 : https://ysyblog.tistory.com/261

 

 

 

다음 ACF PACF 그래프는 어떻게 해석해야 할까요?

 

 

아래 표를 기준으로 해석해보면, ACF 는 선형으로 감소하며 PACF 는 2차 이후에 0으로 수렴(?) 하므로 AR(2) 모델입니다.

맞나요???

auto.arima 의 결과로는 ARIMA(0,1,1)(1,0,2)[12] 즉, 비계절 부분의 p 는 0 이며 계절 부분은 1입니다.

머리에 쥐가 날 것 같아 오늘은 일단 여기까지...

출처 : https://blog.naver.com/baek2sm/222653423139

 

2. 기출 문제 (18회 시계열 문제)  풀이

 

18회 기출문제 ( 18회 시계열 정상성 체크 ) 를 풀기 시작했습니다.

25회 문제보다는 쉬울것 같고, 다른 사람의 풀이가 있어서 비교해보기도 좋을 것 같아요

 

3. 기출 문제 (23회 객실사용여부)  풀이 업데이트

 

23회 기출문제 ( 객실사용여부 머신러닝 ) 를 풀이를 오랜만에 업데이트했습니다.

오버샘플링 기법에 대해서 공부를 하면서 진행했어요.

 

4. SARIMA 스터디

 

출처 : https://blog.naver.com/the9ya2/222814708031

library(sarima)
n <- 10000
x <- sim_sarima(n, model=list(sar=0.8, nseasons=12, sigma2=1))
plot.ts(x[1:50],ylab="")
acf(x,log=60,)
pacf(x,log=60)
Error in strsplit(log, NULL) : non-character argument

콤마는 블로그 글이 잘못된 것이고

log  는 lag 를 내가 잘못 적은 것이다.

코드에 오류가 있다.

 

수정한 코드

library(sarima)
n <- 10000
x <- sim_sarima(n, model=list(sar=0.8, nseasons=12, sigma2=1))
plot.ts(x[1:50],ylab="")
acf(x,lag=60)
pacf(x,lag=60)

매뉴얼에  model 관련해서는 an object from a suitable class or a list, see Details. 라고만 되어있고 자세한 설명이 없어요!

 

ts(x[1:50],frequency = 12)

 

 

...

 

PACF가 주기인 12배수 시차에서 지속적으로 감소하는 것을 볼 수 있으며,ACF는 시차에서만 유의미하게 나타난다.
이러한 상관계수의 패턴을 통해 주기를 설정하게 된다.

유의미하게 나타난다는 뜻이 뭔가???

 

auto.arima(ts(x))

 

ts(x) 가 정상적인 방법인지 모르겠다.

시계열 속성 분해가 될 것을 기대하였으나 ARIMA(5,1,5) ??

 

auto.arima(ts(x,frequency = 12))

 



출처 : https://youtu.be/abOIK40QvDA?t=603 

 

 

library(forecast)
gas 
gas.arima <- auto.arima(gas) 
 
gas.arima 
arima(gas, order=c(2,1,1), 
 seasonal=list(order=c(0,1,1), period=12)) 

forecast(gas.arima, h=5*12)

plot(forecast(gas.arima, h=5*12),col="darkorange", lwd=2,
 flty=1, flwd=3,
 fcol="orangered", shadecols=c("lavender","skyblue"),
 xlab="Year", ylab="Monthly",
 main="Forecast for Austrainlias Monthly Gas Production")

출처 : https://youtu.be/abOIK40QvDA?t=1259 

 

monthplot 예제

 

 

※ 참고한 자료들

 

https://ysyblog.tistory.com/261

https://ysyblog.tistory.com/262?category=1186605 

https://today-1.tistory.com/36

https://blog.naver.com/gksthf4140/222631377895

https://blog.naver.com/baek2sm/222653423139

https://blog.naver.com/the9ya2/222814708031

https://youtu.be/abOIK40QvDA?t=1259