Proc reg:并行检查最好的三个变量

时间:2018-04-11 09:45:59

标签: sas output regression linear-regression sas-studio

我正在使用以下代码处理回归宏:

%Macro Regression;

%let index = 1;

%do %until (%Scan(&Var2,&index," ")=);

%let Ind = %Scan(&Var2,&index," ");

ods output SelectionSummary = SelectionSummary;

proc reg data = Regression2 plots = none;

model &Ind = &var / selection = stepwise maxstep=1;

output out = summary R = RSQUARE;

run;

quit;

%if &index = 1 %then %do;

data final;
set selectionsummary;
run;

%end;

%else %do;

data final;
set final selectionsummary;
run;

%end;

%let index = %eval(&Index + 1);

%end;

%mend;

%Regression;

这段代码可以运行并给我一个表格,该表格突出显示了因变量变化最大的自变量。

我正在寻找一种方法来运行它,但回归给了我三个最好的自变量来解释因变量,如果它被选为第一个变量,例如:

选择的模型:

GDP = Human Capital
GDP = Working Capital
GDP = Growth

DependentVar Ind1          Ind2            Ind3    Rsq1 Rsq2 Rsq3
GDP          human capital working capital growth  0.76 0.75 0.69

DependentVar Independent1    Rsq
GDP          human capital   0.76
GDP          working capital 0.75
GDP          growth          0.69

编辑:

如果有一种方法可以逐步使用maxstep = 3并且每个因变量具有最佳的三个独立变量组合,并且条件是第一个自变量是唯一的,那将是一个绝对的好处。

TIA。

1 个答案:

答案 0 :(得分:1)

在模型语句中尝试STOP = 3选项。它将适合最多三个变量的最佳模型。但是,它不适用于逐步选项,但可以使用R ^平方选项。

model &Ind = &var / selection = maxR stop=3;

如果您只想考虑3个变量模型,还包括start = 3。

model &Ind = &var / selection = maxR stop=3 start=3;