Wydaje się, że jest naprawdę wysoki, ale jest to dla mnie sprzeczne z intuicją. Czy ktoś może wyjaśnić? Jestem bardzo zdezorientowany tą sprawą i doceniłbym szczegółowe, wnikliwe wyjaśnienie. Z góry dziękuję!
źródło
Wydaje się, że jest naprawdę wysoki, ale jest to dla mnie sprzeczne z intuicją. Czy ktoś może wyjaśnić? Jestem bardzo zdezorientowany tą sprawą i doceniłbym szczegółowe, wnikliwe wyjaśnienie. Z góry dziękuję!
(Napisałem to jako odpowiedź na inny post, który został napisany jako duplikat tego, gdy go tworzyłem; pomyślałem, że opublikuję go tutaj, a nie wyrzucę. Wygląda na to, że mówi coś podobnego do Whubera odpowiedź, ale jest na tyle inna, że ktoś może coś z tego wyciągnąć.)
Losowy spacer ma postać
Zauważ, że
Stąd .
Zauważ też, że
W konsekwencji .
Oznacza to, że powinieneś zobaczyć korelację wynoszącą prawie 1, ponieważ gdy tylko zacznie się powiększać, i są prawie dokładnie takie same - względna różnica między nimi jest zwykle niewielka.y t y t - 1
Najłatwiej to zobaczyć, wykreślając vs. .y t - 1
Widzimy to teraz nieco intuicyjnie - wyobraź sobie, że spadł do (jak to widzieliśmy w mojej symulacji losowego marszu ze standardowym normalnym terminem hałasu). Wtedy będzie całkiem blisko ; może to być lub może to być ale prawie na pewno będzie w granicach kilku jednostek . Tak więc, gdy seria dryfuje w górę i w dół, wykres vs prawie zawsze będzie znajdować się w dość wąskim zakresie linii ... ale wraz ze wzrostem punkty będą obejmować większe i większe odcinki wzdłuż tegolinia (rozpiętość wzdłuż linii rośnie z , ale pionowa rozpiętość pozostaje w przybliżeniu stała); korelacja musi zbliżyć się do 1.
Oto R
kod, który wytworzył obrazy.
set.seed(17)
n <- 1e3
x <- cumsum((runif(n) <= 1/2)*2-1) # Binomial random walk at x_0=0
rho <- format(cor(x[-1], x[-n]), digits=3) # Lag-1 correlation
par(mfrow=c(1,2))
plot(x, type="l", col="#e0e0e0", main="Sample Path")
points(x, pch=16, cex=0.75, col=hsv(1:n/n, .8, .8, .2))
plot(x[-n], x[-1], asp=1, pch=16, col=hsv(1:n/n, .8, .8, .2),
main="Lag-1 Scatterplot",
xlab="Current value", ylab="Next value")
mtext(bquote(rho == .(rho)))