3

我有一个关于 p 值的问题。我一直在比较不同的线性模型,以确定一个模型是否比 R 中的以下函数更好。

 anova(model1,model2)

不幸的是,有时它不会计算 F 或 p 值。这是一个没有给出 p 值的方差分析摘要的示例

 Analysis of Variance Table

 Model 1: Influence ~ SortedSums[, Combos2[1, A]] + SortedSums[, Combos2[2,A]]
 Model 2: Influence ~ SortedSums[, B]
    Res.Df   RSS Df Sum of Sq F Pr(>F)
 1    127 3090.9                      
 2    128 2655.2 -1    435.74 

为了对称起见,这里还有一个确实产生了 p 值的 anova 总结。

 Analysis of Variance Table

 Model 1: Influence ~ SortedSums[, Combos2[1, A]] + SortedSums[, Combos2[2,A]]
 Model 2: Influence ~ SortedSums[, B]
    Res.Df    RSS Df Sum of Sq      F Pr(>F)
  1    127 3090.9                           
  2    128 3157.6 -1   -66.652 2.7386 0.1004

你知道为什么会这样吗?

4

2 回答 2

11

并非所有问题都需要代码示例。你不应该因为是新人而受到嘲笑,我很抱歉人们这样做了。这是答案:

两种模型之间的差异并不显着。

这是您可以做的:

  • 检查以确保一个模型对象的项是另一个模型对象的项的超集。否则,默认的 anova 测试一开始就无效(您可以改为使用 AIC 比较此类非嵌套模型,但这属于单独的问题)。我真的很好奇看到一对嵌套的模型设法变得那么不重要,但同样,没有必要回答这个问题。
  • 如果您检查过,并且模型是嵌套的,并且这是您手动进行的分析,请在您的报告中写下 p=1.0 并收工。
  • 如果模型是嵌套的,并且上面感觉像是在作弊,那么这里是如何做到这一点的艰难方法。您真正要问anova的是,它们不同的一个变量是否对拟合有重大贡献。采用“更大”的模型并执行summary(BAR). BAR与存在但缺失的变量对应的 p 值FOO就是您的 p 值!它可能等于 1。t 统计量的平方是 F 值。
  • 如果模型是嵌套的,并且这是您正在以编程方式进行的分析,并且缺少 p 值会破坏脚本中其他地方的内容,那么只需anova(FOO,BAR)[,5:6]获取NAs 而不是空白......但是再一次,如果您以编程方式进行,您早就试过了。

祝你好运!

于 2013-08-09T23:12:05.670 回答
0

最近,我在将带有一个断点的分段线性模型(带有分段的包)与没有断点的线性模型进行比较时也遇到了这个问题。简单线性模型是嵌套模型,因为断点之前的部分可以跨越整个数据集。

然而,分段拟合(我出于性能原因使用宽松的收敛容差调用)报告了拟合,其中更复杂的分段模型的残差总和略大于简单线性模型。当然,更复杂的嵌套模型的最佳拟合不应该有更大的残差方差,并且 anova 函数报告了 NA 的 p 值。

在这种情况下,显然,更复杂的模型并没有明显更好,p > alpha,例如 p=1

于 2015-06-02T07:58:02.393 回答