最终模型评估

面向 SAS 用户的 R

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

最终练习

课程总结

  • 运行回归模型

    • 使用不同自变量
    • 针对不同分组
  • 选择最优模型

    • 保存模型结果
    • 提取并展示拟合统计量

展示您的技能

  • 评估并比较模型

    • 使用可视化图形
  • 报告最佳关联

    • 变量之间
    • 总体与分组
面向 SAS 用户的 R

模型比较

# 运行 lm():diffht ~ bmi,保存模型
lmdiffhtbmi <- lm(diffht ~ bmi,
                  data = daviskeep)

# 运行 lm():diffht ~ weight,保存模型
lmdiffhtwt <- lm(diffht ~ weight,
                 data = daviskeep)
# 对每个模型运行 summary() 并保存结果
smrylmdiffhtbmi <- summary(lmdiffhtbmi)
smrylmdiffhtwt <- summary(lmdiffhtwt)
面向 SAS 用户的 R

模型比较

# 显示体重模型的 r.squared
smrylmdiffhtwt$r.squared
# 显示 BMI 模型的 r.squared
smrylmdiffhtbmi$r.squared
# 比较两个模型的 AIC
AIC(lmdiffhtbmi, lmdiffhtwt)

[1] 0.003281645

[1] 0.00121824
            df      AIC
lmdiffhtbmi  3 788.0816
lmdiffhtwt   3 787.7052
面向 SAS 用户的 R

分组模型:男性 vs 女性

# 绘制:按性别的 diffht 与体重
ggplot(daviskeep,
       aes(diffht, weight)) +
  geom_point() +
  geom_smooth(method = "lm") +
  facet_wrap(vars(sex)) +
  ggtitle("身高差
          由体重预测,
          按性别拟合模型")

按性别绘制 diffht 与体重的图

面向 SAS 用户的 R

子集回归

SAS PROC REG 的 where 选项类似于 R 中 lm 的 subset 选项

面向 SAS 用户的 R

SAS PROC REG 的 where 选项类似于 R 中 lm 的 subset 选项

面向 SAS 用户的 R

为子集拟合模型

# lm():按体重拟合女性的 diffht
lmdiffhtwtF <- lm(diffht ~ weight,
                  subset = (sex == "F"),
                  data = daviskeep)

# lm():按体重拟合男性的 diffht
lmdiffhtwtM <- lm(diffht ~ weight,
                  subset = (sex == "M"),
                  data = daviskeep)
# 对每个模型运行 summary() 并保存结果
smrylmdiffhtwtF <- summary(lmdiffhtwtF)
smrylmdiffhtwtM <- summary(lmdiffhtwtM)
面向 SAS 用户的 R

为子集拟合模型

# 女性模型的 r.squared
smrylmdiffhtwtF$r.squared
# 男性模型的 r.squared
smrylmdiffhtwtM$r.squared

[1] 4.00807e-05

[1] 0.00804139
面向 SAS 用户的 R

最后用几个模型来预测鲍鱼年龄吧!

面向 SAS 用户的 R

Preparing Video For Download...