亞群療效模式圖(subpopulation treatment effect pattern plot,STEPP)法是一種通過制作STEPP,反映研究治療效應與連續協變量之間關系的方法,其特征為將研究人群根據連續協變量值劃分為多個重疊的亞群進行分析。STEPP法與傳統亞組分析目的不同,在探究治療效應與連續協變量的關系上STEPP法有著明顯優勢。本研究對STEPP法的概念、優勢以及亞群劃分方法進行了介紹,并以實例介紹了采用R語言的STEPP包進行STEPP法分析的具體操作過程和結果解讀方法。
引用本文: 李宇飛, 劉建平, 梁士兵, 程紅杰, 張巧妍, 張穎. 亞群療效模式圖(STEPP)法在臨床試驗中的應用. 中國循證醫學雜志, 2024, 24(8): 980-985. doi: 10.7507/1672-2531.202308169 復制
版權信息: ?四川大學華西醫院華西期刊社《中國循證醫學雜志》版權所有,未經授權不得轉載、改編
在干預性臨床療效評價試驗中,研究者主要通過結局效應量大小評估干預措施治療效果[1, 2],而效應量大小會受到協變量的影響[3],即根據協變量對總體治療人群所劃分的不同亞群中,效應量可能有所不同(反映真實世界的隨機效應)。因此,效應量大小基于協變量的變化在療效影響因素探討中十分重要,通常能夠基于這種探討,找出干預措施的優勢人群,從而給個體化治療提供信息參考,最大程度發揮該干預措施優勢,提高臨床療效[4]。人用藥品注冊技術要求國際協調會、歐洲藥品監督管理局、美國食品藥品監督管理局也分別提出協變量在臨床試驗中的重要性[5-7]。亞群療效模式圖(subpopulation treatment effect pattern plot,STEPP)法能夠分析連續協變量是否影響治療效應,相比傳統亞組分析,其在一些方面具有明顯優勢。本文對STEPP法的概念、優勢以及亞群劃分方法進行了介紹,并以實例介紹了采用R語言的STEPP包進行STEPP法分析的具體操作過程和結果解讀方法。
1 STEPP法概念、優勢及亞群劃分方法
1.1 STEPP法概念
STEPP法是一種研究治療效應與連續協變量之間關系的方法[8]。它的目的在于確定治療效果的大小是否作為連續協變量值的函數而變化。單純從概念上講,亞群(subpopulation)與亞組(subgroup)沒有實質區別。協變量是在研究中未被研究者操縱、會對研究結果產生影響的變量,比如臨床試驗中常常對性別、年齡、身高、體重等不加限制,這些變量可能會對研究結果造成影響,此時這些變量就是潛在的協變量,因此對協變量與治療效應之間關系的研究有利于未來根據協變量變化而對治療效果進行一定的預測。
該方法在2000年由Bonetti和Gelber首次引入[8],此后作者團隊多次對STEPP法進行應用探索[9, 10],并對該方法拓展更新[11-13]。STEPP法的R包由Sergio Venturini等組成的團隊所制作,并在2023年1月對該方法在R上的應用進行說明[14]。目前已有臨床研究使用STEPP法分析的案例[15-17]。STEPP法將研究人群根據連續協變量值分為多個重疊的亞群,每個亞群以該亞群的中位協變量作為該亞群的協變量值,并對每一個亞群進行描述(如兩組生存時間差異、率比等),同時對所有亞群進行一個整體的統計推斷,判斷治療效應量與協變量間是否存在函數關系。STEPP法還能生成圖像,可以反映隨著亞群的變化組間效應的變化趨勢。STEPP法同時生成的三個圖像分別展示測量結果、絕對治療效應估計和相對治療效應估計。STEPP法當前版本的R包可在CRAN網站上免費獲取[18, 19]。
1.2 STEPP法優勢
亞組分析是常用的研究治療效應根據不同協變量是否有差異的方法。STEPP法與傳統亞組分析的目的有所不同。亞組分析將研究人群根據協變量值劃分為不重疊的多個亞組,并針對每一個亞組進行描述及統計推斷,目的在于分析各亞組是否存在有意義的治療效應;而STEPP法則是生成重疊亞群,目的在于研究治療效應與連續協變量值是否存在關系。亞組分析操作簡便易行,但存在一些缺點[14, 20]:
① 亞組分析對每個亞組都進行了一次假設檢驗。多次假設檢驗存在第一類錯誤膨脹的風險,此時表現出的統計學差異可信度低,需要調整顯著性水準才能控制第一類錯誤。然而調整顯著性水準可能會降低檢驗效能,使兩組間的效應差更難以滿足統計學差異。
② 亞組分析中的每一次檢驗都是限制在單個亞組內的,無法判斷不同亞組間的治療效果是否有差異。
③ 亞組分析劃分亞組常常是根據連續協變量的中位數、四分位數等簡便值進行劃分,然而根據這些簡便值劃分的亞組不一定具有臨床意義。此外,這種劃分方法劃分出的一些亞組可能僅有很少的患者數,這會導致該亞組的統計精確度降低。
STEPP法對于以上缺點有一定程度彌補:
① STEPP法對于每一個亞群都僅進行統計描述,而沒有統計推斷。STEPP法僅對所有亞群整體進行一次假設檢驗,旨在證明治療效應與連續協變量之間是否存在函數關系。如此整個STEPP法過程只包含一次假設檢驗,不存在多重性問題,也無需調整顯著性水準。
② STEPP法的假設檢驗是橫跨所有亞群的,能夠判斷所有亞群間的治療效應是否有差異,從而判斷治療效應與連續協變量是否有交互作用。
③ STEPP法的亞群劃分主要分為兩類,推薦使用的基于人數滑窗法(unit-based sliding window)根據事先確定好的參數生成相互重疊的亞群,增大每個亞群的樣本量,如此可以保證每一個亞群有足夠的治療效應估計精度。此外與傳統亞組分析研究各亞組是否存在有意義的治療效應不同,STEPP法是研究治療效應與協變量之間是否存在函數關系,并不具體關注某一個亞群,因此無需說明劃分出的亞群是否具有臨床意義。
除了上述與亞組分析對比所體現出的優勢以外,STEPP法還有一些其他方面的優勢:
① 劃分的亞群間是重疊的,使得連續的兩個亞群共享一些患者,如此連續兩個亞群的結果之間存在相互聯系,變化更顯平滑,能夠更好地體現出治療效應隨著連續協變量變化的變化趨勢。
② 生成了STEPP,能夠反映組間效應隨著亞群的變化而變化的趨勢,使研究者更加直觀地觀察數據,輔助研究者解釋結果,并提示治療效應與連續協變量間是否存在潛在的相互作用關系。
STEPP法的優勢及所彌補的亞組分析不足見表1。

STEPP法獨特的亞群劃分方法是其具有優勢的關鍵,我們詳細說明STEPP法將整體人群劃分為相互重疊亞群的機制。
1.3 STEPP法的亞群劃分方法
STEPP法的人群劃分主要分為兩類,分別是滑窗法(sliding window)以及尾部定向法(tail-oriented)。在滑窗法中還分為基于人數滑窗法以及基于事件滑窗法(event-based sliding window)。
1.3.1 基于人數滑窗法
首先指定r1、r2兩個參數,其大小關系為r1<r2(兩參數均小于樣本量)。其中r1是每一對連續亞群間共有的人數,反映著構建亞群時的受試者重疊程度;r2是每一個亞群的人數。
① 對于第一個亞群p1,其協變量范圍的最小值l1即為整體協變量最小值,其協變量范圍最大值u1對應的是可以納入(r2/n×100)%樣本所對應的協變量值。如果實際擁有的樣本不存在對應的協變量百分位數,則選擇的u1就使p1能夠至少包含r2個受試者。
② 對于第二個亞群p2,根據使最多r1個單位落在l2與u1之間的原則選擇l2;根據使p2包含至少r2個單位的原則選擇u2。
③ 重復該過程直到最后一個亞群。
實際應用滑窗法時,某些情況下可能會出現受試者數量不均勻的情況。在STEPP法的R包中首先進行亞群劃分,之后按亞群間樣本量方差最小化的原則進行調整,使得各亞群間樣本量大致均勻,從而提高檢驗效能。
1.3.2 基于事件滑窗法
該方法與基于人數滑窗法類似,考慮到如果臨床試驗中存在生存分析數據,使用基于人數滑窗法可能會導致一個亞群內沒有足夠的事件可供分析,無法保證對治療效果有一個合理的統計評價。針對這個問題,一種解決方案是基于事件進行劃分亞群,可以保證每個亞群內有足夠的事件數[12]。預先指定e1(每個治療組的連續亞群中共同事件的最大數量)、e2(所有亞群中每個治療組中事件最小數量),其中e1<e2。重疊亞群如此構建:
① 所有受試者按協變量值由低到高排序;
② 第一亞群p1:由每個治療組協變量值最低的一批人構成,每組具有最少e2個事件;
③ 第二亞群p2:基于p1,移除協變量值最低的(e2?e1)個事件的人,用協變量值順序列表接下來含有(e2?e1)事件的人將其代替,由此構成p2;
④ 不斷重復該過程,直到每個人都至少包含在一個亞群中,且每個亞群每個治療組包含至少e2個事件。如果最后一個亞群無法含有e2個事件,它將與前一個亞群合并。
該方法只適用于有競爭風險的生存分析。
1.3.3 尾部定向法
該方法與滑窗法不同,不是一個亞群中有固定數量的研究對象,而是亞群人數在不斷的增加(或減少)。該方法的每一個亞群的協變量范圍都至少有一側在邊界。其分為兩種模式,分別是:① 協變量最低值在下邊界,每個亞群的協變量最高值不斷增長,最后包括所有研究人群,這種模式亞群人數逐漸增加;② 第二種方法與其相反,協變量先包含所有人群,每個亞群協變量最低值不斷增加,這種模式亞群人數逐漸減少。
尾部定向法是為了分析右側協變量增加和左側協變量減少對治療效果的影響,以及探究協變量極端值對于治療效果的影響。通常建議兩種方法分別進行檢驗。
2 實例演示
實例采用R語言中的STEPP包進行分析,在“STEPP”R包中針對結局為不同的數據類型有三種分析模式:
① StmodelGLM,可以用于指數分布的數據,包括正態分布、二項分布以及泊松分布。
② StmodelKM,可以用于沒有競爭風險的生存數據。
③ StmodelCI,可以用于存在競爭風險情況下的生存數據。
2.1 數據來源
該數據來源于本團隊開展的一項痛瀉要方對比安慰劑治療腹瀉型腸易激綜合征(IBS-D)療效和安全性評價的隨機對照試驗[21]。
所用數據包括患者的基線焦慮自評量表(self-rating anxiety scale,SAS)標準分(患者的心理狀態與IBS有關;量表評分越高,代表治療前焦慮程度越高)[22, 23],及患者治療8周后的IBS疾病嚴重程度(IBS symptom severity scale,IBS-SSS)評分(IBS常用指標,評分越高提示IBS癥狀越嚴重)[24]。
2.2 數據分析過程與代碼
該實例中,數據集名為“steppdata”,其中包含以下三列數據:① group,為受試者的組別,其中“1”為痛瀉要方組,“2”為安慰劑組。② sas1,為受試者基線SAS標準分,評分越高,代表治療前焦慮程度越高。③ IBSSSS3,為受試者治療8周后的IBS-SSS評分,評分越高提示IBS癥狀越嚴重。
首先分析數據類型,IBS-SSS評分為連續型變量,需要使用R包中的stmodelGLM的方法來進行分析,該方法要求數據符合正態分布,使用S-W正態分布檢驗:
輸入命令:
>tapply(steppdata$IBSSSS3,steppdata$group,shapiro.test)
輸出結果顯示,兩組P值均大于0.05,可認為數據符合正態性。
加載“stepp”包,并使用新“stwin”命令指定劃分亞群的方式。使用基于人數滑窗法,其參數為一個亞群至少20人,每兩個連續亞群間最大重疊10人,將這些參數放入對象“swin”中。
輸入命令:
>library(stepp)
>swin <- new("stwin", type = "sliding", r1 = 10, r2 = 20)
使用新“stsubpop”命令指定對象“subp”用于存儲劃分后的亞群數據,并使用generate命令,以“steppdata”數據集中的基線SAS標準分作為協變量,以剛才指定的亞群劃分方式將受試者劃分重疊亞群,并儲存到對象“subp”中。接著,使用“summary”命令輸出劃分出的重疊亞群。
輸入命令:
>subp <- new("stsubpop")
>subp <- generate(subp, win = swin, covariate = steppdata$sas1)
>summary(subp)
該命令代碼中,“sas1”為受試者治療前SAS標準分,下同。
輸出結果:
Window type: sliding
Number of patients per subpopulation (patspop r2): 20
Largest number of patients in common among consecutive subpopulations (minpatspop r1): 10
Number of subpopulations created: 7
Subpopulation summary information (including all treatments)
Covariate Summary Sample
Subpopulation Median Minimum Maximum size
1 29.00 25.0000 30.0000 28
2 31.00 30.0000 33.0000 20
3 35.00 32.0000 38.0000 23
4 38.50 36.0000 40.0000 20
5 41.00 39.0000 44.0000 21
6 46.00 42.0000 49.0000 22
7 49.00 48.0000 62.0000 16
該結果顯示出受試者劃分為7個重疊亞群,并輸出了每個亞群的樣本量及協變量特征。除此以外,還顯示了亞群的劃分方法以及參數。
接著,使用新“steppes”命令指定對象“res”用于存儲STEPP法的輸出結果。使用新“stmodelGLM”命令指定使用的分析方法,在該命令的參數中指定數據的組別以及分析變量,并說明在數據中兩個組別分別以什么數表示,并將該命令數據存儲至對象“modelGLM”中。
輸入命令:
>res <- new("steppes")
>modelGLM <- new("stmodelGLM", coltrt = steppdata$group,colY=steppdata$IBSSSS3,trts = c(1, 2))
接下來需要擬合STEPP法模型。使用“estimate”命令,指定使用存儲在“subp”中的亞群,指定存儲在“modelGLM”中的分析方法,并指定結果輸出在對象“res”中。整個estimate命令覆蓋在對象“res”中。
設定種子數,并指定4 000次的蒙特卡羅重復,使生成的結果可信度較高。使用test命令生成分析結果,并將結果覆蓋在對象“res”中,并進行輸出。
輸入命令:
>res <- estimate(res, subp, modelGLM)
>set.seed(1024)
>nperm <- 4000
>Res <- test(res, nperm)
>print(res, estimate = TRUE, cov = FALSE, test = TRUE)
最后需要輸出結果的圖像,輸入命令:
>plot(res, subplot = FALSE, xlabel = "亞群基線SAS標準分中位數",ylabel = "IBS-SSS評分",ncex=0.8,tlegend = c("痛瀉要方", "安慰劑"),legend_diff = c(1, 2) )
STEPP法會同時生成三個圖像,分別展示了測量結果、絕對治療效應估計和相對治療效應估計,其中相對治療效應估計在結局為二分類變量時使用。由于本實例分析變量為連續型變量,故結果僅為圖1和圖2。連續性變量的輸出結果僅關注效應差部分,若分析變量為二分類變量,則關注效應比部分。
效應差部分的結果顯示,根據上確界檢驗結果(supremum test results),基于效應差的P值為0.0485,小于0.05,可以認為不同亞群間存在有治療效應與協變量的交互作用,即基線焦慮程度對療效有影響。“overall”表示對所有樣本進行分析的結果。可看出隨著亞群增大(即協變量升高)兩組效應差是一個先減小后增大的趨勢。
圖1為不同組別各亞群IBS-SSS評分的測量結果,隨著基線SAS標準分的上升,安慰劑組的IBS-SSS評分呈“W”型,總體呈上升趨勢,而痛瀉要方組的IBS-SSS評分在SAS標準分46前呈“U”型,隨后有所下降。
圖2為各亞群的IBS-SSS評分效應差,可見效應差圖像在達到SAS標準分(46分)前呈“U”型。根據該圖像進行分析,隨著焦慮程度的增加,IBS-SSS的治療效應由安慰劑組偏優轉向痛瀉要方組偏優,在SAS標準分均值到38.5分時療效達到最優,該亞群的效應差還具有統計學意義。隨后相對安慰劑的治療效應有所變差。值得注意的是,效應差在SAS標準分均值達到49分時有一個較大的下降,結合圖1,此時痛瀉要方組IBS-SSS評分有所下降,而安慰劑組則有所上升。SAS標準分總分為100分,50分以上被評為焦慮,可看出受試者基本均未達到焦慮標準,根據圖1及圖2曲線,可猜測隨著焦慮程度進一步上升,痛瀉要方與安慰劑療效差異有進一步增大的可能。
圖2還繪制了效應差的95%CI,該結果與之前提到的上確界檢驗結果意義不同。上確界檢驗結果是綜合了所有亞群的效應差結果,判斷效應差的變化是否與劃分亞群的協變量有關;而95%CI是單獨考慮某個亞群,說明某個亞群的效應差是否具有統計學意義。二者應當分開進行討論。
在STEPP法生成的三個圖中,圖1是測量結果的直接展示,從圖2能更加直觀地觀察效應差,對于分析干預措施的優勢方面輔助效果更強。
3 結論
STEPP法與傳統亞組分析目的不同,傳統亞組分析目的在于分析各亞組是否存在有意義的治療效應,而STEPP法目的在于研究治療效應與連續協變量值是否存在關系。由實例可見在探究治療效應與協變量的關系上STEPP法有著明顯優勢,且具有良好的可視化功能,分析起來更加簡單直觀,在研究者對療效的判斷中有著明顯的輔助作用。
個體化治療是醫學發展的方向[25],在未來的研究中,STEPP法可廣泛應用于連續協變量與治療效應的關系探索,從而找出治療效應的影響因素,據此可以進行更深入的驗證性研究,得出的結論有利于未來根據協變量變化而對治療效果進行一定的預測,為個體化治療提供參考,提高治療效率。
在干預性臨床療效評價試驗中,研究者主要通過結局效應量大小評估干預措施治療效果[1, 2],而效應量大小會受到協變量的影響[3],即根據協變量對總體治療人群所劃分的不同亞群中,效應量可能有所不同(反映真實世界的隨機效應)。因此,效應量大小基于協變量的變化在療效影響因素探討中十分重要,通常能夠基于這種探討,找出干預措施的優勢人群,從而給個體化治療提供信息參考,最大程度發揮該干預措施優勢,提高臨床療效[4]。人用藥品注冊技術要求國際協調會、歐洲藥品監督管理局、美國食品藥品監督管理局也分別提出協變量在臨床試驗中的重要性[5-7]。亞群療效模式圖(subpopulation treatment effect pattern plot,STEPP)法能夠分析連續協變量是否影響治療效應,相比傳統亞組分析,其在一些方面具有明顯優勢。本文對STEPP法的概念、優勢以及亞群劃分方法進行了介紹,并以實例介紹了采用R語言的STEPP包進行STEPP法分析的具體操作過程和結果解讀方法。
1 STEPP法概念、優勢及亞群劃分方法
1.1 STEPP法概念
STEPP法是一種研究治療效應與連續協變量之間關系的方法[8]。它的目的在于確定治療效果的大小是否作為連續協變量值的函數而變化。單純從概念上講,亞群(subpopulation)與亞組(subgroup)沒有實質區別。協變量是在研究中未被研究者操縱、會對研究結果產生影響的變量,比如臨床試驗中常常對性別、年齡、身高、體重等不加限制,這些變量可能會對研究結果造成影響,此時這些變量就是潛在的協變量,因此對協變量與治療效應之間關系的研究有利于未來根據協變量變化而對治療效果進行一定的預測。
該方法在2000年由Bonetti和Gelber首次引入[8],此后作者團隊多次對STEPP法進行應用探索[9, 10],并對該方法拓展更新[11-13]。STEPP法的R包由Sergio Venturini等組成的團隊所制作,并在2023年1月對該方法在R上的應用進行說明[14]。目前已有臨床研究使用STEPP法分析的案例[15-17]。STEPP法將研究人群根據連續協變量值分為多個重疊的亞群,每個亞群以該亞群的中位協變量作為該亞群的協變量值,并對每一個亞群進行描述(如兩組生存時間差異、率比等),同時對所有亞群進行一個整體的統計推斷,判斷治療效應量與協變量間是否存在函數關系。STEPP法還能生成圖像,可以反映隨著亞群的變化組間效應的變化趨勢。STEPP法同時生成的三個圖像分別展示測量結果、絕對治療效應估計和相對治療效應估計。STEPP法當前版本的R包可在CRAN網站上免費獲取[18, 19]。
1.2 STEPP法優勢
亞組分析是常用的研究治療效應根據不同協變量是否有差異的方法。STEPP法與傳統亞組分析的目的有所不同。亞組分析將研究人群根據協變量值劃分為不重疊的多個亞組,并針對每一個亞組進行描述及統計推斷,目的在于分析各亞組是否存在有意義的治療效應;而STEPP法則是生成重疊亞群,目的在于研究治療效應與連續協變量值是否存在關系。亞組分析操作簡便易行,但存在一些缺點[14, 20]:
① 亞組分析對每個亞組都進行了一次假設檢驗。多次假設檢驗存在第一類錯誤膨脹的風險,此時表現出的統計學差異可信度低,需要調整顯著性水準才能控制第一類錯誤。然而調整顯著性水準可能會降低檢驗效能,使兩組間的效應差更難以滿足統計學差異。
② 亞組分析中的每一次檢驗都是限制在單個亞組內的,無法判斷不同亞組間的治療效果是否有差異。
③ 亞組分析劃分亞組常常是根據連續協變量的中位數、四分位數等簡便值進行劃分,然而根據這些簡便值劃分的亞組不一定具有臨床意義。此外,這種劃分方法劃分出的一些亞組可能僅有很少的患者數,這會導致該亞組的統計精確度降低。
STEPP法對于以上缺點有一定程度彌補:
① STEPP法對于每一個亞群都僅進行統計描述,而沒有統計推斷。STEPP法僅對所有亞群整體進行一次假設檢驗,旨在證明治療效應與連續協變量之間是否存在函數關系。如此整個STEPP法過程只包含一次假設檢驗,不存在多重性問題,也無需調整顯著性水準。
② STEPP法的假設檢驗是橫跨所有亞群的,能夠判斷所有亞群間的治療效應是否有差異,從而判斷治療效應與連續協變量是否有交互作用。
③ STEPP法的亞群劃分主要分為兩類,推薦使用的基于人數滑窗法(unit-based sliding window)根據事先確定好的參數生成相互重疊的亞群,增大每個亞群的樣本量,如此可以保證每一個亞群有足夠的治療效應估計精度。此外與傳統亞組分析研究各亞組是否存在有意義的治療效應不同,STEPP法是研究治療效應與協變量之間是否存在函數關系,并不具體關注某一個亞群,因此無需說明劃分出的亞群是否具有臨床意義。
除了上述與亞組分析對比所體現出的優勢以外,STEPP法還有一些其他方面的優勢:
① 劃分的亞群間是重疊的,使得連續的兩個亞群共享一些患者,如此連續兩個亞群的結果之間存在相互聯系,變化更顯平滑,能夠更好地體現出治療效應隨著連續協變量變化的變化趨勢。
② 生成了STEPP,能夠反映組間效應隨著亞群的變化而變化的趨勢,使研究者更加直觀地觀察數據,輔助研究者解釋結果,并提示治療效應與連續協變量間是否存在潛在的相互作用關系。
STEPP法的優勢及所彌補的亞組分析不足見表1。

STEPP法獨特的亞群劃分方法是其具有優勢的關鍵,我們詳細說明STEPP法將整體人群劃分為相互重疊亞群的機制。
1.3 STEPP法的亞群劃分方法
STEPP法的人群劃分主要分為兩類,分別是滑窗法(sliding window)以及尾部定向法(tail-oriented)。在滑窗法中還分為基于人數滑窗法以及基于事件滑窗法(event-based sliding window)。
1.3.1 基于人數滑窗法
首先指定r1、r2兩個參數,其大小關系為r1<r2(兩參數均小于樣本量)。其中r1是每一對連續亞群間共有的人數,反映著構建亞群時的受試者重疊程度;r2是每一個亞群的人數。
① 對于第一個亞群p1,其協變量范圍的最小值l1即為整體協變量最小值,其協變量范圍最大值u1對應的是可以納入(r2/n×100)%樣本所對應的協變量值。如果實際擁有的樣本不存在對應的協變量百分位數,則選擇的u1就使p1能夠至少包含r2個受試者。
② 對于第二個亞群p2,根據使最多r1個單位落在l2與u1之間的原則選擇l2;根據使p2包含至少r2個單位的原則選擇u2。
③ 重復該過程直到最后一個亞群。
實際應用滑窗法時,某些情況下可能會出現受試者數量不均勻的情況。在STEPP法的R包中首先進行亞群劃分,之后按亞群間樣本量方差最小化的原則進行調整,使得各亞群間樣本量大致均勻,從而提高檢驗效能。
1.3.2 基于事件滑窗法
該方法與基于人數滑窗法類似,考慮到如果臨床試驗中存在生存分析數據,使用基于人數滑窗法可能會導致一個亞群內沒有足夠的事件可供分析,無法保證對治療效果有一個合理的統計評價。針對這個問題,一種解決方案是基于事件進行劃分亞群,可以保證每個亞群內有足夠的事件數[12]。預先指定e1(每個治療組的連續亞群中共同事件的最大數量)、e2(所有亞群中每個治療組中事件最小數量),其中e1<e2。重疊亞群如此構建:
① 所有受試者按協變量值由低到高排序;
② 第一亞群p1:由每個治療組協變量值最低的一批人構成,每組具有最少e2個事件;
③ 第二亞群p2:基于p1,移除協變量值最低的(e2?e1)個事件的人,用協變量值順序列表接下來含有(e2?e1)事件的人將其代替,由此構成p2;
④ 不斷重復該過程,直到每個人都至少包含在一個亞群中,且每個亞群每個治療組包含至少e2個事件。如果最后一個亞群無法含有e2個事件,它將與前一個亞群合并。
該方法只適用于有競爭風險的生存分析。
1.3.3 尾部定向法
該方法與滑窗法不同,不是一個亞群中有固定數量的研究對象,而是亞群人數在不斷的增加(或減少)。該方法的每一個亞群的協變量范圍都至少有一側在邊界。其分為兩種模式,分別是:① 協變量最低值在下邊界,每個亞群的協變量最高值不斷增長,最后包括所有研究人群,這種模式亞群人數逐漸增加;② 第二種方法與其相反,協變量先包含所有人群,每個亞群協變量最低值不斷增加,這種模式亞群人數逐漸減少。
尾部定向法是為了分析右側協變量增加和左側協變量減少對治療效果的影響,以及探究協變量極端值對于治療效果的影響。通常建議兩種方法分別進行檢驗。
2 實例演示
實例采用R語言中的STEPP包進行分析,在“STEPP”R包中針對結局為不同的數據類型有三種分析模式:
① StmodelGLM,可以用于指數分布的數據,包括正態分布、二項分布以及泊松分布。
② StmodelKM,可以用于沒有競爭風險的生存數據。
③ StmodelCI,可以用于存在競爭風險情況下的生存數據。
2.1 數據來源
該數據來源于本團隊開展的一項痛瀉要方對比安慰劑治療腹瀉型腸易激綜合征(IBS-D)療效和安全性評價的隨機對照試驗[21]。
所用數據包括患者的基線焦慮自評量表(self-rating anxiety scale,SAS)標準分(患者的心理狀態與IBS有關;量表評分越高,代表治療前焦慮程度越高)[22, 23],及患者治療8周后的IBS疾病嚴重程度(IBS symptom severity scale,IBS-SSS)評分(IBS常用指標,評分越高提示IBS癥狀越嚴重)[24]。
2.2 數據分析過程與代碼
該實例中,數據集名為“steppdata”,其中包含以下三列數據:① group,為受試者的組別,其中“1”為痛瀉要方組,“2”為安慰劑組。② sas1,為受試者基線SAS標準分,評分越高,代表治療前焦慮程度越高。③ IBSSSS3,為受試者治療8周后的IBS-SSS評分,評分越高提示IBS癥狀越嚴重。
首先分析數據類型,IBS-SSS評分為連續型變量,需要使用R包中的stmodelGLM的方法來進行分析,該方法要求數據符合正態分布,使用S-W正態分布檢驗:
輸入命令:
>tapply(steppdata$IBSSSS3,steppdata$group,shapiro.test)
輸出結果顯示,兩組P值均大于0.05,可認為數據符合正態性。
加載“stepp”包,并使用新“stwin”命令指定劃分亞群的方式。使用基于人數滑窗法,其參數為一個亞群至少20人,每兩個連續亞群間最大重疊10人,將這些參數放入對象“swin”中。
輸入命令:
>library(stepp)
>swin <- new("stwin", type = "sliding", r1 = 10, r2 = 20)
使用新“stsubpop”命令指定對象“subp”用于存儲劃分后的亞群數據,并使用generate命令,以“steppdata”數據集中的基線SAS標準分作為協變量,以剛才指定的亞群劃分方式將受試者劃分重疊亞群,并儲存到對象“subp”中。接著,使用“summary”命令輸出劃分出的重疊亞群。
輸入命令:
>subp <- new("stsubpop")
>subp <- generate(subp, win = swin, covariate = steppdata$sas1)
>summary(subp)
該命令代碼中,“sas1”為受試者治療前SAS標準分,下同。
輸出結果:
Window type: sliding
Number of patients per subpopulation (patspop r2): 20
Largest number of patients in common among consecutive subpopulations (minpatspop r1): 10
Number of subpopulations created: 7
Subpopulation summary information (including all treatments)
Covariate Summary Sample
Subpopulation Median Minimum Maximum size
1 29.00 25.0000 30.0000 28
2 31.00 30.0000 33.0000 20
3 35.00 32.0000 38.0000 23
4 38.50 36.0000 40.0000 20
5 41.00 39.0000 44.0000 21
6 46.00 42.0000 49.0000 22
7 49.00 48.0000 62.0000 16
該結果顯示出受試者劃分為7個重疊亞群,并輸出了每個亞群的樣本量及協變量特征。除此以外,還顯示了亞群的劃分方法以及參數。
接著,使用新“steppes”命令指定對象“res”用于存儲STEPP法的輸出結果。使用新“stmodelGLM”命令指定使用的分析方法,在該命令的參數中指定數據的組別以及分析變量,并說明在數據中兩個組別分別以什么數表示,并將該命令數據存儲至對象“modelGLM”中。
輸入命令:
>res <- new("steppes")
>modelGLM <- new("stmodelGLM", coltrt = steppdata$group,colY=steppdata$IBSSSS3,trts = c(1, 2))
接下來需要擬合STEPP法模型。使用“estimate”命令,指定使用存儲在“subp”中的亞群,指定存儲在“modelGLM”中的分析方法,并指定結果輸出在對象“res”中。整個estimate命令覆蓋在對象“res”中。
設定種子數,并指定4 000次的蒙特卡羅重復,使生成的結果可信度較高。使用test命令生成分析結果,并將結果覆蓋在對象“res”中,并進行輸出。
輸入命令:
>res <- estimate(res, subp, modelGLM)
>set.seed(1024)
>nperm <- 4000
>Res <- test(res, nperm)
>print(res, estimate = TRUE, cov = FALSE, test = TRUE)
最后需要輸出結果的圖像,輸入命令:
>plot(res, subplot = FALSE, xlabel = "亞群基線SAS標準分中位數",ylabel = "IBS-SSS評分",ncex=0.8,tlegend = c("痛瀉要方", "安慰劑"),legend_diff = c(1, 2) )
STEPP法會同時生成三個圖像,分別展示了測量結果、絕對治療效應估計和相對治療效應估計,其中相對治療效應估計在結局為二分類變量時使用。由于本實例分析變量為連續型變量,故結果僅為圖1和圖2。連續性變量的輸出結果僅關注效應差部分,若分析變量為二分類變量,則關注效應比部分。
效應差部分的結果顯示,根據上確界檢驗結果(supremum test results),基于效應差的P值為0.0485,小于0.05,可以認為不同亞群間存在有治療效應與協變量的交互作用,即基線焦慮程度對療效有影響。“overall”表示對所有樣本進行分析的結果。可看出隨著亞群增大(即協變量升高)兩組效應差是一個先減小后增大的趨勢。
圖1為不同組別各亞群IBS-SSS評分的測量結果,隨著基線SAS標準分的上升,安慰劑組的IBS-SSS評分呈“W”型,總體呈上升趨勢,而痛瀉要方組的IBS-SSS評分在SAS標準分46前呈“U”型,隨后有所下降。
圖2為各亞群的IBS-SSS評分效應差,可見效應差圖像在達到SAS標準分(46分)前呈“U”型。根據該圖像進行分析,隨著焦慮程度的增加,IBS-SSS的治療效應由安慰劑組偏優轉向痛瀉要方組偏優,在SAS標準分均值到38.5分時療效達到最優,該亞群的效應差還具有統計學意義。隨后相對安慰劑的治療效應有所變差。值得注意的是,效應差在SAS標準分均值達到49分時有一個較大的下降,結合圖1,此時痛瀉要方組IBS-SSS評分有所下降,而安慰劑組則有所上升。SAS標準分總分為100分,50分以上被評為焦慮,可看出受試者基本均未達到焦慮標準,根據圖1及圖2曲線,可猜測隨著焦慮程度進一步上升,痛瀉要方與安慰劑療效差異有進一步增大的可能。
圖2還繪制了效應差的95%CI,該結果與之前提到的上確界檢驗結果意義不同。上確界檢驗結果是綜合了所有亞群的效應差結果,判斷效應差的變化是否與劃分亞群的協變量有關;而95%CI是單獨考慮某個亞群,說明某個亞群的效應差是否具有統計學意義。二者應當分開進行討論。
在STEPP法生成的三個圖中,圖1是測量結果的直接展示,從圖2能更加直觀地觀察效應差,對于分析干預措施的優勢方面輔助效果更強。
3 結論
STEPP法與傳統亞組分析目的不同,傳統亞組分析目的在于分析各亞組是否存在有意義的治療效應,而STEPP法目的在于研究治療效應與連續協變量值是否存在關系。由實例可見在探究治療效應與協變量的關系上STEPP法有著明顯優勢,且具有良好的可視化功能,分析起來更加簡單直觀,在研究者對療效的判斷中有著明顯的輔助作用。
個體化治療是醫學發展的方向[25],在未來的研究中,STEPP法可廣泛應用于連續協變量與治療效應的關系探索,從而找出治療效應的影響因素,據此可以進行更深入的驗證性研究,得出的結論有利于未來根據協變量變化而對治療效果進行一定的預測,為個體化治療提供參考,提高治療效率。