Как использовать математическую статистику в Python и SQL
Начнём с одной из самых красивых и важных концепций в статистике — нормального распределения. Это тот самый "колокол", который часто встречается в природе и бизнесе: рост людей, ошибки измерений, финансовые показатели и многое другое.
Визуально нормальное распределение — это симметричная кривая с пиком в центре, где сосредоточено большинство значений, и плавным спадом к краям. Его параметры — это среднее (μ) и стандартное отклонение (σ), которые определяют положение и ширину колокола.
Python: изучаем нормальное распределение и основные статистики Если нужен отдельный пост о том как ставить python и библиотеки к нему, ставьте 👍
import numpy as np import pandas as pd import matplotlib.pyplot as plt from scipy import stats
#Создадим выборку из нормального распределенияdata = np.random.normal(loc=50, scale=10, size=1000)
#Рассчитаем основные параметрыmean = np.mean(data) median = np.median(data) mode = stats.mode(data)[0][0] variance = np.var(data, ddof=1) # дисперсия выборки std_dev = np.std(data, ddof=1) # стандартное отклонение
print(f"Среднее: {mean:.2f}") print(f"Медиана: {median:.2f}") print(f"Мода: {mode:.2f}") print(f"Дисперсия: {variance:.2f}") print(f"Стандартное отклонение: {std_dev:.2f}")
#Визуализация распределенияplt.hist(data, bins=30, density=True, alpha=0.6, color='g')
#Нормальная кривая по параметрам выборкиxmin, xmax = plt.xlim() x = np.linspace(xmin, xmax, 100) p = stats.norm.pdf(x, mean, std_dev) plt.plot(x, p, 'k', linewidth=2) plt.title("Гистограмма и нормальное распределение") plt.show() SQL: получение основных статистик
Если вы работаете с базой данных, то простые статистики можно получить с помощью SQL:
SELECT AVG(value) AS mean, PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY value) AS median, MODE() WITHIN GROUP (ORDER BY value) AS mode, VAR_SAMP(value) AS variance, STDDEV_SAMP(value) AS std_dev FROM your_table;
Домашнее задание
1. В Python сгенерируйте выборку из нормального распределения с любыми параметрами. 2. Рассчитайте среднее, медиану, моду, дисперсию и стандартное отклонение. 3. Постройте гистограмму и наложите кривую нормального распределения. 4. Попробуйте повторить расчёты в вашей базе данных с реальным набором данных.
Если хотите, делитесь результатами и вопросами в комментариях — разберём вместе!
Запомните, даже самый спокойный медведь умеет рычать, когда надо. Берегите голову, берегите данные — и пусть в вашем дне будет немного тишины, ясности и добрых переменных.