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

机器算法验证 置信区间 非线性回归
2022-03-30 12:04:12

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

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

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

在此处输入图像描述

现在我想计算 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 绘制一条较高的线。但我不确定这是否是正确的方法。它给了我这个图形:

在此处输入图像描述

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

1个回答
  1. 本网站上的此 QA 解释了在非线性回归生成的曲线周围创建置信带的数学:非线性回归 的置信形状和预测区间

  2. 如果您进一步阅读,它将有助于将参数的置信区间与曲线的置信带区分开来。

  3. 看看你的图表,你肯定有来自四只动物的数据,在很多天里测量每一个。如果是这样,一次拟合所有数据违反了回归的假设之一——每个数据点都是独立的(或者每个残差都有独立的“误差”)。您可以考虑单独拟合每只动物的追踪,或使用混合模型一次拟合所有动物。