2016-10-03 57 views
1

我已盡力搜索網絡上的問題答案,但一直未能找到任何答案。也許我不是以正確的方式提問,或者我的問題不能解決......那麼,這裏什麼都不做!根據SAS中的因果性標準排除迴歸中的變量

當在SAS中運行迴歸時,可以執行向後或向前選擇,從而消除所有無關緊要的變量,這很好,但僅僅因爲變量的p值≤0.05,並不一定意味着結果是正確的。

E.g.,我在SAS中進行迴歸分析,因變量是因疾病導致的死亡人數,自變量是醫生人數。結果顯着,p≤0.05,但係數表示,隨着醫生人數的增加,死亡人數也在增加。這可能是虛假迴歸的結果,但因果關係是錯誤的,但SAS只是一臺計算機,並不知道因果關係會走向哪個方向。 (當然也可能是這樣,更多的醫生=由於其他因素導致更多的死亡,但現在讓我們忽略它)。

我的問題是:是否有可能做出迴歸,然後告訴SAS,它必須做後向/前向消除,但根據我設置的一些規則,它也必須排除不符合這些規則的變量?例如。如果死亡人數增加,隨着醫生人數的增加,排除可變數量的醫生?那該怎麼辦

我真的很希望有人能幫助我,因爲我在多個不同的年份進行了50多個變量的迴歸,如果我不需要經歷所有結果我。

謝謝:)

+0

可以增加SAS以構建應用其他規則的系統。即當變量數量> 100時p <0.05,但p <0。04當變量的數量<= 100時,使用宏語言創建%do循環,並在滿足一些條件時繼續運行它。 但是,這可能是一段時間的承諾。 – JJFord3

回答

0

我不認爲這是可能的或推薦。如前所述,SAS是一臺計算機,無法知道哪些迴歸結果是虛假的。如果更多的醫生=更多的醫療程序=更多的死亡?很明顯,你需要對每種情況應用專家意見,但上述情況同樣合理。

您還提到'文檔份額',如果我是正確的,這不是實際的數字嗎?所以它也可能是這個度量如何計算的一個人爲因素。

如果您有一組特定的規則要排除,那可能是可行的。但是你必須首先定義所有這些規則,並且對它們有一定的把握。

+0

你說得對。我的問題還不夠清楚。我想制定一些規則,但我不知道如何。我會糾正我的問題謝謝:) – BitteB

+0

我不認爲有一個統計上有效的方法來做你的建議。 – Reeza

0

如果您需要指定不尋常的參數選擇標準,您可以隨時通過強力推送自己的機器學習:對數據進行分區,在宏循環中的所有分區上運行不同的迴歸模型,並使用類似AIC的選項來選擇最佳模型。

但是,除非你是機器學習專家,否則最好從proc glmselect開始。

SAS都可以做向前選擇和向後消除在glmselect程序,如:

proc gmlselect data=...; 
model .../select=forward; 
... 

這也將是可能的兩種方法結合起來 - 即在宏觀循環運行的proc glmselect反覆幾次,各有不同型號規格,然後選擇最佳結果。

相關問題