Математика, необходимая для получения точного результата, является грязной, но мы можем вывести точное значение для ожидаемого квадрата коэффициента корреляции относительно безболезненно. Это помогает объяснить , почему значение около продолжает демонстрировать и почему увеличение длины п случайного блуждания не изменит вещи.1/2n
Существует вероятность путаницы в отношении стандартных условий. Абсолютная корреляция, о которой идет речь в этом вопросе, наряду со статистикой, составляющей его, - дисперсии и ковариации - являются формулами, которые можно применять к любой паре реализаций случайных блужданий. Вопрос касается того, что происходит, когда мы смотрим на многие независимые реализации. Для этого нам нужно принять ожидания в отношении процесса случайного блуждания.
(Редактировать)
Прежде чем мы продолжим, я хочу поделиться с вами некоторыми графическими соображениями. Пара независимых случайных блужданий - это случайное блуждание в двух измерениях. Мы можем построить путь, который идет от каждого ( X т(X,Y) до X t + 1 , Y t + 1 . Если этот путь стремится вниз (слева направо, нанесенный на обычные оси XY), тодля изучения абсолютного значения корреляциисведем на нет всезначения Y. Нарисуйте ходы по осям размером, чтобы дать X и(Xt,Yt)Xt+1,Yt+1YX значения равны стандартные отклонения и накладываться наименьших квадратов из Y к X . Наклоны этих линий будут абсолютными значениями коэффициентов корреляции, всегда лежащими между 0 и 1 .YYX01
На этом рисунке показано таких прогулок, каждая длиной 960 (со стандартными нормальными отличиями). Маленькие открытые круги отмечают их отправные точки. Темные круги отмечают их последние места.15960
Эти склоны имеют тенденцию быть довольно большими. Совершенно случайные диаграммы рассеяния этого множества точек всегда будут иметь наклоны, очень близкие к нулю. Если бы нам пришлось описать паттерны, возникающие здесь, мы могли бы сказать, что большинство 2D случайных блужданий постепенно мигрируют из одного места в другое. (Однако это не обязательно их начальная и конечная точки!) Примерно в половине случаев такая миграция происходит в диагональном направлении - и наклон соответственно высок.
Остальная часть этого поста обрисовывает в общих чертах анализ этой ситуации.
Случайное блуждание является последовательностью частичных сумм ( W(Xi) где W i - независимые одинаково распределенные переменные с нулевым средним. Пусть их общая дисперсия равна σ 2 .(W1,W2,…,Wn)Wiσ2
В реализации такого обхода «дисперсия» будет вычислена так, как если бы это был какой-либо набор данных:x=(x1,…,xn)
V(x)=1n∑(xi−x¯)2.
Хороший способ вычислить это значение - взять половину среднего от всех квадратов разностей:
V(x)=1n(n−1)∑j>i(xj−xi)2.
Когда рассматривается как результат случайного блуждания X из n шагов, ожидание этогоxXn
E(V(X))=1n(n−1)∑j>iE(Xj−Xi)2.
Различия представляют собой суммы переменных iid,
Xj−Xi=Wi+1+Wi+2+⋯+Wj.
Расширяйте площадь и принимайте ожидания. ПосколькуWkWkσ2
E((Wi+1+Wi+2+⋯+W2j))=(j−i)σ2.
Отсюда легко следует, что
E(V(X))=1n(n−1)∑j>i(j−i)σ2=n+16σ2.
xy
E(C(X,Y)2)=3n6−2n5−3n2+2n480n2(n−1)2σ4.
Следовательно, ожидание в квадратеXYn
ρ2(n)=E(C(X,Y)2)E(V(X))2=3403n3−2n2+3n−2n3−n.
9/400.47ρ(n)
ρ2(n)1000В каждой из симуляций вертикальные красные линии показывают средние значения, а пунктирные синие линии показывают значение формулы. Ясно, что это неправильно, но асимптотически это правильно. Очевидно, все распределениеρ2( н ) приближается к пределу как Nувеличивается. Аналогичным образом, распределение| ρ(n) | (что представляет собой количество процентов) приблизится к пределу.
Это R
код для создания фигуры.
f <- function(n){
m <- (2 - 3* n + 2* n^2 -3 * n^3)/(n - n^3) * 3/40
}
n.sim <- 1e4
par(mfrow=c(1,4))
for (n in c(3, 10, 30, 100)) {
u <- matrix(rnorm(n*n.sim), nrow=n)
v <- matrix(rnorm(n*n.sim), nrow=n)
x <- apply(u, 2, cumsum)
y <- apply(v, 2, cumsum)
sim <- rep(NA_real_, n.sim)
for (i in 1:n.sim)
sim[i] <- cor(x[,i], y[,i])^2
z <- signif(sqrt(n.sim)*(mean(sim) - f(n)) / sd(sim), 3)
hist(sim,xlab="rho(n)^2", main=paste("n =", n), sub=paste("Z =", z))
abline(v=mean(sim), lwd=2, col="Red")
abline(v=f(n), col="Blue", lwd=2, lty=3)
}