📚 참고URL
Forecasting: Principles and Practice (https://otexts.com/fppkr/)
Forecasting: Principles and Practice
2nd edition
otexts.com
1. 시계열 데이터(Time series data)
- 시계열 데이터란 시간 간격을 두고 있는 일련의 데이터셋의 집합이다. 이 데이터를 그래프로 표현하면 일반적으로 x축은 시간이 된다.
- 시계열 데이터의 분석 목적은 시계열이 갖고 있는 법칙성을 발견해 이를 모형화하고, 또 추정된 모형을 통하여 미래의 값을 forecasting(예측)하는 것이다.
- 시계열 데이터란 시간을 통해 순차적으로 발생한 관측치의 집합으로, 이렇게 발생한 연속적인 관측치들은 서로 관련이 있다. 이때 시계열은 반드시 고정된 시간 구간의 관측치여야 한다. 즉 시차(Time lag)이 동일해야 한다. 즉, 불규칙적인 시간 구간이여서는 안된다.
- 다변량 시계열 : 시간축에 대해 여러 개의 값이 있는 경우
- 일변량 시계열 : '시간에 따른 강우량'과 같이 하나의 값만 존재하는 경우
2. 시계열 데이터의 특징
1. 트렌드(Trend)
- 일반적으로 특정한 방향으로 움직인다. 시간에 따라 y축의 값이 증가하는 상승 트렌드가 쉽게 관측된다.
- 모든 시계열이 이렇지는 않다.
2. 계절성(Seasonality)
- 시간에 따라 반복되는 패턴을 가진다. 반복은 계절(season)이라 부르는 일정한 간격으로 일어난다.
- 계절성은 다양한 방식으로 시계열에 나타난다.
- 이 때, 몇 가지의 성분이 한꺼번에 나타나는 경우에 이러한 패턴들의 확률분포가 일정하지 않을 때 서로 동일하지 않은 분산을 가지면서 이분산성(Heteroskedasticity)이 증가한다. 이에 대해서는 이분산성의 감소를 위한 Log Transformation을 취해주면 이를 감소시킬 수 있다.
3. 자기상관(Autocorrelation)
- 어떤 이벤트 후에 예측 가능한 행동이 나타난다. 예를 들어 큰 상승 곡선 후에 반드시 큰 하락이 발생한다. 이런 일련의 행동이 반복된다. 예측가능한 특징이므로 이를 포함한 시계열도 예측할 수 있다.
4. 잡음(Noise)
- 시계열에 있는 임의의 변동이다. 변동은 예측을 어렵게 만든다.
- 잡음이 있다면 자기상관을 파악하고 값을 예측하는 데 어렵다.
5. 시간종속성(Time Dependence)
- 시계열 데이터는 시간을 기준으로 정렬되며, 데이터 포인트의 순서가 중요하다.
- 각 관찰은 이전 관찰과 미래 관찰에 따라 달라진다.
3. 시계열 데이터의 변동요인
3-1. 계절변동
- 관측된 시계열 자료들을 일 년 단위 혹은 더 짧은 기간의 주기로 기록했을 때 기후 등과 같은 자연의 조건, 사회적 관습, 혹은 제도 등의 영향을 받아서 계절적인 차이를 나타내는 것
- 시계열 자료에서 주기적인 패턴을 갖고 반복적으로 나타나는 주기변동
- 보통 분기별, 월별 자료에서 나타남
- 대부분의 경제 관련 시계열은 추세와 계절요인을 동시에 포함한다.
3-2. 순환변동(경기변동)
- 수년간의 간격을 두고 상승과 하락이 주기적으로 나타나는 변동
- 기후조건, 사회적 관습 등과 같은 계절변동으로 설명되지 않는 장기적인 주기변동
- 순환변동을 계절변동과 혼동할 수 있겠지만, 계절변동으로 설명되지 않는 장기적인 변동을 주기변동을 뜻합니다.
3-3. 불규칙 변동
- 시계열 자료에서 어떤 규칙성 없이 예측 불가능하게 우연적으로 발생하는 변동
- 시계열 자료로 예측할 때 불규칙 변동이 많이 존재하면 신뢰성있는 예측이 어렵다.
3-4. 추세변동
- 시계열 자료가 갖는 장기적인 변화추세. 짧은 기간의 시계열 자료에서는 추세변동을 찾기 어렵다.
- 시간의 흐름에 따른 시계열자료들의 상승경향이나 하강경향의 상태를 의미
4. 시계열 분석
4-1. 정상성(Stationarity)
- 일정하여 늘 한결같은 성질
- 시계열에서 정상성이 있다는 것은 추세나 동향이 없는 상태. 시계열의 평균이 시간 축(x)에 평행하다는 의미
- 추세(trend)나 계절성(Seasonality)이 있는 시계열은 관측 시점에 따라 특성이 바뀌기 때문에 정상적일 수 없다.
- 분산이 증가하거나 감소하는 시계열은 정상적이라 볼 수 없다.
- (a) 200 거래일 동안의 구글 주식 가격 ▶ 등락하는 확실한 추세가 보임
- (b) 200 거래일 동안의 구글 주식 가격의 일일 변동 ▶ 높게 솟아오르는 부분이 있어 분산이 안정적이지 못함, 이 경우 솟아오르는 부분 앞까지는 정상적 시계열이다.
- (c) 미국의 연간 파업 수 ▶ 등락하는 확실한 추세가 보임
- (d) 미국에서 판매되는 새로운 단독 주택의 월별 판매액 ▶ 뚜렷한 계절성
- (e) 미국에서 계란 12개의 연간 가격 ▶ 등락하는 확실한 추세가 보임
- (f) 호주 빅토리아 주에서 매월 도살한 돼지의 전체 수 ▶ 등락하는 확실한 추세가 보임
- (g) 캐나다 북서부의 맥킨지 강 지역에서 연간 포획된 스라소니의 전체 수 ▶ 정상성을 지님
- (h) 호주 월별 맥주 생산량 ▶ 뚜렷한 계절성
- (i) 호주 월별 전기 생산량 ▶ 등락하는 확실한 추세가 보임, 뚜렷한 계절성
- (g)의 경우, 다른 계절성을 지닌 시계열들과 다르게 등락에 있어 고정된 기간이 존재하지 않아 계절성을 지니고 있다고 보기 어려움.
- 대부분의 시계열은 비정상적이다. 시계열의 평균과 분산이 일정해야 시계열 값을 예측할 수 있기 때문에 시계열 분석을 위해서는 정상성을 만족해야 한다.
- 비정상 시계열은 추세나 계절성을 제거하거나, 분산을 일정하게 만들어서 정상성을 띠도록 할 수 있다.
* 요약
- 시계열 데이터란 시간 간격을 두고 있는 일련의 데이터셋의 집합이다.
- 시계열은 트렌드, 계절성, 자기상관, 잡음, 시간종속성의 특징을 가진다.
- 시계열 데이터의 변동요인으로는 계절변동, 순환변동, 불규칙변동, 추세변동이 있다.
- 정상성은 일정하여 늘 한결같은 성질로, 시계열에서 정상성이 있다는 것은 추세나 동향이 없는 상태이다.
- 대부분의 시계열은 비정상적이다. 시계열의 평균과 분산이 일정해야 시계열 값을 예측할 수 있기 때문에 시계열 분석을 위해서는 정상성을 만족해야 한다.
- 비정상 시계열은 추세나 계절성을 제거하거나, 분산을 일정하게 만들어서 정상성을 띠도록 할 수 있다.
4-2. 비정상시계열을 정상시계열로 만들기
1) 회귀 분석(regression approach)
2) 평활법(smoothing)
3) 차분(differencing)
- t시점과 t-1 시점의 값의 차이를 구하는 것 (현 시점 자료에서 전 시점 자료를 빼는 것)
- 일반차분 : 바로 전 시점의 자료를 뺌
- 계절차분 : 여러 시점 전의 자료를 뺌, 주로 계절성을 갖는 자료를 정상화 하는데 사용
- 정상성(Stationary)을 만족하지 못하는 시계열 데이터(평균이 계속 증가한다든지, 분산이 계속 감소한다든지)를 정상성이 만족하는 데이터로 변환한다.
4-3. 정상성 가정 검증 지표 2가지
- ACF, PACF plot을 통해 특정 시계열 데이터에 대한 적절한 모델을 선정할 수 있다.
1) ACF (Auto Covariance Function) : 자기상관함수
- 시차 k에 대해서, 두 관측치 간의 상관계수를 의미 (일반적인 상관관계를 구하는 함수식과 동일하게 계산)
2) PCAF (Partial Auto Correlation Function) : 편자기상관함수
- 시차 k에 대해서, 두 시점 사이의 다른 시점들과의 상호 의존성을 아예 제거하고 두 시점간의 순수한 상관관계를 구한다는 것을 의미
5. 시계열 분석 모형
5-1. AR모형(자기회귀모형, Auto Regressive)
- p (특정)시점 전의 자료가 현재 자료에 영향을 주는 자기회귀 모델 (예:주식)
- 자기 상관성을 시계열 모형으로 구성한 것. 변수의 과거값의 선형 조합을 이용하여 미래값을 예측하는 방법이다.
- 자기 자신을 종속변수로 설정하고, 이전 시점의 시계열(lag)을 독립변수로 갖는 모델을 의미한다. 즉, t 시점의 관측치 y
t 를 그 이전 시점의 계열들(시점이 조금 다른 자기자신들)을 가지고 모델링하겠다는 의미이다.
- 일반적인 AR 모델에서는 ACF는 일정히 감소 / PACF가 절단면을 갖는다.
5-2. MA모형 (이동평균법, Moving Average(q))
- 일정한 p구간(10일, 일주일, 한 달 등)의 데이터들의 평균을 계산하여, 미래를 예측하는 방법
- 시계열의 불규칙적인 변동을 제거하기 위함 (AR 모델만 사용하게 되면 이상치에 대한 설명력이 떨어짐)
- 과거로부터 현재까지 시계열 자료를 대상으로 시계열을 이동하면서 평균을 계산하는 방법
- 과거의 예측 오차값을 이용하여 미래값을 예측하는 방법. 자기 자신을 종속변수로 설정하고, 해당 시점과 그 과거의 값들과 white noise distribution error ε값을 독립변수로 갖는 모델을 의미한다. 이 경우에는 q를 하이퍼 파라미터로 한다.
2-3. ARMA (Auto Regressive Moving Average) : 자기회귀 이동평균모형
- 시계열 자료가 AR과 MA 모형의 요인을 동시에 가지고 있을 경우에 단일 분석모형으로만 설명하게 되면 차수 p, q가 커질 가능성이 높다.
- 추정 모수가 커지게 되면 추정의 효율성이 떨어질 위험성이 존재하므로 모수 절약의 원칙에 따라 AR 모형과 MA 모형을 결합한 모형이다.
- ARMA(p,q) 모형은 AR과 MA 모형이 결합된 모형으로, t 시점의 y_t를 자기자신과 lag 된 y값들과 t시점과 그 전 시점들의 오차를 함께 선형결합으로 표현한다.
2-4. Autoregressive Intergrated Moving Average (ARIMA) 모형
- 기존 AR, MA, ARMA 모델의 경우 데이터가 Stationary(정상적)이어야 했는데, Non-stationary인 경우에는 차분을 통해 데이터를 stationary하게 변형해주어야 한다. ARIMA는 ARMA 모델에 차분을 D회 수행해준 모델이다.
- 이 때, 차분이란 현 시점 데이터에서 d시점 이전 데이터를 뺀 것이다. 이는 시계열의 수준에서 나타나는 변화를 제거하고 시계열의 평균 변화를 일정하게 만드는 것을 돕는다.
- ARIMA 사용 시기 및 조건
- 단기예측에 적합
- 계절적 변동요인 (주기적 변동요인)
- 표본의 크기가 최소 50개 이상
- 정상적(Stationary)자료에 적용 가능
- 평균이 증가/감소 -> 차분(Difference)을 실시
- 분산이 증가/감소 -> Lag 변환
/////////////// Done up to here ///////////////////
'🤖 Data Study' 카테고리의 다른 글
[pytorch] torchvision에서 pretrained model 다운받기 (0) | 2023.07.15 |
---|---|
[BOOKMARK] (0) | 2020.04.30 |