We will use to data
These data are shown below
for(i in c("dplyr","gdata", "rmeta","meta")) require(i, character.only = TRUE)
data("cochrane"); data("amlodipine")Binary Data:
## name ev.trt n.trt ev.ctrl n.ctrl
## 1 Auckland 36 532 60 538
## 2 Block 1 69 5 61
## 3 Doran 4 81 11 63
## 4 Gamsu 14 131 20 137
## 5 Morrison 3 67 7 59
## 6 Papageorgiou 1 71 7 75
## 7 Tauesch 8 56 10 71
Continuous Data:
## study n.amlo mean.amlo var.amlo n.plac mean.plac var.plac
## 1 Protocol 154 46 0.2316 0.2254 48 -0.0027 0.0007
## 2 Protocol 156 30 0.2811 0.1441 26 0.0270 0.1139
## 3 Protocol 157 75 0.1894 0.1981 72 0.0443 0.4972
## 4 Protocol 162A 12 0.0930 0.1389 12 0.2277 0.0488
## 5 Protocol 163 32 0.1622 0.0961 34 0.0056 0.0955
## 6 Protocol 166 31 0.1837 0.1246 31 0.0943 0.1734
## 7 Protocol 303A 27 0.6612 0.7060 27 -0.0057 0.9891
## 8 Protocol 306 46 0.1366 0.1211 47 -0.0057 0.1291
We commonly degfine hypothesis as follows \[ \begin{aligned} &H_0: \text{No difference, or efficacy of a new drug is not different} \\ &H_a: \text{There emerge difference, or efficacy of a new drug is different} \end{aligned} \]
Also, let \(\delta\) is a comparative function of the efficacy response measure in each treatment group. There are more than one option, such as drug-control or drug/control. Thus, We can state hypothesis by such a function \[ \begin{aligned} &H_0: \delta = 0 \\ &H_a: \delta > 0 \end{aligned} \]
Each study has its own treatment effect \(\widehat{\delta}_i\) and the within variance \(\widehat{\sigma}^2_i\), where \(i = 1,2,\dots,K\).
There are two meta-analysis approaches, namely fixed- and random-effects. While the assumption that the underlying \(\delta\) across all studies are the same is required, it is relaxed in random-effect modelling. This is, \(\{\widehat{\delta}_i|i=1,2,\dots,K\}\) is the estimate of \(\{\delta_i|i=1,2,\dots,K\}\). So, Random-effects meta-analysis model can incorporate both within-study variability and between-study variability.
Again, the underlying assumption of fixed-effects model is that all studies share a common overal effect size \(\delta\). Thus \[ \widehat{\delta}_i= \delta+\epsilon_i \tag{1.1} \] where \(\epsilon_i \sim N(0,\widehat{\delta}^2_i)\), so that \(\widehat{\delta}_i \sim N(\delta,\widehat{\sigma}^2_i)\).
The main idea is that the global \(\delta\) is then estimated by combining the individual estimates by some wrighting scheme in order to obtain the most precise estimate of the global effect. Let \(w_i\) be the weight of \(\widehat{\delta}_i\), we obtain \[ \widehat{\delta} = \sum_{i=1}^Kw_i\widehat{\delta}_i \tag{1.2} \] \[ \widehat{\sigma}^2 = Var(\widehat{\delta}) = \sum_{i=1}^Kw^2_i\widehat{\delta}^2_i \tag{1.3} \]
Then, it is easily to obtain confidence interval \[ \widehat{\delta} \pm1.96\sqrt{\widehat{\sigma}^2} \tag{1.4} \]
The important assumption is \(\sum_{i=1}^Kw_i =1\), and typical choices of \(w_i\) are
As mentioned above, the underlying true treatment effect \(\{\delta_{iR}|i=1,2,\dots,K\}\) are not the same. \[ \begin{aligned} &\widehat{\delta}_{iR} \sim N(\delta_{iR},\sigma^2_i) \\ &\delta_{iR} \sim N(\delta, \tau^2) \end{aligned} \tag{1.9} \]
So, the random-effects model can be described as follows \[ \widehat{\delta}_{iR} = \delta + \nu_i+\epsilon_i \tag{1.10} \] where \(\nu_i \sim N(0,\tau^2)\). Under assumption \(\nu_i \perp\!\!\!\!\perp \epsilon_i\), We can write \[ \widehat{\delta}_{iR} \sim N(\delta, \sigma^2_i+\tau^2). \tag{1.11} \]
Similar to fixed-effects model, we can obtain \[ \widehat{\delta}_R = \frac{\sum_{i=1}^Kw_{iR}\widehat{\delta}_{iR}}{\sum_{i=1}^Kw_{iR}} \tag{1.12} \] with S.E estimated as \[ SE(\widehat{\delta}_R) = \bigg[\frac{1}{\sum w_{iR}}\bigg]^{1/2} \tag{1.13} \] where \[ \widehat{w}_{iR} = \frac{1}{\widehat{\sigma}^2_i+\widehat{\tau}^2} \tag{1.14} \] \[ SE(\widehat{\delta}_R) = \sqrt{\frac{1}{\sum w_{iR}}} \tag{1.15} \]
The question that arise so far is how to estimate of \(\tau\). There are several methods to obtain \(\widehat{\tau}^2\). The most commonly used estimate is from DerSimonian and Laird, used the method of moments. \[ \widehat{\tau}^2 = \frac{Q-(K-1)}{U} \tag{1.16} \] if \(Q>K-1\), otherwise, \(\widehat{\tau}^2=0\) where \[ Q = \sum^Kw_i(\widehat{\delta}_i - \widehat{\delta})^2 \tag{1.17} \] \[ U = \sum^Kw_i-\frac{\sum^Kw_i^2}{\sum^Kw_i} \tag{1.18} \]
Note that statistic \(Q\) is used for testing the statistical significance of heterogeneity across studies.
\[ \begin{aligned} Q &= \sum^Kw_i(\widehat{\delta}_i-\widehat{\delta})^2 = \sum^Kw_i\Big[(\widehat{\delta}_i-\delta)(\widehat{\delta}-\delta)\Big] \\ &= \sum^Kw_i(\widehat{\delta}_i-\delta)^2 - 2\sum^Kw_i(\widehat{\delta}_i-\delta)(\widehat{\delta}-\delta)+\sum^Kw_i(\widehat{\delta}-\delta)^2 \end{aligned} \]
Thus,
\[ \begin{aligned} E(Q) &= \sum^Kw_iE(\widehat{\delta}_i-\delta) - \Big(\sum^Kw_i\Big)E(\widehat{\delta}-\delta)^2 \end{aligned} \]
Expectation of middle term is zero since \[ \begin{aligned} E\Big[(\widehat{\delta}_i-\delta)(\widehat{\delta}-\delta)\Big] &= E\Big\{ E\Big[(\widehat{\delta}_i-\delta)(\widehat{\delta}-\delta)\big|\widehat{\delta}_i=d_i\Big] \Big\}\\ &=E\Big[(d_i-\delta)E(\widehat{\delta}-\delta)\Big] \\ &= 0 \end{aligned} \]
Now, \[ \begin{aligned} E(Q) &= \sum^Kw_iVar(\widehat{\delta}_i) - \Big(\sum^Kw_i\Big)E(\widehat{\delta}-\delta)^2\\ &= \sum^Kw_i(w_i^{-1}+\tau^2) - \Big(\sum^Kw_i\Big)Var\bigg(\frac{\sum^Kw_i\widehat{\delta}_i}{\sum^Kw_i}\bigg)\\ &= \sum^Kw_i(w_i^{-1}+\tau^2) - \Big(\sum^Kw_i\Big)\frac{\sum^Kw_i^2Var(\widehat{\delta}_i)}{\Big(\sum^Kw_i\Big)^2} \\ &= \sum^Kw_i(w_i^{-1}+\tau^2) - \Big(\sum^Kw_i\Big)\frac{\sum^Kw_i^2(w_i^{-1}+\tau^2) }{\Big(\sum^Kw_i\Big)^2}\\ &= \sum^Kw_i(w_i^{-1}+\tau^2) - \Big(\sum^Kw_i\Big)\Bigg[\frac{1}{\sum^Kw_i}+\frac{\tau^2\sum^Kw_i^2}{\Big(\sum^Kw_i\Big)^2}\Bigg]\\ &= (K-1) + \tau^2\bigg[\sum^Kw_i - \frac{\sum^Kw_i^2}{\sum^Kw_i} \bigg]. \end{aligned} \]
So, \[ \widehat{\tau}^2 = \frac{Q- (K-1)}{\sum^Kw_i-\frac{\sum^Kw_i^2}{\sum^Kw_i}} \]
We shall use data cochrane for illustrating meta-analysis.
## Fixed effects ( Mantel-Haenszel ) meta-analysis
## Call: meta.MH(ntrt = n.trt, nctrl = n.ctrl, ptrt = ev.trt, pctrl = ev.ctrl,
## names = name, data = cochrane)
## ------------------------------------
## OR (lower 95% upper)
## Auckland 0.58 0.38 0.89
## Block 0.16 0.02 1.45
## Doran 0.25 0.07 0.81
## Gamsu 0.70 0.34 1.45
## Morrison 0.35 0.09 1.41
## Papageorgiou 0.14 0.02 1.16
## Tauesch 1.02 0.37 2.77
## ------------------------------------
## Mantel-Haenszel OR =0.53 95% CI ( 0.39,0.73 )
## Test for heterogeneity: X^2( 6 ) = 6.9 ( p-value 0.3303 )