Знаходження квартилів в R


33

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

введіть тут опис зображення

Після перегляду ?quantileя спробував відтворити це в R за допомогою наступного:

> nuclear <- c(7, 20, 16, 6, 58, 9, 20, 50, 23, 33, 8, 10, 15, 16, 104)
> quantile(nuclear)
   0%   25%   50%   75%  100% 
  6.0   9.5  16.0  28.0 104.0 

Враховуючи, що текст і R мають різні результати, я вважаю, що R використовує медіану при обчисленні першого і третього квартилів.

Питання:

Чи слід включати медіану при обчисленні першого і третього квартилів?

Більш конкретно, чи правильно це підручник чи R? Якщо в підручнику це правильно, чи є спосіб правильно досягти цього в R?

Заздалегідь спасибі.

r  quantiles 

6
Декілька ниток тут обговорюють багато способів обчислення чи оцінки квантування. Ось один із авторитетною відповіддю , але інші доступні за допомогою пошуку на нашому сайті. Коротше кажучи, ваш підручник представляє нестандартний метод обчислення квартілів, але quantileтипи 1, 2 і 6 будуть відтворювати їх для набору даних саме цього розміру . Жоден із Rметодів не відповідає вашому підручнику. (
Хочеться дивуватись

@whuber Спасибі за цей коментар, він дуже допоміг, оскільки я побоююся, що я ще не маю технічної підґрунтя, щоб точно визначити quantile, що роблять різні типи .

@whuber: це явно нестандартно (про що, мабуть, згадується десь у книзі), але не інтуїтивно. Ви вважаєте, що це неправильно математично?
Майкл М

6
@Michael Ви можете визначити "квартил" будь-яким, що вам подобається, тому в математиці немає нічого поганого. Зрозуміло, що асимптотично ці визначення працюють для великих . Але введення дефініції роману в підручник несе для розумних студентів, як Чак Д., які зауважують, що вони не можуть отримати свої розрахунки, щоб погодитися з програмним забезпеченням, публікаціями чи іншим, окрім їх тексту. н
whuber

1
R використовує дев'ять різних визначень квантилів (за замовчуванням він використовує визначення 7). Дивіться?quantile
Glen_b -Встановіть Моніку

Відповіді:


43

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

quantileФункція Rреалізує дев'ять різних способів обчислювальних квантилів! Щоб побачити, який із них, якщо такий є, відповідає цьому методу, почнемо з його реалізації. З опису ми можемо написати алгоритм спочатку математично, а потім у R:

  1. Замовте дані .x1x2xn

  2. Для будь-якого набору даних медіана - це його середнє значення, коли є непарне число значень; інакше це середнє значення двох середніх значень, коли є парне число значень. R«S medianфункція обчислює це.

    Індекс середнього значення . Коли це не є цілим числом, є медіаною, де і є закруглені вниз і вгору. В іншому випадку, коли - ціле число, - медіана. У такому випадку візьміть і . У будь-якому випадку - індекс значення даних безпосередньо зліва від медіани, а - індекс значення даних безпосередньо праворуч від медіани.m=(n+1)/2(xl+xu)/2lummxml=m1u=m+1lу

  3. "Перший квартал" є медіаною всіх для яких . "Третій квартал" є медіаною для якої .хiiл(хi)iу

Ось реалізація. Це може допомогти вам виконувати свої вправи в цьому підручнику.

quart <- function(x) {
  x <- sort(x)
  n <- length(x)
  m <- (n+1)/2
  if (floor(m) != m) {
    l <- m-1/2; u <- m+1/2
  } else {
    l <- m-1; u <- m+1
  }
  c(Q1=median(x[1:l]), Q3=median(x[u:n]))
}

Наприклад, висновок quart(c(6,7,8,9,10,15,16,16,20,20,23,33,50,58,104))відповідає тексту:

Q1 Q3 
 9 33 

Давайте обчислимо квартилі для деяких невеликих наборів даних, використовуючи всі десять методів: дев'ять у Rта підручник:

y <- matrix(NA, 2, 10)
rownames(y) <- c("Q1", "Q3")
colnames(y) <- c(1:9, "Quart")
for (n in 3:5) {
  j <- 1
  for (i in 1:9) {
    y[, i] <- quantile(1:n, probs=c(1/4, 3/4), type=i)
  }
  y[, 10] <- quart(1:n)
  cat("\n", n, ":\n")
  print(y, digits=2)
}

Якщо запустити це і перевірити, ви побачите, що значення підручника не відповідають жодному з Rрезультатів для всіх трьох розмірів вибірки. (Шаблон розбіжностей триває протягом циклів третього періоду, показуючи, що проблема зберігається незалежно від того, наскільки великою може бути вибірка.)

9.528


3
Велика подяка за таку детальну відповідь, а також надання мені інструментів для самостійної роботи та оцінки різних методів. Я зараз їх підпалю і детальніше розберуся.

2

У галузі статистики (яку я викладаю, але в якій я не є дослідником), квартирні обчислення є особливо неоднозначними (таким чином, як це не обов'язково стосується квантових даних, загалом). За цим багато історії, частково через використання (і, можливо, зловживання) міжквартильного діапазону (IQR), який не чутливий до людей, що переживають, як чек або альтернативу стандартному відхиленню. Залишається відкритим змаганням, три корінні методи обчислення Q1 та Q3 є канонічними.

Як це часто трапляється, стаття у Вікіпедії має розумний підсумок: https://en.m.wikipedia.org/wiki/Quartile Текст Ларсона та Фарбера, як і більшість текстів елементарної статистики, використовує те, що описано у статті Вікіпедії як " Спосіб 1. " Якщо я дотримуюся описаних вище описів, r використовує "Метод 3". Вам доведеться вирішити, що є канонічно доречним у вашому власному полі.


Ви заробляєте хороші бали (+1). Але враховуючи, що посилання на "Метод 1" - це калькулятор TI-83 і Excel (відсутність достовірності якого добре відомий), що цей метод демонстративно упереджений і що його не важче обчислити, ніж шарніри Тукі, було б здається важким виправдати або рекомендувати його використання.
whuber
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.