我首先想说的是,我知道计算非线性回归的R^2值并不完全正确,也不是一件有效的事情。
然而,我正处于将我们在SigmaPlot中的大部分工作转移到R的过渡期,对于我们的非线性(浓度-响应)模型,同事们习惯于看到与模型相关的R^2值来估计拟合优度。
SigmaPlot使用1-(残差SS /总SS)计算R^2,但在R i中似乎不能提取总SS (残差SS在摘要中报告)。
当我尝试让我们使用更好的拟合优度估计器时,我将非常感激任何帮助我们实现这一点的帮助。
干杯。
发布于 2011-04-15 05:51:37
我只是计算了它们,而不是提取总SS:
test.mdl <- nls(ctrl.adj~a/(1((conc.calc/x0)^b)),
data=dataSet,
start=list(a=100,b=10,x0=40), trace=T);
1 - (deviance(test.mdl)/sum((ctrl.adj-mean(ctrl.adj))^2))
我得到了与使用SigmaPlot时相同的R^2,所以一切都应该很好。
发布于 2011-04-15 05:04:07
所以y的总变化是(n-1)*var(y),没有解释的比例,你的模型是sum(residuals(fit)^2)
,所以做一些类似1-(sum(residuals(fit)^2)/((n-1)*var(y)) )
的事情
https://stackoverflow.com/questions/5656065
复制相似问题