Python进行各项统计检验

统计性检验

本文分为四个部分:

  • 正态性检验
  • 相关性检验
  • 参数统计假设检验
  • 非参数统计假设检验

 1.正态性检验

本部分列出了可用于检查数据是否具有高斯分布的统计检验。

w检验(Shapiro-wilk test)

检验数据样本是否具有高斯分布。

from scipy.stats import shapiro
data = [21,12,12,23,19,13,20,17,14,19]
stat,p = shapiro(data)
print("stat为:%f" %stat,"p值为:%f" %p)

更多内容

  • scipy.stats.shapiro:https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.shapiro.html
  • 维基百科:https://en.wikipedia.org/wiki/Shapiro%E2%80%93Wilk_test

 2.相关性检验

本节列出了可用于检查两个样本是否相关的统计检验

皮尔逊相关系数

检验两个样本是否具有单调关系

假设

  • 每个样本中的观察是独立同分布的
  • 每个样本的观察都是正态分布的
  • 每个样本的观察具有相同的方差

 

from scipy.stats import pearsonr
data1 = [21,12,12,23,19,13,20,17,14,19]
data2 = [12,11,8,9,10,15,16,17,10,16]
corr,p = pearsonr(data1,data2)
print("corr为:%f" %corr,"p值为:%f" %p)

更多信息

  • scipy.stats.pearsonr:https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.pearsonr.html
  • 维基百科:https://en.wikipedia.org/wiki/Pearson_correlation_coefficient

卡方检验

检验两个分类变量是相关的还是独立的

假设

  • 用于计算列联表的观察是独立的
  • 列联表的每个单元格中有25个或更多个实例
from scipy.stats import chi2_contingency
data1 = [21,12,12,23,19,13,20,17,14,19]
data2 = [12,11,8,9,10,15,16,17,10,16]
stat,p,dof,expected = chi2_contingency(data1,data2)
print("stat为:%f" %stat,"p值为:%f" %p)

更多信息

  • scipy.stats.chi2_contingency:https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.chi2_contingency.html
  • 维基百科:https://en.wikipedia.org/wiki/Chi-squared_test

3.参数统计假设检验

本节列出了可用于比较数据样本的统计检验

T检验

 检验两个独立样本的均值是否存在显著差异

假设

  • 每个样本中的观察是独立同分布的
  • 每个样本的观察都是正态分布的
  • 每个样本中的观察具有相同的方差
from scipy.stats import ttest_ind
data1 = [21,12,12,23,19,13,20,17,14,19]
data2 = [12,11,8,9,10,15,16,17,10,16]
stat,p = ttest_ind(data1,data2)
print("stat为:%f" %stat,"p值为:%f" %p)

更多信息

  • scipy.stats.ttest_ind:https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ttest_ind.html
  • 维基百科:https://en.wikipedia.org/wiki/Student%27s_t-test

配对T检验

检验

检验两个配对样本的均值是否cun'存在显著差异

假设

  • 每个样本中的观察是独立同分布的
  • 每个样本的观察都是正态分布的
  • 每个样本中的观察具有相同的方差
  • 每个yang样本的观察结果是成对的

 

from scipy.stats import ttest_rel
data1 = [21,12,12,23,19,13,20,17,14,19]
data2 = [12,11,8,9,10,15,16,17,10,16]
stat,p = ttest_rel(data1,data2)
print("stat为:%f" %stat,"p值为:%f" %p)

更多信息

  • scipy.stats.ttest_rel:https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ttest_rel.html
  • 维基百科:https://en.wikipedia.org/wiki/Student%27s_t-test

方差分析

测试两个或两个以上独立样本的均值是否存在显著差异

假设

  • 每个样本中的观察是独立同分布的
  • 每个样本的观察都是正态分布的
  • 每个样本中的观察具有相同的方差
from scipy.stats import f_oneway
data1 = [21,12,12,23,19,13,20,17,14,19]
data2 = [12,11,8,9,10,15,16,17,10,16]
stat,p = f_oneway(data1,data2)
print("stat为:%f" %stat,"p值为:%f" %p)

更多信息

  • scipy.stats.f_oneway:https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.f_oneway.html
  • 维基百科:https://en.wikipedia.org/wiki/Analysis_of_variance

4.非参数统计假设检验

曼-惠特尼U检验

检验两个独立样本的分布是否相等。

假设

  • 每个样本中的观察是独立同分布的
  • 可以对每个样本中的观察进行排序
from scipy.stats import mannwhitneyu
data1 = [21,12,12,23,19,13,20,17,14,19]
data2 = [12,11,8,9,10,15,16,17,10,16]
stat,p = mannwhitneyu(data1,data2)
print("stat为:%f" %stat,"p值为:%f" %p)

更多信息

  • scipy.stats.mannwhitneyu:https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.mannwhitneyu.html
  • 维基百科:https://en.wikipedia.org/wiki/Mann%E2%80%93Whitney_U_test

威尔科克森符号秩检验

检验两个pei配对样本的分布shi是否均等

假设

  • 每个样本中的观察是独立同分布
  • 可以对每个样本中的观察进行排序
from scipy.stats import wilcoxon
data1 = [21,12,12,23,19,13,20,17,14,19]
data2 = [12,11,8,9,10,15,16,17,10,16]
stat,p = wilcoxon(data1,data2)
print("stat为:%f" %stat,"p值为:%f" %p)

更多信息

  • scipy.stats.wilcoxon:https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.mannwhitneyu.html
  • 维基百科:https://en.wikipedia.org/wiki/Mann%E2%80%93Whitney_U_test

Kruskal-wallis H检验

检验两个或多个独立样本的分布是否相等

假设

  • 每个样本中的观察是独立同分布的
  • 可以对每个样本中的观察进行排序
from scipy.stats import kruskal
data1 = [21,12,12,23,19,13,20,17,14,19]
data2 = [12,11,8,9,10,15,16,17,10,16]
stat,p = kruskal(data1,data2)
print("stat为:%f" %stat,"p值为:%f" %p)

更多信息

  • scipy.stats.kruskal:https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.kruskal.html
  • 维基百科:https://en.wikipedia.org/wiki/Kruskal%E2%80%93Wallis_one-way_analysis_of_variance

参考链接:http://www.atyun.com/26911.html 

水质检测是指通过对水样进行一系列的化学、物理、生物等分析测试,来评估水体是否符合各项水质指标的要求。而Python是一种高级编程语言,广泛应用于数据处理与分析,在水质检测中也可以发挥重要作用。 首先,Python具有丰富的库和工具,可以帮助我们进行水质数据的处理和分析。例如,NumPy、Pandas等库可以用于数据的导入、处理和统计分析,Matplotlib、Seaborn等库可以用于数据的可视化展示,这些库的使用可大大提高水质检测数据的处理效率和结果的准确性。 其次,Python还有一些专门用于科学计算的库,如SciPy,它提供了丰富的科学计算函数和工具,可以用于水质数据的处理、回归分析、统计建模以及模型拟合等。Scikit-learn是一个机器学习库,可以用于水质数据的模式识别和分类等。 另外,Python还有一些用于图像处理和计算机视觉的库,如OpenCV,可以用于处理水质检测中的图像数据,识别和测量水体中的微生物颗粒、藻类等。 此外,Python还支持大数据处理和分布式计算,如Apache Spark等,可以应对大规模数据的处理需求,对于水质检测实验中产生的海量数据进行并行处理和分析。 总的来说,Python作为一种通用的编程语言,具有强大的数据处理和分析能力,可以为水质检测提供有效的帮助。利用Python进行水质检测,不仅可以提高工作效率,还能够得到更准确和全面的结果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值