You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中量化向后逐步回归算法的正确模型选择数量

向后逐步回归模型选择的匹配统计问题

背景说明

我在58000个随机合成数据集上运行了向后逐步回归(Backward Elimination,BE),输出整理为CSV文件名与BE所选变量的对应格式。由于是蒙特卡洛模拟,每个数据集的真实回归方程已知。

我在研究项目的脚本中执行了以下R命令,将输出存储在BM2_models对象中:

> BM2_models <- read.csv("IVs_Selected_by_BE (no headers).csv", header = FALSE)
> head(BM2_models, n = 5)
                                                      V1
1                      0-3-1-1;  X1, X2, X3, X4, X7, X18
2                0-3-1-2;  X1, X2, X3, X7, X13, X16, X20
3                0-3-1-3;  X1, X2, X3, X6, X11, X14, X21
4  0-3-1-4;  X1, X2, X3, X4, X8, X10, X16, X17, X18, X24
5 0-3-1-5;  X1, X2, X3, X8, X11, X14, X20, X24, X26, X29

> tail(BM2_models, n = 2)                                                                                                              V1
57999 1-15-9-499;  X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X19, X20, X22, X23, X27
58000          1-15-9-500;  X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X22, X23, X25, X26

> str(BM2_models)
'data.frame':   58000 obs. of  1 variable:
 $ V1: chr  "0-3-1-1;  X1, X2, X3, X4, X7, X18" "0-3-1-2;  X1, X2, X3, X7, X13, X16, X20" "0-3-1-3;  X1, X2, X3, X6, X11, X14, X21" "0-3-1-4;  X1, X2, X3, X4, X8, X10, X16, X17, X18, X24" ...

字段含义

分号前的n1-n2-n3-n4代表CSV文件名,各部分定义:

  • n1:真实模型中回归变量的多重共线性程度
  • n2:真实模型的变量数量k
  • n3:误差方差
  • n4:1到500的计数器,对应参数组合下的500种随机变体
    分号后是BE算法选出的变量(候选变量共30个)。

当前问题

直接用字符串匹配(如CSM3 <- sum(sub_3_df$IV == " X1, X2, X3"))统计正确选择的模型数量时,会因变量顺序不同(比如"X2, X3, X1")漏判正确模型,需要修改代码以适配变量的所有正确排列组合。

内容的提问来源于stack exchange,提问作者Marlen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 17:15:49