You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言drc包lorentz.4模型计算ED50及置信区间报错求助

解决drc包中lorentz.4模型ED值计算错误与置信区间NaN问题

问题根源

  • 你的数据仅包含5个观测点,但lorentz.4是4参数模型,参数数量接近观测点数量,导致模型拟合不稳定,参数估计的方差矩阵出现奇异(不可逆),进而引发sqrt(diag(varMat)): NaNs produced警告,以及ED值无法计算的错误。
  • 从Y1的数值分布来看,仅在X=100时出现峰值,其余点数值偏低,模型缺乏足够的信息来稳定估计4个参数的取值和方差。

解决方案

1. 增加观测数据

这是最根本的解决方法:在曲线的上升段(如X=10、15、20)、峰值附近(如X=80、120)和下降段(如X=150、250)补充更多实验点,让模型有足够的信息拟合参数,稳定估计方差矩阵。

2. 改用参数更少的简约模型

尝试使用3参数的洛伦兹模型(DRC.lorentz.3()),减少参数数量,提升拟合稳定性:

library(devtools)
install_github("onofriandreapg/aomisc")
library(aomisc)
library(drc) 

X <- c(25, 50, 100, 200, 300)
Y1 <- c(0.12, 0.14,0.44, 0.14, 0.07)

# 改用3参数洛伦兹模型
mod.drc <- drm(Y1 ~ X, fct = DRC.lorentz.3())
plot(mod.drc, ylim = c(0, 0.8), log = "") 
AIC(mod.drc)
summary(mod.drc)
confint(mod.drc)
ED(mod.drc, c(10, 50, 90))

3参数模型固定了部分参数(通常是渐近线相关参数),降低了对数据量的要求,更适合小样本数据。

3. 检查模型拟合合理性

先查看summary(mod.drc)的输出,重点关注参数的标准误(Std. Error):

  • 如果标准误极大或显示为NA,说明参数估计完全不稳定,此时即使AIC较低,也是过拟合,不适合使用该模型。
  • 观察拟合曲线(plot(mod.drc)),如果曲线与数据点偏差较大,说明模型本身不适合你的数据分布,可尝试其他钟形曲线模型(如高斯模型)。

内容的提问来源于stack exchange,提问作者Satomi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 08:24:52