1.非参数方法
参数方法 VS 非参数方法
- 总体的分布形式已知,而其中的某些参数未知,我们可以通过从总体中随机抽取样本,根据样本信息对总体参数进行估计和假设检验,这就是一般所说的参数方法
- 总体的分布未知,或虽已知却不能用有限个参数刻画,这时要对总体的某些性质进行估计或假设检验,就要使用非参数方法
注意:
- 非参数方法并非绝对只能解决非参数问题,有些也适用于典型的参数问题
- 对符合使用参数方法条件的数据,首选参数方法;当不满足使用参数方法的条件时,才选用非参数方法
- 如果样本不能很好的代表总体,任何检验方法都是无效的
非参数方法的特点
- 不依赖总体的分布形式,构造的统计量通常与总体分布无关,因此,非参数方法也称为"自由分布"方法
- 不论是分类变量还是数值变量,都可以采用非参数方法进行估计或检验
什么时候选择非参数方法
- 如果中位数(而不是均值)可以更好地描述数据的集中趋势
- 如果处理对象为有序变量或者有不能移除的极端值
2.有符号秩和检验
3.秩和检验
4.斯皮尔曼等级相关检验
5.非参数Bootstrap方法
6.Permutation检验(置换检验)
假设检验 vs Permutation检验
- 假设检验:构造一个统计量,得到这个统计量在零假设为真时的抽样分布,然后把样本统计量的观测值与抽样分布进行比较,进行统计推断
- Permutation test: 使我们可以得到对任意统计量在零假设为真时的抽样分布,从而进行统计推
Permutation检验举例:
7.SciPy实现有符号秩和检验
SciPy中符号秩和检验的原理是:遍历样本数据,然后分别记录大于中位数的个数和小于中位数的个数。 则对每一个样本点来说,要么大于中位数,要么小于中位数(等于的排除),那么就是一个0-1分布问题了 在原假设情况下,K~b(n,0.5),在显著性水平为α下的拒绝域为:
import numpy as np
from scipy import stats
data=[36, 32, 31, 25, 28, 36, 40, 32, 41, 26, 35, 35, 32, 87, 33, 35]
data = np.array(data)
# 检验总体均值是否为37
k=min(len(data[data>37]), len(data[data<37]))
pval=2*stats.binom.cdf(k, len(data), 0.5)
print(pval)
8.SciPy实现秩和检验
import scipy.stats as stats
weight_high=[134,146,104,119,124,161,107,83,113,129]
weight_low=[70,118,101,85,112,132,94,100,68,86]
stats.mannwhitneyu(weight_high,weight_low,alternative='two-sided')