计算非线性回归的R ^ 2值

时间:2011-04-13 21:44:09

标签: r statistics regression non-linear-regression

我首先要说的是,据我所知,计算非线性回归的R ^ 2值并不完全正确或有效。

然而,我正处于将SigmaPlot中的大部分工作执行到R的过渡期,对于我们的非线性(浓度响应)模型,同事习惯于查看与模型相关的R ^ 2值估计适合度。

SigmaPlot使用1-(残留SS /总SS)计算R ^ 2,但在R I中似乎无法提取总SS(残留SS在摘要中报告)。

当我试图让我们使用更好的适合度估算器时,我们将非常感谢任何帮助实现此功能。

干杯。

2 个答案:

答案 0 :(得分:10)

我没有提取总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,所以一切都应该是好的。

答案 1 :(得分:5)

因此,y的总变差类似于(n-1)* var(y),未解释我的模型的比例为sum(residuals(fit)^2),所以请执行1-(sum(residuals(fit)^2)/((n-1)*var(y)) )

之类的操作