Общее обсуждение:
Существует много различных возможностей для выборочных функций квантилей; мы хотим, чтобы они обладали различными свойствами (в том числе простыми для понимания и объяснения!), и в зависимости от того, какие свойства нам нужны больше всего, мы можем предпочесть разные определения.
В результате большое разнообразие пакетов между ними использует множество различных определений.
В статье Hyndman и Fan [1] приведены шесть желательных свойств для выборочной функции квантиля, перечислены девять существующих определения функции квантиля и упоминает, какие (из ряда общих) пакеты какие определения используют. Во введении говорится (извините, математика в этой цитате больше не отображается должным образом, поскольку она была перемещена в SO):
все выборочные квантили, которые используются в статистических пакетах, основаны на статистике одного или двух порядков и могут быть записаны как
\ hat {Q} _i (p) = (1 - γ) X _ {(j)} + γ 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 предлагает все девять определений, упомянутых в Hyndman & Fan (по умолчанию - 7 долларов). От Hyndman & Fan мы видим:
Определение 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
. То есть нижний квартиль - это 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
не является целым числом, используется средневзвешенное значение статистики смежного порядка пропорционально доле, которая находится между ними (то есть линейная интерполяция).
Приятно то, что в среднем вы получаете в 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
. То есть между вторым и третьим наблюдением (которые по совпадению сами по себе 2 и 3) проходит 25% пути, поэтому нижний квартиль равен 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 & Fan). Во-первых, он дает общую информацию:
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 & Fan в том, что касается определений, и его поведение довольно простое.
Ссылка:
[1]: Роб Дж. Хайндман и Янан Фан (1996),
«Выборочные квантили в статистических пакетах»,
Американский статистик, Vol. 50, No. 4. (ноябрь), стр. 361-365
Также см. Обсуждение здесь.
person
Glen_b
schedule
08.01.2015