如何修改SAS代码生成影响诊断图表并修复dev、c计算异常问题
问题:SAS异常值与影响点分析中图表无法生成、计算结果异常
我正在分析一组含5个自变量(x1、x2、x3、x4、x5)和1个因变量(y)的数据集,共60条记录。运行下方SAS代码识别异常值与影响点时,出现两个问题:
- 无法生成影响诊断图表
dev和c的计算结果异常
需要修改代码,生成类似附件截图的影响诊断图表。
原代码
data data; INFILE "/home/" dlm=","; input x1-x5 y; run; PROC STANDARD DATA=data MEAN=0 OUT=zdata; VAR x1-x5; RUN; PROC REG DATA=zdata PLOTS; model y=x1-x5/DWPROB; RUN; PROC LOGISTIC DATA=data PLOTS; MODEL y=x1-x5/ link=glogit INFLUENCE; OUTPUT OUT=i1 C=c Cbar=c_1 P=p RESCHI=chi RESDEV=dev DIFCHISQ=chi_s DIFDEV=dev_s H=h C=cookd DFBETAS=ALL; RUN; PROC PRINT DATA=i1; where dev<-2; var x1-x5 dev; run; proc print data=i1; where c>0.4; var x1-x5 C; run;
问题分析与修改后的代码
核心问题点
- LOGISTIC过程PLOTS选项未指定具体图表:仅写
PLOTS不会自动生成影响诊断类图表,需明确指定。 - OUTPUT语句变量名冲突:
C=c和C=cookd重复使用C作为变量名,导致c值被覆盖,结果异常。 - REG过程PLOTS选项冗余:未指定具体图表类型,默认输出可能不符合需求。
- 数据读入路径不完整:
INFILE "/home/"未指定具体文件名,无法正确读取数据。
修改后的完整代码
/* 1. 修正数据读入路径,补充完整文件名(若有表头需加FIRSTOBS=2跳过) */ data mydata; INFILE "/home/your_dataset.csv" dlm="," FIRSTOBS=2; input x1-x5 y; run; /* 2. 标准化自变量(可选,若需基于标准化变量分析则保留) */ PROC STANDARD DATA=mydata MEAN=0 OUT=zdata; VAR x1-x5; RUN; /* 3. REG过程明确指定诊断图表,ONLY参数避免冗余输出 */ PROC REG DATA=zdata PLOTS(ONLY)=(QQPlot RESIDUALS BYPANEL INFLUENCE); model y=x1-x5/DWPROB; RUN; QUIT; /* 4. LOGISTIC过程修正变量冲突,指定影响诊断图表 */ PROC LOGISTIC DATA=mydata PLOTS(ONLY)=(INFLUENCE DIAGNOSTICS); MODEL y=x1-x5/ link=glogit INFLUENCE; /* 修正变量名冲突,将C统计量和Cook's D分别命名为c_stat和cookd */ OUTPUT OUT=i1 C=c_stat Cbar=cbar P=p RESCHI=chi RESDEV=dev DIFCHISQ=chi_s DIFDEV=dev_s H=hat_matrix COOKD=cookd DFBETAS=ALL; RUN; QUIT; /* 5. 使用修正后的变量名筛选异常值 */ PROC PRINT DATA=i1; where dev<-2; var x1-x5 dev; run; proc print data=i1; where c_stat>0.4; var x1-x5 c_stat; run;
关键修改说明
- 数据读入:补充完整CSV文件名,若数据集含表头,添加
FIRSTOBS=2跳过表头行。 - REG过程:
PLOTS(ONLY)=(QQPlot RESIDUALS BYPANEL INFLUENCE)指定仅生成残差QQ图、分组残差图和影响点诊断图,减少冗余输出。 - LOGISTIC过程:
PLOTS(ONLY)=(INFLUENCE DIAGNOSTICS)直接生成影响诊断相关图表,包含Cook's D、帽子矩阵、DFBETAS等指标的可视化。- 修正OUTPUT语句中的变量名冲突,避免
C统计量被Cook's D覆盖,确保计算结果准确。
- 添加QUIT语句:每个PROC过程后添加
QUIT,确保过程正常结束,释放系统资源。
内容的提问来源于stack exchange,提问作者needhelpcoding
相关产品推荐
相关产品推荐

