2015-01-08 2 views
8

Основной вопрос: предположим, что у вас есть дискретный конечный набор данных $ d $. Затем сводка команд (d) возвращает Min, 1st квартиль, средний, средний, 3-й квартиль и макс. Мой вопрос: какая формула использует R для вычисления 1-го квартиля?Определения квантилей в R

Оправе: Мой заказ был: d=c(1,2,3,3,4,9). summary(d) возвращает 2.25 как первый квартиль. Теперь одним из способов вычисления первого квартиля является выбор значения q1, так что 25% набора данных меньше, чем q1. Ясно, что это не то, что использует R. Итак, мне было интересно, какая формула использует R для вычисления первого квартиля?

Поиск в Google по этой теме еще более озадачен, и я не смог найти формулу, которую использует R. Ввод help(summary) в R тоже не помог мне.

+0

[Wikipedia] (http://en.wikipedia.org/wiki/Quantile#Estimating_the_quantiles_of_a_population) дает формулы – Henry

ответ

10

Общее обсуждение:

Есть много различных возможностей для выборочных квантилей функций; мы хотим, чтобы у них были разные свойства (в том числе простые для понимания и объяснения!), и в зависимости от того, какие свойства мы хотим больше всего, мы можем предпочесть разные определения.

В результате широкое разнообразие пакетов между ними использует множество различных определений.

Документ Hyndman и Fan [1] дает шесть желательных свойств для функции квантования образца, перечисляет девять существующих определений для функции квантиля и упоминает, какие (из числа общих) пакетов используют эти определения. Его Введение говорит (извините, математика в этой цитате не делает должным образом больше, так как он был перемещен в SO):

выборочные квантили, которые используются в статистических пакеты основаны на одном или двух порядковые статистики и можно записать в виде

\ шляпу {Q} _i (р) = (1 - γ) X _ {(к)} + γ X _ {(J + 1)} \ ,,
где \ frac {jm} {n} \ leq p < \ frac {j-m + 1} {n} \ quad (1)

для некоторых m \ in \ mathbb {R} и 0 \ leq \ gamma \ leq 1.

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

В R:

В частности, R предлагает все девять определений, упомянутых в Гайндмане & Fan (с $ 7 $, как по умолчанию). От Hyndman & Вентилятор мы видим:

Определение 7. Гумбель (1939) также рассмотрел модальное положение $ p_k = \ text {mode} \, F (X _ {(k)}) = (k-l)/(n-1) $. Одно приятное свойство состоит в том, что вершины $ Q_7 (p) $ делят диапазон на $ n-1 $ интервалы и точно $ 100p \% $ интервалов лежат слева от $ Q_7 (p $) и $ 100 (1 -p) \% $ отрезков справа от $ Q_7 (p) $.

Что это значит? Рассмотрим n=9.Затем для (k-1)/(n-1) = 0.25 вам понадобится k = 1+(9-1)/4 = 3. То есть, нижняя квартиль является третьим наблюдением 9.

Мы можем видеть, что в R:

quantile(1:9) 
    0% 25% 50% 75% 100% 
    1 3 5 7 9 

Для его поведения при n не формах 4k+1, проще всего сделать, это попытаться это:

> quantile(1:10) 
    0% 25% 50% 75% 100% 
1.00 3.25 5.50 7.75 10.00 
> quantile(1:11) 
    0% 25% 50% 75% 100% 
1.0 3.5 6.0 8.5 11.0 
> quantile(1:12) 
    0% 25% 50% 75% 100% 
1.00 3.75 6.50 9.25 12.00 

Когда k не целое число, он принимает взвешенное среднее значение статистики смежных порядка, пропорционально доле лежит между ними (то есть, он делает linear interpolation).

Приятно, что в среднем вы получаете в 3 раза больше наблюдений над первым квартилом, когда вы становитесь ниже. Так, например, для 9 наблюдений вы получаете 6 выше и 2 ниже третьего наблюдения, которое делит их на соотношение 3: 1.

Что происходит с вашими данными выборки

Вы d=c(1,2,3,3,4,9), так n равно 6. Вы должны (k-1)/(n-1) быть 0.25, так k = 1 + 5/4 = 2.25. То есть, это занимает 25% пути между вторым и третьим наблюдением (которые, по совпадению, сами 2 и 3), поэтому нижний квартиль составляет 2+0.25*(3-2) = 2.25.

Под капотом: некоторые детали R:

При вызове summary на кадре данных, это приводит к summary.data.frame применяются к кадру данных (т.е. Релевантному summary для класса вы назвали его) , Его существование упоминается в справочной системе по адресу summary.

summary.data.frame функция (в конечном счете - через summary.default применяется к каждому колонку) вызывает quantile для вычисления квартили (вы не увидите в помощи, к сожалению, так ?summary.data.frame просто берешь вас к summary помощи и не дайте вам какие-либо сведения о том, что происходит, когда summary применяется к цифровому вектору - это одно из тех очень плохих мест в справочной системе).

Так ?quantile (или help(quantile)) описывает, что делает R.

Вот две вещи, которые он говорит (основываясь непосредственно на Hyndman & Вентилятор).Во-первых, это дает общую информацию:

All sample quantiles are defined as weighted averages of consecutive order statistics. Sample quantiles of type i are defined by:

Q[i](p) = (1 - γ) x[j] + γ x[j+1],

where 1 ≤ i ≤ 9, (j-m)/n ≤ p < (j-m+1)/n, x[j] is the jth order statistic, n is the sample size, the value of γ is a function of j = floor(np + m) and g = np + m - j, and m is a constant determined by the sample quantile type.

Во-вторых, есть конкретная информация о методе 7:

Type 7
m = 1-p

. p[k] = (k - 1)/(n - 1). In this case, p[k] = mode[F(x[k])]. This is used by S.

Надеется, что объяснение, которое я дал ранее помогает сделать более понятным, что это говорит. Помощь на quantile в значительной степени просто цитирует Hyndman & Вентилятор, насколько определения идут, и его поведение довольно просто.


Ссылка:

[1]: Роб Дж Гайндман и Янан Fan (1996),
"Примеры Квантили в статистических пакетах,"
Американский Статистик, Vol. 50, № 4. (ноябрь), стр. 361-365

Также см. Обсуждение here.

+0

Спасибо за ваш ответ. Тем не менее, я все еще немного смущен. Похоже, что R использует довольно много методов для вычисления квантилей, и похоже, что этот метод 7, независимо от того, что он есть, является значением по умолчанию и также используется в команде summary. Тем не менее, по-прежнему возникают проблемы с поиском точной формулы, которую R использует для вычисления квантиля. Еще раз спасибо. –

+1

Надеюсь, теперь это яснее. –

+0

Большое спасибо. Это яснее. Я принимаю ваш ответ. –

 Смежные вопросы

  • Нет связанных вопросов^_^