Download presentation
Presentation is loading. Please wait.
1
2018-1 시계열 분석 실습1
2
준비하기 학과 홈페이지 (stat.sookmyung.ac.kr)→ 수업게시판 →
‘ 시계열 분석 실습 자료1’ 파일 다운받기 파일은 총 2개로 catv.txt, koreapass.txt SAS 내에서 파일을 불러와야 하니 편의를 위해 C:/에 다운받는 것이 좋습니다.
3
실습 순서 DGP(data generating process) Random walk 비선형추세모형(catv.txt)
데이터 생성 시계열 그림 그리기 요약통계량 구하기 Random walk 차분데이터 생성 시계열 그림 비선형추세모형(catv.txt) 데이터 불러오기 선형화하여 적합 NLIN 철차 이용하기 4. 자기회귀오차모형(koreapass.txt) 자기회귀오차모형에 적합 시키기
4
DGP
5
1. DGP 1) 𝑍 𝑡 =10+ 2𝜀 𝑡 로부터 { 𝑍 𝑡 , 𝑡=1,…,100} 생성 단, 𝜀 𝑡 ~N(0,1)
1) 𝑍 𝑡 =10+ 2𝜀 𝑡 로부터 { 𝑍 𝑡 , 𝑡=1,…,100} 생성 단, 𝜀 𝑡 ~N(0,1) Step1) t=1일 때 𝑍 1 =10+ 2𝜀 1 생성 Step2) t=2일 때 𝑍 2 =10+ 2𝜀 2 생성 ⁞ Step100) t=100일 때 𝑍 100 =10+2 𝜀 100 생성
6
1. DGP 1) 𝑍 𝑡 =3+ 𝜀 𝑡 로부터 { 𝑍 𝑡 , 𝑡=1,…,100} 생성 단, 𝜀 𝑡 ~N(0,1)
1) 𝑍 𝑡 =3+ 𝜀 𝑡 로부터 { 𝑍 𝑡 , 𝑡=1,…,100} 생성 단, 𝜀 𝑡 ~N(0,1) data prob1; do t=1 to 100; z=10+2*rannor(1234); output; end; run; rannor(seed) : 표준정규분포에서 난수 발생 seed: 고정값 ( 매번 시뮬레이션을 진행할 때 마다 값이 달라지는 것을 막기 위한 장치) *과제할 때는 seed를 학번 뒤의 4자리로 지정하여 실행해 볼 것
7
1. DGP 1) 𝑍 𝑡 =10+ 2𝜀 𝑡 로부터 { 𝑍 𝑡 , 𝑡=1,…,100} 생성 단, 𝜀 𝑡 ~N(0,1)
1) 𝑍 𝑡 =10+ 2𝜀 𝑡 로부터 { 𝑍 𝑡 , 𝑡=1,…,100} 생성 단, 𝜀 𝑡 ~N(0,1) data prob1; do t=1 to 100; z=10+ 2*rannor(1234); output; end; run;
8
1. DGP 2) 시계열 그림 그리기_그래프 선 옵션 symboln options ;
SAS command 설명 I = options NONE 산점도 JOIN 직선으로 연결 V = symbol | NONE 관측값을 나타낼 기호 지정 (0~9, A~Z, 특수부호이름) H = height 출력 기호의 크기 (단위 pct, cm, in) L = line-type 연결선의 종류 지정 (1~46까지 가능. 1: 실선, 2: 점선) C = symbol-color 점과 연결선의 색 지정 CI = line-color 연결선의 색 지정 CV = value-color 점의 색 지정 예) symbol1 i=join v=none h=2 l=1 c=black;
9
1. DGP 2) 시계열 그림 그리기_proc gplot
proc gplot DATA=input-data-set; plot plot-request(s) </option> ; - plot-request(s) : Y변수 * X변수 = n (symbol로 그래프 그리는 형태 지정) - Options SAS command 설명 HREF or VREF = value Value로 지정된 위치에 수직선이나 수평선을 그린다. FRAME Plot을 상자안에 그린다. LEGEND=LEGNEDn 산점도와 함께 출력될 범례를 지정한다. OVERLAY 산점도를 겹쳐 그린다. NOAXIS 좌표축을 그리지 않는다.
10
1. DGP 2) 시계열 그림 그리기 symbol1 i=join v=none h=2 l=1 c=black;
proc gplot data=prob1; plot z*t=1/vref=10; run; 3) 요약 통계량 구하기 proc means data=prob1; var z; run;
11
1. DGP 2) 시계열 그림 그리기 3) 요약 통계량 구하기
12
2. Random walk
13
2. Random Walk 1) 𝑍 𝑡 = 𝑍 𝑡−1 + 𝜀 𝑡 로부터 { 𝑍 𝑡 , 𝑡=1,…,100} 생성 ( 𝑍 0 =0) 단, 𝜀 𝑡 ~N(0,1) Step1) 초기값 지정 ( 𝑍 0 =0) Step2) 새로운 Z= 𝑍 0 + 𝜀 𝑡 생성 Step3) 𝑍 0 =𝑍으로 다시 지정 Step4) step2-step3 반복
14
2. Random Walk 1) 𝑍 𝑡 = 𝑍 𝑡−1 + 𝜀 𝑡 로부터 { 𝑍 𝑡 , 𝑡=1,…,100} 생성 ( 𝑍 0 =0) 단, 𝜀 𝑡 ~N(0,1) proc gplot data=prob2_1; Plot z*t=1 run; data prob2_1; z0=0; do t=1 to 100; z=z0+ rannor(1234); output; z0=z; end; run;
15
2. Random Walk 2) 차분된 자료 𝑊 𝑡 = 𝑍 𝑡 − 𝑍 𝑡−1 data prob2_2 z0=0;
2) 차분된 자료 𝑊 𝑡 = 𝑍 𝑡 − 𝑍 𝑡−1 data prob2_2 z0=0; do t=1 to 100; z=z0+ rannor(1234); w=z-z0; output; z0=z; end; run; data prob2_2; z0=0; do t=1 to 100; z=z0+ rannor(1234); w=dif(z); output; z0=z; end; run; or
16
2. Random Walk 2) 차분된 자료 𝑊 𝑡 = 𝑍 𝑡 − 𝑍 𝑡−1 or
17
2. Random Walk 3) 시계열 그림 그리기 symbol1 i=join v=none h=2 l=1 c=black;
proc gplot data=prob2_1; plot z*t=1; run; proc gplot data=prob2_2; plot w*t=1;
18
2. Random Walk 3) 시계열 그림 그리기
19
3. 비선형추세모형
20
3. 비선형추세모형 S- curve형태를 가진 케이블 TV자료 (catv.txt)를 다음과 같이 로지스틱 모형에 적합하고자 한다. 위의 식은 자연로그 변환에 의해 다음과 같이 쓸 수 있다. 예제에서는 위의 식을 적합 시키기 위해 LNCAVT라는 새로운 변수를 만든다. 𝑍 𝑡 = 𝐾 1+[exp( 𝛽 0 +𝛽 1 𝑡)] 𝜀 𝑡 ln 𝐾 𝑍 𝑡 −1 = 𝛽 0 +𝛽 1 𝑡+ln 𝜀 𝑡 LNCAVT= ln 𝐶𝐴𝑉𝑇 −1
21
3. 비선형추세모형 데이터 불러오기 데이터 읽기 data prob4; infile ‘c:/catv.txt' ; 시간 t 생성
날짜 지정 로그변환 data prob4; infile ‘c:/catv.txt' ; input ; t+1; k= ; lncatv=log(k/catv-1) ; run; year=1969+t ;
22
3. 비선형추세모형 2) ln 𝐾 𝑍 𝑡 −1 = 𝛽 0 +𝛽 1 𝑡+ln 𝜀 𝑡 에 적합
proc reg data=prob4 ; model lncatv= year/ dw ; output out=out1 pred=p; run; 잔차에 자기상관이 존재라는 것으로 생각된다.
23
3. 비선형추세모형 앞선 모형은 오차 항이 지수 항에 곱해져 있는 형태이기 때문에 선형화가 가능했지만, 다음과 같이 오차 항이 합의 형태로 주어지는 경우에는 선형화가 불가능 하다. 따라서 비선형 최적화 방법(NLIN)을 이용하여 모형을 적합 시켜야 한다. 𝑍 𝑡 = 𝐾 1+[exp( 𝛽 0 +𝛽 1 𝑡)] + 𝜺 𝒕
24
3. 비선형추세모형 3) NLIN 절차를 이용하여 비선형(로지스틱)모형에 적합 data prob4;
infile ‘c:/catv.txt' ; input ; t+1; year=1969+t ; proc nlin data=prob4 method=gauss noitprint ; parms k= b0=2 b1=0 ; temp=exp(b0+b1*t); model catv=k/(1+temp); output out=tvout pred=p r=residual; run; 모수 초기값 지정 선형 추세 식을 적합한 결과와 비슷하다.
25
4. 자기회귀오차모형
26
4. 자기회귀오차모형 추세와 더불어 계절성분이 있는 월별 비행기 승객수 자료 (koreapass.txt)를 다음과 같은 모형에 적합하고자 한다. - 절편이 없는 모형 - 지시함수 12개 𝐼 1 , … , 𝐼 12 를 가지는 모형 𝐼 𝑗 = 1 , 관측값이 𝑗 번째 달에 관측된 경우 0 , 그렇지 않은 경우 𝑙𝑛( 𝑍 𝑡 )= 𝛽 0 + 𝛽 1 𝑡 + 𝛿 1 𝐼 𝑡,1 + … + 𝛿 12 𝐼 𝑡,12 + 𝜀 𝑡
27
4. 자기회귀오차모형 로그변환 시킨 그래프 기존 그래프
28
4. 자기회귀오차모형 데이터 불러오기 데이터 읽기 data prob5; infile ‘c:\koreapass.txt';
로그 변환 시간 t 생성 날짜 지정 data prob5; infile ‘c:\koreapass.txt'; input dept lnpop=log(pop); intnx(method, 기준일자, 기간) : 날짜 구간 함수 Method : day, month, year D : 날짜라고 인식하게 함 _n_-1 : 순차적으로 1981/01/01, 1984/02/01 이런 식으로 입력됨 t+1; date=intnx('month','1JAN81'D,_n_-1); format date Monyy.; mon=month(date); Date의 format을 숫자로 인식하기 때문에 ”JAN84”와 같은 형식으로 바꿔준다.
29
4. 자기회귀오차모형 데이터 불러오기 지시함수 생성 if mon=1 then i1=1; else i1=0;
run;
30
4. 자기회귀오차모형 2) 에 적합 후 잔차시계열 그림 그리기 proc reg data=prob5;
2) 에 적합 후 잔차시계열 그림 그리기 proc reg data=prob5; model lnpop=t i1-i12 / dw; output out=popout r=residual; run; proc gplot data=popout; plot residual*date=1/vref=0; 𝑙𝑛 𝑍 𝑡 = 𝛽 𝛽 1 𝑡 + 𝛿 1 𝐼 𝑡,1 + … + 𝛿 12 𝐼 𝑡,12 + 𝜀 𝑡 DW 통계량 출력
31
4. 자기회귀오차모형 2) 𝑙𝑛( 𝑍 𝑡 )= 𝛽 1 𝑡 + 𝛿 1 𝐼 𝑡,1 + … + 𝛿 12 𝐼 𝑡,12 에 적합 후 잔차시계열 그림 그리기 일정 기간 동안 동일한 부호를 갖는 잔차가 지속된다. → 잔차에 자기상관이 존재라는 것으로 생각된다.
32
4. 자기회귀오차모형 월별 비행기 승객수 자료 (koreapass.txt)의 오차에 자기상관관계가 있음으로 자기회귀오차모형에 적합한다. 𝑙𝑛 𝑍 𝑡 = 𝛽 𝛽 1 𝑡 + 𝛿 1 𝐼 𝑡,1 + … + 𝛿 12 𝐼 𝑡,12 + 𝜀 𝑡 𝜀 𝑡 = 𝜑 1 𝜀 𝑡−1 + 𝜑 2 𝜀 𝑡−2 +…+ 𝜑 13 𝜀 𝑡−13 + 𝑎 𝑡
33
4. 자기회귀오차모형 3) 자기회귀오차 모형에 적합 후 잔차시계열 그림 그리기 proc autoreg data=prob5;
3) 자기회귀오차 모형에 적합 후 잔차시계열 그림 그리기 proc autoreg data=prob5; model lnpop=t i1-i12 / noint backstep nlag=14 dwprob; output out=out1 r=residual; run; proc gplot data=out1; plot residual*date=1/vref=0; 후진제거법으로 유의한 변수만 선택 자기회귀계수 시차 결정
34
4. 자기회귀오차모형 3) 자기회귀오차 모형에 적합 후 잔차시계열 그림 그리기 backstep 옵션 결과
3) 자기회귀오차 모형에 적합 후 잔차시계열 그림 그리기 backstep 옵션 결과 시차 7, 5, 8, 14, 13, … 6 순서로 자기회귀계수가 유의하지 않다고 판정. 최종적으로 시차 1과 3, 12만이 유의한 시차로 선택되었다.
35
4. 자기회귀오차모형 3) 자기회귀오차 모형에 적합 후 잔차시계열 그림 그리기
36
4. 자기회귀오차모형 3) 자기회귀오차 모형에 적합 후 잔차시계열 그림 그리기
Similar presentations