连续因变量的 ANCOVA 的非参数等效项

机器算法验证 r 非参数 安乔娃
2022-03-28 05:44:29

我有一个独立的分类变量(X有两个类别,x1x2) 和两个连续因变量 (yz)。

使用 Mann Whitney 测试,我知道y显着相关x1z同样与x1. 但是,也可能是y混淆了两者之间的关系x1z反之亦然,即z混淆了两者之间的关系x1y.

我可以使用哪些无分布测试来尝试解释测试中的每个因素y 相对 Xz 相对 X?

如何在 R 和 SPSS 中实现这一点?

2个回答

将我的评论变成答案,sm包提供非参数 ANCOVA 作为sm.ancova. 这是一个玩具示例:

data(anorexia, package="MASS")
anorexia$Treat <- relevel(anorexia$Treat , ref="Cont") 
# visual check for the parallel group assumption
xyplot(Postwt ~ Prewt, data=anorexia, groups=Treat, aspect="iso", type=c("p","r"),
       auto.key=list(space="right", lines=TRUE, points=FALSE))
# fit two nested models (equal and varying slopes across groups)
anorex.aov0 <- aov(Postwt ~ Prewt + Treat, data=anorexia) # ≈ lm(Postwt ~ Prewt + Treat + offset(Prewt), data=anorexia)
anorex.aov1 <- aov(Postwt ~ Prewt * Treat, data=anorexia) 
# check if we need the interaction term
anova(anorex.aov0, anorex.aov1)
summary.lm(anorex.aov1)

在此处输入图像描述

以上表明平行组假设是不现实的,我们必须考虑因子组和连续协变量之间的交互作用(p=0.007)。

这是我们将得到的结果sm.ancova,默认平滑参数和等组作为参考模型:

> with(anorexia, ancova.np <- sm.ancova(Prewt, Postwt, Treat, model="equal"))
Test of equality :  h =  1.90502    p-value =  0.0036 
Band available only to compare two groups.

在此处输入图像描述

还有另一个用于非参数 ANCOVA 的 R 包(虽然我还没有测试过):fANCOVA,它T.aov允许基于 ANOVA 类型的统计量来测试非参数曲线或曲面的相等性。

如果两个回归模型之间的关系是线性的,则 NSM3 包 ( https://cran.r-project.org/web/packages/NSM3/ ) 中的函数 sen.adichie 会测试几条回归线的并行性。对齐观测值的 Kruskal-Wallis 检验 (ao_ij = y_ij - b x_ij) 可以测试平行线的高程(截距)。