【问题标题】:Dealing with extreme outliers in sas with If-Then-Else statements使用 If-Then-Else 语句处理 sas 中的极端异常值
【发布时间】: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,通常有报告各种残差的选项。

标签: sas outliers


【解决方案1】:

那么,你删除了一些位于数据边缘的数据点,然后得到了一组新数据,并重新计算了 IQR,然后……惊讶于出现了新的“异常值”?

这不是 SAS 做任何特定的事情,它是按照它的要求做,以 1.5*IQR 识别事物。异常值删除始终取决于您(无论如何,当您以这种方式做事,而不是使用我认为的更高级的过程之一时):您决定什么是异常值并删除它,具体取决于您的数据。那么 - 你认为这些新数据点是异常值吗?删除或不删除取决于那个。

【讨论】:

  • 我正在考虑使用学生化残差检查杠杆和影响,并可能在此基础上删除。我很难找到一种方法来做到这一点。 @Joe 你有什么建议吗?
  • Cross Validated 这样的问题要好得多。
  • 谢谢,我去那里问问。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-13
  • 1970-01-01
  • 1970-01-01
  • 2020-08-23
  • 1970-01-01
  • 1970-01-01
  • 2017-08-13
相关资源
最近更新 更多