AR (1)을 사용한 랜덤 워크 추정


10

AR (1)을 사용하여 임의의 보행을 추정하면 계수는 1에 매우 가깝지만 항상 적습니다.

계수가 1보다 크지 않은 수학 이유는 무엇입니까?


Matlab 도구 상자와 arima 스크립트를 사용해 보았습니다 (계수는 [-10,10]에 경계가 있고 결과는 같습니다). 간단한 OLS로 시도하고 결과는 동일합니다.
Marco

추정치는 하향 조정되었으므로 Dickey와 Fuller 논문을 읽어야합니다.
Marco

답변:


12

우리는 OLS에 의해 모델 x t = ρ x t 1 + u t를 추정합니다 .

xt=ρxt1+ut,E(ut{xt1,xt2,...})=0,x0=0

크기가 T 인 표본의 경우 추정량은

ρ^=t=1Txtxt1t=1Txt12=ρ+t=1Tutxt1t=1Txt12

ρ=1

xt=xt1+utxt=i=1tui

ρ^168ρ^<1

여기에 이미지 설명을 입력하십시오

Mean:0.0017773Median:0.00085984Minimum: 0.042875Maximum: 0.0052173Standard deviation: 0.0031625Skewness: 2.2568Ex. kurtosis: 8.3017

동일한 이름의 단위 루트 테스트를 수행하는 데 사용되는 임계 값의 기반이기 때문에 이것을 "Dickey-Fuller"분포라고도합니다.

샘플링 분포의 형태에 대한 직관 을 제공하려는 시도를 다시 생각하지 않습니다 . 우리는 랜덤 변수의 샘플링 분포를보고 있습니다

ρ^1=(t=1Tutxt1)(1t=1Txt12)

utρ^1ρ^1

T=5

독립적 인 제품 법선을 합하면 거의 0에 가까운 대칭 분포를 얻습니다. 예를 들면 다음과 같습니다.

여기에 이미지 설명을 입력하십시오

그러나 우리의 경우와 같이 비 독립 제품 법선을 합하면

여기에 이미지 설명을 입력하십시오

오른쪽으로 치우 치지 만 음수 값에 더 많은 확률 질량이 할당됩니다. 그리고 표본 크기를 늘리고 더 많은 상관 요소를 합에 추가하면 질량이 왼쪽으로 훨씬 더 밀려납니다.

비 독립 감마의 합의 역수는 양의 스큐를 갖는 음이 아닌 랜덤 변수입니다.

ρ^1


와우, 좋은 분석! 여기에서 위반 한 표준 OLS 가정을 표시 할 수 있습니까?
Richard Hardy

@RichardHardy 감사합니다. 귀하의 의견에 답변하기 위해 나중에 다시 방문하겠습니다.
Alecos Papadopoulos 2016

나는 아직도 OLS 가정에 대해 궁금합니다. 미리 감사드립니다!
Richard Hardy

Xt+1=αXt+ϵXt+1Xt

ρ^<1ρ^1

6

이것은 실제로 답변이 아니지만 의견이 너무 길기 때문에 어쨌든 게시합니다.

100의 표본 크기 ( "R"사용)에 대해 백 개 중 1보다 2 배 큰 계수를 얻을 수있었습니다.

N=100                   # number of trials
T=100                   # length of time series
coef=c()
for(i in 1:N){
 set.seed(i)
 x=rnorm(T)             # generate T realizations of a standard normal variable
 y=cumsum(x)            # cumulative sum of x produces a random walk y
 lm1=lm(y[-1]~y[-T])    # regress y on its own first lag, with intercept
 coef[i]=as.numeric(lm1$coef[1])
}
length(which(coef<1))/N # the proportion of estimated coefficients below 1

실현 84 및 95의 계수는 1보다 높 으므로 항상 1보다 낮지 는 않습니다 . 그러나 경향은 분명히 하향 편향 추정치를 갖는 것입니다. 질문이 남아 ?

편집 : 위의 회귀에는 모형에 속하지 않은 절편 항이 포함되었습니다. 절편이 제거되면 1 (10000 중에서 3158) 이상으로 더 많은 추정값을 얻지 만 여전히 모든 경우의 50 % 미만입니다.

N=10000                 # number of trials
T=100                   # length of time series
coef=c()
for(i in 1:N){
 set.seed(i)
 x=rnorm(T)             # generate T realizations of a standard normal variable
 y=cumsum(x)            # cumulative sum of x produces a random walk y
 lm1=lm(y[-1]~-1+y[-T]) # regress y on its own first lag, without intercept
 coef[i]=as.numeric(lm1$coef[1])
}
length(which(coef<1))/N # the proportion of estimated coefficients below 1

정확히, "항상"사소한 것이 아니라 대부분의 경우입니다. 분명히 가짜 결과입니다. 왜 그럴까요?
Marco

2
xtxt1
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.