Общее обсуждение:
Существует множество различных возможностей для функций квантования выборок; мы хотим, чтобы у них были различные свойства (в том числе простые для понимания и объяснения!), и в зависимости от того, какие свойства мы хотим больше всего, мы могли бы предпочесть разные определения.
В результате большое разнообразие пакетов между
В статье Hyndman и Fan [1] приведены шесть желательных свойств для функции квантования выборок, перечислены девять существующих определений для функции квантиля и упоминается которые (из ряда общих) используют эти определения. Его введение гласит (извините, математика в этой цитате больше не отображается должным образом, поскольку она была перенесена в SO):
выборочные квантили, которые используются в статистических пакетах, основаны на одна или две статистики порядка и могут быть записаны как
\ hat {Q} _i (p) = (1 - γ) X _ {(j)} + γ X _ {(j + 1)} \ , где \ frac {jm} {n} \ leq p & lt; \ frac {j-m + 1} {n} \ quad (1)
для некоторого m \ in \ mathbb {R} и 0 \ leq \ gamma \ leq 1.
blockquote>То есть, как правило, образцы квантов могут быть записаны как некоторая средневзвешенная из двух смежных статистических данных (хотя может быть, что на одном из них имеется только один вес).
В R:
В частности, R предлагает все девять определений, упомянутых в Hyndman & amp; Fan (с по умолчанию $ 7 $). Из Hyndman & amp; Вентилятор мы видим:
Определение 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) $.
blockquote>Что это значит? Рассмотрим
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
не является целым числом, он принимает средневзвешенное значение смежной статистики порядка, пропорционально той, что находится между (т. е. линейная интерполяция ).Приятно, что в среднем вы получаете в 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 & amp; 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],
blockquote>
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
blockquote>
. p[k] = (k - 1) / (n - 1). In this case, p[k] = mode[F(x[k])]. This is used by S.
Надеюсь, объяснение, которое я дал ранее, помогает лучше понять, что это говорит. Помощь по
quantile
в значительной степени просто цитирует Hyndman & amp;Ссылка:
[1]: Rob J. Hyndman и Yanan Fan (1996), «Образец Quantiles в статистических пакетах ", Американский статистик , Vol. 50, № 4. (ноябрь), стр. 361-365
Также см. Обсуждение здесь .