R數(shù)據(jù)分析:臨床預(yù)測模型的樣本量探討及R實現(xiàn)

文本的大部分內(nèi)容來自下面的文獻:

Riley R D, Ensor J, Snell K I E, Harrell F E, Martin G P, Reitsma J B et al. Calculating the sample size required for developing a clinical prediction model BMJ 2020; 368 :m441 doi:10.1136/bmj.m441

這個文章是今年2月份瞅見的忧便,本來那個時候就想寫出來分享給大家握础,奈何我太懶了寂祥,成功托到了11月,哈哈哈腕铸。剛好最近有粉絲問臨床預(yù)測模型的樣本量惜犀,就撿回來這篇文章分享給大家。

一個變量10個樣本狠裹?

“一個變量最少需要10個樣本”虽界,這句話是很多同學(xué)開題報告樣本量計算時候都要說的一句話(有些同學(xué)說的15個,有些說20個酪耳,都是可以在上面這個文章中找到參考文獻的)浓恳,確實有這么個法則,英文叫做10 events per variable 縮寫為(10 EPV)碗暗,就是每一個變量就應(yīng)該有10個樣本颈将,確切地說應(yīng)該是你估計多少個β,你就最少需要10β個樣本言疗,比如你的預(yù)測變量有分類變量晴圾,轉(zhuǎn)化為啞變量的時候我們估計的β其實是變多的,所以這一點也需要考慮進去噪奄,比如對于有3個水平的分變自變量死姚,這么一個變量其實是需要最少20個樣本的。同時如果你的模型考慮預(yù)測變量的高次項勤篮,這個時候一個變量對應(yīng)的β值也變多了都毒,也需要提高樣本量。

所以說大家最好不要說一個變量對應(yīng)10個樣本碰缔,而應(yīng)當(dāng)改成1個待估參數(shù)對應(yīng)最少10個樣本账劲。

這么一個簡單而廣泛使用的標(biāo)準,也是有爭議的。當(dāng)然大家還是依然可以用哈瀑焦,沒人會對大家要求這么高的腌且,只不過作者在文章給出了一個更加好的預(yù)測模型樣本量計算方法。

樣本量計算4步法

4步法是van Smeden and Riley et al提出來的榛瓮,其基本思想是從4個方面考慮一個預(yù)測研究的樣本量铺董,然后取4個考慮中最大的樣本量作為我們的最終樣本量。

一是考慮我們的樣本量能夠準確估計結(jié)局的發(fā)生率(2分類)或者結(jié)局均值(連續(xù))禀晓。

對于分類結(jié)局精续,我們有樣本量計算公式

這個也是大家統(tǒng)計課本上的樣本量計算公式

兩個公式一樣的,都是為了估算分類結(jié)局的率粹懒。

就是這個方法首先考慮我們的樣本量能夠合理估計出結(jié)局的發(fā)生率驻右,或者發(fā)生水平。

第二步是確定使得我們模型預(yù)測誤差最小的樣本量崎淳。對于分類結(jié)局來說堪夭,模型預(yù)測誤差最小需要考慮預(yù)測變量個數(shù),預(yù)計結(jié)局占比拣凹,平均結(jié)局誤差這3個指標(biāo)森爽,用下面的公式算:

n就是需要的樣本量,分子上面的3個符號分別代表預(yù)計結(jié)局占比嚣镜,預(yù)測變量個數(shù)爬迟,平均結(jié)局誤差。通過這一步計算出來的樣本量能夠使得模型預(yù)測誤差最小菊匿。

第三步是考慮減少過擬合的最小樣本量付呕,就是樣本量越少越容易過擬合,我們得將樣本量擴大到過擬合不再是問題的程度跌捆。這個時候?qū)τ诜诸惤Y(jié)局的樣本量估計我們需要考慮預(yù)測變量個數(shù)徽职,期望結(jié)局占比,期望模型表現(xiàn)Cox-Snell R squared statistic (R2cs)這3個指標(biāo)佩厚。樣本量計算公式如下:

其中s一般取0.9(這是個防止模型過擬合懲罰極端值的一個指標(biāo))姆钉,P是預(yù)測變量個數(shù),R2cs越小越好抄瓦,一般取0.1潮瓶,所以對于一個20個預(yù)測變量,s取0.9钙姊,R2cs取0.1時我們需要的樣本量按上面的公式算出來就應(yīng)該是1698個毯辅。

第4步是考慮模型優(yōu)化的問題,我們的樣本量要使得我們的模型R2和最優(yōu)模型R2的差異最小煞额,算法如下思恐,反正我也看不太懂赤屋,然后反正大家記住R2cs和max(R2cs)都是自己設(shè)定,p是預(yù)測變量個數(shù):

上面的4個步驟其實就是做預(yù)測模型的時候要考慮的4個標(biāo)準壁袄,每個標(biāo)準都有相應(yīng)的樣本量要求就產(chǎn)生了4個樣本量,最終我們是取4個樣本量中最大的那個作為我們預(yù)測模型的最終的樣本量就可以了媚媒。

樣本量計算的R實現(xiàn)

理論部分很難懂哦嗜逻,反正我們知道我們需要從多個方面去考慮一個臨床預(yù)測模型的樣本量計算問題,更重要的是我們掌握整個樣本量的計算方法就行缭召。作者的論文中是有stata的代碼的栈顷,這兒給大家寫一個R語言的實際例子,預(yù)測模型大家做的多的還是二分類結(jié)局嵌巷,所以我們就完整地走一個二分類結(jié)局樣本量計算的4步法萄凤,4步如下圖:

掌握了這4步對大家前瞻性研究設(shè)計,回顧性研究確定預(yù)測變量個數(shù)都是蠻有好處的:

The calculations are especially helpful when prospective data collection (eg, new cohort study) are required before model development; however, they are also relevant when existing data are available to guide the number of predictors that can be considered.

并且搪哪,整個4步在R語言的pmsampsize函數(shù)中一下就搞定靡努。大家可以去瞅瞅pmsampsize的函數(shù)說明。

比如我現(xiàn)在要設(shè)計一個二分類變量為結(jié)局變量的預(yù)測模型晓折,我估計我要納入24個預(yù)測因素惑朦,結(jié)局的發(fā)生率為17.4,估計R-squared為0.288漓概,那么我就可以直接寫出代碼:

pmsampsize(type="b",rsquared=0.288,parameters=24,prevalence=0.174)

運行后即可得到結(jié)果漾月,結(jié)果中有默認的模型和最優(yōu)模型的差異,有默認的容許誤差胃珍,最終計算出的我們需要的樣本量為668個梁肿。

當(dāng)然啦pmsampsize還可以計算連續(xù)變量結(jié)局和生存數(shù)據(jù)結(jié)局的預(yù)測模型所需要的樣本量,大家可以去瞅瞅函數(shù)說明哈觅彰。

小結(jié)

今天給大家寫了臨床預(yù)測模型的樣本量的計算方法吩蔑,希望大家知道除了1個變量10個樣本這個傻瓜法則之外還有更好的方法。感謝大家耐心看完填抬,自己的文章都寫的很細哥纫,代碼都在原文中,希望大家都可以自己做一做痴奏,請轉(zhuǎn)發(fā)本文到朋友圈后私信回復(fù)“數(shù)據(jù)鏈接”獲取所有數(shù)據(jù)和本人收集的學(xué)習(xí)資料蛀骇。如果對您有用請先收藏,再點贊分享读拆。

也歡迎大家的意見和建議擅憔,大家想了解什么統(tǒng)計方法都可以在文章下留言,說不定我看見了就會給你寫教程哦檐晕,另歡迎私信暑诸。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蚌讼,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子个榕,更是在濱河造成了極大的恐慌篡石,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件西采,死亡現(xiàn)場離奇詭異凰萨,居然都是意外死亡,警方通過查閱死者的電腦和手機械馆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門胖眷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人霹崎,你說我怎么就攤上這事珊搀。” “怎么了尾菇?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵境析,是天一觀的道長。 經(jīng)常有香客問我派诬,道長簿晓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任千埃,我火速辦了婚禮憔儿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘放可。我一直安慰自己谒臼,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布耀里。 她就那樣靜靜地躺著蜈缤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪冯挎。 梳的紋絲不亂的頭發(fā)上底哥,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天,我揣著相機與錄音房官,去河邊找鬼趾徽。 笑死,一個胖子當(dāng)著我的面吹牛翰守,可吹牛的內(nèi)容都是我干的孵奶。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蜡峰,長吁一口氣:“原來是場噩夢啊……” “哼了袁!你這毒婦竟也來了朗恳?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤载绿,失蹤者是張志新(化名)和其女友劉穎粥诫,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體崭庸,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡怀浆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了冀自。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡秒啦,死狀恐怖熬粗,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情余境,我是刑警寧澤驻呐,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站芳来,受9級特大地震影響含末,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜即舌,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一佣盒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧顽聂,春花似錦肥惭、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至耀石,卻和暖如春牵囤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背滞伟。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工揭鳞, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人梆奈。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓汹桦,卻偏偏與公主長得像,于是被迫代替她去往敵國和親鉴裹。 傳聞我的和親對象是個殘疾皇子舞骆,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容