Оценки Bootstrap и доверительные интервалы с простыми примерами кода Python

TL;DR

Мы собираемся применить метод начальной загрузки для оценки классификатора Напоминание, Точность, F1-оценка, ROC AUC, и т. д. и построить соответствующие доверительные интервалы.

В разделе А теперь и в Python есть код, который вы можете скопировать и вставить, который вы можете использовать по своему усмотрению.

Честно говоря, в большей части этого поста я буду пропагандировать использование доверительных интервалов, в частности, построенных с использованием методов начальной загрузки.

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

Если вы не уверены, следует ли вам читать этот пост, следующий раздел может помочь вам принять решение.

Стоит ли вам прочитать этот пост?

Предисловие к Знакомству с бутстрапом начинается следующим образом:

Статистика - это предмет удивительно большого числа применений и удивительно мало эффективных практиков. Традиционный путь к статистическим знаниям для большинства заблокирован огромной стеной математики. Наш подход здесь избегает этой стены. Бутстрап - это компьютерный метод статистического вывода, который может ответить на многие реальные статистические вопросы без формул. Наша цель в этой книге - вооружить ученых и инженеров, а также статистиков вычислительными методами, которые они могут использовать для анализа и понимания сложных наборов данных.
- Efron & Tibshirani, 1994

В этом посте я (смиренно) постараюсь достичь аналогичной цели.

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

В этом посте я постараюсь убедить вас, специалиста по данным, в том, что:

  1. Доверительные интервалы могут быть очень полезным инструментом.
  2. Построение доверительных интервалов может быть простой задачей.

Я скажу, что какими бы достойными ни были эти две цели, есть некоторые предостережения, которые мы будем рассматривать по мере продвижения вперед.

Вступление

Оценки.

В этом вся суть.

Мы строим модель и хотим оценить ее производительность с помощью некоторой метрики, например, Recall. Мы хотим, чтобы наша оценка была как можно ближе к «истинному» отзыву - отзыву, который будет у нашего классификатора, когда мы выпустим его в «дикую природу», то есть при развертывании в производственной среде.

Рассмотрим обычную оценку, например, средний рост. Вероятно, мы не стали бы рассчитывать средний рост 5 000 человек и говорить, что он в точности равен среднему росту 1 000 000 других людей. Точно так же было бы бессмысленно рассчитывать отзыв на основе 5000 точек данных и ожидать, что он будет точно таким же, как отзыв для 1 000 000 точек данных, с которыми классификатор столкнется в будущем.

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

Этот пост посвящен ознакомлению читателя с такими методами и предоставляет простой в использовании код Python для их применения.

Что вы найдете в этом посте?

  1. Что такое бутстрап?
  2. Метод начальной загрузки .632 / .632 +
  3. Зачем нам нужны доверительные интервалы?
  4. Доверительные интервалы начальной загрузки - почему и как?
  5. Как интерпретировать доверительный интервал?
  6. Размер выборки и ширина доверительного интервала
  7. А теперь на Python
  8. Вот драконы

1. Что такое бутстрап?

Бутстрап - это широко применяемый и чрезвычайно мощный статистический инструмент, который можно использовать для количественной оценки неопределенности, связанной с данным оценщиком или методом статистического обучения. - Джеймс и др., 2013

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

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

Конкретный пример

Допустим, мы хотели бы найти среднее количество приложений, которые пользователи телефонов Android в настоящее время установили на свои устройства. Для этого мы собираем данные от 1000 владельцев мобильных телефонов Android, вычисляем среднее количество приложений и находим, что оно составляет 47.038.

Однако мы хотели бы получить оценку того, насколько надежным или точным является это среднее значение - или, другими словами, мы хотели бы оценить стандартную ошибку найденного нами среднего значения.

Для выполнения вышеизложенного мы применяем процедуру начальной загрузки, выполнив следующие действия:

  1. Выборка (с заменой) 1000 точек данных из набора данных.
  2. Рассчитайте среднее количество приложений на основе этой выборки.

Мы повторяем эти два шага 1000 раз - каждый раз передискретизируя точки данных из набора данных и вычисляя среднее значение.

На рисунке 1 описаны два распределения:

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

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

                        mean	median	stdev
Bootstrap estimates:	47.035	47.034	0.125
True estimates:		47.003	47.001	0.123

Теперь у нас есть 1000 средних значений, полученных из образцов начальной загрузки. Среднее значение этих средних значений составляет 47,035 - это наша оценка начальной загрузки для выборочного среднего (среднее количество приложений в нашем наборе данных), и оно очень близко к среднему значению истинных оценок - 47,003.

Мы также вычисляем стандартное отклонение этих 1000 оценок начальной загрузки и получаем 0,125 - это наша оценка стандартной ошибки выборочного среднего, т. Е. Оценка для стандартной ошибки. »Среднего числа приложений, рассчитанного с использованием нашего набора данных.
Другими словами, мы можем ожидать, что исходное выборочное среднее (47,038) будет отличаться от истинного среднего в среднем на 0,125.

Найденная нами стандартная ошибка может быть использована для построения доверительного интервала. Если мы предположим нормальное распределение выборочного среднего, оценки, полученные с помощью метода начальной загрузки, позволяют нам сказать, что существует 95% вероятность того, что интервал [46,79, 47,28] покрывает (содержит) истинное среднее - среднее количество приложений. всех пользователей телефонов Android в мире.

Примечание. Мы не будем подробно останавливаться на методе построения вышеуказанного доверительного интервала, поскольку в этой публикации мы будем использовать другой подход.

Почему мы использовали метод начальной загрузки?

Если мы можем собрать больше данных, это здорово, но во многих случаях у нас есть только определенный объем данных, и мы должны смириться с этим - мы не можем получить больше данных из исходной совокупности из-за ограничений по времени, бюджетных ограничений или по другим причинам.

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

2. Что такое метод начальной загрузки .632 /.632+?

Когда мы приступаем к оценке параметра, нас часто интересует «точность» нашей оценки - мы хотели бы знать, является ли наша оценка «стабильной», то есть имеет низкую изменчивость.

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

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

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

Оценщик .632 и оценщик .632+ - это начальные оценки, которые решают проблему смещенной оценки путем корректировки смещения (.632 + - лучший, но более сложный в вычислительном отношении метод).

Оценщик .632 был введен [Efron, 1983] как оценщик частоты ошибок правила предсказания при классификации будущих наблюдений. В документе показано, что оценка .632 работает лучше, чем перекрестная проверка и несколько других оценок.

Однако позже в [Efron & Tibshirani, 1997] было отмечено, что оценка .632 может страдать от смещения в сторону уменьшения при использовании для оценки частоты ошибок моделей, которые могут быть сильно переобучены. Оценщик .632+ исправляет возможную проблему смещения и дает более точные оценки.

Примечание. Оценщик начальной загрузки на самом деле является сглаженной версией оценщика перекрестной проверки [Efron & Tibshirani, 1997], где сглаженный в данном случае означает уменьшенную изменчивость.

Что означает .632?

Когда мы выбираем из равномерного распределения n элементов, вероятность получить конкретный элемент составляет 1 / n. а вероятность не рисовать - 1- (1 / n).
Когда мы рисуем n элементов с заменой (все розыгрыши независимы) вероятность того, что конкретный элемент никогда не будет нарисован, составляет (1- (1 / n)) ^ n, что равно 1 / e, поскольку n приближается к бесконечности (см. здесь).

Поскольку мы выполняем выборку с заменой, это означает, что в среднем n * 1 / e (приблизительно n * 0,368 ) элементов не будут выбраны, или, другими словами, наша выборка из n элементов будет содержать прибл. n * 0,632 (63,2%) элементов в наборе данных (поскольку мы производили выборку с заменой из униформы распределение).
Этот результат используется для взвешивания нескольких членов, от которых зависит оценка смещения, отсюда и название. 632 оценка.

Это вся математика?

Поскольку формальное определение оценок .632 и .632+ зависит от формальных определений коэффициента ошибок отсутствия информации, относительного коэффициент переобучения, bootstrap-исключение-один-выход и несколько других терминов, я не буду загромождать этот раздел многочисленными уравнениями и любезно отсылаю читателя к [Efron & Tibshirani, 1997] для исчерпывающего вывода оценок и их свойств.
Для более короткого и хорошо написанного объяснения см. этот ответ на CrossValidated.

Надеюсь, что когда-нибудь Medium будет поддерживать LaTeX, и для написания дюжины уравнений с чередованием текста не потребуется использовать дюжину изображений.

3. Почему нам следует заботиться о доверительных интервалах?

Допустим, мы создали классификатор, и для оценки его производительности мы тестируем его на одной точке данных, и мы все делаем правильно - отзыв составляет 100%. Огромный успех!

Но это звучит забавно, правда? тестирование классификатора на одной точке данных?
Итак, мы снова тестируем его на 10 точках данных и получаем отзыв 80%. По-прежнему хорошо.
Однако оценка производительности с использованием только 10 точек данных кажется странной - что, если бы мы протестировали наш классификатор на 10 относительно простых примерах?
Если мы выберем другой набор из 10 точек данных и снова оценим его, мы сможем получить другую оценку отзыва.

Как насчет тестирования нашего классификатора на 100 точках данных? или 1000? сколько точек данных достаточно? сколько точек данных нам нужно, чтобы определить надежность нашего отзыва?

Нам не нужно хорошо разбираться в статистике, чтобы знать, что если мы вычисляем число (например, среднее) на основе небольшого количества наблюдений, это число может быть «неточным». Мы знаем это интуитивно.

Допустим, мы пытаемся оценить средний рост людей в нашем городе, измеряя рост всего 5 человек. Мы знаем, что наша оценка может быть совершенно неверной - мы измерили всего 5 человек, чтобы попытаться оценить средний рост в 100 000 человек - очевидно, есть проблема с использованием такой небольшой выборки.

Доверительные интервалы предоставляют нам ряд возможных значений, чтобы мы могли лучше понять вариабельность, которую, вероятно, будет иметь наша оценка. Использование слова вероятно в этом контексте является преднамеренным, поскольку свойства реализованных доверительных интервалов не фиксированы и могут варьироваться в зависимости от обстоятельств.

Доверительные интервалы в дикой природе

Одной из областей, где широко используются доверительные интервалы, являются эпидемиологические исследования. Типичный пример использования можно найти в [Janerich et al., 1990], где они изучали, связан ли рак легких с воздействием табачного дыма в домашнем хозяйстве.

Исследователи провели популяционное исследование «случай – контроль» с участием 191 пациента (с раком легких) и такого же числа лиц, не болевших раком легких.

Сокращая методы и результаты - чтобы оценить, увеличивает ли воздействие табачного дыма в семье риск заболевания раком легких, исследователи рассчитали отношение шансов (2,07) и 95% доверительный интервал для отношения шансов (1,16–3,68). .

Это означает, что в ходе исследования они обнаружили, что вероятность заболеть раком легких примерно в два раза выше (2,07) для людей, подвергшихся воздействию табачного дыма в семье, по сравнению с теми, кто этого не делал. Мы действительно отмечаем, что доверительный интервал предполагает, что истинное отношение шансов также могло быть 1,16, т. Е. Возможно, что люди, подвергавшиеся воздействию табачного дыма в домашнем хозяйстве, были всего в 1,16 раза более подвержены риску заболевания раком легких по сравнению с теми, кто этого не делал. Не разоблачена.

Измените размер выборки (или порог 25 лет курения, выбранный в исследовании), и мы также можем получить доверительный интервал, который включает 1,0, что будет означать, что отношение шансов не является статистически значимым, и шансы заболеть раком легких могут быть одинаковыми для обеих групп в эксперименте.

Как мы видим, доверительные интервалы содержат информацию, которую не может охватить одно число.

4. Доверительные интервалы начальной загрузки - почему и как?

Зачем использовать доверительные интервалы начальной загрузки?

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

Как построить доверительные интервалы начальной загрузки?

В коде, представленном далее в этом посте, мы используем процентили распределения оценок начальной загрузки для построения доверительных интервалов. Мотивация к построению доверительных интервалов на основе процентилей начальной загрузки заключается в том, что мы можем использовать процентили распределения оценок начальной загрузки, поскольку оно (предположительно) будет достаточно похоже на распределение параметра, который мы пытаемся оценить. Показано, что в одних случаях это довольно точно, а в других - меньше [Efron & Tibshirani, 1994, гл.13].

В качестве примера мы построим 95% доверительный интервал, используя распределение оценок начальной загрузки (рисунок 2):

  • Нижняя граница доверительного интервала будет 2,5-м процентилем распределения (46,8) - значением, ниже которого находятся 2,5% оценок бутстрапа.
  • Верхняя граница доверительного интервала будет 97,5-м процентилем распределения (47,3) - значением, ниже которого находятся 97,5% оценок бутстрапа.

Как видно на рисунке 2, выбор нижней и верхней границ, как мы сделали, означает, что 95% оценок начальной загрузки находятся в пределах доверительного интервала, и мы говорим, что существует 95% вероятность того, что доверительный интервал [46.8, 47.3] покрывает параметр, который мы пытаемся оценить с помощью метода начальной загрузки.

Если бы мы, например, пытались оценить отзыв классификатора, то мы могли бы сказать, что существует 95% вероятность того, что интервал [46,8, 47,3] покрывает (содержит) истинный отзыв нашего классификатора.

Мы должны знать, что существует несколько методов построения доверительных интервалов начальной загрузки, и любопытному читателю рекомендуется прочитать [Carpenter & Bithell, 2000], чтобы лучше понять плюсы и минусы каждого метода. Если вам нужна дополнительная информация о методе, использованном в этом посте, ее можно найти в [Efron & Tibshirani, 1994, ch.13].

По моему скромному мнению, построение более или менее «точного» доверительного интервала и его фактическое использование предпочтительнее, чем полное игнорирование информации, полученной из доверительных интервалов.

5. Как интерпретировать доверительный интервал?

Доверительные интервалы, которые мы обсуждаем в этом посте, - это доверительные интервалы частотного. Чтобы убедиться, что мы понимаем, что они означают, мы рассмотрим следующий пример:

Предположим, мы построили 95% доверительный интервал для отзыва нашего классификатора и получили интервал [0,55, 0,65].

Это означает: существует 95% вероятности того, что интервал [0,55, 0,65] покрывает (содержит) истинный отзыв.

Это НЕ означает: вероятность того, что истинное напоминание находится в интервале [0,55, 0,65], составляет 95%.

Смущенный? не бойся.

При обсуждении частотных доверительных интервалов (наиболее распространенного типа доверительных интервалов) истинный параметр (в нашем случае - вспомните) считается фиксированным числом, а не случайной величиной - он имеет только одно фиксированное значение, и это значение либо находится внутри доверительного интервала, либо нет. С этим не связано никакой вероятности. Вероятность 95% относится к методу, который мы используем для построения интервала. Метод гарантирует, что интервал покроет истинный параметр в 95% случаев (в среднем).

Рассмотрим следующее: мы вычисляем Recall 100 раз (каждый раз на основе другой выборки / набора тестов) и строим 100 доверительных интервалов с уровнем достоверности 95%.
5 из этих 100 доверительных интервалов не будут охватывать истинный отзыв (в среднем) - например, один из них может быть доверительным интервалом [0,55, 0,65], когда истинный отзыв равен 0,66, т. е. этот доверительный интервал составляет [От 0,55 до 0,65] - один из тех 5 доверительных интервалов, которые не покрывают истинного отзыва.

Другой пример: допустим, мы хотим найти средний рост китайца. Истинный средний рост - это фиксированное число, например 168,3 см. Мы не можем измерить рост 1,4 миллиарда человек, поэтому мы используем выборку из 1000 китайцев и измеряем их рост - среднее значение нашей выборки составляет 167,3 см, а доверительный интервал составляет [166,1 см, 168,5 см].
Теперь мы отбираем еще 1000 человек, измеряем их рост и строим еще один доверительный интервал.
Повторяем описанный выше процесс 100 раз. К настоящему времени мы рассчитали среднюю высоту 100 раз (по одному разу для каждой выборки) и построили 100 доверительных интервалов. В среднем 5 из этих доверительных интервалов не будут охватывать (содержать) истинный средний рост в 168,3 см.

Теперь предположим, что у нас есть только одна выборка из 1000 человек, потому что это все, что наш бюджет может себе позволить. Вероятность того, что 95% -ный доверительный интервал, который мы построим на основе нашей единственной выборки, не будет охватывать истинную среднюю высоту, составляет 5%.

Примечание. Мы всегда можем построить доверительный интервал с более высоким уровнем достоверности, скажем, 99%, за счет увеличения интервала.

6. Размер выборки и ширина доверительного интервала.

Ширина доверительного интервала имеет для нас значение, поскольку позволяет нам лучше понять изменчивость нашей оценки. Более широкие интервалы означают более высокую изменчивость.

На приведенном выше графике (рис. 3) показаны результаты моделирования, в котором отзыв был оценен с использованием метода начальной загрузки (.632) при определенных условиях. Изменение параметров приведет к немного другим результатам, но основной результат останется прежним - мы можем ожидать уменьшения ширины доверительного интервала по мере увеличения размера выборки.

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

Некоторые результаты моделирования

Для набора данных, содержащего 500 точек данных, оценка загрузки при загрузке составила 60,6%, но 95% доверительный интервал был [48,9%, 70,8%].
Это означает, что мы не можем радоваться тому факту, что мы получили Отзыв в 60,6%, поскольку существует вероятность 95%, что доверительный интервал покрывает (содержит) истинное Отзыв, который может составлять 50,0%, отображая нашу классификатор так же полезен, как подбрасывание монеты.

Тот же самый классификатор был протестирован на 1000 точках данных и дал оценку отзыва при начальной загрузке 62,9% с 95% доверительным интервалом [54,5%, 71,3%]. Обратите внимание, что теперь мы можем быть более уверены в том, что наш классификатор лучше, чем случайное угадывание целевого класса, благодаря тому факту, что доверительный интервал не включает значение 50%.

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

7. А теперь в Python

В этом разделе представлена ​​функция, которую вы можете скопировать и вставить и легко использовать в своем коде. Функция просто оборачивает функцию bootstrap_point632_score из пакета mlxtend для простоты использования.

Код включает функцию bootstrap_estimate_and_ci, а также несколько простых примеров использования, в которых мы вычисляем оценки и доверительные интервалы для отзыва, точности, F1-балла , ROC AUC и Точность.

Количество итераций начальной загрузки

Отметим, что [Carpenter & Bithell, 2000] рекомендуют использовать 1000–2000 итераций начальной загрузки при вычислении доверительных интервалов начальной загрузки. Если вам нужна только оценка параметров, то обычно достаточно 50–200 итераций [Efron & Tibshirani, 1997].

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

использование

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

est, low, up, stderr = bootstrap_estimate_and_ci(estimator, X, y)

вернет четыре значения, где est - оценка начальной загрузки для Accuracy, 95% доверительный интервал составляет [low, up], а стандартная ошибка выборки Accuracy составляет stderr.

Код включает несколько примеров вызова функции с разными аргументами и разными показателями.

Примечания относительно параметров

  • Значение по умолчанию для score_func - Точность, но это может быть любая из метрик классификации sklearn, имеющая подпись score_func(y_true, y_pred, **kwargs). При желании вы также можете написать свою собственную функцию подсчета очков в соответствии с вашими потребностями, если она имеет указанную выше подпись и возвращает одно число.
  • Если вы хотите использовать функцию оценки, такую ​​как roc_auc_score в sklearn, чтобы получить оценку и доверительный интервал для ROC AUC, вы можете увидеть пример в коде. Это немного похоже на хитрость, но очень просто реализовать.
  • Значение по умолчанию для method - .632, поскольку метод .632+ требует больших вычислений и может значительно продлить время выполнения. Если получение оценки с использованием более качественной оценки, чем .632, очень важно для вас, даже за счет затрат времени на вычисления, вам следует выбрать метод .632+. Во всех остальных случаях метод .632 должен дать хорошие результаты.
  • Значение по умолчанию для alpha - 0,05, что приведет к доверительному интервалу
    (1-альфа) * ​​100% = 95%.
    Если вам нужен 99% доверительный интервал, используйте alpha=0.01; Для доверительного интервала 90% используйте alpha=0.1 и так далее.

8. Вот драконы

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

  1. Часто неправильно понимают.
  2. Часто обсуждается.

Итерация плюсов и минусов доверительных интервалов выходит за рамки этой статьи, поэтому я лишь кратко остановлюсь на некоторых известных проблемах:

  • Частые доверительные интервалы против достоверных байесовских интервалов.
  • Интерпретация ширины интервалов как совпадающей с их «точностью».
  • Отказ от использования p-значений ради доверительных интервалов, но по-прежнему использование доверительных интервалов для выполнения статистических выводов.
  • Некоторые из теоретических свойств, которые истинны асимптотически, иногда считаются верными для каждого отдельного случая, хотя это не так.

Вышеизложенное ни в коем случае не является полным списком всех возможных проблем. Вы можете прочитать об этом больше в [Morey et al., 2016], если хотите лучше понять.

Красивая интерактивная визуализация доверительных интервалов доступна по этой ссылке в блоге Кристоффера Магнуссона, а комментарии автора информативны и хорошо написаны.

Статистические выводы

В этом сообщении не предлагается использовать доверительные интервалы для выполнения тестов статистической значимости, и не поощряет рассматривать их как отражающие абсолютную «истину», а только как приблизительные Это. Следовательно, вышеупомянутые проблемы не должны вызывать серьезного беспокойства.

Однако, если вы планируете использовать доверительные интервалы для выполнения статистических выводов (например, для анализа медицинских данных, чтобы выбрать правильное лечение), и особенно при работе с небольшими размерами выборки, мир доверительных интервалов - это тот, который вы, вероятно, хотели бы получить. лучше познакомиться.
В качестве примера [Vollset, 1993] сравниваются 13 методов построения доверительных интервалов для биномиальной пропорции и описываются их характеристики.

Существует множество методов построения доверительных интервалов, и выбор «правильного» метода требует понимания свойств каждого из них.

Репрезентативный образец

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

Уверенные регионы

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

Мы не обсуждали случай построения доверительных интервалов для нескольких параметров одновременно таким образом, чтобы гарантировать, что эти интервалы будут охватывать истинные параметры с вероятностью X,, т.е. одно дело построить доверительный интервал X%. интервал для каждого параметра в отдельности и еще один для построения доверительной области X%, которая будет одновременно охватывать все параметры при заданном уровне достоверности X%.

Резюме

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

Мы увидели, как применять методы начальной загрузки для оценки параметров вместе с их изменчивостью, и построили доверительные интервалы начальной загрузки для наших оценок.

Мы рассмотрели несколько примеров кода, которые показали, как методы начальной загрузки могут использоваться для получения оценок и построения доверительных интервалов для отзыва, точности, F1-score, ROC AUC и Accuracy.

Вот и все.

Спасибо, что нашли время прочитать этот пост!

Если хотите, можете написать ответ. Я хотел бы знать, что вы думаете - любые формы обратной связи приветствуются!

Эпилог

Доверительные интервалы - ценный инструмент во многих областях, но иногда их игнорируют, когда мы практикуем науку о данных. Игнорируя их, мы неявно заявляем, что использовать доверительные интервалы для выбора правильного лечения онкологических больных или решить, действительно ли новое лекарство снижает риск сердечного приступа, - это нормально, но когда мы пытаемся построить модель на основе данных из других источников. Доверительные интервалы доменов не имеют значения - здоровье человека не будет под угрозой, если наши оценки «неточны», поэтому доверительные интервалы можно безопасно игнорировать.

Метрики производительности, такие как F1-score, ROC AUC и т. Д., Являются случайными величинами - их значение может изменяться каждый раз, когда мы их вычисляем, поскольку они зависят (среди прочего) от образца, который мы выбираем в качестве нашего набора тестов или набора проверки, т. Е. разные образцы могут давать разные значения. Доверительные интервалы могут помочь нам оценить, насколько изменчивыми могут быть наши показатели.

Построение доверительных интервалов может (иногда) вызывать некоторые душевные страдания - никогда не бывает забавно узнать, что заработанный тяжелым трудом показатель F1, которого мы достигли, на самом деле может быть ниже, чем мы хотели бы принять. С другой стороны, доверительные интервалы позволяют нам знать, насколько мы можем «доверять» нашим измерениям и какой диапазон значений они «вероятно» будут иметь.

использованная литература

  1. Эфрон Б. и Тибширани Р., 1997. Улучшения перекрестной проверки: метод начальной загрузки 632+. Журнал Американской статистической ассоциации, 92 (438), стр. 548–560.
  2. ДиЧиччо, Т.Дж. и Эфрон, Б., 1996. Доверительные интервалы начальной загрузки. Статистическая наука, стр.189–212.
  3. Карпентер, Дж. И Бителл, Дж., 2000. Доверительные интервалы начальной загрузки: когда, что, что? Практическое руководство для медицинских статистиков . Статистика в медицине, 19 (9), стр.1141–1164.
  4. Эфрон Б. и Тибширани Р., 1986. Методы начальной загрузки для стандартных ошибок, доверительных интервалов и других мер статистической точности. Статистическая наука, стр. 54–75.
  5. Эфрон, Б. и Тибширани, Р.Дж., 1995. Перекрестная проверка и бутстрап: оценка частоты ошибок правила прогнозирования. Отдел биостатистики Стэнфордского университета.
  6. Дженерих, Д.Т., Томпсон, В.Д., Варела, Л.Р., Гринвальд, П., Чорост, С., Туччи, К., Заман, М.Б., Меламед, М.Р., Кили, М. и МакКнили, М.Ф., 1990. Рак легких и воздействие табачного дыма в домашнем хозяйстве . Медицинский журнал Новой Англии, 323 (10), стр.632–636.
  7. Эфрон, Б. и Тибширани, Р.Дж., 1994. Введение в бутстрап. CRC Press.
  8. Эфрон, Б., 1983. Оценка частоты ошибок правила прогнозирования: улучшение перекрестной проверки. Журнал Американской статистической ассоциации, 78 (382), стр. 316–331.
  9. Джеймс, Г., Виттен, Д., Хасти, Т. и Тибширани, Р., 2013. Введение в статистическое обучение (том 112, стр. 18). Нью-Йорк: спрингер.
  10. Фоллсет, С.Е., 1993. Доверительные интервалы для биномиальной пропорции. Статистика в медицине, 12 (9), pp.809–824.
  11. Мори, Р.Д., Хекстра, Р., Рудер, Дж. Н., Ли, М. Д. и Вагенмакерс, Э. Дж., 2016. Ошибка доверия к доверительным интервалам. Психономический бюллетень и обзор, 23 (1), стр.103–123.