如何计算非线性方程的95%置信区间?


10

我有一个方程式可以根据海牛的年龄(以天为单位(以葡萄牙语为单位))预测海牛的体重:

R <- function(a, b, c, dias) c + a*(1 - exp(-b*dias))

我已经使用nls()在R中对其进行了建模,并得到了以下图形:

在此处输入图片说明

现在,我要计算95%的置信区间并将其绘制在图形中。我对每个变量a,b和c使用了上限和下限,如下所示:

lower a = a - 1.96*(standard error of a)
higher a = a + 1.96*(standard error of a)
(the same for b and c)

然后我使用较低的a,b,c绘制较低的线,并使用较高的a,b,c绘制较高的线。但是我不确定这是否是正确的方法。它给我这张图:

在此处输入图片说明

这是这样做的方法,还是我做错了?

Answers:


13
  1. 此站点上的QA解释了如何在由非线性回归生成的曲线周围创建置信带的数学方法: 置信度的形状和非线性回归的预测区间

  2. 如果您进一步阅读,这将有助于区分参数的置信区间和曲线的置信

  3. 查看您的图表,可以肯定地看起来好像您有四只动物的数据,并在许多天进行测量。如果是这样,一次拟合所有数据将违反回归假设之一-每个数据点都是独立的(或者每个残差都具有独立的“错误”)。您可以考虑单独拟合每只动物的踪迹,或使用混合模型一次拟合它们。


5
+1第三点至关重要:假设这些数据是独立的,则计算CI或置信带的任何努力都会产生严重的间隔不足(即较短)。这可能有助于OP强调问题中提出的方法肯定是错误的:它忽略了参数估计之间的(强)相关性,并错误地汇总了置信度限制。最终结果实际上看起来是合理的(纯粹是偶然和运气),但在我看来,它仍然不够保守。
whuber
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.