Стандартне відхилення спостережуваних спостережень


25

У мене є набір даних зразкових спостережень, які зберігаються як рахунки в межах діапазону. наприклад:

min/max  count
40/44    1
45/49    2
50/54    3
55/59    4
70/74    1

Тепер, знайти оцінку середнього з цього досить прямо. Просто використовуйте середнє значення (або медіану) кожного бункера діапазону як спостереження, а підрахунок як вагу та знайдіть середньозважене:

х¯=1i=1Nшii=1Nшiхi

Для мого тестового випадку це дає мені 53,82.

Зараз моє запитання полягає в тому, який правильний метод знаходження стандартного відхилення (або дисперсії)?

Під час пошуку я знайшов декілька відповідей, але не впевнений, який, якщо такий є, насправді підходить для мого набору даних. Я зміг знайти таку формулу як в іншому питанні тут, так і у випадковому документі NIST .

с2=i=1Nшi(хi-х¯)2(М-1)Мi=1Nшi

Що дає стандартне відхилення 8,35 для мого тестового випадку. Однак стаття Вікіпедії про зважених засобах дає обидві формули:

с2=i=1Nшi(i=1Nшi)2-i=1Nшi2i=1Nшi(хi-х¯)2

і

с2=1(i=1Nшi)-1i=1Nшi(хi-х¯)2

Які дають стандартні відхилення 8,66 та 7,83 відповідно для мого тестового випадку.

Оновлення

Дякуємо @whuber, який запропонував вивчити виправлення Шеппарда, та ваші корисні коментарі щодо них. На жаль, мені важко зрозуміти ресурси, які я можу знайти про це (і я не можу знайти хороших прикладів). Для резюме, я розумію, що наведена нижче упереджена оцінка дисперсії:

с2=1i=1Nшii=1Nшi(хi-х¯)2

Я також розумію, що більшість стандартних виправлень зміщення стосуються прямих випадкових вибірок нормального розподілу. Тому я бачу два потенційні проблеми для мене:

  1. Це бінні випадкові вибірки (які, я впевнений, саме там, де надходять Корекції Шеппарда.)
  2. Невідомо, чи є ці дані для нормального розподілу (тому я припускаю, що ні, що, я впевнений, визнає неправомірними виправлення Шеппарда.)

Отже, моє оновлене запитання: Який підходящий метод поводження з ухилом, накладений "простою" зваженою формулою стандартного відхилення / дисперсії на ненормальному розподілі? Найбільш конкретно щодо бінарних даних.

Примітка: я використовую такі терміни:

  • с2 - зважена дисперсія
  • N - кількість спостережень. (тобто кількість бункерів)
  • М - кількість ненульових ваг. (тобто кількість бункерів з рахунками)
  • шi - ваги (тобто рахунки)
  • хi - це спостереження. (тобто кошти для сміття)
  • х¯ - середнє зважене значення.

5
"Виправлення Шеппарда" від Google для стандартних рішень цієї проблеми.
whuber

@whuber, я боюся, що мій google-foo не вдається мені ... Я не знаходжу багато про те, як використовувати виправлення Шеппарда. Наскільки я можу сказати, це виправлення для збитого характеру даних, і в моєму тестовому випадку буде використано як , де - розмір кошиків (у моєму тестовому випадку, 4). Це правильно? У будь-якому випадку, те, що я все ще знаходжу, не допомагає мені обчислити . cs2с2-c212cс2
chezy525

Другий удар в моєму пошуку Google дає явну формулу (рівняння 9).
whuber

@whuber, пройшло вже пару місяців, і я спробував прочитати документ, з яким ти зв'язався пару разів. Я думаю, що мені все-таки щось не вистачає, але найкраще, що я придумав, - це те, що остаточне рівняння, яке я перерахував, є правильним як неупереджений оцінювач. Чи це правильно?
chezy525

Виправлення Шеппарда не передбачають нормальності.
Glen_b -Встановіть Моніку

Відповіді:


18

У цій відповіді представлено два рішення: виправлення Шеппарда та максимальна оцінка ймовірності. Обидва тісно погоджуються щодо оцінки стандартного відхилення: для першого та для другого (якщо його коригують таким чином, щоб воно було порівняно зі звичайним "неупередженим" оцінником).7,697.707.69


Виправлення Шеппарда

"Виправлення Шеппарда" - це формули, які коригують моменти, обчислені з бінних даних (як ці) де

  • припускається, що дані керуються розподілом, підтримуваним на кінцевому інтервалі[а,б]

  • цей інтервал послідовно ділиться на рівні відрізки загальної ширини що є відносно невеликим (жоден контейнер не містить велику частку всіх даних)год

  • розподіл має функцію безперервної щільності.

Вони виведені із формули суми Ейлера-Маклауріна, яка наближає інтеграли за лінійними комбінаціями значень інтеграла у регулярно розташованих точках, а тому загалом застосовна (а не лише до нормальних розподілів).

Хоча строго кажучи, нормальний розподіл не підтримується на кінцевому проміжку, до надзвичайно близького наближення він є. По суті вся її вірогідність міститься в межах семи стандартних відхилень середнього значення. Тому виправлення Шеппарда застосовні до даних, які, як вважається, надходять із звичайного розподілу.

Перші два виправлення Шеппарда є

  1. Використовуйте середнє значення бінізованих даних для середнього значення даних (тобто корекція для середнього не потрібна).

  2. Відніміть 2/12 від дисперсії бінізованих даних, щоб отримати (приблизну) дисперсію даних.год2/12

Звідки походить 2/12? Це дорівнює дисперсії рівномірної змінної, розподіленої на інтервал довжини . Тоді інтуїтивно виправлення Шеппарда на другий момент говорить про те, що поповнення даних - фактично замінюючи їх середньою точкою кожного біна -, як видається, додає приблизно рівномірно розподілене значення в межах від та , звідки воно надувається дисперсія .год2/12год-год/2год/2год2/12

Зробимо розрахунки. Я використовую Rдля їх ілюстрації, починаючи з вказівки рахунків та бункерів:

counts <- c(1,2,3,4,1)
bin.lower <- c(40, 45, 50, 55, 70)
bin.upper <- c(45, 50, 55, 60, 75)

Належна формула, яка використовується для підрахунків, походить від реплікації ширини відрізка на величини, задані підрахунками; тобто зв'язані дані еквівалентні

42.5, 47.5, 47.5, 52.5, 52.5, 57.5, 57.5, 57.5, 57.5, 72.5

Їх кількість, середнє значення та дисперсія можна обчислити безпосередньо, не розширюючи дані таким чином: коли бін має середину та кількість , то його внесок у суму квадратів становить . Це призводить до другої з формул Вікіпедії, цитованої у питанні.хккх2

bin.mid <- (bin.upper + bin.lower)/2
n <- sum(counts)
mu <- sum(bin.mid * counts) / n
sigma2 <- (sum(bin.mid^2 * counts) - n * mu^2) / (n-1)

Середнє значення ( mu) становить (не потребує корекції), а дисперсія ( ) - . (Його квадратний корінь становить як зазначено у запитанні.) Оскільки загальна ширина біна , віднімаємо диспенсію і беремо його квадратний корінь, отримуючи для стандартного відхилення.1195 рік/2254.32sigma2675/1161.367,83год=5год2/12=25/122.08675/11-52/127.70


Максимальна оцінка ймовірності

Альтернативний метод - застосувати максимальну оцінку ймовірності. Коли припущений базовий розподіл має функцію розподілу (залежно від параметрів що підлягає оцінці), а bin містить значень із набору незалежних, однаково розподілених значень з , тоді (добавка) внесок у ймовірність цього кошика єЖθθ(х0,х1]кЖθ

журналi=1к(Жθ(х1)-Жθ(х0))=кжурнал(Жθ(х1)-Жθ(х0))

(див. MLE / Ймовірність ненормально розподіленого інтервалу ).

Підведення підсумків по всіх бункерах дає ймовірність журналу для набору даних. Як завжди, ми знаходимо оцінку яка мінімізує . Для цього потрібна чисельна оптимізація, а це прискорюється шляхом надання хороших початкових значень для . Наступний код працює для нормального розподілу:Λ(θ)θ^-Λ(θ)θR

sigma <- sqrt(sigma2) # Crude starting estimate for the SD
likelihood.log <- function(theta, counts, bin.lower, bin.upper) {
  mu <- theta[1]; sigma <- theta[2]
  -sum(sapply(1:length(counts), function(i) {
    counts[i] * 
      log(pnorm(bin.upper[i], mu, sigma) - pnorm(bin.lower[i], mu, sigma))
  }))
}
coefficients <- optim(c(mu, sigma), function(theta) 
  likelihood.log(theta, counts, bin.lower, bin.upper))$par

Отримані коефіцієнти - .(мк^,σ^)=(54.32,7.33)

Однак пам’ятайте, що для нормальних розподілів максимальна оцінка правдоподібності (коли дані вказані точно і не поширюються) - це популяція SD даних, а не більш звичайна оцінка «виправленого зміщення», у якій дисперсія множиться на . Давайте (для порівняння) виправимо MLE , знайшовши . Це сприятливо порівнюється з результатом корекції Шеппарда, який становив .σн/(н-1)σн/(н-1)σ^=11/10×7.33=7.697.70

Перевірка припущень

Для візуалізації цих результатів ми можемо побудувати встановлену нормальну щільність на гістограмі:

hist(unlist(mapply(function(x,y) rep(x,y), bin.mid, counts)),
     breaks = breaks, xlab="Values", main="Data and Normal Fit")
curve(dnorm(x, coefficients[1], coefficients[2]), 
      from=min(bin.lower), to=max(bin.upper), 
      add=TRUE, col="Blue", lwd=2)

Малюнок

Для когось це може не виглядати добре. Однак, оскільки набір даних невеликий (всього значень), можуть виникати напрочуд великі відхилення між розподілом спостережень та справжнім базовим розподілом.11

Давайте більш офіційно перевіримо припущення (зроблене MLE), що дані регулюються нормальним розподілом. Приблизну корисність тесту на придатність можна отримати з тесту : оцінені параметри вказують на очікуваний об'єм даних у кожному контейнері; статистик порівнює спостережувані відліки з очікуваними підрахунками. Ось тест з :χ2χ2R

breaks <- sort(unique(c(bin.lower, bin.upper)))
fit <- mapply(function(l, u) exp(-likelihood.log(coefficients, 1, l, u)),
              c(-Inf, breaks), c(breaks, Inf))
observed <- sapply(breaks[-length(breaks)], function(x) sum((counts)[bin.lower <= x])) -
  sapply(breaks[-1], function(x) sum((counts)[bin.upper < x]))
chisq.test(c(0, observed, 0), p=fit, simulate.p.value=TRUE)

Вихід є

Chi-squared test for given probabilities with simulated p-value (based on 2000 replicates)

data:  c(0, observed, 0) 
X-squared = 7.9581, df = NA, p-value = 0.2449

Програмне забезпечення виконало перестановочний тест (який необхідний тому, що статистика тесту точно не відповідає розподілу чі-квадрата: див. Мій аналіз у розділі Як зрозуміти ступеня свободи ). Його p-значення , що не є малим, свідчить про дуже малий доказ відходу від нормальності: у нас є підстави довіряти максимально можливим результатам.0,245

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.