为什么在运行逐步回归时在 SAS 中出现堆栈溢出错误

问题描述

我尝试在具有 290 万行和 300 列的 sas 中运行逐步回归。我收到以下错误

ERROR: Event Stack Overflow. This is probably caused by mis-matched begin and end event calls.

我的代码

* Forward Selection;
proc reg data =work.bs_bm_final_data outest=est1; 
    model  y =  A_004 - A_300 / selection = forward slentry = 0.99 ss2 sse aic; 
output out=out1 p=p r=r; run; quit; 

解决方法

这可能是您的 SAS 版本或机器配置方面的问题。对于服务器来说,这将是一个相对较小的数据集,但对于消费者台式机或笔记本电脑来说,这可能太多了。

您可以尝试运行 proc glmselect 看看它是否有效吗?修改后的代码如下。

proc glmselect data=sashelp.cars;
    model y = A_004 - A_300 / selection=forward(sle=0.99) showpvalues;
    output out=out p=p r=r;
run;

否则,SAS Tech Support 将是一个不错的联系方式。