📜  SciPy-统计(1)

📅  最后修改于: 2023-12-03 14:47:18.604000             🧑  作者: Mango

SciPy-统计

介绍

Scipy-统计是Scipy库中的一个模块,提供了对各种统计分布和函数的支持。它包含了多种概率分布,如正态分布,伽马分布,以及用于数据分析的函数,如拟合和统计测试等。Scipy-统计是python中进行数据分析和数据科学工作的重要组成部分之一。

安装

Scipy库是Python环境中经常使用的科学计算库之一,这里介绍一种使用pip安装的方法。

pip install scipy
使用

使用Scipy-统计进行数据分析通常需要以下步骤。

1. 导入所需库和函数
from scipy.stats import norm # 正态分布
from scipy.stats import gamma # 伽马分布
from scipy.stats import kstest # Kolmogorov-Smirnov test
from scipy.stats import ttest_ind # 独立双样本t检验
from scipy.stats import chi2_contingency # 卡方检验
2. 建立一个样本数据集
data = norm.rvs(loc=0, scale=1, size=1000) # 均值为0,标准差为1,数据量为1000的样本数据
3. 进行统计分析

使用Scipy-统计模块提供的函数,对数据进行统计分析。

正态分布

mean, std = norm.fit(data) # 计算均值和标准差
print("Mean: {:.2f}, Standard deviation: {:.2f}".format(mean, std))

p_value = norm.cdf(1.96) - norm.cdf(-1.96) # 计算数据在1.96标准差置信区间内的概率
print("Probability within 1.96 standard deviations: {:.2f} %".format(p_value*100))

伽马分布

shape, loc, scale = gamma.fit(data) # 计算伽马分布的形态参数、位置参数和尺度参数
print("Shape: {:.2f}, Location: {:.2f}, Scale: {:.2f}".format(shape, loc, scale))

Kolmogorov-Smirnov test

ks_statistic, p_value = kstest(data, 'norm') # 进行Kolmogorov-Smirnov检验,检验数据是否符合正态分布
print("KS statistic: {:.2f}, P-value: {:.2f}".format(ks_statistic, p_value))

独立双样本t检验

data1 = norm.rvs(loc=0, scale=1, size=100)
data2 = norm.rvs(loc=0.5, scale=1, size=100) # 创建两个数据集,均值分别为0和0.5

t_statistic, p_value = ttest_ind(data1, data2) # 进行独立双样本t检验
print("T statistic: {:.2f}, P-value: {:.2f}".format(t_statistic, p_value))

卡方检验

obs = np.array([[16, 18, 16, 14, 12, 12], [32, 24, 16, 28, 20, 8]]) # 创建一个2x6的频数矩阵
chi2_statistic, p_value, dof, expected = chi2_contingency(obs) # 进行卡方检验
print("Chi-square statistic: {:.2f}, P-value: {:.2f}, Degrees of freedom: {:d}".format(chi2_statistic, p_value, dof))
总结

Scipy-统计模块提供了丰富的统计分布和函数,在数据科学和数据分析中应用广泛。通过上述介绍,大家可以了解到如何使用Scipy-统计进行基本的数据分析和检验,为更高级的数据分析打下基础。