Proc Logistic:预测变量的排名强度
Proc Logistic: Ranking Strength of Predictors
我已经使用 Proc logistic 构建了一个模型,我需要对预测变量的强度进行排名。我应该在其中一个输出中寻找一些东西吗?或者是否有一些代码可以计算强度?
This document 解释了如何使用标准化系数对逻辑回归模型的预测变量进行排名。在 proc logistic
中,您指定 stb
选项以获取标准化系数,并指定 ods output parameterestimates = params;
以在 table 中获取这些选项。然后计算标准化系数的绝对值并将它们从最高(更强的预测变量)到最低(更弱的预测变量)排序。
PROC LOGISTIC DATA=SASHELP.JUNKMAIL;
MODEL CLASS = MAKE -- CAPTOTAL / STB;
ODS OUTPUT PARAMETERESTIMATES = PARAMS;
RUN;
DATA PARAMS;
SET PARAMS;
WHERE VARIABLE NE 'Intercept';
ABSSTANDARDIZEDEST = ABS(STANDARDIZEDEST);
KEEP VARIABLE STANDARDIZEDEST ABSSTANDARDIZEDEST;
RUN;
PROC RANK DATA=PARAMS OUT=RANKPARAMS DESCENDING;
VAR ABSSTANDARDIZEDEST;
RANKS RANK;
RUN;
PROC SORT DATA=RANKPARAMS;
BY RANK;
RUN;
PROC PRINT DATA=RANKPARAMS NOOBS;
RUN;
我已经使用 Proc logistic 构建了一个模型,我需要对预测变量的强度进行排名。我应该在其中一个输出中寻找一些东西吗?或者是否有一些代码可以计算强度?
This document 解释了如何使用标准化系数对逻辑回归模型的预测变量进行排名。在 proc logistic
中,您指定 stb
选项以获取标准化系数,并指定 ods output parameterestimates = params;
以在 table 中获取这些选项。然后计算标准化系数的绝对值并将它们从最高(更强的预测变量)到最低(更弱的预测变量)排序。
PROC LOGISTIC DATA=SASHELP.JUNKMAIL;
MODEL CLASS = MAKE -- CAPTOTAL / STB;
ODS OUTPUT PARAMETERESTIMATES = PARAMS;
RUN;
DATA PARAMS;
SET PARAMS;
WHERE VARIABLE NE 'Intercept';
ABSSTANDARDIZEDEST = ABS(STANDARDIZEDEST);
KEEP VARIABLE STANDARDIZEDEST ABSSTANDARDIZEDEST;
RUN;
PROC RANK DATA=PARAMS OUT=RANKPARAMS DESCENDING;
VAR ABSSTANDARDIZEDEST;
RANKS RANK;
RUN;
PROC SORT DATA=RANKPARAMS;
BY RANK;
RUN;
PROC PRINT DATA=RANKPARAMS NOOBS;
RUN;