Объясните функцию квантиля () в R
Я был озадачен функцией квантиля R весь день.
У меня есть интуитивное представление о том, как работают квантили, и M. S. В статистике, но мальчик О мальчик, документация для него сбивает меня с толку.
документы:
Q[i] (p) = (1 - гамма) x[j] + гамма x[j+1],
Я с ним до сих пор. Для типа Я квантиль, это интерполяция между x[j] и x [j+1], основанная на какой-то таинственной константе гамма
где 1
Итак, как вычислить j? м?
для квантиля непрерывной выборки типы (4 до 9), образец квантили могут быть получены линейным методом интерполяция между к-й порядок статистика и p (k):
p (k) = (K-Альфа) / (n-альфа-бета + 1), где α и β определяются константы по типу. Далее, m = Альфа + p(1 - альфа-бета), а гамма = g.
теперь я действительно потерял. p, который раньше был константой, теперь, по-видимому, является функцией.
Так что для квантилей типа 7, по умолчанию...
Тип 7
p (k) = (k - 1) / (n - 1). В этом случае p (k) = режим[F (x[k])]. Это используется С.
кто-нибудь хочет помочь мне? В частности, меня смущает обозначение p, являющееся функцией и константой, что за черт m есть, А теперь вычислить j для некоторого конкретного p.
Я надеюсь, что на основе ответов здесь, мы можем представить некоторые пересмотренные документы, которые лучше объясняют, что здесь происходит.
квантиль.R исходный код или типа: квантиль.по умолчанию
2 ответа:
Вы, понятно, в замешательстве. Что документации-это ужасно. Мне пришлось вернуться к статье, основанной на ней (Hyndman, R. J.; Fan, Y. (ноябрь 1996). "Образцы квантилей в статистических пакетах". Американская Статистика 50 (4): 361-365. doi: 10.2307 / 2684934), чтобы получить понимание. Начнем с первой проблемы.
где 1
первая часть идет прямо из бумаги, но то, что авторы документации опустили, было то, что
j = int(pn+m)
. Это значитQ[i](p)
зависит только от статистики двух порядков, наиболее близких кp
часть пути через (сортированные) наблюдения. (Для таких, как я, кто не знаком с этим термином, "статистика порядка" серии наблюдения-это отсортированная серия.)кроме того, это последнее предложение просто неправильно. Он должен читать
здесь гамма зависит от дробной части np+m, g = np+m-j
как
m
это просто.m
зависит от того, какой из 9 алгоритмов был выбран. Так же, какQ[i]
функция квантиля,m
следует считатьm[i]
. Для алгоритмов 1 и 2,m
равно 0, для 3,m
-1 / 2, а для другие, это в следующей части.для непрерывных типов квантилей выборки (от 4 до 9) квантили выборки могут быть получены линейной интерполяцией между статистикой k-го порядка и p (k):
p (k) = (k - Альфа) / (n - Альфа - Бета + 1), где α и β-константы, определяемые типом. Далее, m = Альфа + p (1-альфа-бета), а гамма = g.
это действительно сбивает с толку. То, что в документации называется
p(k)
is не то же самое какp
раньше.p(k)
- это построение должность. В статье авторы пишут это какp
k
, который помогает. Тем более что в выражении дляm
наp
оригиналp
иm = alpha + p * (1 - alpha - beta)
. Концептуально, для алгоритмов 4-9, точки (p
k
,x[k]
) интерполируются для получения раствора (p
,Q[i](p)
). Каждый алгоритм отличается только в алгоритме элементp
k
.что касается последнего бита, R просто указывает, что S использует.
в оригинальной статье приведен список из 6 "желательных свойств для функции квантиля образца" и указано предпочтение #8, которое удовлетворяет всем на 1. #5 удовлетворяет их всех, но им это не нравится по другим основаниям (это более феноменологично, чем выведено из принципов). #2-это то, что не-статические выродки, такие как я, будут рассматривать квантили и то, что описано в Wikipedia.
кстати, в ответ на dreeves ответ, Mathematica делает вещи значительно по-другому. Я думаю, что понимаю отображение. В то время как Mathematica легче понять, (а) легче стрелять себе в ногу с бессмысленными параметрами, и (б) он не может сделать алгоритм R #2. (Вот Квантильная страница Mathworld, который утверждает, что Mathematica не может сделать #2, но дает более простое обобщение всех других алгоритмов в терминах четыре параметра.)
существуют различные способы вычисления квантилей, когда вы даете ему вектор, и не имеют известного CDF.
рассмотрим вопрос о том, что делать, когда ваши наблюдения не попадают на квантили точно.
"типы" просто определяют, как это сделать. Итак, методы говорят:"используйте линейную интерполяцию между статистикой k-го порядка и P(k)".
Итак, что такое p (k)? Один парень говорит:"Ну, мне нравится использовать k/n". Другой парень говорит: "мне нравится использовать (k-1)/(n-1)" и т.д. Каждый из этих методов имеют различные свойства, которые лучше подходят для той или иной проблемы.
\alpha и \beta-это просто способы параметризации функций p.в одном случае они равны 1 и 1. В другом случае, они и 3/8 -1/4. Я не думаю, что p когда-либо являются константой в документации. Они просто не всегда показывают зависимость явно.
посмотрите, что происходит с различными типами, когда вы вставляете векторы, такие как 1:5 и 1:6.
(также обратите внимание, что даже если ваши наблюдения попадают точно на квантили, некоторые типы все равно будут использовать линейную интерполяцию).