Scipy Stats: Your one-stop solution for statistical analysis
Scipy стоит за Scientific Python и предоставляет функции для работы с научными задачами, статистическими методами, а также для работы с массивами данных. В частности, Scipy имеет модуль stats, который предоставляет множество функций для работы с распределениями вероятности, а также методы статистических тестов и анализа данных. Кроме того, Scipy stats позволяет использовать различные методы для работы с выборками, квантилями и другими статистическими показателями данных.
Примеры использования Scipy stats:
1. Построение гистограммы распределения вероятности
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
# создание списка выборок
np.random.seed(0)
data = np.random.randn(100)
# построение гистограммы распределения
plt.hist(data, bins=10, density=True, alpha=0.6, color='g')
plt.show()
# построение плотности нормального распределения
x = np.linspace(-5, 5, 100)
plt.plot(x, norm.pdf(x), 'r-', lw=2, alpha=0.6)
plt.show()
2. Расчет статистических показателей для выборки
import numpy as np
from scipy.stats import describe, ttest_1samp
# создание списка выборки
sample = np.array([15, 16, 18, 17, 20, 22, 20, 21, 19, 18])
# расчет основных статистических показателей
print(describe(sample))
# проверка значимости отклонения среднего от нуля
tstat, pvalue = ttest_1samp(sample, 0)
print('t-статистика:', tstat)
print('p-значение:', pvalue)
3. Применение статистических тестов к данным
import numpy as np
from scipy.stats import ttest_ind, f_oneway
# создание двух выборок
np.random.seed(0)
group1 = np.random.randn(20) + 2
group2 = np.random.randn(20) + 4
# t-тест для двух выборок
tstat, pvalue = ttest_ind(group1, group2)
print('t-статистика:', tstat)
print('p-значение:', pvalue)
# One-way ANOVA для нескольких выборок
data = [np.random.randn(20) + i for i in range(3)]
fstat, pvalue = f_oneway(*data)
print('F-статистика:', fstat)
print('p-значение:', pvalue)
Таким образом, модуль Scipy stats предоставляет широкий спектр инструментов и функций для работы с данными и статистикой. Он позволяет производить разведывательный анализ данных, применять статистические тесты и визуализировать результаты в удобной форме.