群體葯代動模型建立遇阻時的22個思考方向
來自專欄 計量藥理學習筆記
更新一下,思考方向後面是我的吐槽,我導師在每條方向後面都有具體例子以及診斷方法,詳情我就沒有翻譯,真有興趣請去原文
==============================
近來由於課題的關係,重看了一次Mats Karlsson教授1998年寫的一篇文章,受益匪淺,隨時98年的文章現在讀來猶感銳氣逼人,其中一些精要內容譯來與大家分享。
(原文章題為:Assumption Testing in Population Pharmacokinetic Models: Illustrated with an Analysis of Moxonidine Data from Congestive Heart Failure Patients)
群體葯代動模型建立的主軸
群體葯代動模型多如繁星,沒有絕對保證成功的建立方法,於是建模者建立模型便也各安其法。但大體上總是從結構模型(structural model)開始,然後是協變數模型(covariate model)最後是殘差模型(residual error model)。比較理想的情況下是三個模型中即使需要修改其中一個,另外兩個依然保持不變。而在模型的建立過程中,如果現有結構模型太簡單而需要引入新的參數時,則必要使得引入的參數可以提高模型的擬合結果以及增強描述數據時的統計顯著性。其中後者通常表現為兩個模型的objective function value (-2*likelihood,OFV)的差值超過一定的數值。舉例來說,如果引入新參數產生的模型和原來的模型是屬於hierarchical關係(簡單來說就是新參數定為0時,新模型退化為原模型)的話,那OFV的差值就服從一個自由度和新引入參數數量相等的卡方分布。比如,一房室變為二房室的話,新引入了房室間清除率和二房室體積,由此這個二房室模型計算得到的OFV至少得比原模型低6點(自由度為2的卡方分布95%分位為約等於6)才能在95%的置信區間上保證二房室更可靠。建立結構模型的一般方案包括:房室數量、是否添加吸收延遲模型、消除模型是否為非線性、吸收的動力學模型;確定了結構模型後,就要給參數添加群體變異(inter-individual variability, IIV)和場合間變異(inter-occasion variability, IOV)了,方法有很多但並不是本文的重點就不贅述了。完成之後還有協變數模型和殘差模型,協變數建立的技巧可以參見PsN (Perl speak to NONMEM)里的GAM和SCM,殘差模型則通常為additive, proportion, intercept和power等等。
在這個主軸之上當建模遇阻時可以考慮的方向有哪些呢?
1、參數的估算方法是否合適?以NONMEM為例,estimation的方法有很多種,各種方法之間的差異以及適用範圍要搞清楚,比如FO和FOCE運用時差別會很明顯。
2、受試體接受藥物的時間是否準確?這個問題尤其人類臨床容易出問題。
3、採樣時間點記錄是否準確?
4、協變數採集的值是否準確?比如說樣本的體重、肌酐清除率等等是否準確
5、數據是否需要清洗?比如定量下限附近的值或者一些明顯的outlier。
6、missing的數據如何處理?用均值還是群體值或者別的方法處理丟失數據對最終計算結果會產生不同的影響。
7、結構模型的準確性。雖然房室模型的骨架已經很經典了,但還是要根據實際情況修改一些。這麼多年來已經有很多研究人員對不同的藥品、人群做了不同的修補了,前期文獻調研時就需要注意。
8、樣本是否存在亞群體?群體樣本如果還分有亞群體,一個結構模型就不夠了。這個問題容易隱藏在群體參數里,需要耐心的檢查個體的參數估算值。
9、協變數的引入方式。這是個大坑,協變數進入參數是乘是除還是開方,這個需要仔細研究參數對協變數的關係甚至協變數和殘差的關係。
10、協變數的引入對象。肌酐清除率作為協變數是放在清除率上還是別的參數上好,這是個問題。實在不行,用GAM和SCM一個一個試吧。
11、協變數間的互相影響。性別年齡等可以影響肌酐清除率繼而影響清除率。
12、群體參數是什麼分布?通常來說都是假設正態分布或者log-normal分布,但架不住採樣時碰上雙峰、拖尾這些奇形怪狀的分布。
13、隨機變數之間的方差齊性問題,包括群體變異和殘差。比如說觀測樣品時一直換人,說不定各個時間點之間的殘差就不方差齊性了。
14、參數間的協變。比如清除率和表觀分布溶劑會不會有covariance呢,試試有驚喜。
15、參數的時序性。模型中的各個參數會不會根據時間變化?
16、參數的穩定性。比如參數是否有給葯的劑量依賴造成不同組之間的變異?
17、殘差的分布形狀。均值為0的對稱分布有時候過於理想,尤其是實驗人員和場地發生過變動。
18、殘差的獨立性。理想的殘差應該是independent的,對時間的曲線應該是平整的。
19、殘差的個體間差異。比如給大鼠,有一兩隻特別暴躁導致經常血中有雜物。此時就要給不同個體適用不同的殘差模型了。
20、參數估算得到了局部最優。尤其對於一些特別複雜,參數特別多的模型。此時應默默安排一個比較閑的同學去嘗試不同的initial estimates。
21、模型的適用性。用盡心思把模型參數調到完美,但只對手上這一份數據有用,換一份新數據就不適用。該考慮下是不是放了太多參數overparameterization了,提前做個cross-validation可以避免這種窘境。
22、計算軟體的bug。課題山窮水盡真的要甩鍋的時候不要忘記找人墊背,說不定就中獎了。
推薦閱讀: