📅  最后修改于: 2023-12-03 14:47:11.849000             🧑  作者: Mango
在R编程中,决定系数($R^2$)是衡量模型拟合程度的一项重要指标。然而,当模型中自变量个数增加时,决定系数也会随之增加,而这并不一定代表模型拟合得更好。为了解决这个问题,我们可以使用调整后的决定系数($R_{adj}^2$)。
调整后的决定系数是对决定系数进行修正后的值,考虑到自变量个数对模型拟合度的影响。它的计算公式如下:
$$R_{adj}^2 = 1 - \frac{(n - 1)}{(n - k - 1)} \times (1 - R^2)$$
其中,$n$为样本量,$k$为自变量个数。
在R编程中,计算调整后的决定系数可以采用以下代码:
# 计算调整后的决定系数
adj_r_sq <- function(r_sq, n, k) {
adj_r_sq <- 1 - ((n - 1) / (n - k - 1)) * (1 - r_sq)
return(adj_r_sq)
}
# 示例
r_sq <- 0.8
n <- 100
k <- 3
adj_r_sq(r_sq, n, k)
以上代码定义了一个名为adj_r_sq
的函数,计算调整后的决定系数。函数需要传入三个参数,分别为决定系数r_sq
、样本量n
和自变量个数k
。函数返回计算出的调整后的决定系数。
示例中,我们使用决定系数为0.8、样本量为100、自变量个数为3的数据,计算调整后的决定系数。执行以上代码,输出结果为0.78。
调整后的决定系数更加合理地反映了模型的拟合度,尤其在自变量个数较多的时候更加重要。因此,在进行回归分析时,建议同时计算并报告调整后的决定系数。