关于SAS 9.3中PROC REG逐步选择法实现多元线性回归的问询
在SAS 9.3中使用PROC REG执行逐步多元线性回归的操作步骤
下面是整理好的具体操作流程,包含宏变量设置和PROC REG的完整调用细节:
1. 定义回归变量宏变量
先通过宏变量统一管理自变量列表,方便后续修改和重复调用:
%let regressors = x1 x2 x3;
这里把自变量x1、x2、x3赋值给宏变量regressors,后续在模型中直接引用®ressors.即可,不用重复写变量名。
2. 执行PROC REG逐步回归
接下来调用PROC REG过程,同时通过ODS输出把关键结果保存到指定数据集中,方便后续单独分析:
ods output DWStatistic=DW /* 保存Durbin-Watson统计量,用于检验残差自相关性 */ ANOVA=F_Fisher /* 保存方差分析结果,包含F检验统计量及显著性 */ parameterestimates=beta /* 保存模型的参数估计值(回归系数、标准误、P值等) */ CollinDiag=Collinearita /* 保存共线性诊断结果,检测自变量间的共线性问题 */ outputstatistics=residui /* 保存残差、预测值等输出统计量 */ fitstatistics=rsquare; /* 保存拟合优度统计量,比如R²、调整R²等 */ proc reg data=base_dati outest=reg_multivar edf; model TD&eq. = ®ressors. / selection=stepwise /* 指定使用逐步回归方法 */ SLSTAY=&signif_amm_multivar_stay. /* 变量保留在模型中的显著性水平阈值 */ SLENTRY=&signif_amm_multivar_entry.; /* 变量引入模型的显著性水平阈值(补全你未写完的部分) */ run; quit;
代码细节说明:
ods output:把PROC REG输出的各类统计结果导出到独立SAS数据集中,避免直接在输出窗口查看丢失,方便后续做进一步分析或可视化。proc reg的data=base_dati指定回归分析用的原始数据集;outest=reg_multivar保存最终模型的参数估计结果;edf选项用于保存额外的自由度信息。model语句中,TD&eq.是你的因变量(&eq.应该是之前定义的宏变量,用于切换不同的因变量场景);selection=stepwise明确采用逐步回归策略,结合SLSTAY和SLENTRY两个参数,控制变量的纳入和剔除逻辑。
内容的提问来源于stack exchange,提问作者Quant.Pi




