Упрощенное объяснение CLT с демонстрацией Python
Исследователи данных часто сталкиваются с проблемой работы с ограниченными выборками данных, однако им необходимо делать осмысленные выводы о больших группах населения на основе этих выборок. Именно здесь в качестве фундаментальной концепции вступает в игру Центральная предельная теорема (ЦПТ).
В прогнозном моделировании Центральная предельная теорема позволяет нам предположить нормальное распределение ошибок или остатков, что позволяет применять мощные методы, такие как линейная регрессия и анализ временных рядов. И если вам интересно, почему так часто возникает нормальное распределение (от роста учеников в классе до срока службы лампочек), CLT тоже стоит за этим.
Цели обучения
В этой статье мы сначала рассмотрим формальное определение CLT, а затем дадим упрощенное объяснение на примере из реальной жизни. Наконец, чтобы сделать наше понимание кристально ясным, мы также проверим эту теорему на синтетическом наборе данных с использованием кода Python.
Прежде чем начать с CLT, мы должны понять самое популярное распределение всех времен: нормальное распределение.
Что такое нормальное распределение:
Нормальное или гауссово распределение — это статистическая закономерность, которая часто проявляется в различных аспектах нашей повседневной жизни. Если вы нанесете частоты класса, полного учеников, с ростом в футах по оси X и количеством учеников по оси Y, вы увидите участок в виде колокола. Это нормальное распределение. Очень немногие ученики будут очень невысокими (левый конусный край), у большинства будет средний рост (пик посередине), и снова очень немногие будут очень высокими (правый конусный край). Она также известна как колоколообразная кривая из-за ее характерной формы, напоминающей симметричную кривую, которая имеет пик в середине и сужается к краям.
В нормальном распределении среднее значение, медиана и мода (наиболее распространенное значение) одинаковы и расположены на пике кривой. Кривая симметрична относительно этой точки, что означает, что по обе стороны от пика приходится одинаковое количество значений. По мере удаления от пика количество значений постепенно уменьшается, образуя сужающиеся края кривой.
Теперь, когда мы знаем, что такое нормальное распределение, прохождение центральной предельной теоремы будет легкой прогулкой.
Что такое Центральная предельная теорема?
Учитывая набор данных с неизвестным распределением (оно может быть однородным, биномиальным или полностью случайным), средние значения выборки будут аппроксимировать нормальное распределение.
Центральная предельная теорема: упрощенная
Давайте сломаем это. Представьте, что у нас есть экзаменационные баллы группы из 100 студентов, сдавших очень сложный экзамен. Если вы нарисуете кривую их экзаменационных баллов на графике, кривая, скорее всего, будет наклонена вправо. В этом случае у большинства студентов будут низкие результаты тестов, а у меньшего числа людей будут высокие оценки, которые смещают кривую вправо от графика (диаграмма ниже). эта асимметрия говорит о том, что оценки явно не распределены нормально.
Обратите внимание на гистограмму справа, она показывает, как баллы распределяются с положительной асимметрией.
Теперь самое интересное: давайте случайным образом возьмем 30 баллов из этого графика и рассчитаем их среднее значение. Мы называем это средним значением для первой выборки.
Точно так же давайте возьмем другой набор из 30 оценок, выбранных случайным образом из этой 100, и запишем среднее значение этих 30 оценок (среднее значение 2-й выборки).
Продолжайте этот процесс n раз, и в итоге у нас будет n таких выборочных средних.
Давайте построим гистограмму этих n выборочных средних. Гистограмма визуализирует распределение этих выборочных средних значений.
Центральная предельная теорема гласит, что если n очень велико, это означает, что если мы будем повторять этот процесс в течение длительного времени, эта гистограмма сформирует колоколообразную форму. ИЛИ, с точки зрения статистики, это будет нормальное распределение.
Правильно, для n = 10000 мы получили эту гистограмму, нанеся частоты выборочных средних.
Что удивительно в CLT, так это то, что даже если исходное распределение баллов на экзамене было странным или неравномерным, средние баллы по выборке все равно следуют этому симметричному нормальному распределению.
Теперь мы готовы ответить на этот вопрос:
Почему нормальное распределение так часто встречается в природе и данных?
Проще говоря, CLT говорит нам, что многие природные явления являются результатом совместной работы множества основополагающих факторов. Каждый фактор вносит небольшой вклад в общий результат, и когда эти вклады объединяются, их совокупный эффект подчиняется нормальному распределению. Вот почему мы часто наблюдаем нормальное распределение, появляющееся в различных аспектах нашей жизни, поскольку различные явления можно рассматривать как сумму или среднее значение нескольких независимых факторов.
Проверка CLT (с использованием данных о результатах экзамена)
Теперь, когда теорема нам ясна, давайте посмотрим, как мы можем использовать Python для ее проверки.
Я загрузил эти данные в Jupyter Notebook. Следующий код случайным образом выбирает набор из 30 баллов и вычисляет их среднее значение.
import pandas as pd import random import numpy as np #reading data from csv dt = pd.read_csv("score_data.csv") score_vector = dt.Score #selecting 30 scores randomly sample1 = random.sample(set(score_vector), 30) #calculating sample mean of First sample np.mean(sample1)
Повторение выборки n раз и сохранение среднего значения выборки.
import pandas as pd import random import numpy as np import matplotlib.pyplot as plt import seaborn as sns # Reading data from csv dt = pd.read_csv("score_data.csv") score_vector = dt.Score # Setting the value of n n = 10000 # Initialising list where sample means will be stored ls = [] for i in range(0,n): #selecting 30 scores randomly sample1 = random.sample(set(score_vector), 30) #calculating sample mean of 30 scores and appending with the existing list ls = ls + [np.mean(sample1)] # Plotting Histograms sns.distplot(a=ls, color='purple', bins = 30, hist_kws={"edgecolor": 'black'}) # Adding title and axis names plt.title('n = '+ str(n)) plt.xlabel('Scores') plt.ylabel('Frequency') plt.show()
Выходные гистограммы:
Для n = 5, 20, 100, …, 50000
Мы можем ясно видеть, как гистограмма все больше и больше становится похожей на нормальное распределение. Это центральная предельная теорема в действии :)
Проверка CLT на синтетических данных (взятые образцы из распределения Пуассона)
Теперь мы возьмем образцы из распределения, которое не является симметричным/колоколообразным, и покажем, что распределение его выборочных средних по-прежнему сходится к нормальному распределению. Для этого упражнения я выбрал гамма-распределение (a, b), где a и b — параметры формы и масштаба. Гамма-распределение сильно искажено, если параметр формы низкий.
Мы возьмем 100 значений из случайной величины Gamma (1,10). Это наши базовые данные (например, данные о 100 экзаменационных баллах) для тестирования CLT.
#Generating 100 samples from Gamma distribution s = np.random.gamma(1, 10, 100) # Display histogram of the sample: sns.distplot(a=s, color='red', hist_kws={"edgecolor": 'black'}) plt.title('Gamma random Variable (Shape = 1, Scale = 50)')
Гистограмма :
Как и ожидалось, значения сформировали гистограмму с положительным перекосом (правый хвост длиннее).
Следующим шагом является выбор выборки размером = 30 из этих 100 значений, а затем вычисление среднего значения. Таким образом, повторите выборку n раз и сохраните все средние значения выборки, как мы сделали для данных результатов экзамена.
Посмотрите, как красиво он сходится к графику в форме колокола, даже несмотря на то, что значения являются выборочными средними из асимметричного гамма-распределения.
Заключение
Центральная предельная теорема похожа на плащ супергероя для статистиков, позволяя нам делать надежные выводы и делать уверенные прогнозы даже перед лицом сложных данных. Это фундаментальная концепция, которая произвела революцию в мире статистики и играет ключевую роль в принятии решений в различных отраслях.
Давайте воздадим должное этой необычной теореме, которая сформировала то, как мы понимаем и интерпретируем данные! Если вы очарованы силой статистики и хотите узнать больше, оставьте комментарий ниже или свяжитесь со мной. Я всегда рад сотрудничеству и погружению в дискуссии, основанные на данных :)
Дополнительные материалы на PlainEnglish.io.
Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .