1. 程式人生 > 其它 >方差分析 - GLM

方差分析 - GLM

方差分析就是多組均值比較,方差分析和T檢驗區別:group > 2組

使用條件:

每個group中的觀測獨立

正態分佈

group間方差齊性

For a balanced layout as shown in this example, the SAS Types I, II, III, and IV sums of squares (see Appendix D) are identical

對於平衡試驗設計,I II III IV型平方和是一樣的。詳見sums of squares。

1. 原理

如果F大,組間均方大,組內均方小,證明至少有一個組的分佈相對其他組分佈較遠,且每個組方差較小,分佈都非常集中,因此可以拒絕H0

這是計算每組的方差

MSE = SSE / N - K.

這是組內誤差,或組內標準差,或殘差

ni是第i組的觀測數量。

MSG是組間標準差,衡量的是組間變異。

2. 單因素

*one-factor;
data one;
 input patno dosegrp $ hama @@;
 datalines;
101 LO 21 104 LO 18
106 LO 19 110 LO .
112 LO 28 116 LO 22
120 LO 30 121 LO 27
124 LO 28 125 LO 19
130 LO 23 136 LO 22
137 LO 20 141 LO 19
143 LO 26 148 LO 35 152 LO . 103 HI 16 105 HI 21 109 HI 31 111 HI 25 113 HI 23 119 HI 25 123 HI 18 127 HI 20 128 HI 18 131 HI 16 135 HI 24 138 HI 22 140 HI 21 142 HI 16 146 HI 33 150 HI 21 151 HI 17 102 PB 22 107 PB 26 108 PB 29 114 PB 19 115 PB . 117 PB 33 118 PB 37 122 PB 25 126 PB 28 129 PB 26 132 PB . 133
PB 31 134 PB 27 139 PB 30 144 PB 25 145 PB 22 147 PB 36 149 PB 32 ; ods html; proc glm data = one; class dosegrp; model hama = dosegrp; means dosegrp/hovtest = bartlett; run;

單因素方差分析,Model總變異和group變異相同。

在group顯著的情況下,比較均值;means dosegrp/hovtest = bartlett;

estimate "Compare HI - PB" dosegrp 1 0 -1 / ;

根據高亮部分算出HI - PB置信區間,estimate 和 means兩種方式得出結果相同。

lsmeans dosegrp/tdiff diff cl adjust=bon;

第一部分是最小二乘均值,第三部分是最小二乘均值和置信區間

第二部分是均值差和 對應的T檢驗的P值。

第四部分是均值差的置信區間。

第二部分和第四部分其實都是兩兩比較,由tdiff 和 diff控制。

3. 兩兩比較

means dosegrp/snk bon dunnett('PB');
lsmeans dosegrp/tdiff diff cl stderr adjust=bon;

兩兩比較:

LSD: 最小顯著差異法,沒控制總的 水平。隨著比較次數增多,犯第一類錯誤概率增大

SNK:q檢驗

Bonferroni:每次比較都設定 alpha 水平,alpha/k, K是比較次數

Dunnett:和設定組比較

多項式比較:指定比較類別。Contrast ‘label’ class_group values; contrast ‘a’ drug 1 -1 0;

4. 多因素方差比較

TRT就是用TRT組的每組均值 - 總體均值

TYPE就是用TYPE組的每組均值 - 總體均值

TRT - by - TYPE就是交叉相乘的每個小單元格,也就是互動作用

就是每個人的資料 - 總體均值

*tw-factor;
data two;
 input trt $ type $ patno hgbch @@;
 datalines;
ACT C 1 1.7 ACT C 3 -0.2 ACT C 6 1.7
ACT C 7 2.3 ACT C 10 2.7 ACT C 12 0.4
ACT C 13 1.3 ACT C 15 0.6 ACT P 22 2.7
ACT P 24 1.6 ACT P 26 2.5 ACT P 28 0.5
ACT P 29 2.6 ACT P 31 3.7 ACT P 34 2.7
ACT P 36 1.3 ACT R 42 -0.3 ACT R 45 1.9
ACT R 46 1.7 ACT R 47 0.5 ACT R 49 2.1
ACT R 51 -0.4 ACT R 52 0.1 ACT R 54 1.0
PBO C 2 2.3 PBO C 4 1.2 PBO C 5 -0.6
PBO C 8 1.3 PBO C 9 -1.1 PBO C 11 1.6
PBO C 14 -0.2 PBO C 16 1.9 PBO P 21 0.6
PBO P 23 1.7 PBO P 25 0.8 PBO P 27 1.7
PBO P 30 1.4 PBO P 32 0.7 PBO P 33 0.8
PBO P 35 1.5 PBO R 41 1.6 PBO R 43 -2.2
PBO R 44 1.9 PBO R 48 -1.6 PBO R 50 0.8
PBO R 53 -0.9 PBO R 55 1.5 PBO R 56 2.1
; 

proc glm data = two;
class trt type;
model hgbch = trt type trt*type/;
*means trt*type/hovtest = levene;
lsmeans trt*type/tdiff lines adjust=bon;
*lsmeans trt*type/slice=type;
run;

slice = type 對TYPE的每個level進行計算。

/lines adjust=bon

進行兩兩比較,Bon方法,如上圖所示,高亮部分沒有相同字母,所以只有 1 和 6之間由顯著差異。

歡迎關注微信公眾號,sas統計分析。本文來自部落格園,作者:Iving,轉載請註明原文連結:https://www.cnblogs.com/SAS-T/p/15547888.html