4절 시계열 분석
학습목표
+시계열 자료를 이해
- 시간의 흐름에 따라 관찰된 데이터를 시계열 데이터 또는 시계열 자료라고 한다
- ex : 주시가격 데이터, 실업률, 기후데이터 등 주변에 많다
+시계열 자료의 정상성을 구분
- 대부분의 시계열 자료는 비정상성 데이터
- 시계열 자료를 통해 미래를 예측하기 위해서는 비정상성 데이터를 정상성 데이터로 변화하여 분석모형을 설계
+시계열 분석
- 시계열 분석은 시계열 자료를 통해 미래를 예측하거나 시계열 데이터의 특성을 파악하는 것
- 시계열 분석은 자기회귀모형과 이동평균모형으로 구분
+회귀분석을 이해
- 시계열분석은 통계분석의 한 방법이지만 고급통계분석에 해당
- 시계열 분석을 이해하기 위해서는 회귀분석과 상관분석을 이해
1) 시계열 자료
1. 개요
- 시간의 흐름에 따라 관찰된 값들을 시계열 자료라 한다
- 시계열 데이터의 분석을 통해 미래의 값을 예측하고 경향, 주기, 계절성 등을 파악하여 사용되는
2. 시계열 자료의 종류
- 비정상성 시계열 자료 : 시계열 분석을 실시할 때 다루기 어려운 자료로 대부분의 시계열 자료가 이에 해당
- 정상성 시계열 자료 : 비정상 시계열을 핸들링해 다루기 쉬운 시계열 자료로 변환한 자료
2) 정상성
- 시계열 분석에서 정상성은 시계열 데이터가 시간에 따라 일정한 특성을 유지한다는 가정을 의미
*정상성은 평균이 일정할 때, 분산이 일정할 때, 공분산도 단지 시차에만 의존하고 실제특성시점 t,s에는 의존하지 안을 때 만족
1. 평균이 일정할 경우
- 모든시점에 대해 일정한 평균을 가진다
- 평균이 일정하지 않은 시계열은 차분(Difference)을 통해 정상화
*차분: 현시점 자료-전 시점 자료
-일반차분(Regular Difference) : 바로 전 시점의 자료를 빼는 방법
-계절차분(Seasonal Difference) : 여러 시점 전의 자료를 빼는 방법.
=> 계절성을 갖는 자료를 정상화하는데 사용
2. 분산이 일정
- 분산도 시점에 의존하지 않고 일정해야 한다
- 분산이 일정하지 않을 경우 변환을 통해 정상화
3. 공분산도 단지 시차에만 의존, 실제특성시점, ts에는 의존하지 않는다
- 공분산은 두 변수간의 관계를 나타내며, 어떤 변수의 값이 변할 떄 다른변수의 값도 어떻게 변하는지를 나타냄
- 시계열 분석에서는 주로 시차에 따른 자기공분산과 서로 다른 두 시계열 간의 공분산을 다루게 됩니다
- 데이터가 시간이 지남에 따라 일정한 패턴을 유지하고, 특정 시점에서는 특별한 변화 없이 일정한 특성을 가진다는 것을 의미
- 여기서 t와 s는 시간을 나타내는 두 지점을 나타내며, "공분산이 t와 s에서 의존하지 않는다"는 말은 특정 시점 t와 s에서는 공분산이 일정하게 유지된다는 것을 의미
4. 정상 시계열의 모습
- 정상시계열은 어떤 시점에서 평균과 분산 그리고 특정한 시차의 길이를 갖는 자기공분산을 측정하더라도 동일한 값을 갖는다
- 정상 시계열은 항상 그 평균값으로 회귀하려는 경향이 있으며, 그 평균값 주변에서의 변동은 대체로 일정한 폭을 갖는다
- 정상 시계열이 아닌 경우 특정 기간의 시계열 자료로부터 얻은 정보를 다른 시기로 일반화 할 수 없다
3) 시계열자료 분석방법
1. 분석방법
- 회귀분석(계량경제)방법, Box-Jenkins방법, 지수평활법, 시계열 분해법 등이 있다
- 수학적 이론모형 : 회귀분석(계량경제)방법, Box-Jenkins 방법
- 직관적 방법 : 지수평활법, 시계열 분해법으로 시간에 따른 변동이 느린 데이터 분 석에 활용
- 장기 예측 : 회귀분석방법 활용
- 단기 예측 : Box-Jenkins 방법, 지수평활법, 시계열 분해법 활용
2. 자료 형태에 따른 분석방법
(1) 일변량 시계열분석
- 하나의 변수에만 초점을 맞추어 해당 변수의 시간적인 변동 패턴을 이해하고 예측하는 것이 주요
- Box-Jenkins(ARMA), 지수 평활법, 시계열 분해법 등이 있다
- 시간(t)을 설명변수로 한 회귀모형주가, 소매물가지수 등 하나의 변수에 관심을 갖는 경우의 시계열분석
(2) 다중 시계열분석
- 여러 개의 시간(t)에 따른 변수들을 활용하는 시계열 분석
- 계량경제모형, 전이함수모형, 개입분석, 상태공간분석, 다변량ARIMA 등
- 계량경제 : 시계열 데이터에 대한 회귀분석(ex. 이자율, 인플레이션이 환율에 미치는 요인)
- 전이함수모형 : 한 변수의 변화가 다른 변수에 어떻게 영향을 미치는지를 나타내는 모델
- 개입분석 : 외부에서 발생한 개입이 시계열 데이터에 어떤 영향을 미치는지를 분석하는 방법
- 상태공간분석 : 시계열 데이터를 트렌드, 계절성 및 랜덤한 요소로 분해하여 모델링하는 방법
- 다변량ARIMA : 다변량 시계열 데이터에 대한 확장된 ARIMA 모델. 여러 변수 간의 자기회귀 및 이동평균 구조를 고려하여 모델을 구축
3. 이동 평균법
(1) 이동평균법 개념
- 과거로부터 현재까지의 시계열 자료를 대상으로 일정 기간별 이동평균을 계산하고, 이들의 추세를 파악하여 다음 기간을 예측하는 방법
- 시계열 자료에서 계정변동과 불규칙 변동을 제거하여 추세변동과 순환변동만 가진 시계열로 변환하는 방법으로도 사용
- n개의 시계열 데이터를 m기간으로 이동평균하면 n-m+1개의 이동평균 데이터가 생성
(2) 이동평균법의 특징
- 간단하고 쉽게 미래를 예측할 수 있으며, 자료의 수가 많고 안정된 패턴을 보이는 경우 예측의 품질이높음
- 특정 기간 안에 속하는 시계열에 대해서는 동일한 가중치를 부여함
- 일반적으로 시계열 자료에 뚜렷한 추세가 있거나 불규칙변동이 심하지 않은 경우에는 짧은 기간(m의 개수를 적음)의 평균을 사용,
- 반대로 불규칙 변동이 심한 경우 긴 기간(m의 개수가 많음)의 평균을 사용함 (m : 이동평균한 특정기간)
- 이동평균법에서 가장 중요한 것은 적절한 기간을 사용하는 것, 즉 적절한 m의 개수를 결정하는 것임
4. 지수평활법
(1) 지수평활법의 개념
- 일정 기간의 평균을 이용하는 이동평균법과 달리 모든 시계열 자료를 사용하여 평균을 구하며, 시간의 흐름에 따라 최근 시계열에 더 많은 가중치를 부여하여 미래를 예측
- 지수평활법에서 "평활(smoothing)"은 관측치를 부드럽게 조정하여 추세나 패턴을 파악하고 예측하는 과정을 의미합니다. 이 방법은 시계열 데이터의 변동을 완화하고 불규칙한 요소를 줄이기 위해 사용
(2) 지수평활법의 특징
- 단기간에 발생하는 불규칙 변동을 평활하는 방법
- 자료의 수가 많고, 안정된 패턴을 보이는 경우일수록 예측 품질이 높음
- 지수평활법에서 가중치의 역할을 하는 것은 지수평활계수(α)이며, 불규칙변동이 큰 시계열의 경우 지수평활계수는 작은 값을,
불규칙변동이 작은 시계열의 경우 큰 값의 지수평활계수를 적용 (일반적으로, 0.05<=α<=0.3)
- 지수평활계수 α는 예측값을 갱신할 때 현재 관측치와 이전 예측값 간의 상대적인 중요도를 조절합니다.
α가 작을수록 이전 예측값이 미래 예측에 미치는 영향이 크고, α가 클수록 현재 관측치의 영향이 커집니다.
- 지수평활계수는 예측오차(실제 관측치와 예측치 사이의 잔차 제곱합,SSE)를 비교하여 예측오차가 가장 작은 값을 선택
- 지수평활계수는 과거로 갈수록 지속적으로 감소
- 지수평활법은 불규칙변동의 영향을 제거하는 효과가 있으며, 중기 예측 이상에 주로 사용
(단, 단순지수 평활법의 경우, 장기추세나 계절변동이 포함된 시계열 예측에는 적합x)
4) 시계열모형
*시계열의 모형은 자기회귀 모형(AR모형), 이동평균모형(MA모형), 자기회귀누적이동평균모형(ARIMA모형)이 있다
시계열모형과 더불어 분해 시계열의 내용에 대해 정확히 숙지
1. 자기회귀 모형(AR모형, Autoregressive Model)
- P시점 전의 자료가 현재 자료에 영향을 주는 모형
- 자기상관성(어떤 변수에 대하여 이전의 값이 이후의 값에 영향을 미치고 있는 상황)을 시계열 모형으로 배열한 것
- AR(1) 모형 : 직전 시점 데이터로만 분석
- AR(2) 모형 : 연속된 2시점 정도의 데이터로 분석
- 자기상관함수(ACF)는 빠르게 감소
- 부분자기함수(편자기상관함수)(PACF)는 어느 시점에서 절단점을 가짐
- ACF가 빠르게 감소하고, PACF가 3시점에서 절단점을 갖는 그래프가 있다면, 2시점 전의 자료까지가 현재에 영향을 미치는 AR(2)모형
- 자기상관계수 (ACF)
> 시계열 데이터의 동일한 변수에 대한 서로 다른 시점 간의 상관관계를 나타냄
> 자기상관계수는 -1에서 1까지의 값을 가집니다. 값이 0에 가까울수록 관측치 간의 상관관계가 낮아지며, 값이 1 또는 -1에 가까울수록 강한 상관관계를 나타냄
- 부분자기상관계수 (PACF)
> 특정 시차 이외의 다른 모든 시차의 영향을 제외하고 두 관측치 간의 상관관계를 나타냄
> 시차 k 이외의 다른 시차에 대한 영향을 제거하여 정확한 관련성을 나타냅니다. AR 모형의 차수를 결정하는 데 사용되며, PACF 플롯을 통해 AR 모형의 적절한 차수를 시각적으로 확인할 수 있음
2. 이동평균 모형(MA모형 ,Moving Average Model)
- 유한한 개수의 백색잡음의 결합이므로 언제나 정상성 만족
- 백색잡음 : 특정한 패턴이나 추세를 가지지 않는 무작위하고 독립적인 확률 변수의 시퀀스를 나타내며, 평균이 일정,일정한 분산,독립성,동일한 확률 분포의 특징을 가짐
- 시간이 지날수록 어떠한 변수의 평균값이 지속적으로 증가하거나 감소하는 경향에 대한 이동평균을 시계열 모형으로 구성한 것
- 1차 이동평균모형(MA(1) 모형) : 이동평균모형 중 가장 간단한 모형으로, 시계열이 같은 시점의 백색잡음과 바로 전 시점의 백색잡음의 결합
- 2차 이동평균모형(MA(2) 모형) : 바로 전 시점의 백색잡음과 시차가 2인 백색잡음의 결합으로 이뤄진 모형
- AR모형과 반대로 ACF에서 절단점을 갖고, PACF가 빠르게 감소
3. 자기회귀누적이동평균 모형(ARIMA(p,d,q) 모형, Autoregressive Integrated Moving Average Model)
- ARIMA모형은 비정상시계열 모형
- ARIMA모형을 차분이나 변환을 통해 AR모형이나 MA모형 이 둘을 합친 ARMA모형으로 정상화
- p는 AR모형,q는 MA모형과 관련이 있는 차수
- 시계열 {Zt}의 d번 차분한 시계열이 ARMA(p,q) 모형이면, 시계열 {Zt}는 차수가 p,d,q인 ARIMA모형, 즉 ARIMA(p,d,q)모형을 갖는다
- d=0 : ARMA(p,q)모형, 정상성 만족 (ARMA(0,0)일 경우 정상화 불필요)
- p=0 : IMA(d,q)모형, d번 차분하면 MA(q)모형 따름
- q=0 : ARI(p,d)모형, d번 차분하면 AR(p)모형 따름
예시
ARIMA(0,1,1)의 경우에는 #1차분 후 MA(1) 활용
ARIMA(1,1,0)의 경우에는 #1차분 후 AR(1) 활용
ARIMA(1,1,2)의 경우에는 #1차분 후 AR(1), MA(2), ARMA(1,2) 선택
->가장 간단한 모형을 선택하거나 AIC를 적용하여 점수가 가장 낮은 모형 선
*자기회귀이동평균(Autoregressive and Moving Average, ARMA) 모형 : 자기회귀와 이동평균 다항식으로, 약한 정상성을 가진 확률적 시계열을 표현하는데 사용.
-ARMA(p,q)로 표기(p는 자기회귀 다항식 차수, q는 이동평균 다항식 차수)
4. 분해 시계열
- 시계열에 영향을 주는 일반적인 요인을 시계열에서 분리해 분석하는 방법을 말하며, 회귀분석적인 방법을 주로 사용
- 분해식의 일반적 정의
5. R을 이용한 시계열분석
-영국 왕들의 사망 시 나이 데이터를 이용한 시계열분석
-영국 왕 42명의 사망시 나이 예제는 비계절성을 띄는 시계열 자료
-비계절성을 띄는 시계열 자료는 트렌드 요소(추세요인), 불규칙 요소로 구성
-20번째 왕 까지는 38세~55까지 수명 유지, 그 이후부터 수명이 늘어 40번째 왕은 73세까지 생존
(1) 분해 시계열
가) 자료읽기 및 그래프 그리기
library(tseries) #시계열 분석 및 전산 금융
library(forecast) #시계열 및 선형 모델에 대한 예측 함수
library(TTR) #기술 거래 규칙
king<-scan("http://robjhyndman.com/tsdldata/misc/kings.dat",skip=3)
#skip=3은 3번째 열 건너뜀, scan()은 입력함수
king.ts<-ts(king) #ts()는 시계열 데이터 생성
plot.ts(king.ts)
나) 3년마다 평균을 내서 그래프를 부드럽게 표현
king.sma3<-SMA(king.ts,n=3) #SMA : 이동평균
plot.ts(king.sma3)
다) 8년마다 평균을 내서 그래프를 부드럽게 표현
king.sma8<-SMA(king.ts,n=8) #SMA : 이동평균
plot.ts(king.sma8)
(2) ARIMA 모델
가) 개요
- ARIMA 모델은 정상성 시계열에 한해 사용한다
- 비정상 시계열 자료는 차분해 정상성으로 만족하는 조건의 시계열로 바꿔준다
(차분은 시계열 데이터에서 현재 값과 과거 값 간의 차이를 계산하는 과정)
- 이전 그래프에서 평균이 시간에 따라 일정치 않은 모습을 보이므로 비정상시계열이다 따라서 차분을 진행한다
- 1차 차분결과에서 평균과 분산이 시간에 따라 의존하지 않음을 확인
- ARIMA(p,1,q)모델이며 차분을 1번 해야 정상성을 만족
diff(data, differences=차분횟수)
king.ff1 <- diff(king.ts, differences=1)
plot.ts.(king.ff1)
나) ACF와 PACF를 통한 적합한 ARIMA 모델 결정
1] ACF
- lag는 0부터 값을 갖는데, 너무 많은 구간을 설정하면 그래프를 보고 판단 어려움
- ACF값이 lag 1인 지점 빼고 모두 점선 구간 안에 있음
acf(king.ff1, lag.max=20)
acf(king.ff1, lag.max=20, plot=FALSE)
Autocorrelations of serise 'king.ff1', by lag
2] PACF
- PACF값이 lag 1, 2, 3에서 점선 구간을 초과하고 음의 값을 가지며 절단점은 lag 4
pacf(king.ff1, lag.max=20)
pacf(king.ff1, lag.max=20, plot=FALSE)
Partial autocorrelations of serise 'king.ff1', by lag
다) 종합
- ARMA 후보들이 생성
ARMA(3,0)모델 : PACF값이 lag4에서 절단점을 가짐. AR(3)모형
ARMA(0,1)모델 : ACF값이 lag2에서 절단점을 가짐. MA(1)모형
ARMA(p,q)모델 : 그래서 AR모형과 MA모형을 혼합
라) 적절한 ARIMA 모형 찾기
- forecast패키지에 내장된 auto.arima()함수 이용
(ARIMA 모델의 차수를 자동으로 선택하여 최적의 모델을 적합시키는데 사용)
- auto.arima() : 데이터를 활용하여 최적의 ARIMA 모형 선택
- -영국 왕 사망 나이 데이터의 적절한 ARIMA 모형은 ARIMA(0,1,1)
마) 예측
king.arima<-arima(king,order=c(0,1,1))
#선정된 ARIMA 모형으로 데이터 보정(fitting)
king.forecasts<-forecast(king.arima)
#시계열 모델을 입력받아 적절한 예측치를 냄
king.forecasts
-42명의 영국왕 중에서 마지막 왕의 사망시 나이는 56세
-43번째에서 52번째 왕 까지의 10명의 왕의 사망시 나이를 예측한 결과 67.75살로 추정
-5명 정도만 예측하고 싶다면, 옵션에 h=5 입력(forecast에)
-신뢰 구간은 80%~90% 사이
'ADsP(데이터 분석 준전문가) > 개념정리' 카테고리의 다른 글
[3-4. 통계분석] 6.주성분 분석 (2) | 2024.01.10 |
---|---|
[3-4. 통계분석] 5.다차원척도법 (1) | 2024.01.10 |
[3-4. 통계분석] 3.회귀분석 (1) | 2024.01.10 |
[3-4. 통계분석] 2. 기초 통계분석 (1) | 2024.01.10 |
[3-4. 통계분석] 1.통계분석의 이해 (1) | 2024.01.10 |