Вычисление значения R ^ 2 для нелинейной регрессии
Вначале я хотел бы сказать, что я понимаю, что вычисление значения R ^ 2 для нелинейной регрессии не совсем корректно или правильное.
Однако я переживаю переходный период выполнения большей части нашей работы в SigmaPlot до R и для наших нелинейных моделей (концентрация-реакция), коллеги используются для просмотра значения R ^ 2, связанного с моделью для оценки добрососедства.
SigmaPlot вычисляет R ^ 2, используя 1- (остаточный SS/общий SS), но в R I, похоже, не может извлечь общую SS (остаточные SS сообщаются в резюме).
Любая помощь в том, чтобы заставить это работать, была бы весьма признательна, поскольку я стараюсь и побуждаю нас к использованию более качественной оценки добрососедства.
Приветствия.
Ответы
Ответ 1
Вместо того, чтобы извлекать общий 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))
Я получаю тот же R ^ 2, что и при использовании SigmaPlot, поэтому все должно быть хорошо.
Ответ 2
Таким образом, полная вариация y подобна (n-1) * var (y), а пропорция не объясняет, что моя модель sum(residuals(fit)^2)
, так что сделайте что-то вроде 1-(sum(residuals(fit)^2)/((n-1)*var(y)) )