# goodness of fit, standardized coefficients, model selection ###### tags: `Categorical data analysis` ## Saturated model 在類別裡 $n$--effective sample size代表的是類別數,而在回歸裡因為是連續變數,所以不大可能有相同的組合數,因此effective sample size就是sample size。 當 $p$--(參數數量)與樣本數相同時,稱此模型為 <b>saturated model</b>,通常這個model都是最complicated的,往往會overfit ## Deviance 定義為 :::success <font size = 4> $D = -2ln\frac{ML \;\; for \;\; model}{ML \;\; for \;\; satureated \;\; model} = -2[L_M - L_S] = 2[L_S - L_M]$ </font> ::: 可以看到 Deviance 代表著簡化 model 跟 saturated model log likelihood 的差值 因為 $L_S$ 會是一個定值,因此Deviance越大,表示 $L_M$ 越小,$L_M$ 越小代表該model配適的程度越差 ## Test of goodness of fit of model :::success <font size = 5.5> $H_0:$ use model $M_0$ $H_a:$ use saturated model Test statstic: $-2[M_M - M_S] = 2[M_S - M_M] \rightarrow \chi_{n - m}^2$ 其中 n 為 saturated model 用的 parameter 數量,m 為 model $M_0$ 用的參數數量 </font> ::: 當 test statistic 越大,代表model $M_0$ 的 likelihood 跟 saturated model 相差越遠,代表 $M_0$ 的 fit 效果越差。而 :::success <font size = 5.5> $E[\frac{2[M_S - M_M]}{n - m}] = \frac{1}{n-m} E[2(M_S - M_M)] = \frac{1}{n-m} E(\chi^2_{n-m}) = 1$ </font> ::: 因此可以用 test statistic / df 來檢視該 model 是否合適,越接近1代表配適程度越好 ![](https://i.imgur.com/XYx3KvQ.jpg) 第一個是 Deviance residual,也就是 $2[M_S - M_M]$ 第二個是 Pearson residual,其定義為 ![](https://i.imgur.com/1Bh3CIM.png =60%x) ## Quasi-likelihood 在資料的變異上做了些微調整來解決overdispersion的問題,不影響模型參數的估計值 ## Test for overdispersion :::success <font size = 5.5> $H_0: \phi = 1$ $H_a: \phi \neq 1$ </font> ::: use Pearson-type statistic to test 也可以藉由 Pearson residual 跟 Deviance residual 的檢定來看,因為基本上在 logistic model 中,一個模型的配適度好不好只受到 $\mu$ 跟 $Var(x)$ 的影響。 ### SAS code 以下使用這個資料: litter是母老鼠編號、group是給了老鼠不同的diet、n是母老鼠生出了幾隻老鼠、y是有幾隻老鼠死掉 ![](https://i.imgur.com/1UdH4ea.jpg) ``` sas= proc logistic data = class10; class group (ref = first) / param = ref; model y / n = group / scale = none; run; ``` --- Adjustment ``` sas= proc logistic data = class10; class group (ref = first) / param = ref; model y / n = group / scale = p; run; ``` ### SAS intepretation ![](https://i.imgur.com/catXdPt.jpg) 這個結果是在檢定該解釋變數是否全顯著,因為 group 這個變數有4類,所以旨在檢定 $H_0: \beta_1 = \beta_2 = \beta_3 = 0$,可以拿來跟下面的表格中的檢定結果對比是否一致。 ![](https://i.imgur.com/cVBRvpj.jpg) --- Adjustment ![](https://i.imgur.com/8WlOL35.jpg) 做了pearson的overdispersion調整之後,deviance residual、pearson residual跟 $\beta$ 係數的估計值並不會改變。但 $\beta$ 係數的 standard error會變大,導致其檢定結果變得較不顯著 ## Standardized coefficient 當x的單位不同的時候,會影響到 $\beta$ 的數值大小,如果 x 的單位越大, $\beta$ 的估計值就會越小,因此 not standardized 的 $\beta$ 不能互相比較。但是當 x standardized 之後, $\beta$ 便可以互相比較 ### SAS code ``` sas= proc logistic data = class10; class group (ref = first) / param = ref; model y / n = group / stb; run; ``` ### SAS intepretation ![](https://i.imgur.com/LH0Y4ii.jpg =60%x) 可以看到 standardized 之後的結果,當然在這邊因為 explanetory variable 是類別型的 group 所以 standardized 也沒啥意義就是了。 ## Model selection <b>SLE(selection level for entry)</b>: 當 explanetory varaible 的p-value < SLE 時就認定他是 important 的,便把這個變數選進來 <b>SLS(selection level for stay)</b>: 當 explanetory varaible 的p-value > SLS 時就認定他是 trivial 的,便把這個變數剔除 model selection有三種方法,首先先將所有待選的explanetory variable Wald test的p-value由小到大排列 1. Forward 由小到大,當 $X_i$的p-value $p_i < SLE$,便將他加進 model 裡 2. Backward(通常用這個) 先把所有explanetory variable加進variable裡,接著由大到小,當 $X_j$的p-value $p_j > SLS$時便將他移除 3. Forward and backward 由小到大,當$X_i$的p-value < $SLE$,便將他加進 model 裡,接著再check是否有 $X_i$ 的 p-value > $SLS$,因為當每新加進一個變數時,該變數就有可能與前面的變數產生共線性的問題,導致其p-value改變 ### SAS code ``` sas= proc logistic data = <data>; model <response> = <explanetory> / selection = backward sls = 0.05; run; ```