Как проверить выборку на нормальность распределения с помощью Python? 📊🔍

Для проверки выборки на нормальность распределения в Python вы можете использовать тест Шапиро-Уилка или тест Андерсона-Дарлинга.


# Импортирование необходимых модулей
import numpy as np
from scipy.stats import shapiro, anderson

# Пример проверки выборки на нормальность с использованием теста Шапиро-Уилка
data = np.random.normal(loc=0, scale=1, size=100) # Здесь data - ваша выборка
statistic, p_value = shapiro(data)
if p_value <= 0.05:
    print("Выборка не имеет нормальное распределение")
else:
    print("Выборка имеет нормальное распределение")

# Пример проверки выборки на нормальность с использованием теста Андерсона-Дарлинга
data = np.random.normal(loc=0, scale=1, size=100) # Здесь data - ваша выборка
result = anderson(data)
critical_values = result.critical_values
if result.statistic > critical_values[2]:
    print("Выборка не имеет нормальное распределение")
else:
    print("Выборка имеет нормальное распределение")

Детальный ответ

Как проверить выборку на нормальность распределения в Python

Проверка выборки на нормальность распределения является важным шагом в анализе данных. В Python существует несколько методов, которые позволяют провести такую проверку. В следующем объяснении мы рассмотрим два из них: графический метод и статистический тест.

Графический метод

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

В Python для построения такого графика мы можем воспользоваться библиотекой Matplotlib. Вот пример кода:


import matplotlib.pyplot as plt
import numpy as np

# Создаем случайную выборку данных
data = np.random.normal(0, 1, 1000)

# Строим гистограмму распределения данных
plt.hist(data, bins=30, density=True)

# Строим график плотности распределения
x = np.linspace(min(data), max(data), 100)
y = (1 / np.sqrt(2 * np.pi)) * np.exp(-0.5 * x**2)
plt.plot(x, y, color='r')

plt.xlabel('Значения')
plt.ylabel('Плотность')
plt.title('Проверка нормальности распределения')

# Отображаем график
plt.show()
    

В этом примере мы сгенерировали случайную выборку данных, подчиняющуюся нормальному распределению. Затем мы построили гистограмму этой выборки и добавили на график кривую плотности распределения для сравнения. Если гистограмма и кривая плотности схожи, то можно сделать вывод о нормальности распределения.

Статистический тест

Помимо графического метода, в Python также доступны статистические тесты для проверки нормальности распределения. Один из самых распространенных тестов - тест Шапиро-Уилка. Этот тест основан на сравнении фактических значений с ожидаемыми для нормального распределения.

Вот пример кода для выполнения теста Шапиро-Уилка:


from scipy import stats

# Создаем случайную выборку данных
data = np.random.normal(0, 1, 1000)

# Выполняем тест Шапиро-Уилка
result = stats.shapiro(data)

# Выводим p-значение теста
print(f'p-значение: {result.pvalue}')
    

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

Видео по теме

Проверка выборок на нормальность распределения

01-10 Эмпирическое распределение в python

Лекция 6. Проверка статистических гипотез (процедуры Python)

Похожие статьи:

Как узнать вес строки в Python? 🤔 Узнайте простыми шагами!

🔢 Как рассчитать среднее арифметическое в Питоне? Узнайте легкий способ!

🔥Как добавить данные в таблицу SQLite Python: Подробное руководство для начинающих📚

Как проверить выборку на нормальность распределения с помощью Python? 📊🔍

Как ✍️ пишется пробел в Питоне? 🐍

Какой смысл во сне видеть большого питона? 🐍 Значение сновидения о большом питоне

Как создать телеграм бота на питон: пошаговое руководство для новичков