На этой странице

Описательная статистика — методические заметки

Здесь собраны решения, на которых построен модуль описательной статистики: какие оценки стоят за статистиками и откуда берутся пороги, пометки и запасные варианты. Каждое решение подкреплено числами, полученными на наборе-примере (cafe.ru.csv, спецификация лежит рядом). Разделы повторяют структуру руководства.

Шаблоны настроек

Оба шаблона сохраняют объём выборки. Выбор шаблона определяется формой распределения: среднее и стандартное отклонение или медиана и квартили. Объём N — просто счётчик, от формы распределения он не зависит и потому входит в оба шаблона: иначе таблица по умолчанию («N, среднее, медиана, …») после выбора шаблона осталась бы вовсе без N. Два флажка представления шаблон не затрагивает по противоположной причине: выбор шаблона не должен незаметно переключать знаменатель или форму эксцесса.

Доступные статистики

Центральная тенденция

При усечении 50% усечённое среднее превращается в медиану. С каждого конца отсекается ⌊n⋅percent/100⌋ значений, так что при 50% и чётном n усечение удалило бы всю выборку. Поэтому в этом случае модуль выводит медиану, как и функция mean(x, trim = 0.5) в R, а при нечётном n единственное оставшееся после усечения значение и есть медиана.

Проверка. На 185 значениях времени ожидания в кафе среднее, усечённое на 10%, равно 4.93 и лежит между средним 5.20 и медианой 4.9, а mean(x, trim = 0.1) в R даёт те же 4.93.

Псевдомедиана Ходжеса — Лемана вычисляется через wilcox.test с mu вне данных. stats::wilcox.test(x, conf.int = TRUE) возвращает псевдомедиану и строит её интервал обращением распределения знаковых рангов: точно для малых выборок без совпадений и по нормальному приближению в остальных случаях. Это собственное правило R, общее для всей его экосистемы, поэтому модуль передаёт столбец в R, а не реализует обращение заново. Прежде чем строить оценку, wilcox.test отбрасывает все значения, равные mu, а по умолчанию mu равно 0, так что нули столбца выпали бы из псевдомедианы. Вызов задаёт mu равным минимуму выборки минус 1: этому значению не равно ни одно наблюдение, и оценка охватывает все значения. Поэтому простой вызов wilcox.test(x, conf.int = TRUE) на данных с нулями может дать другой результат, и это расхождение намеренное.

Проверка. Для времени ожидания в кафе псевдомедиана равна 4.95, а её 95%-й интервал — от 4.55 до 5.40, тогда как среднее равно 5.20, а медиана 4.9.

Разброс

Винзоризованное стандартное отклонение сохраняет знаменатель n − 1 и не определено, когда хвосты смыкаются. Винзоризация сохраняет объём выборки (крайние значения заменяются граничным, а не отбрасываются), поэтому в выборочной форме знаменатель — обычный n − 1, и на число винзоризованных значений степени свободы не уменьшаются. В форме генеральной совокупности знаменатель равен n. В каждом хвосте винзоризуется ⌊n⋅percent/100⌋ значений, и когда вдвое большее число достигает n, нижняя и верхняя границы пересекаются, а винзоризованная выборка превращается в бессмысленную перестановку. Тогда статистика выводится как Н/Д — при 50% и чётном n, но никогда при нечётном.

Проверка. Винзоризованное на 10% стандартное отклонение времени ожидания равно 2.30 при обычном стандартном отклонении 2.91.

Форма распределения

Асимметрия и эксцесс — скорректированные на смещение G₁ и G₂ при любом положении флажка выборочной статистики. Эти оценки по умолчанию выводят Excel, SPSS, SAS и e1071::skewness(type = 2) в R, поэтому значение из приложения совпадёт с результатом тех пакетов, в которых его, скорее всего, станут проверять. Флажок выборочной статистики на них не действует: стандартные ошибки и интервалы нормальной теории выведены именно для этих форм, и замена точечной оценки при неизменной стандартной ошибке исказила бы интервал. Для G₁ нужны три наблюдения, для G₂ — четыре, поскольку их поправочные множители делят на n − 2 и n − 3. При нулевой дисперсии стандартизованные моменты не определены, и обе оценки выводятся как Н/Д.

Проверка. У времени ожидания асимметрия равна 1.27 (стандартная ошибка по нормальной теории 0.18), избыточный эксцесс — 3.42 (0.36). Функция e1071::skewness(x, type = 2) на тех же 185 значениях даёт 1.27.

Бутстрэп-оценки стандартной ошибки и интервала помечаются по разным порогам, и в заголовке стоит «бутстрэп», а не BCa. Эти две величины опираются на разные механизмы. Стандартная ошибка — это стандартное отклонение конечных повторов, и примерно к 50 повторам она перестаёт заметно меняться, поэтому помечается, если их меньше 50. Такое возможно лишь на малой или вырожденной выборке, поскольку бутстрэп-выборки, на которых асимметрия или эксцесс не определены, отбрасываются. Концы интервала берутся из процентилей повторов, а при B = 100 это третья и девяносто восьмая порядковые статистики, то есть два отдельных повтора со своей погрешностью Монте-Карло. Поэтому интервал помечается, если повторов меньше 1000, и при заданных по умолчанию 100 повторах пометка стоит намеренно. Помечается он и тогда, когда метод складного ножа дал меньше двух конечных значений с исключением по одному наблюдению или преобразование BCa не определено (1−a(z0+z)≤0) и интервал перешёл на обычный процентильный. Метод складного ножа, на котором держится поправка на ускорение, вычисляет каждую статистику на n выборках объёма n − 1. Время его работы растёт квадратично с ростом n и никакой настройкой не ограничено (около 1.3 с на две статистики при n = 20 000, а дальше больше), поэтому свыше 20 000 наблюдений модуль его пропускает и сразу берёт процентильный интервал с пометкой, чтобы не задерживать расчёт. Поскольку интервал может перейти на процентильную форму, в заголовке столбца метод назван бутстрэп, а не BCa: такое название верно в обоих случаях.

Проверка. Для времени ожидания при зерне 42 и 1000 повторах бутстрэп-оценка стандартной ошибки асимметрии равна 0.42 против 0.18 по нормальной теории, а интервал BCa — от 0.57 до 2.17 против интервала нормальной теории от 0.92 до 1.62. На столь асимметричной переменной корректны именно более широкие интервалы. Для эксцесса стандартная ошибка равна 2.02, интервал — от −0.16 до 7.60. При 100 повторах, заданных по умолчанию, стандартная ошибка асимметрии равна 0.45 без пометки, а интервал от 0.59 до 2.11 помечен.

Общие показатели

Если разброс, на котором построено правило выбросов, равен нулю, выводится Н/Д, а не ноль. Границы 1.5·МКР и 3·МКР строятся по межквартильному размаху, а модифицированная Z-оценка — по медианному абсолютному отклонению. Этот разброс обращается в 0, если не меньше половины данных совпадают (для МКР) или больше половины равны медиане (для МАО). Тогда полоса без выбросов стягивается в точку и «за её пределами» оказывается любое другое значение, а число выбросов должно означать совсем не это. Поэтому и число, и диапазон без выбросов выводятся как Н/Д с пояснением при наведении, а не как 0, который воспринимался бы как «выбросов нет».

Проверка. Для времени ожидания границы равны −2.85 и 12.75 и отмечают два значения, 16.3 и 19.9. Экстремальные границы −8.7 и 18.6 отмечают только 19.9. Модифицированное правило Z при медиане 4.9 и медианном абсолютном отклонении 2.0 даёт границы −5.48 и 15.28 и отмечает те же два значения.

Разнообразие

Разнообразие числовой переменной помечается начиная с 90% различных значений, а H вычисляется без поправки на малую выборку. Когда почти все значения уникальны, H приближается к ln n, а J — к 1 при любой форме данных. Это выглядит как «идеальная равномерность», хотя лишь отражает уникальность значений, поэтому ячейки получают пояснение, как только доля различных значений достигает 0.9. Порог выбран так, чтобы счётные и другие числовые переменные с малым числом значений не помечались. H — оценка методом подстановки, без поправки Миллера — Мэдоу, которую применяет к своим энтропиям корреляционный анализ: в описательной таблице приводится разнообразие самой выборки, а не оценка для генеральной совокупности.

Проверка. У времени ожидания 82 различных значения из 185 (44%, без пометки): H = 4.25 ната, J = 0.965, 1 − D = 0.984.

Доверительные интервалы

Интервал для медианы по умолчанию точный, а по запросу — интерполированный. Точный интервал образуют порядковые статистики x₍ₗ₎ и x₍ᵤ₎, где l на единицу больше наибольшего k, при котором нижний хвост биномиального распределения с параметрами n и 0.5 не превышает α ⁄ 2, а u = n − k. Его покрытие равно тому дискретному уровню, на который попадает биномиальное распределение, и не ниже номинального, поэтому интервал консервативен и выводится как Н/Д, если уровня не достигает ни одна пара. Вариант Хеттманспергера — Шизера интерполирует между этой парой и соседней, более близкой к центру, по предложенной авторами нелинейной зависимости веса интерполяции от недобора покрытия (простая линейная интерполяция по покрытию исправляет недостаточно), и потому ближе подходит к номинальному уровню. Точный вариант выбран по умолчанию, потому что никогда не обещает больше, чем даёт. Интерполированный предложен потому, что именно его показывает вырез медианы на ящике с усами: с ним таблица согласуется с графиком. Оба вычисляются в логарифмической шкале, так что при большом n биномиальные вероятности не обращаются в машинный ноль.

Проверка. На 185 значениях времени ожидания оба способа дают интервал от 4.3 до 5.3. Точный интервал образуют 79-я и 107-я порядковые статистики с покрытием 96.1%, и каждая из них совпадает с соседней, более близкой к центру, так что интерполяции нечего сдвигать.

Интервалы для стандартного отклонения и дисперсии — интервалы Бонетта, а не χ²-интервал. Учебный интервал строится обращением (n−1)s2/σ2∼χ2(n−1) и опирается на предположение о нормальности, которое отнюдь не формально. Покрытие χ²-интервала определяется четвёртым моментом данных, поэтому даже при умеренном избыточном эксцессе номинальный 95%-й интервал на деле накрывает параметр заметно реже и, в отличие от t-интервала для среднего, с ростом n точнее не становится. Интервал Бонетта (Bonett, 2006) строится в логарифмической шкале, и его ширина зависит от эксцесса самой выборки, так что покрытие сохраняется при тех отклонениях, при которых χ²-интервал перестаёт работать. Эксцесс оценивается относительно усечённого центра, а не среднего: относительно среднего те же хвостовые значения, которые должны расширять интервал, раздували бы и эксцесс, задающий его ширину. Пять наблюдений нужны именно из-за доли усечения 1/(2n−4), а интервал для дисперсии — это возведённые в квадрат границы интервала для стандартного отклонения. Оба интервала определены для выборочного стандартного отклонения, поэтому при статистике генеральной совокупности их флажки блокируются и снимаются. Плата за это — сопоставимость: читатель, пересчитавший интервал в другом пакете, получит χ²-интервал и другую пару чисел, поэтому в заголовках столбцов стоит Бонетт, а подсказка на заголовке объясняет причину.

Проверка. У времени ожидания стандартное отклонение 2.91 имеет 95%-й интервал Бонетта от 2.47 до 3.47. Интервал по χ² дал бы от 2.64 до 3.24 — он уже, хотя избыточный эксцесс переменной равен 3.4.

Интервал для доли — интервал Уилсона, а бинарной считается переменная ровно с двумя различными непропущенными значениями. Интервал Вальда p±zp(1−p)/n при p = 0 или 1 сжимается до нулевой ширины, а вблизи этих значений выходит за границы 0 и 1. Интервал Уилсона получается обращением критерия Рао (score test), остаётся внутри [0, 1] без обрезки и сохраняет покрытие вблизи границ. Переменная считается бинарной, если её непропущенные значения принимают ровно два различных значения, будь она категориальной или числовой, поэтому фиктивные переменные 0/1 получают эти столбцы в таблице числовых переменных. Доля считается для более частого уровня, а при равных частотах — для встреченного первым, и этот уровень указан в столбце Категория, чтобы долю не отнесли к другому. При одном уровне доля тривиально равна 1, а при трёх и более одна доля уже не описывает переменную, поэтому в ячейках стоит Н/Д с пояснением при наведении, а не доля наибольшего уровня, выданная за полную картину.

Воспроизводимость

При заданном зерне каждая переменная получает свой поток случайных чисел, привязанный к её позиции в выборе. С одним общим потоком на весь запуск бутстрэп-интервал переменной зависел бы от того, какие ещё переменные и статистики выбраны вместе с ней: статистика, добавленная к соседней переменной, сдвинула бы все последующие случайные числа. Это свело бы на нет воспроизводимость, ради которой задают зерно бутстрэпа. Поэтому каждая переменная берёт числа из двух собственных потоков (для стандартной ошибки медианы и для бутстрэпа формы), порождённых зерном и порядковым номером переменной в выборе. Результаты переменной остаются побитово прежними, когда в выбор добавляется следующая переменная, и меняются, только если выбор переупорядочен, поскольку поток следует за позицией. Запуски без зерна используют общий Math.random, и всё это к ним не относится.