R实现部分确定系数


9

有没有人有建议或一揽子计划来计算部分确定系数?

可以将部分确定系数定义为无法在简化模型中解释的变化百分比,但可以由完整模型中指定的预测变量解释。该系数用于深入了解一个或多个其他预测变量在更完全指定的回归模型中是否有用。

在估计您的两个模型并为它们生成ANOVA表后,部分r ^ 2的计算相对简单。局部r ^ 2的计算为:

(减少SSE-减少SSEfull)/减少SSE

我已经编写了这个相对简单的函数,可以为多元线性回归模型计算该函数。我不熟悉R中的其他模型结构,其中该功能可能无法很好地发挥作用:

partialR2 <- function(model.full, model.reduced){
    anova.full <- anova(model.full)
    anova.reduced <- anova(model.reduced)

    sse.full <- tail(anova.full$"Sum Sq", 1)
    sse.reduced <- tail(anova.reduced$"Sum Sq", 1)

    pR2 <- (sse.reduced - sse.full) / sse.reduced
    return(pR2)

    }

对于完成该任务的更健壮的功能和/或以上代码的更有效实现的任何建议或技巧将不胜感激。


2
我建议尝试其他模型,看看代码是否有效。R通常很不错,因此方差分析应针对不同的模型返回相似的结果。问题在于您的初始公式。它适用于其他型号吗?如果不是这样,那么就没有必要让代码开始工作,此外,代码还应发出警告,指出该代码用于公式不成立的模型。
mpiktas 2011年

我真的没有看到这个问题。您需要一个可以计算部分R2的函数,但是您已经有了一个。您是否知道封装敏感度(不存在部分R2,而是实现了pcc,这是一种特殊情况)?
罗宾吉拉德2011年

@robin-如果我的问题不清楚,我深表歉意。我感兴趣的是找到一个包含此计算的软件包(因为它可能包含许多其他有用的函数,这些函数将很有用)和/或关于如何改进我上面编写的函数的建议。很显然,它没有任何错误检查,并且可能不适用于所有模型类型。
大通

我建议将此问题迁移到SE。问题的核心似乎是实施问题,而不是统计问题。
caracal

@caracal-您认为合适的一切。我知道,关于R相关问题,关于SO和CV之间应该在沙子上划清界线的问题已有很多讨论。无论哪种方式,我都没有强烈的偏爱。我的工作使我最后摆脱了这个特定的问题,但在接下来的几周内将再次进行讨论,以便我自己想出一个更好的解决方案。我也没事让问题渐弱关闭到醚...
大通

Answers:


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.