內容來自:「小白學統計」微信公眾號,感謝作者授權。
重複測量數據是指對同一個體在不同時間點的測量,這種數據在醫學研究中較為常見,比較典型的數據形式如:
對一組人群分別在幹預前後不同的時間點觀察其結局情況。這種研究通常是為了比較不同時間點的差異情況,或者分析時間變化趨勢。
或將一組人群分配至不同組別,對每組人群分別在幹預前後不同的時間點觀察其結局。這種研究通常要比較不同組的差異,有的再深入點,可能還要分析幾個組的變化趨勢是否有差異。
重複測量數據的個體觀測值不完全獨立,數據間存在趨同性,如果採用獨立數據的統計推斷方法(如t檢驗、方差分析)進行分析,往往會增大Ⅰ類錯誤發生的概率,容易使本來無統計學意義的結果變成了有統計學意義。事實上,這種情況在審稿中甚至在已發表的文章中都不算少見。
基於不同的研究目的和分析策略,重複測量數據可採用不同的分析方法,醫學中常見的有重複測量方差分析、廣義估計方程、多水平模型。
1、重複測量方差分析思路
重複測量方差分析,顧名思義,仍是屬於方差分析的範疇,因此其思路也是基於方差分解。
重複測量方差分析與單變量方差分析思路的不同之處在於:單變量方差分析是對某一變量的方差進行分解,而重複測量數據存在多個時間點的測量結果,並不僅有1個變量,而有多個變量,從而形成多個變量的方差-協方差矩陣。
這裡關鍵要弄清楚,1個變量,只有方差,而2個及以上變量,不僅有每個變量的方差,還有表示幾個變量之間關係的協方差,所以多個變量就會形成一個方差-協方差矩陣。
因此,重複測量方差分析不是對1個變量的方差進行分解,而是對多個變量的方差-協方差矩陣進行分解。
為了給大家一個直觀印象,下面就是一個協方差矩陣:
從左上到右下的對角線上的4個值,是4個變量的方差;其它值是行列對應的變量的協方差(反映了2個變量的相關大小)。
但不管是方差,還是方差-協方差矩陣,從分解結構來看,二者仍是一致的。單變量方差分析是將總的離均差平方和(SStotal)分解為模型解釋的變異(SSmodel,重複測量數據的比較重,通常指組別因素)和誤差變異(SSerror)。重複測量方差分析則是將總的交叉乘積平方和(SSCP)矩陣T(SSCPT)分解為模型SSCP矩陣H(SSCPH)和誤差SSCP矩陣E(SSCPE)。
所以這裡主要還是思路的理解:普通方差分析和重複測量方差分析的分解方式都一樣,只不過一個是對方差分解,一個是對方差-協方差矩陣分解。
2、重複測量方差分析的用途
從實際應用來看,重複測量方差分析可用於以下目的:
比較組間有無差異,即兩條隨時間變化的曲線在高低上是否不同。
比較各時間點間有無差異,即不同時間點的值是否有不同。
比較組間的時間變化趨勢有無差異,即隨時間變化的多條曲線是否平行。注意與組間差異區分開。
3、重複測量方差分析的SAS軟體實現
例1:某藥物開展一項治療急性腦梗死的研究,將20名急性腦梗死患者隨機分為兩組,每組10例,分別接受試驗藥和對照藥,於治療前(0周)、治療後1、2、3、4周,分別以某症狀評分指標Y作為治療效果指標。欲實現以下目的:(1)兩組的Y值差異是否具有統計學意義;(2)不同時間點的Y值差異是否有統計學意義;(3)兩組的Y值變化趨勢有無統計學差異。
重複測量方差分析的SAS程序如下:
data ex1;
input id group w0 w1 w2 w3 w4;
/*注意數據輸入格式,以每個時間點觀測結局作為1個變量,形成多變量結局*/
cards;
……(此處省略數據)
;
proc glm data=ex1;
class group;
model w0-w4=group/nouni;
repeated time 5(0 1 2 3 4) contrast(1)/printe summary;
/*time指定時間點個數,如果時間點間隔不等,要在括號中指定具體的時間點值,如1、2、4、7;如果時間點間隔相等(如本例),也可不指定具體時間點。contrast(1)表示以第1次時間點為參照,其餘時間點與參照時間點進行對比*/
manova h=group;
/*指定輸出多變量的組間比較結果,如果不指定該語句,默認不輸出組間比較結果*/
run;
為了結果解釋方便,首先在表1中列出了對照組和試驗組在5個時間點的均值和標準差,圖1則直觀展示了兩組的變化趨勢。
重複測量方差分析的結果,絕大多數統計軟體都會給出4個統計量:Wilks′lambda、 Pillai′s trace、Hotelling‐Lawley trace 和 Roy′s largest root。
4個統計量的值雖然各不相同,但它們所對應的F值在絕大多數情況下都是一致的,我大概做了十多年統計分析,尚未遇到過這4個統計量所對應的F值不同的特殊情形,估計各位也很難遇上。因此實際中通常任選其一即可。以Wilks′lambda統計量為例,例1的主要結果見表2。
表2結果顯示,以0.05為檢驗水準,兩組間差異有統計學意義(P=0.006),5個時間點的差異有統計學意義(P= 0.002),組別和時間的交互效應無統計學意義。交互項反映了兩條曲線是否平行,儘管從圖1來看,兩條曲線似乎並不平行,但一定要注意,統計學中不能只看表面,還要看統計學的分析結果。趨勢變化似乎有差異,然而這種差異並無統計學意義。 嚴格來說就是:尚不能拒絕兩條曲線平行的假定。
上述SAS程序還同時給出了各個時間點的總體比較和分組比較結果:
總體比較是指,以某一時間點為參照(程序中通過contrast指定以第1個時間點為參照),所有其他時間點與參照時間點的比較結果;
分組比較是指,以某一時間點的兩組差值為參照,所有其他時間點的兩組差值與參照時間點兩組差值的比較結果。表3給出了以第 1個時間點為參照,其他時間點與參照點的總體比較和分組比較結果。
注意統計軟體中不會說的這麼直白,名字也不叫「總體比較」和「分組比較」,但它們反映的意思基本如此。
表3結果提示,從所有觀測值來看(不分組),治療後第 3、4 周與治療前相比差異均有統計學意義(P值均
建議結合結果仔細理解一下結果的解釋。
另外,不同軟體給出的結果展示形式不同,SAS和SPSS就不一樣,結果雖然一樣,但是展示方式不一樣。大家要能分清結果的含義。重複測量方差分析的結果比較多,需要仔細研讀,然後根據結果結合自己的專業,做出合理的解釋。
另外還要注意一個問題,對於時間點間隔不等的情形,SAS分析沒有問題,在程序中指定具體時間點即可。但SPSS尚做不到,只能做時間點間隔相等。如果要做,必須在SPSS中編程實現。(不過我沒用過最新版的SPSS,不知道最新版的是否可實現,因為本人平時不大用SPSS。如果有說的不對的地方,請讀者指正。謝謝)
4、重複測量方差分析的局限性
(1)重複測量方差分析要求數據必須是均衡(balance)的,即每一時間點測量值的數量必須相等。這一點在實際中很難滿足,例如,每組 20人,分別在治療前、治療後 1、3、 6個月進行重複測量,很難保證每個人都能完成結果的觀測;而且,即使都能完成,也難以保證這些人都恰好在 1、3、 6個月的固定時間點完成觀測。對於某一被觀測者,哪怕只有一個時間點的數據缺失或不符合時間方案,軟體分析中 該觀測者的整條記錄都會被刪除。
(2)重複測量方差分析要求方差‐協方差矩陣滿足多元正態性和多元方差齊性。這兩個條件,尤其是多元方差齊性,在實際中很容易被忽略,然而臨床研究中卻經常存在這種問題。例如,對高血壓和非高血壓兩組人群在多個時間點進行重複測量,通常情況下,正常人群的收縮壓往往變化不大,而血壓高的人群,其收縮壓往往變動更大,這就容易導致兩組人群的方差‐協方差矩陣方差不等。
(3)重複測量方差分析對時間變化趨勢的分析不夠充分。重複測量數據中,時間並不是以一個自變量的形式納入模型分析,而是本身就作為模型的一部分。因此組別與時間的交互效應,難以深入分析,其變化趨勢儘管可以通過正交多項式進行簡單探索,但形式有限,不夠靈活。例如,假定有試驗組和對照組各4個時間點觀測值,如果想要了解兩組的每一時間點相對初始時間點的變化情況,重複測量方差分析就難以實現。
總的來說,重複測量方差分析作為最簡單的處理重複測量數據的方法,相對臨床大夫來說還是比較友好的,實現的技術門檻不高,結果解釋的話,只要大家仔細看結果,也不是很難。如果想做相對深入的結果,也可以實現,比如趨勢變化等等。當然,局限性也有,上述三條很關鍵,尤其正態性和方差齊性,可能很多人並沒有關注,然而有時確實容易導致出現問題。