用 Python 做假设检验

  • 正态性检验
    scipy.stats.kstest(a_vector_like_data, 'norm') 
    # 特点是比较严格,基于的原理是CDF,理论上可以检验任何分布。
    scipy.stats.shapiro(a_vector_like_data)
    # 专门用来检验正态分布。
    scipy.stats.normaltest(a_vector_like_data)
    # 原理是基于数据的skewness和kurtosis。
    scipy.stats.anderson(a_vector_like_data, dist='norm')
    # 是ks检验的正态检验加强版。
    scipy.stats.jarque_bera(x)
    # Perform the Jarque-Bera goodness of fit test on sample data.
  • 检验方差是否齐
    #对数据有正态性要求
    scipy.stats.bartlett(a, b)
    #Levene检验,在数据非正态的情况下,精度比Bartlett检验好,可调中间值的度量
    scipy.stats.levene(a, b, center = 'trimmed')
    #Fligner-Killeen检验,非参检验,不依赖于分布
    scipy.stats.fligner(a, b, center='mean')
  • 两组数之间的比较
    1. 参数方法
      # 独立两样本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)
    2. 非参数方法
      # 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')

非参数检验(Nonparametric tests)在医学统计中起着重要的作用。它们的名字来源于它们不依赖于参数模型,也就是说,不需要假设数据遵循特定的分布,如正态分布。这使得非参数检验对数据的形状和分布要求较少,更加灵活和通用。

用途:

非参数检验主要用于以下情况:

1. 当数据不满足参数统计检验(如t检验或方差分析)的正态分布假设时。

2. 当样本量小,尤其是当样本量小于30时,可能无法满足正态性假设。

3. 当数据是顺序或分类的,而不是连续的。在这些情况下,非参数检验提供了一种可靠的方法来进行假设检验,可以有效地避免由于违反参数检验假设而导致的误导性结论。

使用条件:

非参数检验通常在以下情况下使用:

1. 数据是顺序或分类的,例如使用Likert量表(1-5点)度量的满意度。

2. 数据不满足正态性假设,可能是因为数据有明显的偏态、峰态,或者有离群值。

3. 数据的测量等级是序数等级或名义等级。

非参数检验在医学研究中的重要性主要表现在以下几个方面:

1. 它们提供了一种在不满足常规参数检验假设的情况下进行统计推断的方法。

2. 它们允许我们对复杂或不规则的数据进行分析,这在现实世界的医学研究中是非常常见的。

3. 它们对数据的要求较少,使得更多的研究可以进行统计检验。

常用的非参数检验:以下是医学统计中常用的一些非参数检验(这些测试都有自己的使用条件和假设,需要在使用前仔细检查):

1. 曼-惠特尼检验(Mann-Whitney U test):用于比较两个独立样本的中位数。

2. 威尔科克森符号秩检验(Wilcoxon signed-rank test):用于比较两个相关样本的中位数。

3. 克鲁斯卡尔-瓦利斯检验(Kruskal-Wallis test):用于比较三个或更多个独立样本的中位数。

4. 弗里德曼检验(Friedman test):用于比较三个或更多个相关样本的中位数。

5. 斯皮尔曼等级相关系数(Spearman rank correlation coefficient):用于测量两个变量之间的单调关系的强度和方向。

 

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值