여정의 기록

시계열의 시간에 따른 의존관계, 자기상관 본문

공부중 ...

시계열의 시간에 따른 의존관계, 자기상관

Chelsey 2023. 4. 17. 03:21
728x90

자기상관

시계열에 따른 의존구조가 있는 것을 자기공분산, 자기상관으로 파악한다.

  • 자기공분산 : 서로 얼마나 선형관계가 있는가? 서로 다른 시차를 이용
  • 자기상관함수 : 자기공분산을 표준화한 것

자기공분산함수와 자기상관함수은 

  • 시차의 순서는 상관없다. 대칭성을 가지기 때문
  • 시점이 같으면
    자기공분산함수: r(t,t) = var(Y_t) 분산이 됨
    자기상관함수 : p(t,t) = 1 이 됨 (같은 변수의 관계라서)
  • 자기상관이 없으면
    자기공분산함수, 자기상관함수 모두 0이 됨. 선형관계가 없다.
  • 양의 자기상관
    자기공분산함수 r(s,t) > 0 
    자기상관함수 0 < p(s,t) <= 1 , 1에 가까울수록 선형관계가 있다는 뜻
  • 음의 자기상관
    자기공분산함수 r(s,t) < 0
    자기상관함수 -1 <= p(s,t) <0 , -1에 가까울수록 반비례 선형관계가 있다는 뜻 

 

시계열 자기상관 종류 3가지

그리고, 각 종류는 각자의 방법이 아닌, 서로 활용될 수 있는 것이다?

  • 백색잡음계열 : 예측하기 어려운 계열

정규분포에서 생선된 단수

시계열이 (패턴 유무)랜덤한 것/ 아닌 것 구분
기댓값, 분산, 자기공분산, 자기상관함수 (데이터 이용x. 이론적 값들) 

  • 이동평균계열 : 전기(이전의)의 오차에 의해 결정되는

  • 확률보행계열 : 상수와 전기값에 의해 결정됨

예측 불가능한 변동이 발생함. 그래서 값이 오를 확률, 내릴 확률이 같다. 

예측값 = 마지막 예측값으로 가정함.

오차항의 분포를 백색잡음으로 가정함.

분산을 보면 t시점에 의존 -> 비정상 시계열

자기상관계수와 부분자기상관계수

상관계수

  • 표본상관계수 r : 두 변수의 선형적 관계 확인

-1 <= r <= 1 값을 가지는데 0이면 관계가 없고, -1이면 반비례 관계, 1이면 비례관계에 가깝다.

 

  • 표본자기상관계수 : 두 변수 중 한 변수를 시차변수로 두고 구한 표본상관계수

두 시차간격이 중요하기 때문에 t+h, t-h 결과가 같다.

시계열이 서로 독립, 동일한 분포 -> 백색잡음계열임 -> 귀무가설 할 수 있음

귀무가설 = 0 검정 

상관도표 correlogram - x축 시차, y축 도표

 

  • 표본부분자기상관계수

Grand - mom - me 에서 Grand와 me의 관계를 보는 것 

Y_t , Y_t+h 의 관계... 그 사이의 시차들의 영향력을 제거하고 보는 것

 

 

이 시계열이 백색잡음계열이냐 아니냐 ... 

시계열이 다변량 정규분포가 모든 자기상관계수가 0이면 백색잡음계열이니까

모든 자기상관계수가 0인지 검정하는 것 -> 륭과 박스의 검정

륭과 박스의 검정

 

안정시계열과 불안정시계열

안정시계열 

전통적인 통계 분석을 이용할 때 큰 문제는 없다

강안정성 : 구간이 달라져도 매 구간별 특성이 동일한 시계열

약안정성 : 시계열의 평균, 분산에 시간에 따른 규칙이 없고, 자기공분산이 시차에 의존하는 시계열

보통 약안정성으로 가정함

백색잡음계열, 이동평균계열

불안정시계열

안정시계열이 아닌 시계열

기댓값, 공분산이 시간에 따라 변하는 시계열

경제시계열 : 대체로 추세변동과 계절변동이 뚜렷한 불안정시계열

확률보행계열

이를 어떻게 분석하는가?

    차분, 변수변환하여 안정시계열로 변경하여 분석하거나,

    불안정시계열의 선형결합이 안정시계열인 경우를 찾아서 분석한다.

 

# install.packages("forecast") 
# install.packages("ggplot2")
# install.packages("readxl")
library(forecast)
library(ggplot2)
library(readxl)

#### 그림 3-2 백색잡음계열과 시계열도표, 상관도표와 부분상관도표

set.seed(2312)
nn = 52*4
### rnorm 정규분포에서 독립적으로 nn개 랜덤숫자 생성
### 1970년부터 4분기 타임 시리즈로 변경
wn = ts(rnorm(nn), start=1970, frequency=4)

### 그래프
plot(wn, main="", xlab="", ylab="백색잡음", col="steelblue")
 abline(h=0, lty=2, col="gray")

### 상관도표 그리기
### 0부터 나타남
acf(wn, main="", col="steelblue", xlab="")
### 부분상관도표 그리기
### 백색잡음계열이여서 모두 점선안에 위치
pacf(wn, main="", col="steelblue", xlab="")

# p-value 를 보고 백색잡음인지 확인 (5%가 아니면)
Box.test(wn, lag=8, type="Ljung")
wn %>% ggtsdisplay(main="", theme=theme_bw())

#### 그림 3-7 GDP 로그차분계열의 시계열도표, 상관도표와 부분상관도표

gdp = read_excel("./data/데이터.xlsx", sheet="GDP")
gdp_ts = ts(gdp[,3]/1000, start=1960, frequency=4)
dlgdp_ts =  window(diff(log(gdp_ts)), start=2000)
dlgdp_ts %>% ggtsdisplay(main="", theme=theme_bw())

 

728x90