回归方程中拟合优度检验 r语言
时间: 2025-06-30 13:06:45 浏览: 11
### R语言中回归分析的拟合优度检验方法与示例代码
在R语言中,回归分析的拟合优度检验可以通过多种统计指标和图示法来实现。以下是针对线性回归和Logistic回归的常见拟合优度检验方法及其示例代码。
#### 1. 线性回归模型的拟合优度检验
对于线性回归模型,常用的拟合优度指标包括决定系数(R²)、调整后的决定系数(Adjusted R²)、残差平方和(RSS)以及均方误差(MSE)。这些指标可以通过`summary()`函数直接获取[^2]。
```r
# 示例:线性回归模型拟合优度检验
# 数据生成
set.seed(123)
x <- rnorm(100, mean = 5, sd = 2)
y <- 3 + 2 * x + rnorm(100, mean = 0, sd = 1)
# 模型拟合
model_linear <- lm(y ~ x)
# 查看模型摘要
summary_model <- summary(model_linear)
# 提取拟合优度指标
cat("R²:", summary_model$r.squared, "\n") # 决定系数
cat("Adjusted R²:", summary_model$adj.r.squared, "\n") # 调整后的决定系数
cat("Residual Standard Error:", summary_model$sigma, "\n") # 均方根误差 (RMSE)
```
#### 2. Logistic回归模型的拟合优度检验
对于Logistic回归模型,常见的拟合优度检验方法包括似然比检验、Pseudo R²、Hosmer-Lemeshow检验以及图示法展示拟合效果。以下为具体实现方法[^1]。
- **似然比检验**:通过比较嵌套模型的对数似然值来进行显著性检验。
- **Pseudo R²**:衡量模型解释能力的相对指标。
- **Hosmer-Lemeshow检验**:评估模型预测概率与实际结果的一致性。
- **图示法**:使用`languageR`包中的`plot.logistic.fit.fnc()`函数绘制拟合优度图。
```r
# 示例:Logistic回归模型拟合优度检验
# 安装并加载所需包
if (!require(languageR)) install.packages("languageR")
library(languageR)
# 数据生成
set.seed(123)
x_logistic <- rnorm(100, mean = 5, sd = 2)
z <- 1 + 2 * x_logistic
pr <- 1 / (1 + exp(-z))
y_logistic <- rbinom(100, 1, pr)
# 模型拟合
model_logistic <- glm(y_logistic ~ x_logistic, family = binomial)
# 似然比检验
null_model <- glm(y_logistic ~ 1, family = binomial) # 空模型
likelihood_ratio_test <- anova(null_model, model_logistic, test = "Chisq")
print(likelihood_ratio_test)
# Pseudo R² 计算
pseudo_r_squared <- 1 - logLik(model_logistic)[[1]] / logLik(null_model)[[1]]
cat("Pseudo R²:", pseudo_r_squared, "\n")
# Hosmer-Lemeshow检验
hosmer_lemeshow_test <- hosmerlem(y_logistic, fitted(model_logistic), g = 10)
print(hosmer_lemeshow_test)
# 图示法展示拟合优度
plot.logistic.fit.fnc(model_logistic)
```
#### 注意事项
- 在进行似然比检验时,需确保两个模型是嵌套关系。
- 使用Hosmer-Lemeshow检验时,分组数(`g`参数)的选择可能影响结果的稳定性。
- 对于Logistic回归模型,图示法可以直观地展示模型的拟合效果,但需结合其他统计指标综合评估。
阅读全文
相关推荐

















