繁体   English   中英

几种模型的确定系数

[英]coefficient of determination for several models

我有几个保存为a1,a2,...,a_n的非线性回归模型(nls)。 我想得到一个相关的行列式系数的向量。

例如

y <- c(1.0385, 1.0195, 1.0176)
x <- c(3,4,5)
data <- data.frame(x,y)
b1 <- function(x,a,b) {a/b^x}
b2 <- function(x,a,b) {a^b^x}
a1 <- nls(y ~ b1(x,a,b), data = data, start = c(a=0.9, b=0.6))
a2 <- nls(y ~ b2(x,a,b), data = data, start = c(a=0.9, b=0.6))

我可以使用来获得两个确定系数

a <- sum(residuals(a1)^2)
b <- sum((y - mean(y))^2)
1 - (a/b)
#[1] 0.8198396
a <- sum(residuals(a2)^2)
b <- sum((y - mean(y))^2)
1 - (a/b)
#[1] 0.9066859

但是,如果我说20个模型怎么办?

我试图用一个周期for ,作为类是NLS,既不是矢量也不是一个矩阵,并没有为我工作。

使用所有结果的list ,然后对其应用函数:

results <- list(a1,a2)

b <- sum((y - mean(y))^2) 
1 - (sapply(results,function(x) sum(residuals(x)^2) ) / b )
#[1] 0.8198396 0.9066859

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM