zoukankan      html  css  js  c++  java
  • 转载: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/
  • 相关阅读:
    NGUI 3.5课程(五岁以下儿童)button-图片切换
    跑openstack命令错误【You must provide a username via either -...】
    angular cors跨域资源共享设置 和formdata设定
    PHP 如何获取客户端ip地址
    JavaScript如何生成思维导图(mindmap)
    百度ueditor上传图片时如何设置默认宽高度
    英语发音规则---E字母常见的发音组合有哪些
    google搜索引擎爬虫爬网站原理
    legend2---开发日志10(ajax请求的方法是否同样会执行base控制器里面的方法)
    JS中如何判断对象是对象还是数组
  • 原文地址:https://www.cnblogs.com/YlnChen/p/14708065.html
Copyright © 2011-2022 走看看