Как рассчитать стандартное двухмерное отклонение со средним 0, ограниченным пределами


10

Моя проблема заключается в следующем: я бросаю 40 шариков одновременно с определенной точки, на несколько метров над полом. Шарики катятся и отдыхают. Используя компьютерное зрение, я вычисляю центр масс в плоскости XY. Меня интересует только расстояние от центра масс до каждого шара, которое рассчитывается с использованием простой геометрии. Теперь я хочу знать одностороннее стандартное отклонение от центра. Итак, я мог бы знать, что определенное количество шаров находится в пределах одного стандартного радиуса, больше шаров в пределах 2 * стандартного радиуса и так далее. Как рассчитать одностороннее стандартное отклонение? При нормальном подходе половина шариков будет находиться на «отрицательной стороне» от 0. Это, конечно, не имеет смысла в этом эксперименте. Я должен удостовериться, что шары соответствуют стандартному распределению? Спасибо за любую помощь.

Ответы:


13

Чтобы охарактеризовать количество двумерной дисперсии вокруг центроида, вы просто хотите получить среднеквадратичное расстояние (корень),

σ^=RMS=1ni((xix¯)2+(yiy¯)2).

В этой формуле - координаты точки, а их центроид (точка средних) - ( ˉ x , ˉ y ) .(xi,yi),i=1,2,,n(x¯,y¯).


Вопрос требует распределения расстояний. Когда шары имеют изотропное двумерное нормальное распределение вокруг их центроида - что является стандартным и физически обоснованным предположением - квадрат расстояния пропорционален распределению хи-квадрат с двумя степенями свободы (по одной для каждой координаты). Это является прямым следствием одного определения распределения хи-квадрат как суммы квадратов независимых стандартных нормальных переменных, потому что - линейная комбинация независимых нормальных переменных с ожиданиемE[xi- ˉ x ]=n-1

xix¯=n1nxiji1nxj
Записать общую дисперсиюxiкакσ2,E[(xi- ˉ x )2]=Var(xi- ˉ x )=( n - 1
E[xix¯]=n1nE[xi]ji1nE[xj]=0.
xiσ2 Предположение об анизотропии состоит в том, что уyjимеют такое же распределение, что иxi,и не зависят от них, поэтому для распределения(yj- ˉ y )2имеет место одинаковый результат. Это устанавливает константу пропорциональности:квадраты расстояний имеют распределение хи-квадрат с двумя степенями свободы, масштабированное поn-1
E[(xix¯)2]=Var(xix¯)=(n1n)2Var(xi)+ji(1n)2Var(xj)=n1nσ2.
yjxi(yjy¯)2.n1nσ2

n=2n1n1n=2n=40

фигура

σ1

n=2n=40


σ2n1nσ2χ222n=40σ24039/2σ40/78χ22

  • 39/40σ^χ221

  • 339/40σ^χ223

13n=401,2,,10n1nσ^2

0.3932 0.6320 0.7767 0.8647 0.9178 0.9504 0.9700 0.9818 0.9890 0.9933

Теоретические пропорции

0.3935 0.6321 0.7769 0.8647 0.9179 0.9502 0.9698 0.9817 0.9889 0.9933

Соглашение отлично.


Вот Rкод для проведения и анализа моделирования.

f <- function(n, n.iter, x.min=0, x.max=Inf, plot=TRUE) {
  #
  # Generate `n.iter` experiments in which `n` locations are generated using
  # standard normal variates for their coordinates.
  #
  xy <- array(rnorm(n*2*n.iter), c(n.iter,2,n))
  #
  # Compute the squared distances to the centers for each experiment.
  #
  xy.center <- apply(xy, c(1,2), mean)
  xy.distances2 <- apply(xy-array(xy.center, c(n.iter,2,n)), c(1,3), 
                         function(z) sum(z^2))
  #
  # Optionally plot histograms.
  #
  if(plot) {
    xy.plot <- xy.distances2[xy.distances2 >= x.min & xy.distances2 <= x.max]

    hist(log(xy.plot), prob=TRUE, breaks=30,
         main=paste("Histogram of log squared distance, n=", n),
         xlab="Log squared distance")
    curve(dchisq(n/(n-1) * exp(x), df=2) * exp(x) * n/(n-1), 
          from=log(min(xy.plot)), to=log(max(xy.plot)), 
          n=513, add=TRUE, col="Red", lwd=2)

    hist(xy.plot, prob=TRUE, breaks=30,
         main=paste("Histogram of squared distance, n=", n),
         xlab="Squared distance")
    curve(n/(n-1) * dchisq(n/(n-1) * x, df=2), 
          from=min(xy.plot), to=max(xy.plot), 
          n=513, add=TRUE, col="Red", lwd=2)  
  }
  return(xy.distances2)
}
#
# Plot the histograms and compare to scaled chi-squared distributions.
#
par(mfrow=c(2,2))
set.seed(17)
xy.distances2 <- f(2, 10^5, exp(-6), 6)
xy.distances2 <- f(n <- 40, n.iter <- 50000, exp(-6), 12)
#
# Compare the last simulation to cumulative chi-squared distributions.
#
sigma.hat <- sqrt((n / (2*(n-1)) * mean(xy.distances2)))
print(cumsum(tabulate(cut(xy.distances2, 
                    (0:10) * (n-1)/n * sigma.hat^2))) / (n*n.iter), digits=4)
print(pchisq(1:10, df=2), digits=4)

2
Спасибо за очень полный ответ. Я не совсем понимаю, как формула RMS может описывать стандартное отклонение без деления на количество шариков. Если вы сравните это с http://en.wikipedia.org/wiki/Root-mean-square_deviation_(bioinformatics, то они поделили сумму на N. Если сумма делится на N или N-1 (поскольку 40 шаров - это просто выбор из популяции шаров?)
K_scheduler

После повторных вычислений мне кажется, что я добился sqrt (SDx ^ 2 + SDy ^ 2). Это даст мне радиус для круга, который содержит все шары с вероятностью 65%, верно?
K_scheduler

Это эквивалентная формула для RMS, но значение 65% неверно, как объясняется в этом ответе.
whuber

2
@nali Все эти пункты четко изложены в моем ответе здесь.
whuber

4
@nali Ваши посты здесь выходят за пределы приличия в их хамстве и нападках ad hominem . Хотя меня не беспокоит то, что меня считают невежественным или глупым, как модератор этого сайта, я должен заботиться о том, чтобы вести гражданскую беседу, и поэтому не могу терпеть насилие, которое вы публикуете. Соответственно, я удалил ваш последний комментарий. Если я получу от вас комментарии, которые являются такими же грубыми, по отношению к кому-либо вообще, я буду удалять их без дополнительного уведомления, и я (или другие модераторы) предприму немедленные шаги для ограничения вашего взаимодействия на этом сайте.
whuber

4

Я думаю, что вы немного запутались. Это правда, что расстояние не может быть отрицательным, но это не влияет на расчет стандартного отклонения. Хотя это означает, что распределение расстояний не может быть совершенно нормальным, оно все равно может быть близким; но даже если это далеко от нормы, все равно есть стандартное отклонение.

Также не существует «одностороннего» стандартного отклонения - вы можете подумать о проверке гипотез (которая может быть односторонней или двусторонней). В своем названии вы говорите, что среднее значение равно 0, но среднее расстояние не будет равно 0 (если шары не в стеке высотой 40 шаров!), И вы говорите, что есть ограничения - могут быть ограничения, если шары будут брошены в комната, тогда они не могут быть дальше от центра, чем расстояние до ближайшей стены. Но если некоторые шары не отскочат от стены, это не повлияет на вещи.

Итак, когда у вас есть 40 расстояний, вы вычисляете стандартное отклонение (и среднее значение, медиану, диапазон между четвертями и т. Д.), Используя стандартные методы. Вы также можете сделать графики расстояния (например, квантиль нормальный график, рамочный график), чтобы увидеть, является ли оно примерно нормально распределенным (если это представляет интерес).


Спасибо, Питер, я не правильно выразился. Позвольте мне попытаться уточнить: представьте себе сцену сверху. Вы рассчитываете среднее расстояние, оно будет отображаться в виде круга вокруг центра масс (среднее расстояние = радиус). Теперь отклонение +/- от этого приведет к меньшему кругу и большему кругу. Я не хочу знать стандартное отклонение среднего расстояния до центра масс, а скорее стандартное отклонение от центра масс наружу. Другими словами, в каком радиусе от центра масс находится 68,2% (одно стандартное отклонение) шаров.
K_scheduler

π

Возможно, вы правы в своем первом ответе. Из того, что я обнаружил, использование радиального стандартного отклонения должно помочь. RSD = sqrt (SDx ^ 2 + SDy ^ 2)
K_scheduler

1

Прошло много времени с тех пор, как об этом спросили, но ответ на вопрос заключается в том, что это 2D-распределение, называемое распределением Рэлея. Здесь предполагается, что коэффициент формы Рэлея равен обоим стандартным отклонениям координат X и Y. На практике значение коэффициента формы будет рассчитываться из объединенного среднего значения стандартного отклонения X и Y.

XN(μx,σx2)
YN(μy,σy2)

f(x,y)=12πσxσy1ρ2exp(12(1ρ2)[(xμx)2σx2+(yμy)2σy22ρ(xμx)(yμy)σxσy])

(μx,μy)
ρ=0

σx2=σy2
σ2

(μx,μy)

PDF(r;σ)=rσ2exp(r22σ2)
σ=σx=σy
ri=(xiμx)2+(yiμy)2

CDF(r;σ)=1exp(r22σ2)

Конечно это для непрерывного распределения. Для образца из 40 шаров нет точного решения. Вам нужно будет провести анализ Монте-Карло с образцом из 40 шаров. Taylor, MS & Grubbs, Frank E. (1975). В «Приближенном распределении вероятностей для экстремального разброса» найдены оценки для распределения Хи и логарифмически нормальное для этого распределение, соответствующее распределению выборки.


Редактировать - Несмотря на сомнения Вубера, теоретические пропорции, которые он рассчитал:

0,3935 0,6321 0,7769 0,8647 0,9179 0,9502 0,9698 0,9817 0,9889 0,9933

Из функции CDF совокупные значения сигмы для r (в сигмах) равны диапазону от:

0-1, 0-2, 0-3, ..., 0-10

находятся:

0,3935, 0,6321, 0,7769, 0,8647, 0,9179, 0,9502, 0,9698, 0,9817, 0,9889, 0,9933


Спасибо за наименование дистрибутива. Однако, (1) не делая различий между параметром распределения и оценками этого параметра, полученными из данных, (2) не указывая (сильные) предположения, необходимые для распределения шаров, и (3) из-за неопределенности, вы рискуете вводящие в заблуждение читатели. В самом деле, неясно, какова ссылка вашего «этого»: будет ли распределение мест расположения шаров? (Нет.) Распределение центра масс? (Да, но с параметром масштаба, который отличается от стандартного отклонения шаров.) Хотели бы вы уточнить свой ответ?
whuber

заполнены пробелы ....
MaxW

4040

Распределение около центра масс.
MaxW

CDF настроен на один шар, конечно. Из CDF 39% шаров попадут в круг радиуса σ, 86% в пределах 2σ и 99% в пределах 3σ.
MaxW

-1

Нормальное распределение, как положительные, так и отрицательные значения, имеет смысл, если вы признаете, что это нормальное распределение для радиуса или «расстояния от центроида». Другая переменная, угол, является случайной и равномерно распределена от 0-пи


Радиус, который никогда не может быть отрицательным, определенно не будет иметь нормального распределения!
whuber
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.