delta方法
上面的流程跑通之后,對于中介分析纯蛾,我們需要報告間接效應(yīng)的估計值和置信區(qū)間,還有中介比例的估計值和置信區(qū)間,類似下面的這樣:
[圖片上傳失敗...(image-4f5478-1675945761799)]
但是其實我們是光跑孟德爾是得不到上面的需要的值的(比如間接效應(yīng)的標(biāo)準(zhǔn)誤睛竣,中介比例的標(biāo)準(zhǔn)誤),此時需要借助的方法之一叫做delta method求摇。
As individual level data is not available in summary data MR, bootstrapping cannot be used to estimate the confidence intervals for the indirect effect or proportion mediated, but the delta method can be used to approximate these confidence intervals if samples are independent
[圖片上傳失敗...(image-7bea25-1675945761799)]
delta method可以幫助我們得到ab相乘的標(biāo)準(zhǔn)誤射沟,從而算出中介效應(yīng)的置信區(qū)間。
[圖片上傳失敗...(image-19d2ce-1675945761799)]
也就是說我們知道了A,B路徑的點估計和標(biāo)準(zhǔn)誤与境,根據(jù)上面的公式就可以得到間接效應(yīng)的置信區(qū)間验夯,在R中實現(xiàn)起來也容易的,使用RMediation包摔刁,這個包作者有開發(fā)shiny應(yīng)用挥转,輸入A,B的估計值和標(biāo)準(zhǔn)誤就可以得到間接效應(yīng)的估計值和標(biāo)準(zhǔn)誤和置信區(qū)間了(下圖圈內(nèi)):
[圖片上傳失敗...(image-e23da3-1675945761799)]
bootstrap方法
bootstrap方法也可以用來幫助我們計算中介效應(yīng)和中介比例的置信區(qū)間:
Bootstrapping is a technique used in inferential statistics that work on building random samples of single datasets again and again. Bootstrapping allows calculating measures such as mean, median, mode, confidence intervals, etc. of the sampling.
bootstrap基本思路是對原來的分析數(shù)據(jù)進(jìn)行有放回的隨機(jī)抽樣形成抽樣數(shù)據(jù)集,bootstrap1000次就會形成1000個抽樣數(shù)據(jù)集绑谣,每個抽樣數(shù)據(jù)集都可以算我們需要的統(tǒng)計量党窜,這樣統(tǒng)計量的分布就出來了,也就有了置信區(qū)間借宵。
bootstrap對象生成后計算中介效應(yīng)和中介比例部分代碼見下:
[圖片上傳失敗...(image-ee2ff2-1675945761799)]
通過bootstrap形成比如1000個統(tǒng)計量的分布后幌衣,取0.025,0.975百分位就是95置信區(qū)間.
此處我們再補(bǔ)一個bootstrap過程的例子壤玫,在做bootstrap的時候我們需要用到boot函數(shù)泼掠,主要參數(shù)就3個:
[圖片上傳失敗...(image-be8a23-1675945761799)]
其中最重要的就是我們需要計算的統(tǒng)計量statistic,這個是以函數(shù)的形式給出的垦细,并且該函數(shù)接受不少于2個參數(shù)择镇,一個是數(shù)據(jù),另一個是抽樣的indices括改。
為了對比我先將跑的孟德爾隨機(jī)化的結(jié)果貼出來:
[圖片上傳失敗...(image-7af644-1675945761799)]
結(jié)果中有正常跑出來的b和對應(yīng)的se腻豌,我通過bootstrap再將5個se跑出來,作為對比演示嘱能,代碼如下:
mr_function <- function(data, indices) {
d <- dat[indices,]
jieguo <- mr(d)
return(jieguo %>% pull(b))
}
reps_mr <- boot(data=dat, statistic=mr_function, R=1000)
上面的代碼中mr_function是我要喂給boot函數(shù)的statistic參數(shù)吝梅,在mr_function已經(jīng)申明了我返回的值,也就是我要bootstrap的統(tǒng)計量是MR結(jié)果的b惹骂,所以運行完了會出來5個b的bootstrap的SE苏携。
因為計算時間太長,上面就只設(shè)置了抽1000個數(shù)據(jù)集对粪,數(shù)據(jù)不算很密右冻,看看情況:
[圖片上傳失敗...(image-2963e4-1675945761799)]
可以看到5種方法的系數(shù)的bootstrapt標(biāo)準(zhǔn)誤都出來了,但是t3也就是IVW方法的標(biāo)準(zhǔn)誤通過bootstrap是最接近原來值的著拭,這應(yīng)該也是為什么報告中介都是依照IVW的系數(shù)的原因之一纱扭。
上面演示的目的只是bootstrap的做法過程,實際我們需要改動mr_function中的return為我們需要的統(tǒng)計量儡遮,也就是中介效應(yīng)和中介效應(yīng)占比乳蛾。
Propagation of error
再計算中介效應(yīng)和中介比例的置信區(qū)間時也可以用誤差傳染法,比如下面這篇文獻(xiàn):
[圖片上傳失敗...(image-789a76-1675945761799)]
這個方法比較好理解鄙币,順帶也寫個例子給大家介紹一下
Propagation of error refers to the methods used to determine how the uncertainty in a
calculated result is related to the uncertainties in the individual measure
誤差傳染法的計算積的標(biāo)準(zhǔn)差的過程如下:
[圖片上傳失敗...(image-95ba-1675945761798)]
完全是初中的多項式乘法肃叶,中間涉及到把較小的項刪掉,應(yīng)該看懂沒問題十嘿,這兒就不寫解釋了因惭。商的標(biāo)準(zhǔn)差計算如下:
[圖片上傳失敗...(image-6d43b3-1675945761798)]
中間過程涉及到高中的極限,總體也不難详幽,上面的方法就是“誤差傳染法”Propagation of error筛欢。掌握積和商的標(biāo)準(zhǔn)差的算法后浸锨,我們在用Two-step MR得到a和b之后就可以得到得到中介效應(yīng)ab的置信區(qū)間,相應(yīng)地用商的標(biāo)準(zhǔn)差算法可以算出中介占比的置信區(qū)間版姑。
上面介紹的方法幫助我們計算出來標(biāo)準(zhǔn)誤后通過正態(tài)近似后和界值對比即可得到相應(yīng)的p值柱搜,比如中介效應(yīng)分布畫出來后和界值0對比,分布曲線下橫軸和0軸曲線下面積即為p值剥险。
整個的孟德爾隨機(jī)化中介就給大家分享完了聪蘸。