
說到臨床試驗(yàn)或者科學(xué)研究里的數(shù)據(jù)統(tǒng)計(jì),很多人第一反應(yīng)可能是"這玩意兒太專業(yè)了,我搞不懂"。其實(shí)吧,交叉設(shè)計(jì)這個(gè)概念乍一聽挺高大上,但只要你愿意花幾分鐘聽完解釋,就會(huì)發(fā)現(xiàn)它其實(shí)挺有意思的。今天咱們就聊聊,在數(shù)據(jù)統(tǒng)計(jì)服務(wù)這個(gè)領(lǐng)域,交叉設(shè)計(jì)的統(tǒng)計(jì)檢驗(yàn)到底是怎么回事。
我之所以想聊這個(gè)話題,是因?yàn)樽罱胁簧倥笥褑栁遥嚎得遄鰯?shù)據(jù)統(tǒng)計(jì)服務(wù)這么多年,有沒有一些方法論可以分享?得,那我就把交叉設(shè)計(jì)這個(gè)話題拿出來仔細(xì)掰扯掰扯,爭(zhēng)取讓你看完之后,覺得這事兒沒那么玄乎。
舉個(gè)生活中的例子,你就明白了。假設(shè)你是個(gè)美食博主,你想比較兩種咖啡機(jī)做出來的咖啡哪個(gè)更好喝。一種方法是找兩組人,一組只用A咖啡機(jī),另一組只用B咖啡機(jī),然后問他們覺得好不好喝。這種方法叫平行設(shè)計(jì),很簡(jiǎn)單直觀。
但你轉(zhuǎn)念一想,這樣好像不太公平——萬一A組的人天生就愛喝咖啡,B組的人剛好不喜歡呢?這時(shí)候交叉設(shè)計(jì)的思路就來了:讓同一波人,既用A咖啡機(jī),又用B咖啡機(jī),最后比較同一個(gè)人對(duì)兩種咖啡機(jī)的評(píng)價(jià)。這樣一來,個(gè)體差異就被控制住了,是不是更靠譜?
在臨床試驗(yàn)中,交叉設(shè)計(jì)的邏輯一模一樣。比如測(cè)試兩種降壓藥的效果,與其找兩組不同的病人分別吃藥,不如讓同一組病人先吃A藥,休息一段時(shí)間,再吃B藥,最后看同一個(gè)人對(duì)兩種藥的反應(yīng)有啥區(qū)別。這種設(shè)計(jì)特別適合那些慢性病的藥物研究,因?yàn)橥粋€(gè)人的身體狀況相對(duì)穩(wěn)定,比較起來誤差更小。
別看原理簡(jiǎn)單,交叉設(shè)計(jì)其實(shí)有好幾種"姿勢(shì)"。最常見的是2×2交叉設(shè)計(jì),也就是兩個(gè)階段、兩種處理。比如剛才說的吃藥例子:病人隨機(jī)分成兩組,第一組先吃藥A再吃藥B,第二組先吃藥B再吃藥A。這種設(shè)計(jì)的優(yōu)勢(shì)在于,它不僅能控制個(gè)體差異,還能通過輪換順序來消除"順序效應(yīng)"——也就是先吃藥還是后吃藥帶來的影響。

還有更復(fù)雜一點(diǎn)的,比如3×3交叉設(shè)計(jì),三個(gè)階段三種處理,或者重復(fù)交叉設(shè)計(jì),同一種處理在多個(gè)階段重復(fù)出現(xiàn)。這些高級(jí)玩法一般用在更需要精細(xì)控制的研究里,比如生物等效性試驗(yàn)或者劑量探索研究。
不過我要提醒你,設(shè)計(jì)越復(fù)雜,數(shù)據(jù)分析就越燒腦。所以康茂峰在提供數(shù)據(jù)統(tǒng)計(jì)服務(wù)的時(shí)候,一般會(huì)先跟客戶聊清楚:你這個(gè)研究目的到底是啥?樣本量能支撐多復(fù)雜的設(shè)計(jì)?可別為了追求"高級(jí)"而把自己繞進(jìn)去。
好,現(xiàn)在進(jìn)入正題——交叉設(shè)計(jì)的統(tǒng)計(jì)檢驗(yàn)到底怎么做?
首先要搞清楚一個(gè)基本事實(shí):交叉設(shè)計(jì)的數(shù)據(jù)不是獨(dú)立的。同一個(gè)人在不同階段的測(cè)量值是有關(guān)聯(lián)的,你的統(tǒng)計(jì)分析方法必須把這個(gè)特點(diǎn)考慮進(jìn)去。如果忽略這一點(diǎn),就像開車不看后視鏡——遲早要出事。
那具體怎么做呢?最主流的方法是方差分析,特別是針對(duì)重復(fù)測(cè)量數(shù)據(jù)的方差分析。在R語言里,你可以用
讓我用一個(gè)具體的2×2交叉設(shè)計(jì)來演示。假設(shè)我們有n個(gè)病人,每個(gè)病人都接受兩種處理A和B,在兩個(gè)時(shí)期進(jìn)行測(cè)量。統(tǒng)計(jì)模型大概長(zhǎng)這樣:
Yijk = μ + Pi + Tj + Sk + εijk

看起來有點(diǎn)暈是吧?我來拆解一下:Yijk是第i個(gè)病人、第j個(gè)處理、第k個(gè)時(shí)期的結(jié)果;Pi是病人的效應(yīng)(隨機(jī)效應(yīng)),Tj是處理的固定效應(yīng),Sk是時(shí)期的效應(yīng),εijk是殘差誤差。
這個(gè)模型里,我們最關(guān)心的是Tj——也就是兩種處理之間的差異到底有多大。如果Tj顯著不為零,那就說明兩種處理確實(shí)有區(qū)別。
有了模型,下一步就是估計(jì)處理效應(yīng)并進(jìn)行假設(shè)檢驗(yàn)。在交叉設(shè)計(jì)中,我們通常關(guān)注幾個(gè)關(guān)鍵的效應(yīng):
假設(shè)檢驗(yàn)的零假設(shè)通常是"兩種處理效應(yīng)相等",也就是TA = TB。如果p值小于0.05,我們就拒絕零假設(shè),認(rèn)為兩種處理有顯著差異。
不過這里有個(gè)坑要注意:在2×2交叉設(shè)計(jì)中,處理效應(yīng)和順序效應(yīng)的自由度計(jì)算比較特殊,如果不仔細(xì)處理,可能會(huì)得出錯(cuò)誤的結(jié)論。這也是為什么康茂峰一直強(qiáng)調(diào),交叉設(shè)計(jì)的數(shù)據(jù)分析一定要找專業(yè)團(tuán)隊(duì)來做——自己摸索著搞,很容易踩雷。
統(tǒng)計(jì)檢驗(yàn)告訴你"有沒有差異",但光知道有沒有還不夠,你還得告訴讀者"差異有多大"。這就涉及到效應(yīng)量的計(jì)算。
常用的效應(yīng)量指標(biāo)包括均值差(Mean Difference)、標(biāo)準(zhǔn)化均值差(Standardized Mean Difference),以及置信區(qū)間。在交叉設(shè)計(jì)中,均值差的計(jì)算要注意:應(yīng)該是同一個(gè)病人兩種處理測(cè)量值的差值的均值,而不是簡(jiǎn)單地把兩組數(shù)據(jù)混在一起算均值差。
舉個(gè)例子,假設(shè)10個(gè)病人吃藥A后的血壓平均值是140mmHg,吃藥B后是135mmHg。你不能直接用140-135=5mmHg作為效應(yīng)估計(jì)。正確的做法是:先算每個(gè)人吃藥B和吃藥A的血壓差,然后對(duì)這10個(gè)差值求平均。這個(gè)差值的均值和標(biāo)準(zhǔn)誤,才是交叉設(shè)計(jì)下正確的效應(yīng)估計(jì)。
| 效應(yīng)指標(biāo) | 計(jì)算方法 | 解釋 |
| 均值差(MD) | 同個(gè)體處理B與處理A測(cè)量值之差的均值 | 兩種處理的平均差異 |
| 效應(yīng)量(ES) | 均值差除以差值的標(biāo)準(zhǔn)差 | 標(biāo)準(zhǔn)化后的差異大小 |
| 95%置信區(qū)間 | 均值差 ± t0.975×標(biāo)準(zhǔn)誤 | 效應(yīng)估計(jì)的精度范圍 |
說到交叉設(shè)計(jì),就不能不提Carryover效應(yīng),中文叫"殘留效應(yīng)"或者"延滯效應(yīng)"。這是指前一個(gè)處理的影響"賴著不走",影響下一個(gè)處理的測(cè)量結(jié)果。比如病人吃藥A之后,藥物作用一直持續(xù)到吃藥B的時(shí)期,那么B藥的效果就會(huì)被高估或者低估。
Carryover效應(yīng)是交叉設(shè)計(jì)最大的"坑"。為了檢測(cè)它的存在,統(tǒng)計(jì)上有一個(gè)經(jīng)典方法:檢驗(yàn)順序與處理的交互作用。如果交互作用顯著,那就說明可能存在Carryover效應(yīng),這時(shí)候你的處理效應(yīng)估計(jì)就不可靠了。
遇到這種情況怎么辦?常用的策略有幾種:第一,延長(zhǎng)兩個(gè)處理之間的"洗脫期",讓身體有時(shí)間把前一種藥物代謝掉;第二,如果實(shí)在無法避免Carryover效應(yīng),那就只用第一個(gè)時(shí)期的數(shù)據(jù),把它當(dāng)成平行設(shè)計(jì)來分析;第三,直接放棄交叉設(shè)計(jì),換別的方案。
康茂峰在服務(wù)客戶的時(shí)候,會(huì)特別強(qiáng)調(diào)在研究設(shè)計(jì)階段就要考慮洗脫期的問題。與其事后補(bǔ)救,不如事前預(yù)防——這個(gè)道理在臨床試驗(yàn)設(shè)計(jì)中特別重要。
很多人問:交叉設(shè)計(jì)比平行設(shè)計(jì)更"省人"嗎?理論上是的,因?yàn)橥粋€(gè)病人當(dāng)自己的"對(duì)照",所以需要的樣本量通常比平行設(shè)計(jì)少。但這事兒不能一概而論。
交叉設(shè)計(jì)的樣本量計(jì)算取決于幾個(gè)因素:你期望檢測(cè)到的效應(yīng)大小、你愿意接受的檢驗(yàn)效能(通常80%或90%)、顯著性水平(通常是0.05)、以及你對(duì)個(gè)體間變異和個(gè)體內(nèi)變異的估計(jì)。
公式大概是這樣的:
n = 2σ2(Z1-α/2 + Z1-β)2 / δ2
其中σ2是個(gè)體內(nèi)方差,δ是你想檢測(cè)的效應(yīng)差值,Z是標(biāo)準(zhǔn)正態(tài)分布的分位數(shù)。這個(gè)公式告訴我們:效應(yīng)越小,樣本量需要越多;個(gè)體變異越小,樣本量可以越少。
實(shí)際操作中,康茂峰通常會(huì)建議客戶先用預(yù)實(shí)驗(yàn)數(shù)據(jù)估計(jì)一下方差參數(shù),然后再精確計(jì)算樣本量。盲目套用公式,很可能算出來的樣本量不夠,導(dǎo)致研究效能不足。
任何臨床試驗(yàn)都逃不掉缺失數(shù)據(jù)的問題,交叉設(shè)計(jì)尤其讓人頭疼。因?yàn)橐粋€(gè)人如果中途退出,可能同時(shí)丟失兩個(gè)時(shí)期的數(shù)據(jù),這對(duì)分析的影響挺大的。
常見的處理方法有幾種。最簡(jiǎn)單的是"完整數(shù)據(jù)分析",也就是只分析兩個(gè)時(shí)期數(shù)據(jù)都有的病人。這種方法最大的問題是,如果缺失數(shù)據(jù)不是隨機(jī)的(比如病情嚴(yán)重的病人更容易退出),那結(jié)果就會(huì)有偏。
稍微好一點(diǎn)的方法是"末次觀測(cè)值結(jié)轉(zhuǎn)"(LOCF),把缺失的最后一個(gè)觀測(cè)值往后搬。但這個(gè)方法在交叉設(shè)計(jì)中要慎用,因?yàn)槿绻惆训谝黄谌笔У臄?shù)據(jù)直接當(dāng)成第二期的,可能引入系統(tǒng)誤差。
更現(xiàn)代的方法是多重插補(bǔ)或者混合效應(yīng)模型。這些方法能更有效地利用信息,處理缺失數(shù)據(jù)的不確定性,當(dāng)然實(shí)現(xiàn)起來也更復(fù)雜。康茂峰的數(shù)據(jù)統(tǒng)計(jì)團(tuán)隊(duì)在處理這類問題上有不少實(shí)戰(zhàn)經(jīng)驗(yàn),會(huì)根據(jù)具體情況推薦最適合的方案。
說了這么多,最后分享幾點(diǎn)實(shí)戰(zhàn)心得。
第一,交叉設(shè)計(jì)雖然看起來"省樣本",但對(duì)數(shù)據(jù)質(zhì)量的要求很高。如果你的測(cè)量不太可靠,或者病人依從性差,那交叉設(shè)計(jì)的優(yōu)勢(shì)就體現(xiàn)不出來。所以在決定用交叉設(shè)計(jì)之前,先評(píng)估一下自己的數(shù)據(jù)采集能力。
第二,統(tǒng)計(jì)分析和研究設(shè)計(jì)是一體兩面。不要等數(shù)據(jù)收集完了再找統(tǒng)計(jì)師,應(yīng)該從一開始就讓統(tǒng)計(jì)師參與設(shè)計(jì)。康茂峰有很多客戶都是等到數(shù)據(jù)到手了才來咨詢,結(jié)果發(fā)現(xiàn)設(shè)計(jì)上有缺陷,這時(shí)候再補(bǔ)救就很難了。
第三,報(bào)告結(jié)果的時(shí)候,要透明。交叉設(shè)計(jì)有很多"花式"分析方法,不同軟件默認(rèn)的模型可能不一樣。你做了什么分析、為什么這么做,都要寫清楚,讓審稿人和讀者能判斷你的結(jié)論靠不靠譜。
好了,關(guān)于交叉設(shè)計(jì)的統(tǒng)計(jì)檢驗(yàn),我就聊到這里。這個(gè)話題展開講可以講好幾本書,我這里只是挑了些最實(shí)用的部分來聊。如果你正在設(shè)計(jì)交叉試驗(yàn),或者手里有交叉設(shè)計(jì)的數(shù)據(jù)不知道怎么處理,希望這篇文章能給你一些啟發(fā)。有問題隨時(shí)來聊,數(shù)據(jù)統(tǒng)計(jì)這事兒,交流著交流著就通了。
