非参数检验(Nonparametric tests)是统计分析方法的重要组成部分,它与参数检验共同构成统计推断的基本内容。非参数检验是在总体方差或分布方式未知或知道甚少的情况下,利用样本数据进行推断检验的方法。由于非参数检验方法在推断过程中不涉及有关总体分布的参数,因而得名为“非参数”检验。
Nonparametric Statistics - Stephen W. Scheff University of Kentucky SanderseBrown Center on Aging, Lexington, KY, USA
两组数据
相关分组
the Wilcoxon matched pairs test or the Wilcoxon signed rank test等同于参数配对t检验,非常适合用于不满足正态性的重复测量实验,如在两个不同条件下(例如水迷宫温度实验)对同一对象进行测量评估。
注意Wilcoxon rank sum test 和Wilcoxon matched pairs test是不相同的,前者与不配对t检验等效,而后者与Wilcoxon rank sum test 的不同之处在于,它考虑差异的大小,而Wilcoxon rank sum test则不考虑。
wilcox.test(x, y, alternative = "two.sided")
还可以检测与确定数据的差异,如25:
wilcox.test(x, mu = 25)
独立分组
Wilcoxon rank sum test(MANN-WHITNEY U TEST) - 不满足正态性
比较两个独立的分组时,可以使用Wilcoxon rank sum test,其附加优点是,无论组是否具有相等的样本量,该统计都适用。跟t检验一样,formula的写法分为数据储存为data.fram和两个list两种形式;最好添加 exact = FALSE,因为根据wilcox.test假设响应值是连续的,所以是无法计算 exact p-value 的。
wilcox.test(x, y)
MEDIAN TEST是一个非常简单的统计方法,可用于快速确定两个独立样本之间是否存在差异,即使样本大小不相等。 像上面的Wilcoxon rank sum test一样,它只计算给定类别中出现了多少观察值,而不管差异的大小如何。
median test 只检测median差异,但Wilcoxon rank sum test还考虑了得分的形状和分布上的差异,因此它考虑了更多的信息,是一个更有说服力的检验。
超过两组数据
不满足正态性
1.独立分组:Kruskal-Wallis H Test(kruskal.test {stats})
2.相关分组:Friedman test(friedman.test {stats}, friedman {agricolae})
3.仍推荐使用单因素方差分析
4.数据转换:如log或者平方(Rummel, Applied factor analysis,1988),但结果是基于变换后数据
不满足方差齐性
-
Welch‘s anova
-
Brown and Forsythe test
-
Kruskal-Wallis H Test
states <- data.frame(state.region, state.x77)
kruskal.test(Illiteracy ~ state.region, data = states)
通过上述代码,我们得出出Illiteracy 在不同state.region中有显著差异的结论;但state.region具有很多分组,差异显著的区域不明确。
statmethods 提供了一种使用Wilcoxon Signed Rank Test 的非参数成对多重比较方法;目前它是一个function的源码形式,我试着把它打包在了learn包中。
require(learn)
wmc(Illiteracy ~ state.region, data = states, method = "holm")
输出结果是成对多重比较,并将显著性用*号表示出来了。
其他情况
卡方独立性检验
卡方独立性检验( chi-square test of independence)用于分析由两个分类变量形成的频率表(即,列联表),评估两个变量的类别之间是否存在显着关联。
H0: the row and the column variables of the contingency table are independent
# Import the data
file_path <- "http://www.sthda.com/sthda/RDoc/data/housetasks.txt"
housetasks <- read.delim(file_path, row.names = 1)
head(housetasks)
chisq <- chisq.test(housetasks)
返回结果:
- statistic: the value the chi-squared test statistic.
- parameter: the degrees of freedom
- p.value: the p-value of the test
- observed: the observed count
- expected: the expected count
卡方拟合优度检验
在离散数据中有两个或更多类别的情况下,卡方拟合优度检验(chi-square goodness of fit )用于将观察到的分布与预期分布进行比较。 换句话说,它将多个观察到的比例与预期概率进行比较;实际观测值与理论推断值之间的偏离程度决定卡方值的大小,卡方值越大,越不符合;卡方值越小,偏差越小,越趋于符合;若两个值完全相等时,卡方值就为0,表明实际观测值与理论推断值完全符合。
可以回答的问题有:
H0: There is no significant difference between the observed and the expected value
chisq.test(x, p)
# x 是观测到的分布情况
# 预期分布情况
网友评论