Следующая тема: САД. Проектная работа
Вернуться в раздел: Статистический анализ данных
Вернуться в оглавление: Я.Практикум
В теме:
1. Введение
2. Генеральная совокупность. Случайные и стратифицированные выборки
3. Оценка параметров генеральной совокупности по выборке
4. Выборочное распределение
5. Центральная предельная теорема, или Самое важное утверждение о выборочном среднем
6. Формулирование гипотез
7. Логика проверки гипотез. Односторонние и двусторонние гипотезы
8. P-value
9. Проверка двусторонней гипотезы в Python. T-тест
10. Проверка односторонних гипотез в Python
11. Гипотеза о равенстве средних двух генеральных совокупностей
12. Гипотеза о равенстве средних для зависимых (парных) выборок
13. Заключение
14. Проверочные задания. Проверка гипотез
Введение
Кратко:
- Тема посвящена выводу о больших совокупностях данных с использованием выборки.
- Выборка - небольшая часть совокупности, на основе которой оценивают параметры всей совокупности.
- Важный статистический инструмент - проверка гипотез.
- Проверка гипотез позволяет проверить предположения о параметрах совокупности по выборке.
- Центральная предельная теорема используется для описания выборочного распределения.
- Логика проверки статистических гипотез изучается в данной теме.
- Две распространённые гипотезы: равенство среднего генеральной совокупности и равенство средних двух совокупностей.
- В теме используются абстрактные термины, которые часто разъясняются.
- Интерактивные иллюстрации помогают представить статистические концепции на практике
В этой теме вы научитесь делать выводы о больших совокупностях данных, которые часто бывают недоступны. Из такой совокупности берут выборку — небольшую часть — и на её основе оценивают параметры всей совокупности.
Также вы познакомитесь с важным статистическим инструментом — проверкой гипотез. Вы сможете проверять свои предположения о параметрах всей совокупности по выборке.
Вы научитесь
- Применять центральную предельную теорему (в часто встречающейся формулировке) для описания выборочного распределения.
- Использовать логику проверки статистических гипотез.
- Проверять две распространённые гипотезы: о равенстве среднего исследуемой генеральной совокупности заданному значению и о равенстве средних двух генеральных совокупностей.
В этой теме много абстрактных терминов, поэтому мы будем часто напоминать определения. Там, где формулировки могут показаться сложными, мы будем помогать с их интерпретацией. Также в этой теме есть интерактивные иллюстрации: они помогут на практике представить важные статистические концепции.
Генеральная совокупность. Случайные и стратифицированные выборки
Кратко:
- Генеральная совокупность включает все исследуемые объекты или данные.
- Главное свойство выборки - репрезентативность: способность отражать свойства генеральной совокупности.
- Случайные выборки - самый простой способ добиться репрезентативности.
- Репрезентативность выборки зависит от аккуратности её набора, а не от размера.
- Стратифицированные выборки используются для исследования страт генеральной совокупности.
- Можно взять одну большую выборку или несколько выборок поменьше и усреднить результаты.
- Выборка большего размера лучше подходит для проверки статистических гипотез.
- Если генеральная совокупность небольшая и к ней есть полный доступ, лучше использовать все данные
В теории вероятностей вы рассматривали эксперименты, их исходы, распределения вероятностей — словом, идеальные модели, которые описывали данные при определённых предположениях. В жизни редко можно свободно получить и использовать все нужные данные. Часто данных много, и получить доступ к каждому их элементу технически сложно, долго и дорого.
Весь набор данных, которые хотят изучить, называют генеральной совокупностью, и составить представление о ней можно по небольшой части — выборке.
☝🏼 Генеральная совокупность включает все исследуемые объекты или данные. Например: всех пользователей, которые посетили сайт онлайн-магазина товаров для животных «Мохнатые лапы» в 2019 году.
Допустим, нужно проанализировать динамику посещаемости сайта за год. Для этого необязательно выгружать весь датасет с информацией по посещениям, который может оказаться огромным, — достаточно взять небольшую часть данных, которая хорошо представит всю генеральную совокупность. Что значит «хорошо», мы разберём ниже в этом уроке. А пока запомните:
👉🏼 Главное свойство выборки — репрезентативность: способность отражать свойства генеральной совокупности.
Например, если мы хотим получить сведения об успеваемости учеников какой-то школы, а в выборке оказываются только отличники, то такая выборка не будет репрезентативной.
Случайные выборки
Самый простой способ добиться репрезентативности — использовать случайную выборку. Случайность здесь означает, что у каждого элемента исследуемой совокупности одинаковый шанс оказаться в выборке.
На практике случайную выборку часто берут с помощью генератора случайных чисел. Генератор выдаёт числа от 1 до размера генеральной совокупности N с равномерным распределением — то есть с одинаковой вероятностью каждого элемента попасть в выборку.
👉🏼 Неочевидно, но факт: репрезентативность выборки зависит не от её размера, а только от того, насколько аккуратно её набирают, избегая смещений в сторону каких-то отдельных групп внутри генеральной совокупности. Конечно, речь о выборках, в которых хотя бы несколько элементов.
Случайной выборки вам будет достаточно в большинстве задач.
Представим, что у фермера есть ещё и яблоневый сад, в котором около 3000 деревьев. Записать урожайность для каждого дерева в таком саду фермер уже не сможет. Сад представляет собой прямоугольный участок, который на юге проходит вдоль реки. На схеме сада каждое дерево показано серой точкой.
Правильный ответ
Стратифицированные выборки
Бывает, что генеральная совокупность состоит из страт — групп данных, различающихся по размеру и исследуемому параметру. Тогда исследовать данные лучше на основе стратифицированной выборки.
Допустим, вы изучаете поведение клиентов авиалиний. Необходимо помнить о такой группе, как пассажиры бизнес-класса: их мало, но при этом покупательское поведение у них сильно отличается от остальных пассажиров. Случайная выборка в такой ситуации может подвести, если данных из этой страты в неё попадёт слишком много или слишком мало.
Чтобы верно проанализировать необходимые категории пассажиров, воспользуйтесь стратифицированной выборкой: возьмите пропорциональные случайные выборки из всех страт, а потом соедините их между собой. Что значит «пропорциональные»?
Убедитесь, что доля выбранных пассажиров от размера выборки близка к доле пассажиров этой категории от общего числа пассажиров компании.
Нужно ли брать несколько выборок?
Что лучше: взять одну большую выборку или несколько выборок поменьше и усреднить результаты? Разница небольшая: среднее значение одной случайной выборки размера nn будет близко к усреднённому результату mm случайных выборок размера n/m.
Например, если в магазин поставили большую партию помидоров одного сорта, то существует два равноценных подхода к оценке среднего веса одного помидора в этой партии:
- взять 1 выборку из 100 помидоров и вычислить средний вес;
- взять 5 выборок по 20 помидоров, посчитать среднее в каждой выборке, а полученные значения усреднить.
В следующих уроках вы увидите, что выборка большего размера лучше подходит для проверки статистических гипотез: от размера выборки зависит, насколько оценки, сделанные по выборке, будут близки к тому, что нужно по этой выборке оценить. Поэтому, если есть возможность получить больше данных, чаще делают одну выборку большего размера, чем несколько выборок поменьше.
Выводы
Стоит помнить, что выборка — это инструмент, который позволит сделать вывод о генеральной совокупности, когда вся она недоступна. Если генеральная совокупность небольшая и к ней есть полный доступ, то лучше использовать все данные, а не только их часть.
Как определить, что генеральная совокупность небольшая? Такую совокупность легко обработать. Если вы работаете в Python, совокупность в несколько тысяч чисел можно легко проанализировать.
Обратите внимание: в этой теме под выборкой мы будем предполагать случайную выборку. В другом случае уточним, какую именно выборку имеем в виду.
Оценка параметров генеральной совокупности по выборке
Кратко:
- Оценка параметров генеральной совокупности по выборке необходима для статистического анализа.
- Параметры распределений и генеральной совокупности могут быть использованы взаимозаменяемо.
- Истинные параметры генеральной совокупности - это значения, которые невозможно оценить по выборке.
- Существуют два типа оценок параметров: точечные и интервальные.
- Точечная оценка среднего - выборочное среднее, оценка дисперсии - выборочная дисперсия с поправкой Бесселя.
- Чем больше размер выборки, тем точнее оценка, но это не всегда так.
- Выборочное среднее и дисперсия с поправкой Бесселя - несмещённые оценки для истинного среднего и дисперсии генеральной совокупности соответственно.
- Смещение может возникнуть из-за смещённой статистики или нерепрезентативной выборки
Из уроков прошлой темы вы узнали, что у распределений есть параметры. Вспомните, что это.
Параметры распределений и параметры генеральной совокупности
Вспомните уроки про распределения вероятностей: мы моделировали некоторую случайную величину, например «количество открытых пользователями писем», теоретическим распределением — биномиальным. Параметры такого распределения: n — количество отправленных писем и p — вероятность открытия каждого письма. Если провести такой эксперимент — отправить сколько-то писем, — то можно рассчитать вероятности для каждого исхода, зная параметры распределения.
Параметры есть и у генеральной совокупности, хотя это реальный объект, а не модель. К тому же неизвестно, как в генеральной совокупности распределены значения исследуемой переменной. Можно сказать, генеральная совокупность выступает в роли неизвестного распределения, из которого берутся наблюдения. Поэтому есть своя логика в том, что один термин — параметр — используют и для теоретических распределений, и для генеральной совокупности.
Параметры генеральной совокупности принято называть истинными. Например, истинное среднее — среднее всех значений генеральной совокупности.
Типы оценок
Чтобы сделать вывод о параметрах генеральной совокупности, как раз и нужна выборка.
👉🏼 Допустим, учёные хотят сделать вывод о размахе крыльев новобританских ястребов. Всех птиц не изловить, поэтому учёные изучили тех представителей вида, которых смогли поймать. Говорят, что они находят оценку размаха крыльев всех новобританских ястребов.
В статистике существует два типа оценок параметра:
- Точечная — оценка параметра одним числом. По выборке находят число, близкое к значению параметра. Насколько близкое — обсудим ниже.
- Интервальная — оценка параметра интервалом. Чтобы оценить параметр этим способом, по выборке находят диапазон значений, который с высокой вероятностью включает нужный параметр.
В этом уроке расскажем только о точечных оценках.
Точечная оценка параметров
Точечная оценка — попытка найти приближённое значение параметра в виде одного числа, то есть точки на числовой оси. Её можно использовать для любого параметра генеральной совокупности. Самые распространённые примеры — среднее и дисперсия. Им и посвящён этот урок.
Точечная оценка среднего
Среднее значение генеральной совокупности оценить по выборке просто: среднее значение выборки — это и есть оценка. Его ещё называют «выборочным средним».
Вернёмся в сад. Для простоты будем считать, что в нём растёт только антоновка. Добавим на схему информацию об урожайности всех яблонь в этом сезоне: она закодирована цветом, а точное значение можно увидеть при наведении на каждую точку-яблоню.
Усреднив все значения, получим среднюю урожайность деревьев сада — то самое число, которое фермер не знает, но хочет оценить с помощью выборки:
Указанная средняя урожайность — это параметр генеральной совокупности, истинное значение, неизвестное фермеру. Часто его так и называют: «истинное среднее».
Перейдём к эксперименту: выберем 500 случайных деревьев и посчитаем их среднюю урожайность, — это и будет средняя урожайность выборки.
С помощью кнопки «Обновить выборку» выберите несколько случайных выборок и посмотрите, насколько близко средняя урожайность выборки (доступная фермеру) оценивает среднюю урожайность генеральной совокупности (неизвестную фермеру).
Выборочное среднее получают для конкретной выборки. Если взять другую выборку, может получиться другое выборочное среднее. Поэтому выборочное среднее можно представить как функцию от выборки: она принимает в качестве аргументов значения из выборки и возвращает их среднее. Такая функция от выборки называется статистикой.
👉🏼 Статистика — это не только общее название математической дисциплины, но и термин. Он обозначает функцию, которую можно посчитать только по данным выборки. Например, выборочное стандартное отклонение — это статистика, а истинное среднее генеральной совокупности — нет.
Видно, что значение выборочного среднего для разных выборок разное, но каждое из них близко к средней урожайности всего сада, которую фермер хочет оценить.
Точность оценки
От чего зависит, насколько близкой будет оценка к истинному значению параметра? Иначе говоря, насколько она будет точной. Чаще всего происходит так: чем больше выборка, тем точнее оценка. Бывает, что большая выборка даст оценку дальше от истинного значения, чем выборка поменьше. Но такое случается редко.
Посмотрите сами: меняйте размеры выборки на интерактивной иллюстрации и убедитесь, что бóльшие по размеру выборки дают оценки ближе к истинному среднему.
Видно, что на небольших выборках в 50 или 150 яблонь выборочные средние иногда сильно отличаются от среднего генеральной совокупности, тогда как на выборках побольше оценка почти всегда оказывается близкой к истинному среднему.
Посмотрим на наш сад под другим углом:
Заметьте: яблони берутся случайно, поэтому распределение выборки похоже на распределение генеральной совокупности, — это видно по его форме на втором и третьем изображениях.
Точечная оценка дисперсии — поправка Бесселя
А что насчёт дисперсии? Стандартное отклонение генеральной совокупности легко рассчитать по знакомой вам формуле:
σ=∑(bi−μ)^2/N
Напомним, что в ней есть:
σ^2 — дисперсия полного набора данных, или генеральной совокупности;
σ — корень из дисперсии, или стандартное отклонение генеральной совокупности;
b — генеральная совокупность, то есть bibi — сами её значения;
μ — среднее значение генеральной совокупности;
N — размер генеральной совокупности, то есть количество значений в ней.
👉🏼 Параметры распределения генеральной совокупности обозначаются греческими буквами — как и ранее в уроках про распределения. Ну а статистики — то, что считается на выборке, — латинскими. Например, μ — параметр генеральной совокупности, а ˉxˉ — выборочное среднее.
Узнать истинное стандартное отклонение по выборке невозможно, только оценить.
Для этой оценки формула отличается от обычного расчёта дисперсии для заданного набора чисел, который вы изучали в теме «Описательная статистика». Различие такое: в знаменателе стоит не nn, а n−1. Почему так? Сейчас разберёмся.
Деление на n−1n−1 вместо nn называется поправкой Бесселя:
σ^2=D(X)=∑(xi−xˉ)^2/(n−1)
☝🏼 «Крышечка» над сигмой в квадрате означает, что для этого параметра — дисперсии генеральной совокупности — находят оценку. Это альтернатива латинице: так тоже можно показать, что это оценённое, а не истинное значение.
Выборочная дисперсия — это статистика, так же, как и выборочное среднее.
Перед тем как разобраться, зачем нужна поправка Бесселя, вспомните, что такое математическое ожидание.
Точечная оценка какого-то параметра статистикой называется несмещённой, если математическое ожидание этой статистики равно параметру, который она оценивает. Несмещённость — это свойство конкретной статистики. Не все статистики будут несмещёнными.
👉🏼 Термин «математическое ожидание» можно применить к статистике, потому что любая статистика — это случайная величина. У неё могут быть разные значения для разных выборок. Иначе говоря, мы понимаем выборку как эксперимент, результат которого — посчитанная на этой выборке статистика. Результаты эксперимента могут отличаться друг от друга.
Например, выборочное среднее урожайности нескольких сотен случайно взятых яблонь из сада — несмещённая оценка средней урожайности яблонь всего сада. Доказано, что математическое ожидание средних всех выборок равно истинному среднему генеральной совокупности.
Выборочное среднее — это несмещённая оценка для истинного среднего, то есть среднего значения всей генеральной совокупности μ. А выборочная дисперсия с поправкой Бесселя — несмещённая оценка для истинной дисперсии.
Доказанный математический факт: если выборка взята случайным образом и в ней больше 30 чисел, то выборочное среднее и дисперсия практически всегда очень близки к реальным среднему и дисперсии генеральной совокупности. Выше вы могли убедиться в этом на примере средней урожайности пятисот случайно выбранных яблонь из сада.
Далее в уроках мы будем использовать понятия «выборочная дисперсия» и «выборочное стандартное отклонение» для обозначения несмещённых оценок, то есть рассчитанных с поправкой Бесселя.
Смещение может возникнуть в двух случаях:
- Статистика — функция для оценки параметра по выборке — даёт смещённую оценку. Например, дисперсия без поправки Бесселя — смещённая оценка. Поправка Бесселя нужна, чтобы устранить смещение.
- Выборка нерепрезентативна. Поэтому оценки, посчитанные на ней, смещаются: они отклоняются от истинного значения параметра в ту или иную сторону. В этом случае несмещённая статистика не поможет. Иначе говоря, хорошая формула не спасает от плохо взятой выборки.
Выводы
Это был непростой урок. Подведём итоги и выделим важные идеи.
- Вы узнали, чем точечные оценки отличаются от интервальных. Если коротко: при точечной оценке параметром оценивают числом, а при интервальной — диапазоном значений. Также мы рассказали, как точечно оценить среднее и дисперсию генеральной совокупности по выборке.
- Для оценки среднего генеральной совокупности можно просто использовать выборочное среднее. А для оценки дисперсии нужно внести небольшую поправку в формулу — поправку Бесселя — чтобы оценка была несмещённой. То есть чтобы её математическое ожидание было равно истинной дисперсии.
- Если размер выборки растёт, то выборочные среднее и дисперсия будут всё ближе распределяться вокруг оцениваемых параметров. Скоро мы расскажем, как это устроено.
Выборочное распределение
Кратко:
- Репрезентативность достигается с помощью случайной выборки.
- Выборочное распределение - это набор чисел, полученных путем подсчета статистики на каждой выборке.
- Количество выборок размера k из генеральной совокупности размера n на много порядков больше.
- Выборочное распределение напоминает нормальное, но по мере увеличения размера выборки приближается к нормальному.
- Выборочное распределение зависит от размера выборки, но не зависит от распределения генеральной совокупности
С помощью случайной выборки легче всего добиться репрезентативности. Иными словами, оценки по такой выборке, скорее всего, будут близки к параметрам генеральной совокупности.
Теоретически можно последовательно взять несколько случайных выборок из одной генеральной совокупности. Одни и те же элементы совокупности могут попасть в разные выборки, ведь выборка берётся случайно и у каждого элемента одинаковая вероятность в неё попасть.
Сколько может быть выборок
Вы уже знаете формулу числа сочетаний, важную для биномиального распределения. Она позволяет ответить на вопрос, сколько разных выборок размера k можно взять из генеральной совокупности размера n:
Cnk=n!/k!(n−k)!, k⩽n
Число сочетаний из n по k растёт невероятно быстро с ростом n и k.
Например:
Размер генеральной совокупности: 100 Размер выборки: 8 Сколько разных выборок такого размера: C(100)(8)=186087894300 Выборок размера 8 из генеральной совокупности размера 100 можно взять в десятки раз больше, чем живёт людей на земле.
Размер генеральной совокупности: 500 Размер выборки: 20 Сколько разных выборок такого размера: C(500)(20)≈2.6671985128374⋅10^35 В наблюдаемой вселенной не найдётся столько звёзд!
На этих примерах видно, что количество различных выборок размера k из генеральной совокупности размера n оказывается на много порядков больше, чем оба эти числа.
Если взять все возможные выборки одинакового размера n≥2 и на каждой посчитать статистику — например, выборочное среднее или медиану, — получится огромный набор чисел. У этого набора нет своего специального названия, но важнее, что у него есть распределение — выборочное распределение этой статистики.
На практике берут только одну выборку и на ней считают нужную статистику. В результате получается одно число из этого множества.
Чтобы понять, чем отличается генеральная совокупность (и её распределение) от выборочного распределения статистики на этой совокупности, возьмём небольшой датасет — компанию из десяти детей от 0 до 10 лет.
Понятно, что на практике никто не будет брать выборки из столь малой генеральной совокупности. Но на этой крошечной совокупности мы увидим, как велико множество выборок размера 5, которые из неё можно взять. А значит, велико и множество выборочных средних, которые можно посчитать на этих выборках.
👉🏼 Распределение этого множества — выборочное распределение выборочного среднего из этой генеральной совокупности для размера выборки, равного пяти. Много повторений, но это термины, иначе не скажешь.
Будем брать выборки по пять возрастов детей из генеральной совокупности и отмечать среднее для каждой выборки на отдельном графике выборочных средних:
Выборочное распределение выборочных средних явно напоминает нормальное. Если быть точными, для таких малых выборок это распределение Стьюдента. Что это за распределение и как оно устроено, вы узнаете через несколько уроков. Пока отметим, что оно тоже похоже на колокол, и по мере увеличения размера выборки быстро приближается к нормальному распределению.
Кроме того, видно, что центр этого близкого к нормальному распределения близок к среднему возрасту нашей генеральной совокупности.
Заметим также, что колокол этого распределения тем у́же, чем больше размер выборки. Убедитесь в этом с помощью интерактивной иллюстрации: меняйте размер выборки и сравнивайте получившиеся распределения.
С тем, как устроено это распределение, — а оно действительно близко к нормальному — разберёмся в следующем уроке.
В примере с детишками мы построили выборочное распределение, зная генеральную совокупность. На практике генеральная совокупность недоступна, поэтому выборочное распределение нельзя построить в точности. Иными словами, мы не можем взять все выборки заданного размера из совокупности и на каждой посчитать статистику.
Хотя выборочное распределение недоступно, без него не получится проверить ни одну статистическую гипотезу. Скоро разберёмся с этим парадоксом, а сейчас ответьте, от чего зависит выборочное распределение выборочного среднего.
От чего будет зависеть выборочное распределение выборочного среднего для выборки размера n?
Итак, выборочное распределение зависит от размера выборки, но практически не зависит от распределения генеральной совокупности. Вот так сюрприз! Подробнее об этом — в следующем уроке
Центральная предельная теорема, или Самое важное утверждение о выборочном среднем
Кратко:
- Центральная предельная теорема утверждает, что распределение выборочных средних зависит от размера выборки, но не от распределения генеральной совокупности.
- Выборочное распределение выборочного среднего имеет форму нормального распределения.
- Центральная предельная теорема работает при увеличении количества наблюдений.
- Стандартное отклонение выборочного распределения выборочного среднего стремится к стандартному отклонению генеральной совокупности, деленному на корень из размера выборки.
- Стандартная ошибка выборочного среднего - SE - это стандартная ошибка выборочного среднего.
- Выборочное распределение выборочного среднего не зависит от конкретной выборки, а построено для всех возможных выборок фиксированного размера.
- Оценка стандартной ошибки по выборке - ESE - позволяет достаточно хорошо оценить форму выборочного распределения
В конце прошлого урока вы выяснили, что распределение выборочных средних, посчитанных на всех возможных выборках фиксированного размера, зависит от размера выборки, но практически не зависит от распределения самой генеральной совокупности.
Как же так? Наверняка можно предположить, что реальные генеральные совокупности распределяются всевозможными способами. Значит ли это, что выборочное распределение принимает любой вид и поэтому предсказать его нельзя?
Для многих статистик доказано, что их выборочное распределение будет иметь предсказуемый вид. В том числе и для той статистики, о которой мы говорили в прошлом уроке, — выборочном среднем. Вспомните прошлый урок и пример с детьми: вы увидели, что выборочное распределение выборочного среднего принимает форму нормального. Теперь зафиксируем это наблюдение более строго — с помощью центральной предельной теоремы.
Центральная предельная теорема
Распространённая формулировка центральной предельной теоремы (сокращённо ЦПТ) звучит так: сумма независимых одинаково распределённых случайных величин стремится к нормальному распределению по мере увеличения их количества.
Это значит, что, если в выборке достаточно наблюдений, выборочное среднее распределено близко к нормальному. Чтобы получить среднее, мы складываем отдельные наблюдения, и все они случайным образом берутся из одной и той же генеральной совокупности, то есть имеют одинаковое распределение.
При этом почти нет ограничений на распределение самих складываемых случайных величин. То есть генеральная совокупность может быть распределена как угодно: датасет из средних значений всех возможных выборок всё равно будет близко к нормальному распределён вокруг среднего всей совокупности.
Мы не случайно сказали, что ограничений «почти нет». Есть одно формальное: выборочное распределение не зависит от распределения генеральной совокупности при условии, что у исследуемой переменной конечная дисперсия. Иначе выборочный метод и вовсе применить не получится. Почему это ограничение формальное: считается, что бесконечная дисперсия — «экзотический» феномен, и дисперсия по умолчанию конечна.
Теперь разберёмся, что означает «близко к нормальному». Нормальное распределение — непрерывно, а средние значения всех возможных выборок определённого размера — это дискретный набор чисел. Если построить гистограмму для этого набора, то её форма будет очень близка к нормальному распределению.
Помимо утверждения о виде этого распределения, ЦПТ говорит и о его параметрах. Центр распределения очень близок к среднему всей генеральной совокупности, — далее будем считать, что истинное среднее и есть его центр. А о разбросе поговорим ниже.
Снова о размере выборки
Теорема неслучайно названа предельной. Дело в том, что она работает, если устремить размер выборки к бесконечности. Мы по умолчанию считаем, что генеральная совокупность очень велика, — иначе зачем её исследовать с помощью выборок? А что насчёт размера выборки?
В прошлом уроке вы увидели, что ЦПТ начинает работать даже при небольших выборках. Посмотрите ещё раз на то, как выборочное распределение выборочных средних хорошо описывается похожей на колокол кривой даже для небольшой генеральной совокупности и совсем маленьких выборок:
Представим, что в примере с детьми генеральная совокупность намного больше — около 1000 детей вместо 10. Эти дети могут быть распределены по возрасту равномерно, нормально или вообще произвольно. С помощью выпадающего списка меняйте форму распределения детей в генеральной совокупности и исследуйте, как она влияет на форму выборочного распределения:
На этой интерактивной иллюстрации вы могли выбрать случайные выборки размера 100 из генеральных совокупностей с разным распределением. Результат: выборочные средние в любом случае очень близко описываются нормальным распределением. То есть это распределение задаёт вероятность того, что среднее случайной выборки попадёт в тот или иной промежуток на числовой оси.
Стандартная ошибка среднего
Каким же будет разброс выборочного распределения выборочного среднего? ЦПТ утверждает, что стандартное отклонение выборочного распределения стремится к стандартному отклонению генеральной совокупности σσ, делённому на корень из размера выборки n:
SE=σ/n**0,5
Это стандартное отклонение называют «стандартная ошибка» — SE (от англ. standard error). Полное название — «стандартная ошибка выборочного среднего арифметического». Однако если вы видите словосочетание «стандартная ошибка» без указания, чего именно, — имеется в виду именно стандартная ошибка среднего.
Распределение выборочных средних не зависит от конкретной выборки: оно построено для всех возможных выборок фиксированного размера nn. Представим, что нам известны параметры всей генеральной совокупности, и построим его:
Раз корень из n стоит в знаменателе, значит, стандартная ошибка уменьшается с увеличением размера выборки. Меняя размер выборки в интерактивной иллюстрации ниже, понаблюдайте, как меняется форма распределения, которое близко описывает выборочное распределение выборочного среднего.
Обратите внимание, что это распределение зависит от размера выборки — и раз оно строится для всех выборок, конкретная выборка для его построения не нужна.
Нам была известна информация обо всей генеральной совокупности, поэтому мы смогли построить выборочное распределение выборочного среднего. Однако в жизни генеральная совокупность обычно недоступна. Разберёмся, как можно оценить ширину колокола, располагая только данными выборки.
Оценка стандартной ошибки
Оценка стандартной ошибки по выборке находится по формуле:
ESE=S/n**0,5
ESE (от англ. estimated standard error) — «оценённая стандартная ошибка».
Здесь:
- S — стандартное отклонение выборки, которым оценивается стандартное отклонение генеральной совокупности, то есть σ.
- n — размер выборки.
В отличие от SE — истинной ошибки среднего, — ESE будет различаться для разных выборок одного размера. Однако эта оценка позволяет достаточно хорошо оценить форму выборочного распределения. Убедитесь в этом сами: сравните истинное и оценённое распределения для разных выборок фиксированного размера.
Выводы
Вы узнали много нового, поэтому подведём итоги:
- Выборочное распределение выборочного среднего близко к нормальному практически для любой генеральной совокупности. Как бы она ни была распределена.
- Центр этого нормального распределения — истинное среднее генеральной совокупности.
- Стандартное отклонение этого нормального распределения можно оценить всего лишь по одной выборке — с помощью формулы ESE.
Теперь у вас есть всё, что нужно, чтобы проверять статистические гипотезы о выборочном среднем. В следующем уроке вы узнаете, как их формулировать.
Формулирование гипотез
Кратко:
- Выборка позволяет оценить параметры генеральной совокупности, но не является подтверждением гипотезы.
- Гипотезы - предположения о данных, которые не могут быть подтверждены экспериментально.
- Проверка гипотез включает формулировку нулевой гипотезы и альтернативной гипотезы.
- Нулевая гипотеза фиксирует параметр генеральной совокупности, а альтернативная гипотеза предполагает возможное отклонение.
- Если гипотеза не противоречит данным, то она не отвергается, а если вероятность получения таких данных низкая, то гипотеза отвергается.
- Задача статистического теста - корректно сделать вывод о соответствии гипотезы данным.
- Примеры гипотез: среднее генеральной совокупности равно определенному значению, среднее генеральной совокупности больше или меньше определенного значения
Вы уже знаете, что выборки позволяют оценить параметры генеральной совокупности. Оценками исследователи не ограничиваются. Иногда нужно ответить на вопрос о генеральной совокупности, — понять, соответствует ли наблюдаемая выборка нашему предположению о ней или скорее нет.
Предположения о данных называются гипотезами. Важно: подтвердить гипотезу на основе экспериментальных данных нельзя — это фундаментальное ограничение. Может показаться странным, однако это так. Всё, что мы можем сделать по итогам проверки, — это отвергнуть гипотезу или нет.
Иными словами, при условии, что гипотеза верна, данные могут лишь не противоречить ей или, наоборот, показывать очень маловероятные результаты. Но и в том, и в другом случае нет оснований утверждать, что выдвинутая гипотеза доказана.
👉🏼 Пример Биологи изучают маршруты перелётов птиц редкого вида. Гипотеза состоит в том, что они всегда летят вдоль рек. Учёные случайным образом отловили несколько десятков птиц, прикрепили датчики и отпустили. Все отслеженные маршруты оказались пролегающими вдоль рек.
Доказывает ли это гипотезу? Нет, потому что какие-то птицы, возможно, летают по-другому, а отследить маршруты всех птиц даже редкого вида чаще всего невозможно. Однако уверенность в том, что гипотеза верна, повысилась. Если несколько исследований покажут, что маршруты птиц проходят вдоль рек, а обратное не будет подтверждено экспериментально, это будет признано научным фактом.
💡 Ни в одном факте человечество не уверено на 100 %. Просто не нашлось экспериментальных данных, которые бы его опровергли. Когда-нибудь могут найтись — и теорию придётся пересмотреть.
Исключение одно: абстрактные математические утверждения — теоремы. Ведь их строго выводят из аксиом — предпосылок, которые мы принимаем за истину.
Итак, если данные гипотезе не противоречат, тогда вы её не отвергаете. Если же вы приходите к выводу, что вероятность получить такие данные очень низка, появляется основание отвергнуть эту гипотезу. Задача статистического теста как раз в том, чтобы корректно сделать такой вывод.
👉🏼 Пример В выборке из двадцати птиц одиннадцать строили свои маршруты не вдоль рек, а прямиком к точке назначения. Это могло бы быть случайностью: даже птицы иногда сбиваются с пути. Однако интуитивно понятно, что вероятность такого количества случайностей низкая, и разумнее предположить, что гипотеза о полётах птиц исключительно вдоль рек неверна.
Чтобы делать такие выводы, опираясь на конкретные числа, а не на интуицию, вы научитесь пользоваться алгоритмом работы с численными выборочными данными.
Как формулировать гипотезы
Мы расскажем о гипотезах, которые чаще всего встречаются на практике. Они связаны со средними значениями генеральных совокупностей и выглядят так:
- среднее генеральной совокупности равно конкретному значению;
- среднее генеральной совокупности больше (или меньше) конкретного значения.
Проверка гипотез начинается с формулировки нулевой гипотезы H0 (от англ. hypothesis — «гипотеза»). Например, «среднее генеральной совокупности равно A», где A — некоторое число.
В дополнение к H₀ формулируется альтернативная гипотеза H1. Это утверждение, которое принимается верным, если отвергается H0.
Оно может звучать так: «среднее генеральной совокупности не равно A». Такая альтернативная гипотеза называется двусторонней, потому что она предполагает возможное отклонение и в большую, и в меньшую стороны.
Другие варианты H1:
- «среднее генеральной совокупности больше, чем A»;
- «среднее генеральной совокупности меньше, чем A».
В этом случае альтернативная гипотеза называется односторонней, поскольку нас интересует возможное отклонение только в одну сторону.
H0 часто формулируют так, чтобы использовать знак равенства. Например, если вы исследуете, равна ли некоторая величина определённому числу, то нулевая гипотеза будет предполагать, что равна. Это полезно, чтобы зафиксировать параметр генеральной совокупности и построить распределение. Этим мы ещё займёмся.
Допустим, фермер хочет проверить гипотезу об изменении средней урожайности своего сада. Напомним: средняя урожайность была 150.5 кг яблок с яблони. Он может сформулировать три пары нулевых и альтернативных гипотез. Зависит от того, какое изменение его интересует, — в большую сторону, в меньшую или в обе:
- Альтернативная гипотеза — двусторонняя:
H0:μ=150.5
H1:μ≠150.5
- Альтернативная гипотеза — правосторонняя:
H0:μ=150.5
H1:μ>150.5
- Альтернативная гипотеза — левосторонняя:
H0:μ=150.5
H1:μ<150.5
Выводы
Дальше в уроках вы будете формулировать и проверять разные гипотезы:
- Нулевая. Например: «параметр κ равен числу A».
- Альтернативная:
- Двусторонняя. Например: «параметр κ не равен числу A».
- Односторонняя вправо, или правосторонняя. Например: «параметр κκ больше числа A».
- Односторонняя влево, или левосторонняя. Например: «параметр κκ меньше числа A».
Логика проверки гипотез. Односторонние и двусторонние гипотезы
Кратко:
- Проверка гипотез основана на сравнении вероятности получения наблюдаемого значения при условии, что нулевая гипотеза верна.
- Центральная предельная теорема помогает построить распределение для проверки гипотезы о среднем значении генеральной совокупности.
- Уровень статистической значимости определяет, где проходит граница между отвержением и принятием нулевой гипотезы.
- Односторонние гипотезы отвергаются, если наблюдаемое значение сильно "уедет" от предполагаемого в сторону увеличения или уменьшения.
- Выбор уровня статистической значимости определяет, насколько далеко должно оказаться наблюдаемое значение от предполагаемого в нулевой гипотезе.
- Уровень статистической значимости является антогонимом случайности и определяет вероятность получения значимого отклонения от предполагаемого значения
Когда вы сформулировали нулевую и альтернативную гипотезы, вам нужно на основе данных сделать выбор: отвергнуть нулевую гипотезу в пользу альтернативной или нет.
Формулировки гипотез касаются какого-либо параметра — чаще всего это среднее. Параметр оценивается по выборке, и мы получаем наблюдаемое на выборке значение.
Затем нужно решить, отвергнуть нулевую гипотезу в пользу альтернативной или нет. Как это сделать? Нужно понять, насколько вероятно получить наблюдаемое значение при условии, что нулевая гипотеза верна.
Если вероятность большая, то отвергать нулевую гипотезу вряд ли стоит. Если маленькая — получается, что при верной нулевой гипотезе наблюдаемое значение маловероятно. Это повод отвергнуть нулевую гипотезу в пользу альтернативной.
Чаще всего мы будем говорить о нулевой гипотезе, в которой предполагается, что среднее значение генеральной совокупности равно определённому числу. В таком случае построить распределение поможет центральная предельная теорема.
Построение выборочного распределения
Представим ситуацию: менеджеры фитнес-клуба хотят открыть детскую зону и проводят опрос среди своих клиентов о возрасте их детей. В выборку попали 100 детей от 0 до 10 лет. Необходимо проверить гипотезу о том, что средний возраст среди всех детей клиентов фитнес-клуба равен 6 годам: H0:μ=6
Если H0 верна, истинное среднее значение генеральной совокупности равно числу, которое предположили в гипотезе. Согласно ЦПТ, выборочные средние распределены нормально вокруг истинного среднего генеральной совокупности. Получается, что центр выборочного распределения — предполагаемое в H0 значение. Дисперсию генеральной совокупности можно оценить по выборке, поэтому ширину колокола тоже можно узнать.
Посмотрите на выборку из генеральной совокупности и построенное выборочное распределение:
Итак, мы построили выборочное распределение. Теперь можно посмотреть, куда на этом графике попало выборочное среднее — число, полученное на той выборке, которая есть в нашем распоряжении.
Как определить, где ещё не стоит отвергать нулевую гипотезу, а где уже пора? Где проходит граница? Чтобы это определить, надо выбрать уровень статистической значимости.
Уровень статистической значимости
Нулевая гипотеза отвергается, если вероятность получить среднее, рассчитанное по выборочным данным, слишком мала. Уровень значимости численно определяет, где проходит граница.
Уровнем значимости задаётся вероятность попасть слишком далеко от центра распределения.
Вероятность попасть в тот или иной интервал равна площади графика над этим интервалом. Нас интересуют значения, далёкие от предполагаемого, — то есть мы отбрасываем хвосты, площадь которых равна заданному уровню статистической значимости. Меняйте уровень значимости с помощью горизонтальной шкалы. Понаблюдайте, как при этом будут меняться интервалы, в которые должно попасть наблюдаемое значение, чтобы нулевая гипотеза была отвергнута.
Видно, что при разных уровнях статистической значимости один и тот же эксперимент может как отвергнуть нулевую гипотезу, так и нет.
Односторонние гипотезы
Выше мы приводили примеры двусторонних альтернативных гипотез. Как обстоит дело с односторонними?
Если альтернативная гипотеза односторонняя, нулевая гипотеза будет отвергнута в случае, если наблюдаемое значение слишком сильно «уедет» от предполагаемого либо в сторону увеличения, либо в сторону уменьшения. Зависит от того, в какую сторону направлена альтернативная гипотеза.
Например, вы хотите проверить, увеличилось ли число посетителей сайта в месяц по сравнению с предполагаемым значением в 50 тысяч посещений. Нулевая гипотеза — H0:μ=50000H0: Альтернативная — H1:μ>50000. Нулевая гипотеза будет отвергнута в пользу альтернативной, если вы увидите количество посещений, значимо большее, чем 50000.
👉🏼 Что делать, если формулировки нулевой и альтернативной гипотез не полностью покрывают все возможные значения исследуемой случайной величины, то есть не всю числовую ось? Принято так: при значениях, для которых гипотезы не сформулированы, нулевая гипотеза не отвергается. Например: если количество посещений будет значимо меньше 50000, H0 мы не отвергнем.
Выберите на интерактивной иллюстрации сторону для односторонней альтернативной гипотезы: меньше или больше 6 лет. Меняйте уровень статистической значимости и наблюдайте, будет ли отвергнута нулевая гипотеза о том, что истинное среднее равно 6, при выборочном среднем, равном 5.7
От выбора уровня статистической значимости зависит, как далеко должно оказаться наблюдаемое значение от предполагаемого в нулевой гипотезе, чтобы отвергнуть её. Конвенциональные значения — 1 % и 5 %.
☝🏼 Можно сказать, что в статистике уровень статистической значимости — это антоним случайности. Он определяет вероятность получить настолько большое отклонение от предполагаемого значения, что его уже нельзя списать на случайность и потому следует считать значимым.
P-value
Кратко:
- Нулевая гипотеза отвергается, если наблюдаемое значение слишком далеко от предполагаемого значения в нулевой гипотезе.
- Уровень значимости задает порог, начиная с какой вероятности наблюдаемое значение считается слишком далеким от предполагаемого.
- P-value - вероятность при верной нулевой гипотезе получить наблюдаемое значение или более удаленное от предполагаемого.
- Нулевая гипотеза отвергается, если p-value меньше выбранного уровня статистической значимости.
- P-value не является вероятностью того, что нулевая гипотеза верна, а лишь оценивает необычность данных при верном предположении о значении параметра.
- Тренировочный метод проверки гипотез позволяет самостоятельно менять формулировку гипотезы, проводить эксперименты и наблюдать за результатами работы метода
Вспомним логику проверки статистических гипотез, с которой вы познакомились в прошлом уроке:
- Нулевая гипотеза отвергается в пользу альтернативной, если наблюдаемое на выборке значение оказывается слишком далеко от предполагаемого в нулевой гипотезе.
- Уровень значимости задаёт порог: начиная с какой вероятности наблюдаемое значение считается слишком далёким от предполагаемого, то есть слишком маловероятным.
На практике гипотезы проверяются с помощью расчёта p-value (от англ. p, probability — «вероятность», value — «значение») — вероятности при верной нулевой гипотезе получить наблюдаемое значение или более удалённое от того, которое предположили в H0.
Рассмотрим ту же нулевую гипотезу, что и на предыдущих интерактивных иллюстрациях: H0:μ=6.
P-value будет равно площади под графиком от наблюдаемого значения — выборочного среднего — до бесконечности. Влево, вправо или в обе стороны — в зависимости от выбранной альтернативной гипотезы.
Выберите альтернативную гипотезу и посмотрите, как меняется p-value и отвергается при этом нулевая гипотеза или нет:
Уровень статистической значимости выбирается перед проведением статистического теста, а p-value — вероятность, которая вычисляется для конкретного эксперимента, то есть для уже взятой выборки.
Если p-value меньше выбранного уровня статистической значимости, то нулевая гипотеза отвергается в пользу альтернативной, — такой результат ещё называется значимым. А если больше, то не отвергается.
Соединим всё вместе. Теперь логика проверки гипотез выглядит так:
- Предположив, что нулевая гипотеза верна, строят выборочное распределение для выбранной статистики — выборочного среднего.
- Затем находят p-value — вероятность получить наблюдаемое на выборке значение или более далёкое от предположенного в H0. На иллюстрации выше это хвост, который отсекает среднее, полученное на выборке. Или хвосты, если гипотеза двусторонняя.
- Маленькое значение p-value — меньше выбранного уровня значимости — означает, что наблюдаемое значение очень маловероятно при такой нулевой гипотезе, и мы отвергаем её в пользу альтернативной.
Если p-value больше уровня стат. значимости, то нулевая гипотеза не отвергается. Это не значит, что она точно верна — просто по собранным данным её нельзя с уверенностью отвергнуть.
☝🏼 Часто p-value неверно интерпретируют. Например, считают, что это вероятность того, что нулевая гипотеза верна. Помните: p-value — это лишь вероятность получить наблюдаемое или ещё более далёкое от предполагаемого в H0 значения при условии, что H0 верна.
Проще говоря, с помощью p-value можно оценить, насколько необычны наши данные, если предположение об истинном значении параметра верно. Рассчитать вероятность того, насколько гипотеза верна или не верна, мы не можем. А можем только зафиксировать параметр в гипотезе и найти p-value для наблюдаемого на выборке значения.
Тренажёр метода проверки гипотез
Попробуем сложить картинку целиком. Итак, мы формулируем гипотезу, проводим эксперимент и анализируем результаты. Самостоятельно меняйте формулировку гипотезы, проводите эксперименты, задавайте уровень значимости и наблюдайте, как меняются результаты работы метода.
Вы узнали, как устроена логика проверки гипотез, и познакомились со всеми необходимыми терминами и понятиями. Настало время посмотреть, как это работает в коде
Проверка двусторонней гипотезы в Python. T-тест
Кратко:
- Проверка гипотез в Python с использованием библиотеки SciPy.
- Метод scipy.stats.ttest_1samp() для проверки двусторонней гипотезы.
- Статистика разности и p-value для решения о принятии гипотезы.
- p-value - вероятность получить наблюдаемый или более экстремальный результат.
- Сравнение p-value с выбранным уровнем значимости для принятия решения.
- t-тест для проверки гипотез с распределением Стьюдента.
- Ограничения t-теста и возможные альтернативы.
- Пример использования t-теста для проверки гипотезы о равенстве среднего генеральной совокупности определенному значению
В Python проверять гипотезы просто — в библиотеке SciPy для этого есть готовые методы.
Метод scipy.stats.ttest_1samp() возвращает два числа для выбранной нулевой гипотезы: статистику разности и вероятность получить наблюдаемое или более экстремальное значение статистики — p-value.
Статистика разности — это количество стандартных отклонений между предполагаемым в нулевой гипотезе значением и средним выборки. Эта разность отмечена на картинке выше: выборочное среднее оказалось почти в двух стандартных отклонениях от предполагаемого среднего генеральной совокупности.
Статистика разности поможет сориентироваться, отвергать ли нулевую гипотезу, но точное решение следует принимать по p-value.
Ещё раз о p-value
Напомним, что p-value — это вероятность получить наблюдаемый или ещё более далекий от предполагаемого результат при условии, что нулевая гипотеза верна. Возвращая этот результат, метод scipy.stats.ttest_1samp() строит распределение со значением, полученным на выборке, и подсчитывает вероятность того, что оно могло оказаться там или ещё дальше от центра колокола.
Важно: по умолчанию p-value возвращается двусторонним. Можно сразу понять, отвергать двустороннюю гипотезу или нет, сравнив это значение с выбранным уровнем значимости. Как проверять односторонние гипотезы — расскажем в следующем уроке.
Если p-value больше 10 %, то нулевую гипотезу точно не нужно отвергать. Если меньше — возможно, стоит. Напомним, что общепринятые пороговые значения — 5 % и 1 %.
💡 Допустим, вы признаёте 5 %-ю вероятность достаточно малой и на этом основании отвергаете нулевую гипотезу. Тогда в среднем в одном исследовании из 20 вы будете отвергать гипотезу не потому, что она неверна, а потому, что реальное значение случайно далеко «уехало» от предполагаемого. Окончательное решение, какой порог считать достаточным, всегда остаётся за аналитиком.
Распределение Стьюдента
Если значений в выборке немного (не больше 20–30), то распределение, соответствующее нулевой гипотезе, будет немного шире нормального. Больший разброс объясняется недостатком данных.
Такое распределение называется t-распределением Стьюдента. Его придумал Уильям Госсет, сотрудник ирландской компании Guinness, когда исследовал урожайность сортов ячменя. Данных было мало, и приходилось делать статистические поправки. Компания запрещала сотрудникам публиковать научные результаты, поэтому Госсет напечатал статью под псевдонимом Студент (от англ. student, читается как «стьюдент»).
Количество наблюдений в выборке (за вычетом единицы) при построении распределения Стьюдента официально называется количеством степеней свободы. Когда оно растёт, распределение стремится к нормальному распределению с тем же средним:
Статистический тест с использованием t-распределения называется t-тестом.
Если значений в выборке много (30 и больше), то распределение Стьюдента настолько близко к нормальному, что можно было бы просто взять нормальное распределение без степеней свободы.
Но чтобы не усложнять себе жизнь выбором нужного теста, принято просто каждый раз применять t-тест — ведь он работает для выборки любого размера.
⚠️ У t-теста есть свои ограничения: не в каждом случае его можно применять. Поговорим об этом в одном из следующих уроков.
Как проверить гипотезу кодом
Итак, для проверки двусторонней гипотезы о равенстве среднего генеральной совокупности некоторому значению используют метод scipy.stats.ttest_1samp(a, popmean, alternative).
Разберём код:
ttest — обозначает t-тест;
1samp (от англ. one sample) — показывает, что мы работаем с одной выборкой, сравнивая посчитанную на ней статистику с заданным значением.
Методу передают аргументы:
a (от англ. array — «массив») — набор данных (например, pandas.Series или список Python), который содержит выборку.
popmean (от англ. population mean — «среднее значение генеральной совокупности», буквально «среднее в популяции») — предполагаемое среднее, на равенство которому вы делаете тест.
alternative — текстовый параметр, задающий альтернативную гипотезу. Варианты: 'two-sided', 'less', 'greater' (соответственно, двусторонняя, левосторонняя и правосторонняя H1H1).
Если не передать этот аргумент методу, по умолчанию будет проверяться двусторонняя альтернативная гипотеза.
После выполнения метод вернёт статистику разности между popmean и выборочным средним из a, а также значение p-value.
Ваш партнёр утверждает, что ваш сайт популярен у пользователей: они проводят на нём 2 часа каждый день. Из записей о времени за день вы взяли выборку в 200 человек. Используйте её и проверьте гипотезу партнёра.
from scipy import stats as st
import numpy as np
import pandas as pd
time_at_site = pd.read_csv('/datasets/user_time.csv')
interested_value = 120 # столько времени должны проводить пользователи на сайте
alpha = 0.05 # уровень статистической значимости
# можно указать .05 или 0.05
results = st.ttest_1samp(
time_at_site,
interested_value)
print('p-значение:', results.pvalue)
if results.pvalue < alpha:
print('Отвергаем нулевую гипотезу')
else:
print('Не получилось отвергнуть нулевую гипотезу')
Получается, что партнёр прав: по всей видимости, пользователи действительно проводят на сайте около двух часов. Поскольку было не важно, больше или меньше заявленного партнёром полученное значение, то тест двусторонний.
Обратите внимание на формулировку результатов. Мы уже отмечали, что данные никогда не смогут доказать или подтвердить гипотезу. Это принципиально важно: обладая лишь выборкой, вы ничего не знаете о генеральной совокупности достоверно. А если бы знали, то статистический тест был бы не нужен.
Вы можете лишь сделать предположение о генеральной совокупности и при условии того, что оно верно, посчитать, насколько вероятно увидеть в выборке полученные значения. Если эта вероятность относительно высока — данные не дают основания отвергнуть это предположение. Если низка — по наблюдаемым данным можно сделать вывод, что, скорее всего, предположение неверно (но не опровергнуть его и не доказать обратное).
Задача
У сети станций проката «Самокат подвезёт» 20 точек в центре города, на каждой — максимум 50 электросамокатов. Вы хотите проверить гипотезу, что в прошлом месяце на любой станции днём было доступно в среднем 30 самокатов. Именно о таком количестве говорили урбанисты КБ «Белка» в исследовании мобильности горожан. Если самокатов на станции меньше, то пользователи думают, что не смогут арендовать самокат, когда он понадобится. А когда их больше, горожанам кажется, что оставить самокат на парковке не получится — не будет свободных мест.
Каждая станция ежечасно отсылала на сервер текущее количество самокатов. Вы загрузили значения с 13:00 до 16:00 за последние 30 дней. Проверьте гипотезу по этой выборке.
from scipy import stats as st
import pandas as pd
scooters = pd.Series([15, 31, 10, 21, 21, 32, 30, 25, 21,
28, 25, 32, 38, 18, 33, 24, 26, 40, 24, 37, 20, 36, 28, 38,
24, 35, 33, 21, 29, 26, 13, 25, 34, 38, 23, 37, 31, 28, 32,
24, 25, 13, 38, 34, 48, 19, 20, 22, 38, 28, 31, 18, 21, 24,
31, 21, 28, 29, 33, 40, 26, 33, 33, 6, 27, 24, 17, 28, 7,
33, 25, 25, 29, 19, 30, 29, 22, 15, 28, 36, 25, 36, 25, 29,
33, 19, 32, 32, 28, 26, 18, 48, 15, 27, 27, 27, 0, 28, 39,
27, 25, 39, 28, 22, 33, 30, 35, 19, 20, 18, 31, 44, 20, 18,
17, 28, 17, 44, 40, 33,])
optimal_value = 30 # введите ваш код тут
alpha = 0.05 # введите ваш код тут
# введите ваш код тут
results = st.ttest_1samp(scooters, optimal_value)
print('p-значение:', results.pvalue ) # введите ваш код тут
if results.pvalue < alpha :# введите ваш код тут
print('Отвергаем нулевую гипотезу')
else:
print('Не получилось отвергнуть нулевую гипотезу')
По-видимому, самокатов на станции было в среднем не 30, а какое-то другое количество. Более того, это число статистически значимо отличается от 30: вероятность случайно получить такую разницу меньше выбранного уровня значимости. А что, если исследование урбанистов показало бы, что не так важно, когда самокатов больше определённого числа; главное — чтобы не было меньше? Тогда интересовала бы только одна сторона неравенства и альтернативная гипотеза содержала бы знак «<», а не «≠».
Как проверять такие гипотезы, расскажем в следующем уроке, а пока поищем свободные в городе самокаты.
Проверка односторонних гипотез в Python
Кратко:
- Проверка односторонних гипотез в Python: метод scipy.stats.ttest_1samp() для правосторонней и левосторонней альтернативной гипотезы.
- Важно понимать объект исследования и корректно формулировать гипотезы, учитывая варианты развития событий.
- Для проведения одностороннего теста используйте alternative='greater' или alternative='less'.
- P-value рассчитывается для одного хвоста распределения.
- Пример использования метода: проверка гипотезы о том, что новый дизайн лендинга помог пользователям быстрее принимать решение о покупке.
- Пример: проверка гипотезы о том, что внедрение практики осознанного подхода к бизнесу привело к увеличению дневной выручки интернет-проекта
Продолжим работать с одной из самых частых гипотез: равно ли истинное среднее генеральной совокупности заданному числу. В этом уроке вы используете методы Python и проверите эту гипотезу против односторонней альтернативной гипотезы.
Ещё раз об односторонних гипотезах
Когда альтернативная гипотеза двусторонняя, интервалы, где нулевая гипотеза отвергается, для уровня значимости в 5 % на графике выборочного среднего выглядят так:
Как будет выглядеть график, когда важно изменение только в одну сторону? Разбивать пополам уровень значимости не придётся: интервал отвержения нулевой гипотезы будет только с одной стороны, а не с обеих.
На этом графике альтернативная гипотеза H1 — «наблюдаемое значение больше заданного».
А что, если наблюдаемое значение сильно отклонится в другую сторону? Когда проверяется односторонняя гипотеза, в которой стоит знак «больше», то не важно, окажется ли наблюдаемое значение слева от предполагаемого. Пусть даже оно будет сильно-сильно меньше.
Скажем, если бы в выбранной менеджером сотне спагетти средняя длина оказалась 3 см при нормальной длине в 20 см — нулевая гипотеза не была бы отвергнута. Менеджер предполагал, что длина макарон только увеличится, и проверял одностороннюю гипотезу. Важно хорошо понимать объект исследования и корректно формулировать гипотезы, учитывая варианты развития событий.
Верно ли, что при одностороннем тесте нулевая гипотеза будет отвергнута при меньшем отклонении выборочного среднего от предполагаемого значения, чем при двустороннем тесте?
Как проверить одностороннюю гипотезу в Python
Для проведения одностороннего теста нужно использовать знакомый вам метод scipy.stats.ttest_1samp(). Теперь в качестве аргументов указывайте alternative='greater' или alternative='less' для правосторонней и левосторонней H1 соответственно.
P-value, которое выдаст метод, будет рассчитываться для одного хвоста распределения.
Интернет-магазин разработал новую посадочную страницу. Статистика показала, что чем дальше посетители пролистывали лендинг и чем больше блоков просматривали, тем чаще они делали покупку. Среднее количество просмотренных блоков теми, кто что-то купил — 4.867.
Первые несколько блоков изменили согласно новому гайдлайну от дизайнера, но количество заказов осталось прежним. Может быть, новый дизайн помог пользователям быстрее принимать решение о покупке? Проверьте, сработал ли гайдлайн: в этом случае количество проскролленных блоков сократится.
Используйте выборку из сотни случайных покупателей. В датасете — количество просмотренных блоков лендинга.
Нулевая гипотеза: среднее количество просмотренных блоков после изменения дизайна осталось прежним. Альтернативная гипотеза: среднее количество просмотренных блоков после изменения дизайна уменьшилось.
from scipy import stats as st
import pandas as pd
screens = pd.Series([4, 2, 4, 5, 5, 4, 2, 3, 3, 5, 2, 5, 2, 2, 2, 3, 3, 4, 8, 3, 4, 3, 5, 5, 4, 2, 5, 2, 3, 7, 5, 5, 6, 5, 3, 4, 3, 6, 3, 4, 4, 3, 5, 4, 4, 8, 4, 7, 4, 5, 5, 3, 4, 6, 7, 2, 3, 6, 5, 6, 4, 4, 3, 4, 6, 4, 4, 6, 2, 6, 5, 3, 3, 3, 4, 5, 3, 5, 5, 4, 3, 3, 3, 1, 5, 4, 3, 4, 6, 3, 1, 3, 2, 7, 3, 6, 6, 6, 5, 5])
prev_screens_value = 4.867
alpha = 0.05 # уровень статистической значимости
results = st.ttest_1samp(
screens,
prev_screens_value,
alternative='less')
print('p-значение:', results.pvalue)
if (results.pvalue < alpha):
print('Отвергаем нулевую гипотезу')
else:
print('Не отвергаем нулевую гипотезу')
p-значение: 1.3358596895543794e-06
Отвергаем нулевую гипотезу
Похоже, дизайнер был прав!
Будь тест односторонним вправо, — с альтернативной гипотезой «наблюдаемое значение больше предполагаемого», — нужно было бы указать alternative='greater'.
Задача
Вы посетили курс известного коуча-предпринимателя. Если вы внедрите его авторскую практику осознанного подхода к бизнесу, то ваш интернет-проект начнёт приносить не менее 50000 рублей в день.
Проверьте гипотезу, что ваш интернет-проект стал приносить не меньше 50000 рублей в день. Для этого используйте датасет дневной выручки за последний месяц.
Напомним: гипотеза со знаком равенства — обычно нулевая. Поэтому «всё сложится, как коуч прописал» — это ваша нулевая гипотеза, а «выручка меньше заявленного» — альтернативная.
«Методика бизнес-коуча не сработала!» — так можно будет утверждать только в случае, если выручка будет статистически значимо меньше заявленной суммы.
from scipy import stats as st
import numpy as np
import pandas as pd
revenue = pd.read_csv('/datasets/revenue.csv')
interested_value = 50000 # сколько обещал коуч
alpha = 0.025 # укажите уровень статистической значимости
results = st.ttest_1samp(revenue, interested_value, alternative='less') # используйте метод st.ttest_1samp
print('p-значение:', results.pvalue) # добавьте в аргумент p-value
if (results.pvalue < alpha): # сравните полученный p-value и уровень значимости)
print('Отвергаем нулевую гипотезу: выручка значимо меньше 50 тысяч')
else:
print('Не получилось отвергнуть нулевую гипотезу: выручка достигает запланированных показателей')
Увы, но эта методика себя не оправдала. Придётся самим придумывать, как развить свой бизнес.
Напомним: запись числа 2.5e−22 означает 2.5⋅10^−22=2.5/10^22
Гипотеза о равенстве средних двух генеральных совокупностей
Кратко:
- Гипотеза о равенстве средних двух генеральных совокупностей может быть проверена статистическим тестом.
- Нулевая гипотеза: средние значения равны, альтернативная гипотеза: одно из неравенств средних.
- Проверка гипотезы в Python с использованием метода scipy.stats.ttest_ind.
- Три условия для применения t-теста: независимость генеральных совокупностей, нормальность выборочных средних и равенство дисперсий.
- Если выборки большие и равные по размеру, можно использовать t-тест без указания параметра equal_var.
- В других случаях рекомендуется указать equal_var=False для проверки дисперсий выборок по отдельности.
- Примеры проверки гипотез о равенстве средних и неравенстве средних для разных групп пользователей
В предыдущих уроках вы сравнивали среднее некоторой генеральной совокупности с числом. Например, брали выборку из чеков продаж за определённый период и выясняли, равен ли средний чек за этот период 3260 рублям или нет.
Иногда бывает нужно сравнить средние двух генеральных совокупностей между собой. Например, можно исследовать два периода и на основании взятых из них случайных выборок сделать вывод о том, считать ли средние чеки за эти периоды одинаковыми или нет.
Для начала кое-что напомним:
- Если обе генеральные совокупности не очень большие и помещаются в оперативную память вашего компьютера, можно рассчитать их средние и сделать вывод, какое больше. Правда, вывод о значимости этой разницы всё равно не сделать без статистического теста.
- Если только одна из генеральных совокупностей небольшая, можно рассчитать среднее всей первой (меньшей) совокупности — число — и провести тест на равенство этого числа со средним из второй совокупности, оценённым по выборке. Мы делали это в прошлом уроке.
- Если обе генеральные совокупности большие, придётся сравнивать средние по выборкам из каждой совокупности. На практике так часто и происходит, ведь данных много. В этом случае точно не обойтись без статистического теста.
Когда сравнивают средние двух генеральных совокупностей, нулевую гипотезу можно сформулировать так: «средние значения совокупностей равны».
В действительности проверяют нулевую гипотезу о равенстве разности между двумя средними нулю, — это должно быть так, если они равны.
Допустим, разность между средними отличается от нуля, но как понять, что это отличие значимо? Средние генеральных совокупностей, как и средние взятых из них выборок, могут различаться, но недостаточно сильно, чтобы сделать вывод о том, что эта разница неслучайна. На этот вопрос и отвечает статистический тест: достаточно ли большое различие мы наблюдаем с учётом разброса, чтобы отвергнуть нулевую гипотезу об их равенстве.
Как проверить гипотезу в Python
В Python есть специальный метод для проверки гипотезы о равенстве среднего двух генеральных совокупностей по взятым из них выборкам: scipy.stats.ttest_ind(array1, array2, equal_var, alternative).
У метода несколько параметров:
array1, array2 — наборы значений, которые содержат выборки.
equal_var (от англ. equal variance — «равная дисперсия») — необязательный параметр. Он управляет тем, будет ли метод считать равными дисперсии выборок. Передаётся как equal_var=True или equal_var=False (True — считать, False — не считать). По умолчанию — True.
alternative — текстовый параметр, задающий альтернативную гипотезу. Варианты: 'two-sided', 'less', 'greater' (соответственно, двусторонняя, левосторонняя и правосторонняя H1). По умолчанию — 'two-sided'.
Итак, если параметр equal_var не указывать, то по умолчанию он примет значение True. Как понять, в каком случае должно быть True, а в каком False? Чтобы ответить на этот вопрос, расскажем больше о правилах применения t-теста.
Чтобы понять, можно ли применять t-тест, нужно проверить три условия:
- Генеральные совокупности не зависят друг от друга. Если вы рассматриваете одну генеральную совокупность до и после какого-либо изменения, нужно использовать другой тест. Речь о нём пойдёт в следующем уроке.
- Выборочные средние нормально распределены. Это условие не должно быть препятствием благодаря ЦПТ. Если размер выборки составляет хотя бы несколько десятков значений, то выборочные средние, которые можно получить из одной и той же генеральной совокупности, будут распределены близко к нормальному вокруг истинного среднего этой совокупности. Это так, даже если сама генеральная совокупность не распределена нормально.
Часто это условие путают с необходимостью нормального распределения самих генеральных совокупностей. Для корректного использования t-теста это необязательно.
Дисперсии рассматриваемых генеральных совокупностей равны. Это коварное условие. С одной стороны, вы никогда точно не знаете, равны ли дисперсии рассматриваемых генеральных совокупностей. С другой — по умолчанию параметр equal_var принимает значение True: дисперсии считаются равными и тест объединяет обе выборки в одну, чтобы эту дисперсию поточнее оценить
При этом если выборки достаточно велики (30 и больше значений) и равны по размеру между собой, то такой подход оправдан. Симуляции, проведённые учёными, показывают, что даже если дисперсии на самом деле не равны, то тест редко ошибается.
Подведём итог. Допустим, у вас достаточно большие и равные по размеру выборки и нет оснований думать, что дисперсии генеральных совокупностей разные. Тогда просто сравнивайте средние t-тестом, не указывая параметр equal_var: пусть он примет значение True.
Если по какой-то причине выборки у вас разного размера или есть сомнения, что дисперсии у совокупностей одинаковые, укажите этот параметр как False, и тест посчитает дисперсии выборок по отдельности.
Иногда советуют предварительно проверить равенство дисперсий специальными тестами (например, тестом Левена). Мы не рекомендуем так делать: исследования показывают, что это только увеличивает вероятность сделать неверный вывод. Так что правило тут простое: если выборки разного размера и/или можно предположить, что дисперсии у генеральных совокупностей разные, укажите equal_var=False при вызове метода scipy.stats.ttest_ind(). В остальных случаях используйте тест без изменений.
Приведены два датасета: сумма покупок, которые были совершены за месяц посетителями, привлечёнными по двум разным каналам. В вашем распоряжении случайные выборки из 30 покупок для каждого канала.
from scipy import stats as st
sample_1 = [3071, 3636, 3454, 3151, 2185, 3259, 1727, 2263, 2015,
2582, 4815, 633, 3186, 887, 2028, 3589, 2564, 1422, 1785,
3180, 1770, 2716, 2546, 1848, 4644, 3134, 475, 2686,
1838, 3352]
sample_2 = [1211, 1228, 2157, 3699, 600, 1898, 1688, 1420, 5048, 3007,
509, 3777, 5583, 3949, 121, 1674, 4300, 1338, 3066,
3562, 1010, 2311, 462, 863, 2021, 528, 1849, 255,
1740, 2596]
alpha = 0.05 # уровень статистической значимости
# если p-value окажется меньше него, отвергнем гипотезу
results = st.ttest_ind(sample_1, sample_2)
print('p-значение:', results.pvalue)
if results.pvalue < alpha:
print('Отвергаем нулевую гипотезу')
else:
print('Не получилось отвергнуть нулевую гипотезу')
p-значение: 0.1912450522572209
Не получилось отвергнуть нулевую гипотезу
Значение p-value показывает: вероятность случайно получить такое или большее различие равна почти 20 %, хотя средние чеки из разных каналов и не одинаковы. Это явно слишком большая вероятность, чтобы делать вывод о значимом различии между средними чеками.
Мы не использовали дополнительный параметр equal_var=False, потому что у нас достаточно большие и одинаковые по размеру выборки, к тому же в обеих измерена одна и та же переменная. Нет оснований полагать, что разброс будет сильно отличаться.
Односторонние гипотезы для средних двух генеральных совокупностей
В примерах выше шла речь о проверке гипотезы о равенстве двух генеральных совокупностей. Эти генеральные совокупности были представлены двумя выборками. Нулевая гипотеза звучала как «между средними значениями двух совокупностей нет разницы, они равны», а альтернативная — «средние значения двух совокупностей не равны».
Но можно сформулировать альтернативную гипотезу ещё двумя способами:
- Среднее значение первой генеральной совокупности больше среднего значения второй генеральной совокупности.
- Среднее значение первой генеральной совокупности меньше среднего значения второй генеральной совокупности.
Такой подход аналогичен проверке односторонних гипотез для одной выборки. Выше уже говорилось о том, что у метода ttest_ind() есть параметр alternative, который, как и в случае с методом ttest_1samp(), может принимать одну из трёх строк в качестве аргумента:
'two-sided'
'greater'
'less'
В примере выше alternative не задавался явно, поэтому использовался аргумент 'two-sided' — проверялась двусторонняя гипотеза: равны или не равны средние. Аргумент 'greater' может использоваться для проверки альтернативной гипотезы «Среднее значение первой генеральной совокупности больше среднего значения второй генеральной совокупности». Аргумент 'less' может использоваться для проверки альтернативной гипотезы «Среднее значение первой генеральной совокупности меньше среднего значения второй генеральной совокупности».
Рассмотрим пример. Пусть существуют суммы трат двух групп пользователей сервиса: с платной подпиской и без. Проверим гипотезу о том, что пользователи с подпиской оставляют больше денег в приложении.
- Нулевая гипотеза: средние значения трат пользователей из двух групп равны.
- Альтернативная гипотеза: среднее значение трат пользователей с подпиской больше, чем среднее значение трат пользователей без подписки
Чтобы проверить такую гипотезу, нужно передать в метод ttest_ind()сначала выборку с суммами пользователей с подпиской (first_group_total), затем выборку с суммами пользователей без подписки (second_group_total) — порядок важен. В качестве alternative нужно указать 'greater', то есть «больше».
# импортируем библиотеки
import pandas as pd
import scipy.stats as st
# задаём уровень значимости
alpha = 0.05
# траты первой группы пользователей (с подпиской)
first_group_total = pd.Series([1030.04, 979.13, 1055.95, 1010.72, 1026.73, 1050.37, 1016.69,
988.54, 1035.16, 1023.99, 1019.9 , 1004.54, 1039.57, 1083.2 ,
1015.08, 1053.87, 1015. , 1010.2 , 1058.26, 984.14, 996.72,
998.69, 1023.89, 1000.57, 1002.99, 1056.2 , 1064.17, 1017.63,
1044. , 1026.85])
# траты второй группы пользователей (без подпиской)
second_group_total = pd.Series([ 976.47, 1020. , 1004.24, 1022.44, 1026.49, 954.82, 1044.95,
985.61, 979.16, 990.87, 1020.94, 1000.64, 988.56, 1010.57,
999. , 1007.65, 990.61, 1033.15, 1037.47, 994.76, 987.89,
996.38, 975.61, 1026.65, 1017.6 , 1005.86, 970.54, 991.88,
1005.44, 1014.79])
# проводим ttest для двух выборок, в качестве альтернативной используем одностороннюю гипотезу «больше»
results = st.ttest_ind(first_group_total, second_group_total, alternative='greater')
print(f'p-value: {results.pvalue}')
# проверяем p-value
if results.pvalue < alpha:
print('Отвергаем нулевую гипотезу')
else:
print('Нет оснований отвергнуть нулевую гипотезу')
Задача 1
Приведены два датасета: среднее время пребывания на сайте пользователей, которые авторизуются с логином и паролем, и тех, кто авторизуется через социальные сети. Проверьте гипотезу о равенстве времени, которое проводят на сайте обе группы.
Установите уровень статистической значимости 0.01
from scipy import stats as st
import numpy as np
# время на сайте пользователей, зашедших с логином и паролем
time_on_site_logpass = [368, 113, 328, 447, 1, 156, 335, 233,
308, 181, 271, 239, 411, 293, 303,
206, 196, 203, 311, 205, 297, 529,
373, 217, 416, 206, 1, 128, 16, 214]
# время на сайте пользователей, зашедших через социальные сети
time_on_site_social = [451, 182, 469, 546, 396, 630, 206,
130, 45, 569, 434, 321, 374, 149,
721, 350, 347, 446, 406, 365, 203,
405, 631, 545, 584, 248, 171, 309,
338, 505]
alpha = 0.01 # задайте уровень стат. значимости
results = st.ttest_ind(time_on_site_logpass, time_on_site_social, alternative='two-sided') # проведите стат. тест о равенстве времени, которое проводят на сайте обе группы
# выведите на экран получившееся p-значение
print('p-значение:', results.pvalue)
if results.pvalue < alpha: # сравните p-значение с alpha
print('Отвергаем нулевую гипотезу')
else:
print('Не получилось отвергнуть нулевую гипотезу')
Оказывается, время на сайте зависит от способа авторизации. Может быть, просто надо учесть несколько минут на ввод пароля вручную?
Приведены два датасета: глубина просмотра сайта разными группами пользователей за летние и осенние месяцы. Проверьте гипотезу о равенстве глубины просмотра веб-ресурса. Возможно, летом посетители погружаются в контент ненадолго — стоит учесть при планировании рекламных кампаний в это время года.
Установите уровень статистической значимости 0.01
Летом и осенью на сайт заходят по-разному. Возможно, у него сезонная тематика.
Гипотеза о равенстве средних для зависимых (парных) выборок
Кратко:
- Гипотеза о равенстве средних для зависимых выборок: H_0: μ_1 = μ_2, H_1: μ_1 ≠ μ_2.
- Выборки в этом случае будут зависимыми, иначе - парными.
- Метод scipy.stats.ttest_rel() для проверки гипотезы в Python.
- Метод scipy.stats.ttest_ind() для проверки равенства средних двух генеральных совокупностей.
- Метод scipy.stats.ttest_rel() для проверки равенства среднего значения генеральной совокупности до и после изменения.
- Пример использования методов: проверка веса посылок до и после изменения способа расчета оплаты доставки.
- Пример использования методов: проверка времени использования личного кабинета сайта до и после редизайна.
- Пример использования методов: проверка количества патронов, покупаемых пользователями в онлайн-игре до и после изменения игровой логики
Мы обещали рассказать, как проверять гипотезу, если вы анализируете одну генеральную совокупность, с которой произошли некоторые изменения. В этом случае вы будете проверять, равны ли средние совокупности до и после этого изменения.
Проверочные задания. Проверка гипотез