2016-12-02 127 views
0

我有一些極端異常值將我的迴歸模型拋出,並使用If-Then-Else語句將它們刪除。然而,SAS完全消除了這些數據點,並在剩餘的數據點中找到了新的異常值。有沒有辦法從分析中刪除異常值,而不會在混合中投入更多?用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 */ 
+0

我不確定你的意思是尋找新的異常值。你能詳細解釋一下嗎?異常值的定義並不確切,刪除異常值並不一定是最佳實踐。 – Reeza

+0

是@Reeza,我知道。我只是想了解當我刪除它們時分佈如何變化。你知道一種讓SAS計算學生殘差的方法嗎? – Jabernet

+0

殘差意味着你必須從模型的預測。根據模型/ PROC,通常有報告各種殘差的選項。 – Reeza

回答

0

所以,你刪除的是您的數據邊緣的一些數據點,然後得到了一個新的數據集,和重新計算IQR,並...感到吃驚的是有新的「異常值」?

這不是SAS做什麼特別的事情,它正在做它要求的事情,在1.5 * IQR中識別事物。異常值去除始終是你(當你正在做的事情這樣,反正不使用更先進的特效我猜想之一):你決定什麼是異常值,並根據您的數據刪除與否。那麼 - 你認爲這些新的數據點是異常的嗎?取消或不取決於此。

+0

我正在考慮檢查控制力,影響力與學生化殘差也許去除基於這一點。我很難找到一種方法來做到這一點。你有@Joe的建議嗎? – Jabernet

+0

那種問題的是[stats.se]好得多。 – Joe

+0

謝謝,我會在那裏問。 – Jabernet