r - 比较非线性回归模型

标签 r nls

我想通过 r 平方值比较三个模型的曲线拟合。我使用 nls 运行模型和 drc包。然而,这两个包似乎都没有计算 r 平方值;不过,它们给出了“剩余标准误差”和“剩余平方和”。

这两个可以用来比较模型拟合吗?

最佳答案

这实际上是一个统计问题,而不是一个编码问题:考虑在 stats.stackexchange.com 上发帖;你很可能会得到更好的答案。

RSQ 对于非线性回归没有真正意义。这就是为什么summary.nls(...)不提供。见 this post为解释。

有一种普遍且可以理解的趋势,希望有一个单一的统计数据,可以让人们评估一组模型中的哪一个更适合数据集。不幸的是,它不能那样工作。这里有一些要考虑的事情。

  • 通常,最好的模型是具有机械基础的模型。您的模型是否反射(reflect)了某些物理过程,或者您只是在尝试一堆数学方程并希望得到最好的结果?前一种方法几乎总能产生更好的模型。
  • 您应该考虑如何使用模型。您会进行插值(例如在数据集范围内估计 y|x),还是进行外推(在数据范围外估计 y|x)?一些模型产生的拟合提供了稍微超出数据集范围的相对准确的估计,而其他模型则完全崩溃。
  • 有时,您拥有的数据类型会建议适当的建模技术。例如,如果您有对某事进行计数的数据,则 y 很可能是泊松分布的,并指示泊松族中的广义线性模型 (glm)。如果您的数据是二元的(例如,只有两种可能的结果,成功或失败),则表示二项式 glm(所谓的逻辑回归)。
  • 最小二乘法的关键基本假设是 y 中的误差正态分布,均值为 0,方差为常数。我们可以在拟合后通过查看标准化残差与 y 的图以及残差的正态 Q-Q 图来测试这一点。如果残差图显示散点随 y 增加或减少,则该模型不是一个好的模型。如果正态 Q-Q 图不接近直线,则残差不是正态分布的,并且可能指示了不同的模型。
  • 有时,某些数据点对给定模型具有很高的影响力,这意味着拟合会受到这些点的过度影响。如果这是一个问题,您将在杠杆图中看到它。这表明模型很弱。
  • 对于给定的模型,可能存在并非所有参数都与 0 显着不同的情况(例如,系数的 p 值 > 0.05)。如果是这种情况,您需要探索没有这些参数的模型。对于 nls,这通常意味着完全不同的模型。
  • 假设您的模型通过了上述测试,那么查看拟合的 F 统计量是合理的。这实质上是针对回归 (R) 和残差 (E) 中的自由度校正的 SSR/SSE 之比。具有更多参数的模型通常具有较小的残差 SS,但这并不能使其成为更好的模型。 F 统计量解释了这一点,因为具有更多参数的模型将具有较大的回归自由度和较小的残差自由度,从而使 F 统计量更小。
  • 最后,在考虑了上述项目后,您可以考虑残差标准误。一般来说,在所有其他条件相同的情况下,残差标准误差越小越好。问题是,所有其他事物永远都不是平等的。这就是为什么我建议最后查看 RSE。
  • 关于r - 比较非线性回归模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21969132/

    相关文章:

    r - 在 R 中,如何从 `nls` 模型对象中提取帽子/投影/影响矩阵或值?

    r - 根据估计方程 y = A * exp(x * B) 计算 A 和 B 的值

    r - 创建带有 mutate(x = x*2) 的函数(data, x) 不起作用

    r - 如果它们之间的所有值都是 NA,则在 R 中连接数据帧的两列?

    按列复制,但在 r 中通过矢量化进行转置

    r - 在 R 中使用 nls2::nls2 时无法抑制警告或消息

    r - 如何向ggplot添加对数非线性拟合?

    R nls : fitting a curve to data

    r - 拆分连接的列并用值填充相应的列

    r - 通过函数传递表达式