一、代碼示例(部分參數(shù))
proc logistic data=Adpasi outest=betas covout;
class SEX DSACTST CMMTXFL CMAPTFL;
model AVALC(event='Y')= AGE SEX BMIBL PROGCLS DSACTST BSABL CMMTXFL CMAPTFL
/selection=stepwise slentry=0.05 slstay=0.1 details lackfit;
output out=pred p=phat lower=lcl upper=ucl predprob=(individual crossvalidate);
ods output Association=Association;
run;
二、proc logistic中的參數(shù)解析
1、data= :指示輸入數(shù)據(jù)集名稱
2、outest=:給出系數(shù)矩陣
三、class語句解析
????????指示后面的model語句中模型中變量,有哪些是字符型的分類變量。該語句必須在model之前生效。class語句后面可以跟參數(shù),參數(shù)有兩種表達(dá)方式。第一種是跟在每一個(gè)變量后面,如此不同的變量可以跟不同的參數(shù),以參數(shù)missing,變量var為例,形如:class var1 missing var2 var3 missing;第二種是跟在所有變量后面,作為通用的參數(shù)。形如:class var1 var2 var3/missing;
? ? ? ? class語句可以在各個(gè)過程步通用。
1、param=:該參數(shù)有若干可選項(xiàng)
GLM: 該取值作用目前不得而知,但是它是后面使用 lsmeans 語句的前提,只有該選項(xiàng)設(shè)定后 lsmeans語句才會執(zhí)行。
四、model語句及其參數(shù)解析
model語句中的主體是一個(gè)等式,它是多過程步公用的語句。等式的左邊(AVALC)是反應(yīng)變量,右邊是用來預(yù)測的控制變量(AGE SEX BMIBL PROGCLS DSACTST BSABL CMMTXFL CMAPTFL)。
1、event=:在AVALC后面的(event='Y')作用是指示把AVALC中的哪個(gè)值作為分析的目標(biāo)類別。event=除了直接設(shè)置值外,還有兩種選項(xiàng):event=first和event=last,分別表示選取AVALC中排序在第一個(gè)的那個(gè)值和最后一個(gè)值。event選項(xiàng)只能在反應(yīng)變量是二分類的情況下使用。
2、selection=:用來設(shè)定把變量加入模型的方法。當(dāng)?shù)仁接疫叺目刂谱兞坎皇且粋€(gè)的時(shí)候,簡單的說,就會涉及到一個(gè)問題:哪個(gè)變量先進(jìn)模型?因?yàn)橐话銇碚f自變量越少,對結(jié)果的解釋力度就越弱,所以簡單的想法是盡量多的在等號右邊加入變量。然而,變量雖多,但每個(gè)變量對最終解釋力度的貢獻(xiàn)不同,有些甚至可能完全沒有貢獻(xiàn),所以需要對變量要有個(gè)篩選。
選項(xiàng)有5個(gè),對應(yīng)的是五種篩選方法,括號里是選項(xiàng)簡寫:
? ? ? ? (1)BACKWARD(B):向后剔除法。將所有變量(AGE SEX BMIBL PROGCLS DSACTST BSABL CMMTXFL CMAPTFL)全部放到模型中檢驗(yàn),檢查解釋力度最低的那個(gè)變量,然后和事先設(shè)定的剔除的檢驗(yàn)水準(zhǔn)進(jìn)行比較,進(jìn)行剔除。然后重復(fù)上述過程,知道沒有可以剔除的變量為止。
? ? ? ? (2)FORWARD(F):向前剔除法。與向后剔除法相反,先選擇其中一個(gè)變量進(jìn)入模型中,檢查該變量的解釋力度,如果符合進(jìn)入的檢驗(yàn)水準(zhǔn)則加入模型,然后重復(fù)上述過程,知道新變量對總體解釋力度沒有貢獻(xiàn)為止。
? ? ? ? (3)NONE(N):SAS的默認(rèn)方法。
? ? ? ? (4)STEPWISE?(S):逐步回歸法。是對向后剔除法和向前剔除法的綜合應(yīng)用。先用向前剔除法加入變量 ,然后再用向后剔除法排除不合適的變量。這是一個(gè)反復(fù)的過程,直到既沒有顯著的解釋變量選入回歸方程,也沒有不顯著的解釋變量從回歸方程中剔除為止。以保證最后所得到的解釋變量集是最優(yōu)的。
? ? ? ? (5)SCORE:最優(yōu)子集法。顧名思義,遍歷了所有可能的變量組合,因此篩選出的特征必定是最優(yōu)的。但缺點(diǎn)是計(jì)算量非常大。
3、slentry=:只有當(dāng)selection=選項(xiàng)為STEPWISE和FORWARD的時(shí)候才能用,用來設(shè)定進(jìn)入的檢驗(yàn)水準(zhǔn)??珊唽懗?sle=。
4、slstay=:只有當(dāng)selection=選項(xiàng)為STEPWISE和BACKWARD的時(shí)候才能用,用來設(shè)定剔除的檢驗(yàn)水準(zhǔn)??珊唽懗?sls=。
5、details:顯示逐步選擇過程,但是當(dāng)SELECTION=NONE的時(shí)候無效
6、lackfit:執(zhí)行Hosmer和Lemeshow擬合優(yōu)度檢驗(yàn)。
五、lsmeans 語句及其參數(shù)解析
lsmeans 語句的語法??lsmeans 變量1 變量2 ....... /參數(shù)1 參數(shù)2;他的使用需要class中使用 param=GLM 才能使用。該語句可以在一個(gè)過程步中重復(fù)使用,這樣有一個(gè)好處,因?yàn)樾备芎竺鎱?shù)是所有變量共享的,如果想給每個(gè)變量定制個(gè)性化參數(shù)就不能只用一個(gè)lsmeans語句。lsmeans語句參數(shù)有:
1、ilink:用來設(shè)置生成均值,均值標(biāo)準(zhǔn)誤。
2、cl:用來設(shè)置上下限,包括均值上下限,均值標(biāo)準(zhǔn)誤的上下限。
3、pdiff:用來生成差分表,設(shè)置該參數(shù)會增加一個(gè)差分表。