【发布时间】:2017-04-17 22:35:42
【问题描述】:
我的回归模型中有一些极端异常值,我使用 If-Then-Else 语句将它们删除。然而,SAS 完全消除了这些数据点,并在剩余的数据点中发现了新的异常值。有没有办法从分析中删除异常值,而不会将更多的东西混入其中?
我计算了 Q3 + 1.5 * IQR 并使用该值:
Data lungcancer; input trt surv age sex @@;
/* create a new variable diff */
diff = surv - 365;
/* create a new categorical variable resp */
If diff > 0 then resp= 1;
If diff <= 0 then resp= 0;
/* create a new categorical variable sev */
if 2276 > surv >= 1621 then sev=0;
Else If 456 <= surv <= 1620 then sev=1;
Else if 181 <= surv <= 455 then sev=2;
Else if 1 <= surv <= 180 then sev=3;
Else if surv > 2276 then delete; /* Remove outliers */
【问题讨论】:
-
我不确定您所说的寻找新异常值是什么意思。你能更详细地解释一下吗?异常值的定义并不准确,移除异常值不一定是最佳做法。
-
是的@Reeza,我知道。我只是想了解当我删除它们时分布如何变化。你知道让 SAS 计算学生化残差的方法吗?
-
残差意味着您有来自模型的预测。根据模型/PROC,通常有报告各种残差的选项。