• 转载:Python做假设检验


    原网址:Python来做假设检验 - SegmentFault 思否

    对于任何一个频率派的数据科学家而言,日常做数据分析难免还是会用到一些假设检验方法做一个数据探索和相关性、差异性分析,并且这也是做后续统计模型(机器学习类预测模型可以略过)预测的第一步。

    这篇博文目的就是整理基本的假设检验方法、适用条件和调用Python(主要是scipy模块)的哪些方法。

    正态性检验

    这个是很多统计建模的第一步,例如,普通线性回归就对残差有正态性要求。

    K-S检验

    特点是比较严格,基于的原理是CDF,理论上可以检验任何分布。

    scipy.stats.kstest(a_vector_like_data, 'norm')

    Shapiro检验

    专门用来检验正态分布。

    scipy.stats.shapiro(a_vector_like_data)

    Normal检验

    原理是基于数据的skewness和kurtosis,如不明白这两个意思,自行百度。

    scipy.stats.normaltest(a_vector_like_data)

    Anderson检验

    是ks检验的正态检验加强版。

    scipy.stats.anderson(a_vector_like_data, dist='norm')

    检验方差是否齐

    Bartlett检验

    对数据有正态性要求

    scipy.stats.bartlett(a, b)

    Levene检验

    在数据非正态的情况下,精度比Bartlett检验好,可调中间值的度量

    scipy.stats.levene(a, b, center = 'trimmed')

    Fligner-Killeen检验

    非参检验,不依赖于分布

    scipy.stats.fligner(a, b, center='mean')

    两组数之间的比较

    参数方法

    # 独立两样本t检验
    scipy.stats.ttest_ind(a, b, equal_var=True, nan_policy='omit')
    
    # 成对两样本t检验
    scipy.stats.ttest_rel(a, b, equal_var=True, nan_policy='omit')
    
    # 通过基本统计量来做独立两样本检验
    scipy.stats.ttest_ind_from_stats(20.06, 2.902, 50, 13.26, 1.977, 50, equal_var=False)

    非参数方法

    # wilcox秩序和检验,n < 20时独立样本效果比较好
    scipy.stats.ranksums(a, b)
    
    # Mann-Whitney U检验, n > 20时独立样本,比wilcox秩序和检验更稳健
    scipy.stats.mannwhitneyu(a, b)
    
    # Wilcox检验,成对数据
    scipy.stats.wilcoxn(a, b, zero_method='wilcox', correction=False)

    多组数之间的比较

    参数方法(1-way anova)

    scipy.stats.f_oneway(a, b, c, ...)

    非参数方法(Kruskal-Wallis H方法)

    scipy.stats.kruskal(a, b, c,..., nan_policy='omit')

    (附送)相关性

    相关性可以做简单的特征工程(特征筛选)来做监督学习以及作为相似度(1 - 距离)来做非监督学习。

    参数(Pearson相关系数)

    scipy.stats.pearsonr(a, b)

    非参数(Spearman相关系数)

    scipy.stats.spearmanr(a, b)

    二元值和连续值之间的关系(Point-biserial相关系数)

    scipy.stats.pointbiserialr(a, b)

    分参数的Kendall's Tau

    理论上是检验两个变量是否具有单调关系

     
    scipy,stats.kendalltau(a, b, initial_lexsort=None, nan_policy='omit')
    May we all proceed with wisdom and grace. https://www.cnblogs.com/YlnChen/
  • 相关阅读:
    Python入门_绘制多个五角形_turtle
    Selenium3+python自动化6-八种元素元素定位(Firebug和firepath)
    MongoDB入门(3)- MongoDB备份与恢复
    MongoDB入门(2)- MongoDB安装
    MongoDB入门(1)- MongoDB简介
    Elastic Search操作入门
    应用Xml.Linq读xml文件
    Struts2入门(1)-第一个Struts2程序
    Hibernate入门(4)- Hibernate数据操作
    Hibernate入门(3)- 持久对象的生命周期介绍
  • 原文地址:https://www.cnblogs.com/YlnChen/p/14708065.html
Copyright © 2020-2023  润新知