{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Meta-Analysis in statsmodels\n", "\n", "Statsmodels include basic methods for meta-analysis. This notebook illustrates the current usage.\n", "\n", "Status: The results have been verified against R meta and metafor packages. However, the API is still experimental and will still change. Some options for additional methods that are available in R meta and metafor are missing.\n", "\n", "The support for meta-analysis has 3 parts:\n", "\n", "- effect size functions: this currently includes\n", " ``effectsize_smd`` computes effect size and their standard errors for standardized mean difference, \n", " ``effectsize_2proportions`` computes effect sizes for comparing two independent proportions using risk difference, (log) risk ratio, (log) odds-ratio or arcsine square root transformation\n", "- The `combine_effects` computes fixed and random effects estimate for the overall mean or effect. The returned results instance includes a forest plot function.\n", "- helper functions to estimate the random effect variance, tau-squared\n", "\n", "The estimate of the overall effect size in `combine_effects` can also be performed using WLS or GLM with var_weights.\n", "\n", "Finally, the meta-analysis functions currently do not include the Mantel-Hanszel method. However, the fixed effects results can be computed directly using `StratifiedTable` as illustrated below." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:21.986988Z", "iopub.status.busy": "2021-02-02T06:55:21.986218Z", "iopub.status.idle": "2021-02-02T06:55:22.223697Z", "shell.execute_reply": "2021-02-02T06:55:22.224135Z" } }, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:22.228978Z", "iopub.status.busy": "2021-02-02T06:55:22.228247Z", "iopub.status.idle": "2021-02-02T06:55:22.655674Z", "shell.execute_reply": "2021-02-02T06:55:22.656799Z" } }, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "from scipy import stats, optimize\n", "\n", "from statsmodels.regression.linear_model import WLS\n", "from statsmodels.genmod.generalized_linear_model import GLM\n", "\n", "from statsmodels.stats.meta_analysis import (\n", " effectsize_smd, effectsize_2proportions, combine_effects,\n", " _fit_tau_iterative, _fit_tau_mm, _fit_tau_iter_mm)\n", "\n", "# increase line length for pandas\n", "pd.set_option('display.width', 100)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:22.661460Z", "iopub.status.busy": "2021-02-02T06:55:22.660141Z", "iopub.status.idle": "2021-02-02T06:55:22.675936Z", "shell.execute_reply": "2021-02-02T06:55:22.676815Z" } }, "outputs": [ { "data": { "text/plain": [ "['Carroll', 'Grant', 'Peck', 'Donat', 'Stewart', 'Young']" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data = [\n", "[\"Carroll\", 94, 22,60,92, 20,60],\n", "[\"Grant\", 98, 21,65, 92,22, 65],\n", "[\"Peck\", 98, 28, 40,88 ,26, 40],\n", "[\"Donat\", 94,19, 200, 82,17, 200],\n", "[\"Stewart\", 98, 21,50, 88,22 , 45],\n", "[\"Young\", 96,21,85, 92 ,22, 85]]\n", "colnames = [\"study\",\"mean_t\",\"sd_t\",\"n_t\",\"mean_c\",\"sd_c\",\"n_c\"]\n", "rownames = [i[0] for i in data]\n", "dframe1 = pd.DataFrame(data, columns=colnames)\n", "rownames" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:22.680884Z", "iopub.status.busy": "2021-02-02T06:55:22.679634Z", "iopub.status.idle": "2021-02-02T06:55:22.689478Z", "shell.execute_reply": "2021-02-02T06:55:22.690376Z" } }, "outputs": [ { "data": { "text/plain": [ "['Carroll', 'Grant', 'Peck', 'Donat', 'Stewart', 'Young']" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mean2, sd2, nobs2, mean1, sd1, nobs1 = np.asarray(dframe1[[\"mean_t\",\"sd_t\",\"n_t\",\"mean_c\",\"sd_c\",\"n_c\"]]).T\n", "rownames = dframe1[\"study\"]\n", "rownames.tolist()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:22.694262Z", "iopub.status.busy": "2021-02-02T06:55:22.693053Z", "iopub.status.idle": "2021-02-02T06:55:22.700469Z", "shell.execute_reply": "2021-02-02T06:55:22.701355Z" } }, "outputs": [ { "data": { "text/plain": [ "array([120, 130, 80, 400, 95, 170])" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.array(nobs1 + nobs2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### estimate effect size standardized mean difference" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:22.705378Z", "iopub.status.busy": "2021-02-02T06:55:22.704143Z", "iopub.status.idle": "2021-02-02T06:55:22.709358Z", "shell.execute_reply": "2021-02-02T06:55:22.710234Z" } }, "outputs": [], "source": [ "eff, var_eff = effectsize_smd(mean2, sd2, nobs2, mean1, sd1, nobs1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Using one-step chi2, DerSimonian-Laird estimate for random effects variance tau\n", "\n", "Method option for random effect `method_re=\"chi2\"` or `method_re=\"dl\"`, both names are accepted.\n", "This is commonly referred to as the DerSimonian-Laird method, it is based on a moment estimator based on pearson chi2 from the fixed effects estimate." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:22.714230Z", "iopub.status.busy": "2021-02-02T06:55:22.712975Z", "iopub.status.idle": "2021-02-02T06:55:22.729816Z", "shell.execute_reply": "2021-02-02T06:55:22.730710Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " eff sd_eff ci_low ci_upp w_fe w_re\n", "Carroll 0.094524 0.182680 -0.267199 0.456248 0.123885 0.157529\n", "Grant 0.277356 0.176279 -0.071416 0.626129 0.133045 0.162828\n", "Peck 0.366546 0.225573 -0.082446 0.815538 0.081250 0.126223\n", "Donat 0.664385 0.102748 0.462389 0.866381 0.391606 0.232734\n", "Stewart 0.461808 0.208310 0.048203 0.875413 0.095275 0.137949\n", "Young 0.185165 0.153729 -0.118312 0.488641 0.174939 0.182736\n", "fixed effect 0.414961 0.064298 0.249677 0.580245 1.000000 NaN\n", "random effect 0.358486 0.105462 0.087388 0.629583 NaN 1.000000\n", "fixed effect wls 0.414961 0.099237 0.159864 0.670058 1.000000 NaN\n", "random effect wls 0.358486 0.090328 0.126290 0.590682 NaN 1.000000\n" ] } ], "source": [ "res3 = combine_effects(eff, var_eff, method_re=\"chi2\", use_t=True, row_names=rownames)\n", "# TODO: we still need better information about conf_int of individual samples\n", "# We don't have enough information in the model for individual confidence intervals\n", "# if those are not based on normal distribution.\n", "res3.conf_int_samples(nobs=np.array(nobs1 + nobs2))\n", "print(res3.summary_frame())" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:22.734786Z", "iopub.status.busy": "2021-02-02T06:55:22.733554Z", "iopub.status.idle": "2021-02-02T06:55:22.741420Z", "shell.execute_reply": "2021-02-02T06:55:22.742370Z" } }, "outputs": [ { "data": { "text/plain": [ "{(0.05,\n", " True): (array([-0.26719942, -0.07141628, -0.08244568, 0.46238908, 0.04820269,\n", " -0.1183121 ]), array([0.45624817, 0.62612908, 0.81553838, 0.86638112, 0.87541326,\n", " 0.48864139]))}" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res3.cache_ci" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:22.746243Z", "iopub.status.busy": "2021-02-02T06:55:22.744988Z", "iopub.status.idle": "2021-02-02T06:55:22.752078Z", "shell.execute_reply": "2021-02-02T06:55:22.752990Z" } }, "outputs": [ { "data": { "text/plain": [ "'chi2'" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res3.method_re" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:22.757080Z", "iopub.status.busy": "2021-02-02T06:55:22.755811Z", "iopub.status.idle": "2021-02-02T06:55:23.063084Z", "shell.execute_reply": "2021-02-02T06:55:23.061998Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig = res3.plot_forest()\n", "fig.set_figheight(6)\n", "fig.set_figwidth(6)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:23.070064Z", "iopub.status.busy": "2021-02-02T06:55:23.069297Z", "iopub.status.idle": "2021-02-02T06:55:23.083053Z", "shell.execute_reply": "2021-02-02T06:55:23.084061Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " eff sd_eff ci_low ci_upp w_fe w_re\n", "Carroll 0.094524 0.182680 -0.263521 0.452570 0.123885 0.157529\n", "Grant 0.277356 0.176279 -0.068144 0.622857 0.133045 0.162828\n", "Peck 0.366546 0.225573 -0.075569 0.808662 0.081250 0.126223\n", "Donat 0.664385 0.102748 0.463002 0.865768 0.391606 0.232734\n", "Stewart 0.461808 0.208310 0.053527 0.870089 0.095275 0.137949\n", "Young 0.185165 0.153729 -0.116139 0.486468 0.174939 0.182736\n", "fixed effect 0.414961 0.064298 0.288939 0.540984 1.000000 NaN\n", "random effect 0.358486 0.105462 0.151785 0.565187 NaN 1.000000\n", "fixed effect wls 0.414961 0.099237 0.220460 0.609462 1.000000 NaN\n", "random effect wls 0.358486 0.090328 0.181446 0.535526 NaN 1.000000\n" ] } ], "source": [ "res3 = combine_effects(eff, var_eff, method_re=\"chi2\", use_t=False, row_names=rownames)\n", "# TODO: we still need better information about conf_int of individual samples\n", "# We don't have enough information in the model for individual confidence intervals\n", "# if those are not based on normal distribution.\n", "res3.conf_int_samples(nobs=np.array(nobs1 + nobs2))\n", "print(res3.summary_frame())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Using iterated, Paule-Mandel estimate for random effects variance tau\n", "\n", "The method commonly referred to as Paule-Mandel estimate is a method of moment estimate for the random effects variance that iterates between mean and variance estimate until convergence.\n" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:23.089070Z", "iopub.status.busy": "2021-02-02T06:55:23.087270Z", "iopub.status.idle": "2021-02-02T06:55:23.281205Z", "shell.execute_reply": "2021-02-02T06:55:23.280785Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "method RE: iterated\n", " eff sd_eff ci_low ci_upp w_fe w_re\n", "Carroll 0.094524 0.182680 -0.263521 0.452570 0.123885 0.152619\n", "Grant 0.277356 0.176279 -0.068144 0.622857 0.133045 0.159157\n", "Peck 0.366546 0.225573 -0.075569 0.808662 0.081250 0.116228\n", "Donat 0.664385 0.102748 0.463002 0.865768 0.391606 0.257767\n", "Stewart 0.461808 0.208310 0.053527 0.870089 0.095275 0.129428\n", "Young 0.185165 0.153729 -0.116139 0.486468 0.174939 0.184799\n", "fixed effect 0.414961 0.064298 0.288939 0.540984 1.000000 NaN\n", "random effect 0.366419 0.092390 0.185338 0.547500 NaN 1.000000\n", "fixed effect wls 0.414961 0.099237 0.220460 0.609462 1.000000 NaN\n", "random effect wls 0.366419 0.092390 0.185338 0.547500 NaN 1.000000\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "res4 = combine_effects(eff, var_eff, method_re=\"iterated\", use_t=False, row_names=rownames)\n", "res4_df = res4.summary_frame()\n", "print(\"method RE:\", res4.method_re)\n", "print(res4.summary_frame())\n", "fig = res4.plot_forest()\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example Kacker interlaboratory mean\n", "\n", "In this example the effect size is the mean of measurements in a lab. We combine the estimates from several labs to estimate and overall average." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:23.285652Z", "iopub.status.busy": "2021-02-02T06:55:23.285222Z", "iopub.status.idle": "2021-02-02T06:55:23.288591Z", "shell.execute_reply": "2021-02-02T06:55:23.288198Z" } }, "outputs": [], "source": [ "eff = np.array([61.00, 61.40, 62.21, 62.30, 62.34, 62.60, 62.70,\n", " 62.84, 65.90])\n", "var_eff = np.array([0.2025, 1.2100, 0.0900, 0.2025, 0.3844, 0.5625,\n", " 0.0676, 0.0225, 1.8225])\n", "rownames = ['PTB', 'NMi', 'NIMC', 'KRISS', 'LGC', 'NRC', 'IRMM', 'NIST', 'LNE']" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:23.313282Z", "iopub.status.busy": "2021-02-02T06:55:23.293505Z", "iopub.status.idle": "2021-02-02T06:55:23.501613Z", "shell.execute_reply": "2021-02-02T06:55:23.501180Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "method RE: dl\n", " eff sd_eff ci_low ci_upp w_fe w_re\n", "PTB 61.000000 0.450000 60.118016 61.881984 0.057436 0.123113\n", "NMi 61.400000 1.100000 59.244040 63.555960 0.009612 0.040314\n", "NIMC 62.210000 0.300000 61.622011 62.797989 0.129230 0.159749\n", "KRISS 62.300000 0.450000 61.418016 63.181984 0.057436 0.123113\n", "LGC 62.340000 0.620000 61.124822 63.555178 0.030257 0.089810\n", "NRC 62.600000 0.750000 61.130027 64.069973 0.020677 0.071005\n", "IRMM 62.700000 0.260000 62.190409 63.209591 0.172052 0.169810\n", "NIST 62.840000 0.150000 62.546005 63.133995 0.516920 0.194471\n", "LNE 65.900000 1.350000 63.254049 68.545951 0.006382 0.028615\n", "fixed effect 62.583397 0.107846 62.334704 62.832090 1.000000 NaN\n", "random effect 62.390139 0.245750 61.823439 62.956838 NaN 1.000000\n", "fixed effect wls 62.583397 0.189889 62.145512 63.021282 1.000000 NaN\n", "random effect wls 62.390139 0.294776 61.710384 63.069893 NaN 1.000000\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/home/travis/build/statsmodels/statsmodels/statsmodels/stats/meta_analysis.py:106: UserWarning: `use_t=True` requires `nobs` for each sample or `ci_func`. Using normal distribution for confidence interval of individual samples.\n", " warnings.warn(msg)\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcoAAAFwCAYAAAA4zTvPAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAArUElEQVR4nO3df5BcZ33n+/dnWmoZi7UtCrjGAdvxlZyLCW2ZBUoj470GsrtMBCSwGm3AFRjY2ikzl7Cm4JIAG4bZXFgcCJuUSRGxdu7YKWo3rakEZOcODsGGkksj/FNq/9ANksBmja+DzcS2FIO79/T3/tFHds9o+pkf6ume6fm8qk7N9HOe8/R3zumZzzynT3crIjAzM7O59XW7ADMzs5XMQWlmZpbgoDQzM0twUJqZmSU4KM3MzBIclGZmZgnrul2AtZ1f72NmtnhqtcIzSjMzswQHpZmZWYKD0szMLMFBaWZmluCgNDMzS3BQmpmZJTgorfccOwYjI3DWWdDX1/g6MtJoNzNbJPljtjpLUgbcD6zPv34A2A2UgHOBDHgCOAD8d+CbwI9ovOb1v0XE5+a5i64f0LGxsa7d9+YjRxgslylkGYV6/fn2rK+PrFBgz65dHN2ypeN1jY6Odvw+zWxR/DrKFeTnEbEV+NX89tUR8b687c+A/xIRWyPi6nz9vnzdVuD9ki7ocL2rxqbpaQbLZYq12oyQBCjU6xRrNQbLZTZNT3epQjNbjRyUXRKNqfz3gM0L3ORMoAg8t2xFrXL9+/dTyLJkn0KWsW1qqkMVmVkv8FvYdYmk9cCvA38zT9crJB2kEahfjojHU53Hx8fbUt9qVKpUTplJzlao1ylVKkzu2NGhqhrW8nExWw2GhoZarvOMsvNelAffXcAx4IZ5+p889foK4G2SSstb3upVrFbb2s/MDDyj7IaTz1EuSkQcl3Qb8Cag0qpf6r+iTunWxTzVYpENCwjBarHYgWpmWgnHxcyWxjPKVUJSH40Len7c5VJWrEqpRNaXfkhnfX1USp6Um9nCOShXvpPPUVaAI8z/nOaaNbV9O1mhkOyTFQoc6O/vUEVm1gv8Osres7YP6OQk7NwJtVpjOWn9+sYyMQEDA92rz8xWKr+O0taIgQGoVGB4eOY78wwPN9odkma2SJ5R9h4fUDOzxfOM0szMbCkclGZmZgkOSjMzswQHpZmZWYKD0szMLMFBaWZmluCgNDMzS3BQmpmZJTgozczMEhyUZmZmCQ5KMzOzBAelmZlZgoPSzMwswUFpBnDsGIyMzPxorpGRRruZrWn+mK0OkzQEfA04LyKelHQL8Ks0jsUFkgrAPwD/PSI+nG/zTuCSiPjCAu7i+QM6NjbW9vp70eYjRxgslylkGYV6/fn2rK+PrFBgz65dHN2ypYsVrh6jo6PdLsFsqfwxWyvMs8B7ZrWdkHQpcDnwePOKiNi7wJC0Rdo0Pc1guUyxVpsRkgCFep1ircZgucym6ekuVWhm3eag7I6bgcFZbXuBd+bL3pONkm6S9GNJX+lgfWtG//79FLIs2aeQZWybmupQRWa20qzrdgFr1NPAY5Je3dR2D/BeGsfkr4DXA0TE+/LTta9fyMDj4+NtLbTXlSqVU2aSsxXqdUqVCpM7dnSoqtXLjz9brYaGhlquc1B2z03A+2e1PQ6c6EIta1axWm1rPzPrPQ7K7rkVGAOeaGr7FFAH3r3UQZv/K/LFPPOrFotsWEAIVovFDlSz+qX+KzdbrfwcZZdERAbsA7Y3tT0VEc90r6q1p1IqkfWlfw2yvj4qpVKHKjKzlcZB2V03Ame3WinpQkkHgf8E/FtJByX9eqeKWwumtm8nKxSSfbJCgQP9/R2qyMxWGr+Osvf4gC7W5CTs3Am1WmM5af36xjIxAQMD3avPzDrBr6M0a2lgACoVGB6e+c48w8ONdoek2ZrmGWXv8QE1M1s8zyjNzMyWwkFpZmaW4KA0MzNLcFCamZklOCjNzMwSHJRmZmYJDkozM7MEB6WZmVmCg9LMzCzBQWlmZpbgoDQzM0twUJqZmSU4KM3MzBIclGZmZgkOymUiaUhSVdJL89u3SPpXkg5KelzSTyTdna8bl/RI/n1B0pOSvpLfvljSPkkPSbpP0vnd+6msbY4dg5GRmZ9/OTLSaDezFWVdtwvocc8C7wGuy29XI2KrpM8CJyLiS019T0i6FDgbeLyp/S+Aj0XEHZLOA57rQN3WZGxsrK3jbT5yhMFymUKWUajXG43Hj5Pt3k12/fXs2bWLo1u2tPU+R0dH2zqe2VriGeXyuhkYXGDfvcA782UvQB6cz0XEHQAR8VhE/Gw5CrXO2DQ9zWC5TLFWeyEkc4V6nWKtxmC5zKbp6S5VaGazOSiX19PAY5JevYC+9wCXARcDP8jbLgJ8Lq6H9O/fTyHLkn0KWca2qakOVWRm8/Gp1+V3E/D+BfZ9HDjRdFtALObOxsfHF9PdOqxUqZwyk5ytUK9TqlSY3LGjbffrx4VZ2tDQUMt1nlEuv1uBt7Kwff0p4P9quv1DYPNyFGXdUaxW29rPzJafZ5TLLCIySfuADy6g71MAkk7ePihpo6Q35RfzvILGBUEtn6dM/VdkS9POi3mqxSIbFhCC1WKxbfcJflyYnQ7PKDvjRhpXsxYlHQSuBj568uUh8/ht4FpJh2nMTjcuW5W27CqlEllf+tcu6+ujUip1qCIzm49nlMskIsaB8fz7QzSebwT42zn6DiW2fQi4fLnqtM6a2r6dSw8dSj5PmRUKHOjv72BVZpaiiEVdK2Irnw/oSjc5CTt3Qq3WWE5av76xTEzAwED36jNbm9RqhU+9mnXawABUKjA8PPOdeYaHG+0OSbMVxTPK3uMDama2eJ5RmpmZLYWD0szMLMFBaWZmluCgNDMzS3BQmpmZJTgozczMEhyUZmZmCQ5KMzOzBAelmZlZgoPSzMwswUFpZmaW4KA0MzNLcFCamZklOChPk6QhSV/Jvy9Kul3SByQ9LemgpMOSrm5af1DS45J+IunupnE+KenBfNkzX7v1mGPHYGRk5sdujYw02s2sq9Z1u4AecwNwB/AjYF9EvF3Sy4DDkvZGxGPAVkmfBU5ExJcAJL0BeAdwWURUJV2Warf2Gxsb69p9bz5yhMFymUKWUajXG43Hj5Pt3k12/fXs2bWLo1u2dLyu0dHRjt+n2UrkGWWbSBqj8fmev9/cHhFPAEeBX0psfgHwRERU823um6fdesSm6WkGy2WKtdoLIZkr1OsUazUGy2U2TU93qUIzc1C2xwDwGeAPZ6+Q9Kr820pi+78DLpF0l6T/KOkV87Rbj+jfv59CliX7FLKMbVNTHarIzGbzqdf2qAIfAf4YeEvedoWkB2nMCt8VEc+12jginpL0WuBtwLuBeyRdkmpvNdb4+HgbfhzrlFKlcspMcrZCvU6pUmFyx44OVdXgx5KtJUNDQy3XeUbZHt8BvgJskPTbedu+iHgNcBVwg6T1qQEi4hcR8Y2IeB9wD7At1W69oVittrWfmbWfZ5RtEhEh6cPA3wD/R1P7NyUNA+8FbpxrW0m/DKyLiCOSXgRcCPykVXuqjtR/RdZaty7mqRaLbFhACFaLxQ5UM5MfS2YNnlG2UX6xzV7gC7NWfQ74uKQNkg4CVwMfbXp5yIuAr+enau8Bvh4R9yfarUdUSiWyvvSvYdbXR6VU6lBFZjabZ5SnKSLGgfGm21fP0Wc/8Nr85tY51j8EvHGh7dY7prZv59JDh5LPU2aFAgf6+ztYlZk1U0R0uwZrLx/Q1WZyEnbuhFqtsZy0fn1jmZiAgYHu1We2NqjVCp96Neu2gQGoVGB4eOY78wwPN9odkmZd5Rll7/EBNTNbPM8ozczMlsJBaWZmluCgNDMzS3BQmpmZJTgozczMEhyUZmZmCQ5KMzOzBAelmZlZgoPSzMwswUFpZmaW4KA0MzNLcFCamZklOCjNzMwSHJQdJulEi/Ztku6V9JCk2yWdnbdfLGlf3n6fpPM7W7F1zLFjMDIy86O2RkYa7WbWNf6YrQ6TdCIiXjyrrQg8BLw7IiqSXgc8EhE/k/R94GMRcYek84DnIuJnibvwAW0yNjbW7RIWZPORIwyWyxSyjEK9/nx71tdHViiwZ9cujm7Z0sUKF2Z0dLTbJZgtlT9ma4UbACoRUQGIiHvzkLyURjDekbc/Nk9I2iq0aXqawXKZYq02IyQBCvU6xVqNwXKZTdPTXarQbG1zUK4MFwFznV9r1W49pH//fgpZluxTyDK2TU11qCIza7au2wUY0JjyB4CkzwG/BXwKqLHIU6nj4+Ptrs2WWalSOWUmOVuhXqdUqTC5Y0eHqloaP/5stRoaGmq5zkG5MvwQ6AeIiE/nF/K8CPh7YHM3C7PlV6xW29rPzNrLQbkyTAJ/JOnVEXEYKABExEFJGyW9Kb+Y5xVANfU8Zeq/orVoNVzMUy0W2bCAEKwWix2o5vT48We9yM9Rdt6Zkh5tWkYi4jlgCPhvkg4BFwP78v6/DVwr6TBwK7CxK1XbsqmUSmR96V/FrK+PSqnUoYrMrJlnlB0WEXP+RYyIfcDWOdofAi5f5rKsi6a2b+fSQ4eSz1NmhQIH+vs7WJWZneTXUfYeH9DVaHISdu6EWq2xnLR+fWOZmICBge7VZ9b7/DpKsxVtYAAqFRgenvnOPMPDjXaHpFnXeEbZe3xAzcwWzzNKMzOzpXBQmpmZJTgozczMEhyUZmZmCQ5KMzOzBAelmZlZgoPSzMwswUFpZmaW4KA0MzNLcFCamZklOCjNzMwSHJRmZmYJDkozM7MEB2WHSRqSVJX00vz2LZKulPS0pIOSDku6uqn/xZL2SXpI0n2Szu9e9dZ1x47ByMjMj+IaGWm0m9myWNftAtaoZ4H3ANc1te2LiLdLehlwWNLeiHgM+AvgYxFxh6TzgOe6UO+qNTY21u0S2mbzkSMMlssUsoxCvd5oPH6cbPdusuuvZ8+uXRzdsqW7RbbJ6Ohot0swe55nlN1xMzA414qIeAI4CvySpEuB5yLijnzdYxHxs86VaSvFpulpBstlirXaCyGZK9TrFGs1BstlNk1Pd6lCs97loOyOp4HHJL169gpJr8q/rQAXAT6nZvTv308hy5J9ClnGtqmpDlVktnb41Gv33AS8v+n2FZIeBC4A3hURz0kSEIsZdHx8vH0V2opRqlROmUnOVqjXKVUqTO7Y0aGqlo8fx9ZpQ0NDLdd5Rtk9twJv5YVjsC8iXgNcBdwgaT3wQ2Bzl+qzFaRYrba1n5ktnGeUXRIRmaR9wAdntX9T0jDw3oi4UdJGSW/KL+Z5BVBNPU+Z+q9oLeqVi3mqxSIbFhCC1WKxA9UsPz+ObSXxjLK7bgTOnqP9c8DH81Ovvw1cK+kwjVnoxg7WZytEpVQi60v/umZ9fVRKpQ5VZLZ2eEbZYRExDozn3x8ClK/6blOf/cBr85sPAZd3rEBbkaa2b+fSQ4eSz1NmhQIH+vs7WJXZ2qCIRV0rYiufD2ivmpyEnTuhVmssJ61f31gmJmBgoHv1ma1uarXCp17NVouBAahUYHh45jvzDA832h2SZsvCM8re4wNqZrZ4nlGamZkthYPSzMwswUFpZmaW4KA0MzNLcFCamZklOCjNzMwSHJRmZmYJDkozM7MEB6WZmVmCg9LMzCzBQWlmZpbgoDQzM0twUJqZmSU4KJeJpKKkg5Iel/QTSXdLulLS03n7YUlX533HJT2Sf1+Q9KSkr7Rq7+bPZSvIsWMwMjLzI7dGRhrtZtY267pdQK+KiCqwVdJngRMR8SVJVwL7IuLtkl4GHJa0N9/khKRLgbOBx5uGatVuq9TY2Nhpj7H5yBEGy2UKWUahXm80Hj9Otns32fXXs2fXLo5u2XLa9zM6OnraY5itdp5RdklEPAEcBX4pb9oLvDNf9jZ1bdVua9Sm6WkGy2WKtdoLIZkr1OsUazUGy2U2TU93qUKz3uKg7BJJr8q/reRf7wEuAy4GftDUtVW7rVH9+/dTyLJkn0KWsW1qqkMVmfU2n3rtvCskPQhcALwrIp6Tnv9g7ceBE3Ns06r9FOPj4+2o0VawUqVyykxytkK9TqlSYXLHjtO6Lz+ebK0YGhpquc5B2Xknn6P8DeAGSf9r07pPAXXg3bO2adVua1CxWm1rPzNLc1B2SUR8U9Iw8N6mtqcAmmaYyfa5pP4rspXhdC/mqRaLbFhACFaLxdO6H/DjyQz8HOWyOfnyEOBq4KOS7p6j2+eAjwPzJ6BZrlIqkfWlf3Wzvj4qpVKHKjLrbZ5RLpOTLw+ZY9V3m/rsB147x7bjwPhC221tmdq+nUsPHUo+T5kVChzo7+9gVWa9SxHR7RqsvXxA14LJSdi5E2q1xnLS+vWNZWICBga6V5/Z6tPyzJ5PvZqtRgMDUKnA8PDMd+YZHm60OyTN2sYzyt7jA2pmtnieUZqZmS2Fg9LMzCzBQWlmZpbgoDQzM0twUJqZmSU4KM3MzBIclGZmZgkOSjMzswQHpZmZWYKD0szMLMFBaWZmluCgNDMzS3BQmpmZJTgol4mkIUlVSS/Nb98i6V9JOijpcUk/kXR3U/9PSnowX/bkbTfN6n9Q0p9162eyVeDYMRgZmfnRWyMjjXYzW5J13S6gxz0LvAe4Lr9djYitkj4LnIiILwFIegPwDuCyiKhKugwgIt6Xr5/R39aWsbGxBfXbfOQIg+UyhSyjUK83Go8fJ9u9m+z669mzaxdHt2yZd5zR0dHTKdes53hGubxuBgYX0O8C4ImIqAJExH3LWpX1nE3T0wyWyxRrtRdCMleo1ynWagyWy2yanu5ShWarl4NyeT0NPCbp1fP0+zvgEkl3SfqPkl7Rgdqsh/Tv308hy5J9ClnGtqmpDlVk1jt86nX53QS8P9UhIp6S9FrgbcC7gXskXRIRTy32zsbHx5dSo61ypUrllJnkbIV6nVKlwuSOHcl+fgzZWjQ0NNRynWeUy+9W4K3Ms68j4hcR8Y38ecl7gG2dKM56Q7FabWs/M3uBZ5TLLCIySfuAD7bqI+mXgXURcUTSi4ALgZ8s5f5S/xXZ6rSQi3mqxSIbFhCC1WJx3j5+DJnN5BllZ9wInA0UJR0ErgY+2vTykBcBX5f0II3Z5Ncj4v6uVGqrUqVUIutL/zpnfX1USqUOVWTWOzyjXCYRMQ6M598fApSv+ts5+j4EvDEx1mfbXqD1lKnt27n00KHk85RZocCB/v4OVmXWGxQR3a7B2ssHdK2anISdO6FWaywnrV/fWCYmYGCge/WZrWxqtcKnXs16xcAAVCowPDzznXmGhxvtDkmzJfGMsvf4gJqZLZ5nlGZmZkvhoDQzM0twUJqZmSU4KM3MzBIclGZmZgkOSjMzswQHpZmZWYKD0szMLMFBaWZmluCgNDMzS3BQmpmZJTgozczMEhyUZmZmCQ7KDpN0Yo62IUlVSS/Nb98i6cr8+0zSwablis5WbGZtd+wYjIzM/Di0kZFGu60467pdgD3vWeA9wHWz2n8eEVs7X46tJWNjY90uYc3YfOQIg+UyhSyjUK83Go8fJ9u9m+z669mzaxdHt2zpbpFryOjo6Lx9PKNcOW4GBrtdhJktn03T0wyWyxRrtRdCMleo1ynWagyWy2yanu5ShTYXB+XK8TTwmKRXz2p/0axTr6/qRnFmdvr69++nkGXJPoUsY9vUVIcqsoXwqdeV5Sbg/bPaFnXqdXx8vJ31mFkblSqVU2aSsxXqdUqVCpM7dnSoqrXt5N/MoaGhln08o1xZbgXeio+LWU8qVqtt7Wed4RnlChIRmaR9wAeXOkbqvyKzVnwxT2dUi0U2LCAEq8ViB6oxWNjfTM9cOu9MSY82LSOz1t8InN10e/ZzlO/qYK1m1kaVUomsL/1nN+vro1IqdagiWwjPKDssIlr9lozn6w8Baupf6EBZZtYBU9u3c+mhQ8nnKbNCgQP9/R2syuajiOh2DdZePqBmK9nkJOzcCbVaYzlp/frGMjEBAwPdq2/tUqsVPvVqZtZJAwNQqcDw8Mx35hkebrQ7JFcczyh7jw+omdnieUZpZma2FA5KMzOzBAelmZlZgoPSzMwswUFpZmaW4KA0MzNLcFCamZklOCjNzMwSHJRmZmYJDkozM7MEB6WZmVmCg9LMzCzBQWlmZpbgoDRbLY4dg5GRmR/NNDLSaDezZbOiP2ZL0hXAbqAKvDciHsrb3wlcEhFfaNP9PAC8PSIebnOdc7YvYfxrgK9FxLML6L5yD6i1NDY2lly/+cgRBstlCllGoV5/vj3r6yMrFNizaxdHt2xJjjE6OtqWWs161Kr9mK2rgC9GxNbmkImIve0KyTaZs85E+2JdA5x5OgXa6rVpeprBcplirTYjJAEK9TrFWo3BcplN09NdqtCst63IoJR0jqSDwC7gM5IOSrokX3eTpB9L+kpT/815nzMlnSHpXkkX5+veIenOfP2Xm7b5hKTDkvYAZyygplPGaVXnPPW3qudcSXslHZJ0j6SLJf1aPs55wO35Nued1s61Vad//34KWZbsU8gytk1Ndagis7VlpZ96HQduiYiJWe1DwOsj4sNNbR8GNtM4zfmTiPgTSS8HbgGujIhn81D8KvBD4NtACbgIuB+4qNWp11bjRMRt89Q5oz01Tv79bRHxVUlnAWdExE/z7R7Of94n59tn4+PjK/eAWkuPPPJIy3W/9/nPs6FanXeMX2zYwLWf/GTL9RdccMGSajNbC4aGhlqeel3XyUKW2Z/SCL8C8Lt52zYaQbhfEsCL89vnAHdExM+BByW1/iuVHue2RdaYGudKGqdqiYhngGcWObb1qOICQnIx/cxscXopKDcCL82/fzFwPP/+1oi4qrmjpHcx86KXlv9JNDllnCVq1zhzGhoaWq6hbRmlLuapFosLmlFWi8Xkej82zJZmRT5HuUR/BPwZcB3wJ3nbAeAKSa8EkHSBpHOBe4HL8+czLwHOn2fsVuMsVmqc24EP5O0bJb2sabtngJcs4f6sB1RKJbK+9K9q1tdHpVTqUEVma8uqmlFKuhD4Bo3QeJGkNwGfAuo0TmFeHREhaVDSb0TENyV9CLhZ0jrgn4CrIuKYpBuA+4CHgB+l7jcifjrXOIutf55xPgJ8LV9fy9ufyNddB3xD0jSwMyIeX+x92+o1tX07lx46dMoVr82yQoED/f0drMps7VjRF/PYkviA9qLJSdi5E2q1xnLS+vWNZWICBga6V5/Z6rdqX0dpZtAIwUoFhodnvjPP8HCj3SFptmw8o+w9PqBmZovnGaWZmdlSOCjNzMwSHJRmZmYJDkozM7MEB6WZmVmCg9LMzCzBQWlmZpbgoDQzM0twUJqZmSU4KM3MzBIclGZmZgkOSjMzswQHpZmZWYKD0mylOXYMRkZmfpzWyEij3cw6ric/ZkvSA8DbI+LhDt3fFcBuoAq8NyIeSrUvYfxrgK9FxLML6N57B3QFGxsba+t4m48cYbBcppBlFOr159uzvj6yQoE9u3ZxdMuWttzX6OhoW8Yx6xH+mK1ldhXwxYjYOisMW7Uv1jXAmadToK18m6anGSyXKdZqM0ISoFCvU6zVGCyX2TQ93aUKzdamrgelpCslfVvShKQHJP1x3r5X0iFJ90j6cFP/E5L+s6QHJf3XpvZPSDosaQ9wRlP7R/JxH5D0gbzts5K+J+mopD+V9ANJL5unzndIulPSQUlfztvOkXQQ2AV8Jl93Sav2VuPk7efO+pkvlvRr+TjnAbfn25x3WjvcVqz+/fspZFmyTyHL2DY11aGKzAxWwKlXSVcC/w/wxoh4QNI5EfGUpFdGxKOS1gMPAv8iIh6XFMDlwF3AMWAbUAS+DZSAi4D7868AfwdsBdYDh4DXAyPAceB84MfABcDfRcTeFjW+HLgFuDIins3D+KsRcVu+fhy4JSImZm03oz01Tv79bRHxVUlnAWdExE/z7R4GXh8RT863P8fHx33qtYMeeeSRto31e5//PBuq1Xn7/WLDBq795CdP+/4uuOCC0x7DrFcMDQ21PPW6rpOFJNwTEQ8ARMRTedu/k/SbNM4bn5cvjwPViNgPIOlHwLnAhcAdEfFz4EFJJ/96XQbsi4gTef87aYQpwDRwVtPXsxP1baMRvPslAbw4v33bIn/O1DhX0jhVS0Q8AzyzyLFtlSsuICQX08/M2mOlBOXTzTfyWea/Bi7PZ15388Jp4lpT18jbg5kXsWjW17nErKUwT423RsRV8/RZiHaNM6ehoaHlGtrm0M6LearF4oJmlNVisS3358eK2cJ0/TnKFs4CnsxD8jXApfP0vxe4XNIZ+XOB5ze1v0nSRknnAG8AKkuo5wBwhaRXAki6QNK5bR7nduDkc6gbZz1n+gzwkiXcn60ilVKJrC/9K5n19VEplZJ9zKy9VmpQfgvok3QI+AyNwGspIh4BbgDuA/4A+FHe/jBwHfB94A5g7OTzfouRb/Mh4GZJ9wN/CWxs8zgfAXbkF+98F9jUtOl1wDck3bHEgLZVYGr7drJC+sRGVihwoL+/QxWZGayAi3ms7XxAV7PJSdi5E2q1xnLS+vWNZWICBga6V59Z7/LrKM1WhYEBqFRgeHjmO/MMDzfaHZJmHecZZe/xATUzWzzPKM3MzJbCQWlmZpbgoDQzM0twUJqZmSU4KM3MzBIclGZmZgkOSjMzswQHpZmZWYKD0szMLMFBaWZmluCgNDMzS3BQmpmZJTgozczMEhyUZqvFsWMwMjLz47dGRhrtZrZsTutjtiRdAewGqsB7I+KhvP2dwCUR8YW2FCk9ALw9Ih5uc51zti9h/GuAr0XEs0vc/leAvwQ2A1dGxN1LGSfnj9laocbGxpa87eYjRxgslylkGYV6/fn2rK+PrFBgz65dHN2yZcnjj46OLnlbsx6xbB+zdRXwxYjY2hwyEbG3XSHZJnPWmWhfrGuAM5e6cUT8fURsBU4nIK1HbZqeZrBcplirzQhJgEK9TrFWY7BcZtP0dJcqNOttSwpKSedIOgjsAj4j6aCkS/J1N0n6saSvNPXfnPc5U9IZku6VdHG+7h2S7szXf7lpm09IOixpD3DGAmo6ZZxWdc5Tf6t6zpW0V9IhSfdIuljSr+XjnAfcnm9zXqLGo5LWNd3uk3Rknp/rP+T7oSLp2vn2g/We/v37KWRZsk8hy9g2NdWhiszWlnXzdzlVRDwFbJU0DtwSERNN694naQh4fVPbUUnXA5+ncZrzxoj4gaSXA79P43Tjs5L2SHoL8EPg3wMl4CLg/lQ9rcaJiNta1TlX+zzjXAdMRsRXJZ0FnBERP8jHeRh4c0Q8Oc+uqwCvkfQEjWn+PwMOz7PNGPCqiDie15c0Pj4+XxdbZUqVyikzydkK9TqlSoXJHTuWdB9+3NhaNzQ01HLdkoJyif4U+DZQAH43b9tGIwj3SwJ4cX77HOCOiPg58KCkR+YZu9U4ty2yxtQ4V9I4VUtEPAM8s8ixAe4EXkfjHwDlt++cZ5u7gD+X9DfAXy/hPm2VK1arbe1nZovTyaDcCLw0//7FwPH8+1sj4qrmjpLexcyLUlo+ydrklHGWqF3jzOX7wL+h8XxmAP8cuLVp/VwX4rwNeBPwW8Dv5Nu0lPqvyLprqRfzVItFNiwgBKvF4pLGBz9uzFI6+fKQPwL+jMYpzD/J2w4AV0h6JYCkCySdC9wLXJ4/n3kJcP48Y7caZ7FS49wOfCBv3yjpZU3bPQO8ZAHj3wW8GfgH4FFgIG876WfAK0/eUGNae35EfA/4NHDhEn4mW+UqpRJZX/pXNevro1Iqdagis7WlrUEp6cL84pb/BPzb/OKWX5f0NhqnMHdHxA3AeZJ+IyJ+CnwIuFnS/TReIrExIh4BbgDuA/4A+FHqfluNs9j65xnnI8CO/Of7LrCpadPrgG9IuiMV0BFxAqjTOJX7HWBdRPxjU5cvA9c2XRQk4C8kVYB9wMcW+zPZ6je1fTtZoZDskxUKHOjv71BFZmvLab2O0lYkH9BeNDkJO3dCrdZYTlq/vrFMTMDAQPfqM1v9lu11lGbWCQMDUKnA8PDMd+YZHm60OyTNlo1nlL3HB9TMbPE8ozQzM1sKB6WZmVmCg9LMzCzBQWlmZpbgoDQzM0twUJqZmSU4KM3MzBIclGZmZgkOSjMzswQHpZmZWYKD0szMLMFBaWZmluCgNDMzS3BQmq00x47ByMjMj9MaGWm0m1nHdeVjtiQ9ALw9Ih7u0P1dAewGqsB7I+KhVPsSxr8G+FpEPLvE7X8F+EtgM3BlRNy9lHFy/pitZTQ2Nras428+coTBcplCllGo159vz/r6yAoF9uzaxdEtW5blvkdHR5dlXLNVYs1/zNZVwBcjYuusMGzVvljXAGcudeOI+PuI2AqcTkDaKrdpeprBcplirTYjJAEK9TrFWo3BcplN09NdqtBsbZo3KCVdKenbkiYkPSDpj/P2vZIOSbpH0oeb+p+Q9J8lPSjpvza1f0LSYUl7gDOa2j+Sj/uApA/kbZ+V9D1JRyX9qaQfSHrZPHW+Q9Kdkg5K+nLedo6kg8Au4DP5uktatbcaJ28/d9bPfLGkX8vHOQ+4Pd/mvESNRyWta7rdJ+nIPD/Xf8j3W0XStam+trr1799PIcuSfQpZxrapqQ5VZGYA6+bvAsDlwBsj4gFJ5+RtIxHxqKT1wIOSJiLicWAjcDPwGeBYHhxF4N8DJeAi4H4ASRcCHwG2AuuBQ5L+Jh9/L3A+8GPgW0B/3nYKSS8Hfp/GactnJe2R9JaIuA3YKmkcuCUiJpo2O6V9nnGuAyYj4quSzgLOiIgf5OM8DLw5Ip6cZz9WgNdIeoLGNP+fAYfn2WYMeFVEHM/rSxofH5+vi61QpUrllJnkbIV6nVKlwuSOHW2/fz92bC0bGhpquW6hQXlPRDwAEBFP5W3/TtJv0viDf16+PA5UI2I/gKQfAecCFwJ3RMTPaYTqI/kYlwH7IuJE3v9OGmEKMA2c1fT17ER922gE8H5JAC/Ob9+2wJ9vIeNcSeNULRHxDPDMIscGuBN4HY2fUfntO+fZ5i7gz/N/IP56Cfdpq0SxWm1rPzNrj4UG5dPNNyRdCfxr4PJ85nU3L5zGrTV1jbw9mHmRiWZ9nUvMWgrz1HhrRFw1T5+FaNc4c/k+8G9oPJ8ZwD8Hbm1aP9eFOG8D3gT8FvA7+TYtpf4rstO3nBfzVItFNiwgBKvF4rLcvx87ZnNb6sU8ZwFP5iH5GuDSefrfC1wu6Yz8ucDzm9rfJGljfkr3DTROTy7WAeAKSa8EkHSBpHPbPM7twMnnUDfOes70GeAlCxj/LuDNwD8AjwIDedtJPwNeefKGGtPa8yPie8CnaczMrUdVSiWyvvSvZNbXR6VUSvYxs/ZaalB+C+iTdIjGc5H3pjpHxCPADcB9wB8AP8rbH6bx3N/3gTuAsYj46WKLybf5EHCzpPtpvNRiY5vH+QiwI79457vApqZNrwO+IemOVEDnp5jrNE7lfgdYFxH/2NTly8C1TRcFCfgLSRVgH/Cxxf5MtnpMbd9OVkifOMkKBQ7093eoIjODLr2O0paVD+hqNjkJO3dCrdZYTlq/vrFMTMDAQPfqM+tda/51lGarw8AAVCowPDzznXmGhxvtDkmzjvOMsvf4gJqZLZ5nlGZmZkvhoDQzM0twUJqZmSU4KM3MzBIclGZmZgkOSjMzs4SFvterrR6p9881M7NF8ozSzMwswUFpZmaW4KA0MzNLcFCamZklOCjNzMwSHJRmZmYJDkozM7MEB6WZmVmCg9LMzCzBQWlmZpbgt7DrMZK+Bby0y2W8FHiyyzWsNN4np/I+mZv3y6k6sU+ejIi3zbVCEbHM921rjaS7I+L13a5jJfE+OZX3ydy8X07V7X3iU69mZmYJDkozM7MEB6Uth691u4AVyPvkVN4nc/N+OVVX94mfozQzM0vwjNLMzCzBQWmnRdI5kiYk/b+SDkvql/QSSd+WdCT/uqnbdXZai/3yxfx2RdJfSzqn23V20lz7pGndxyWFpG6/tKmjWu0TSb8j6e8lPSjpD7tdZye1+N3ZKumApIOS7pb0xk7W5KC00/UnwLci4n8DLgUOA78HfCcitgDfyW+vNXPtl28DvxoRJeAHwCe7WF83zLVPkPQq4F8CP+5ibd1yyj6R9GbgN4BSRLwG+FI3C+yCuR4nfwiMRcRW4DP57Y5xUNqSSToL+BfADQARUY2Ip2j8kt+Yd7sR+M1u1NctrfZLRPxtRPzPvNsB4JXdqrHTEo8VgP8CfAJYUxdMJPbJh4AvRMRzeftPu1ZkhyX2SQBn5d3OBh7rZF0OSjsdFwFPAP+3pPskXS9pI/C/RMT/B5B/fXk3i+yCVvul2QeByc6X1jVz7hNJ7wR+EhGHulxfN7R6nFwMXCHp+5K+J+kN3S2zo1rtk2uAL0r6HzRm2B09G+OgtNOxDngd8NWIuAz4J9bmadbZkvtF0qeB/wl8vTvldcVc++SzwKdpnEpbi1o9TtYBm4BtwP8JlCWpa1V2Vqt98iHgoxHxKuCj5DPOTnFQ2ul4FHg0Ir6f356g8SD/B0mvAMi/rplTR7lW+wVJ7wfeDlwVa+u1Wa32yS8DhyQ9TONU9L2Szu1OiR3Xap88CvxVNNwJ1On++zd3Sqt98n7gr/K2PYAv5rHVISIeB/6HpF/Jm94KPATspfHAJv/6zS6U1zWt9ouktwG/C7wzIp7tWoFd0GKf3BsRL4+ICyPiQhp/JF+X9+15id+fbwBvAZB0MVBkjbxJemKfPAb873nbW4AjnazLbzhgp0XSVuB6Gr/MPwQ+QOMfsDJwPo0rGQcjYrpbNXZDi/1yF7AB+Fne7UBEXN2VArtgrn0SEf/YtP5h4PURsSZCAVo+Tv4J+HNgK1AFPh4Rt3WpxI5rsU9eQ+Nq2HXAL4CRiLinYzU5KM3MzFrzqVczM7MEB6WZmVmCg9LMzCzBQWlmZpbgoDQzM0twUJqZmSU4KM3MzBIclGZmZgn/P3em+I6BrMAjAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "res2_DL = combine_effects(eff, var_eff, method_re=\"dl\", use_t=True, row_names=rownames)\n", "print(\"method RE:\", res2_DL.method_re)\n", "print(res2_DL.summary_frame())\n", "fig = res2_DL.plot_forest()\n", "fig.set_figheight(6)\n", "fig.set_figwidth(6)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:23.512647Z", "iopub.status.busy": "2021-02-02T06:55:23.506224Z", "iopub.status.idle": "2021-02-02T06:55:23.829207Z", "shell.execute_reply": "2021-02-02T06:55:23.829832Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "method RE: pm\n", " eff sd_eff ci_low ci_upp w_fe w_re\n", "PTB 61.000000 0.450000 60.118016 61.881984 0.057436 0.125857\n", "NMi 61.400000 1.100000 59.244040 63.555960 0.009612 0.059656\n", "NIMC 62.210000 0.300000 61.622011 62.797989 0.129230 0.143658\n", "KRISS 62.300000 0.450000 61.418016 63.181984 0.057436 0.125857\n", "LGC 62.340000 0.620000 61.124822 63.555178 0.030257 0.104850\n", "NRC 62.600000 0.750000 61.130027 64.069973 0.020677 0.090122\n", "IRMM 62.700000 0.260000 62.190409 63.209591 0.172052 0.147821\n", "NIST 62.840000 0.150000 62.546005 63.133995 0.516920 0.156980\n", "LNE 65.900000 1.350000 63.254049 68.545951 0.006382 0.045201\n", "fixed effect 62.583397 0.107846 62.334704 62.832090 1.000000 NaN\n", "random effect 62.407620 0.338030 61.628120 63.187119 NaN 1.000000\n", "fixed effect wls 62.583397 0.189889 62.145512 63.021282 1.000000 NaN\n", "random effect wls 62.407620 0.338030 61.628120 63.187120 NaN 1.000000\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/home/travis/build/statsmodels/statsmodels/statsmodels/stats/meta_analysis.py:106: UserWarning: `use_t=True` requires `nobs` for each sample or `ci_func`. Using normal distribution for confidence interval of individual samples.\n", " warnings.warn(msg)\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "res2_PM = combine_effects(eff, var_eff, method_re=\"pm\", use_t=True, row_names=rownames)\n", "print(\"method RE:\", res2_PM.method_re)\n", "print(res2_PM.summary_frame())\n", "fig = res2_PM.plot_forest()\n", "fig.set_figheight(6)\n", "fig.set_figwidth(6)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Meta-analysis of proportions\n", "\n", "In the following example the random effect variance tau is estimated to be zero. \n", "I then change two counts in the data, so the second example has random effects variance greater than zero." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:23.833073Z", "iopub.status.busy": "2021-02-02T06:55:23.832355Z", "iopub.status.idle": "2021-02-02T06:55:23.835868Z", "shell.execute_reply": "2021-02-02T06:55:23.836328Z" } }, "outputs": [], "source": [ "import io" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:23.839318Z", "iopub.status.busy": "2021-02-02T06:55:23.838586Z", "iopub.status.idle": "2021-02-02T06:55:23.848790Z", "shell.execute_reply": "2021-02-02T06:55:23.849231Z" } }, "outputs": [], "source": [ "\n", "ss = \"\"\"\\\n", " study,nei,nci,e1i,c1i,e2i,c2i,e3i,c3i,e4i,c4i\n", " 1,19,22,16.0,20.0,11,12,4.0,8.0,4,3\n", " 2,34,35,22.0,22.0,18,12,15.0,8.0,15,6\n", " 3,72,68,44.0,40.0,21,15,10.0,3.0,3,0\n", " 4,22,20,19.0,12.0,14,5,5.0,4.0,2,3\n", " 5,70,32,62.0,27.0,42,13,26.0,6.0,15,5\n", " 6,183,94,130.0,65.0,80,33,47.0,14.0,30,11\n", " 7,26,50,24.0,30.0,13,18,5.0,10.0,3,9\n", " 8,61,55,51.0,44.0,37,30,19.0,19.0,11,15\n", " 9,36,25,30.0,17.0,23,12,13.0,4.0,10,4\n", " 10,45,35,43.0,35.0,19,14,8.0,4.0,6,0\n", " 11,246,208,169.0,139.0,106,76,67.0,42.0,51,35\n", " 12,386,141,279.0,97.0,170,46,97.0,21.0,73,8\n", " 13,59,32,56.0,30.0,34,17,21.0,9.0,20,7\n", " 14,45,15,42.0,10.0,18,3,9.0,1.0,9,1\n", " 15,14,18,14.0,18.0,13,14,12.0,13.0,9,12\n", " 16,26,19,21.0,15.0,12,10,6.0,4.0,5,1\n", " 17,74,75,,,42,40,,,23,30\"\"\"\n", "df3 = pd.read_csv(io.StringIO(ss))\n", "df_12y = df3[[\"e2i\", \"nei\", \"c2i\", \"nci\"]]\n", "# TODO: currently 1 is reference, switch labels\n", "count1, nobs1, count2, nobs2 = df_12y.values.T\n", "dta = df_12y.values.T" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:23.852165Z", "iopub.status.busy": "2021-02-02T06:55:23.851403Z", "iopub.status.idle": "2021-02-02T06:55:23.854943Z", "shell.execute_reply": "2021-02-02T06:55:23.855377Z" } }, "outputs": [], "source": [ "eff, var_eff = effectsize_2proportions(*dta, statistic=\"rd\")" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:23.858290Z", "iopub.status.busy": "2021-02-02T06:55:23.857537Z", "iopub.status.idle": "2021-02-02T06:55:23.863524Z", "shell.execute_reply": "2021-02-02T06:55:23.864228Z" } }, "outputs": [ { "data": { "text/plain": [ "(array([ 0.03349282, 0.18655462, 0.07107843, 0.38636364, 0.19375 ,\n", " 0.08609464, 0.14 , 0.06110283, 0.15888889, 0.02222222,\n", " 0.06550969, 0.11417337, 0.04502119, 0.2 , 0.15079365,\n", " -0.06477733, 0.03423423]),\n", " array([0.02409958, 0.01376482, 0.00539777, 0.01989341, 0.01096641,\n", " 0.00376814, 0.01422338, 0.00842011, 0.01639261, 0.01227827,\n", " 0.00211165, 0.00219739, 0.01192067, 0.016 , 0.0143398 ,\n", " 0.02267994, 0.0066352 ]))" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eff, var_eff" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:23.874716Z", "iopub.status.busy": "2021-02-02T06:55:23.872830Z", "iopub.status.idle": "2021-02-02T06:55:24.388368Z", "shell.execute_reply": "2021-02-02T06:55:24.389430Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "method RE: iterated\n", "RE variance tau2: 0\n", " eff sd_eff ci_low ci_upp w_fe w_re\n", "0 0.033493 0.155240 -0.270773 0.337758 0.017454 0.017454\n", "1 0.186555 0.117324 -0.043395 0.416505 0.030559 0.030559\n", "2 0.071078 0.073470 -0.072919 0.215076 0.077928 0.077928\n", "3 0.386364 0.141044 0.109922 0.662805 0.021145 0.021145\n", "4 0.193750 0.104721 -0.011499 0.398999 0.038357 0.038357\n", "5 0.086095 0.061385 -0.034218 0.206407 0.111630 0.111630\n", "6 0.140000 0.119262 -0.093749 0.373749 0.029574 0.029574\n", "7 0.061103 0.091761 -0.118746 0.240951 0.049956 0.049956\n", "8 0.158889 0.128034 -0.092052 0.409830 0.025660 0.025660\n", "9 0.022222 0.110807 -0.194956 0.239401 0.034259 0.034259\n", "10 0.065510 0.045953 -0.024556 0.155575 0.199199 0.199199\n", "11 0.114173 0.046876 0.022297 0.206049 0.191426 0.191426\n", "12 0.045021 0.109182 -0.168971 0.259014 0.035286 0.035286\n", "13 0.200000 0.126491 -0.047918 0.447918 0.026290 0.026290\n", "14 0.150794 0.119749 -0.083910 0.385497 0.029334 0.029334\n", "15 -0.064777 0.150599 -0.359945 0.230390 0.018547 0.018547\n", "16 0.034234 0.081457 -0.125418 0.193887 0.063395 0.063395\n", "fixed effect 0.096212 0.020509 0.056014 0.136410 1.000000 NaN\n", "random effect 0.096212 0.020509 0.056014 0.136410 NaN 1.000000\n", "fixed effect wls 0.096212 0.016521 0.063831 0.128593 1.000000 NaN\n", "random effect wls 0.096212 0.016521 0.063831 0.128593 NaN 1.000000\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "res5 = combine_effects(eff, var_eff, method_re=\"iterated\", use_t=False)#, row_names=rownames)\n", "res5_df = res5.summary_frame()\n", "print(\"method RE:\", res5.method_re)\n", "print(\"RE variance tau2:\", res5.tau2)\n", "print(res5.summary_frame())\n", "fig = res5.plot_forest()\n", "fig.set_figheight(8)\n", "fig.set_figwidth(6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### changing data to have positive random effects variance" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:24.393787Z", "iopub.status.busy": "2021-02-02T06:55:24.392529Z", "iopub.status.idle": "2021-02-02T06:55:24.400747Z", "shell.execute_reply": "2021-02-02T06:55:24.401608Z" } }, "outputs": [ { "data": { "text/plain": [ "array([[ 18, 19, 12, 22],\n", " [ 22, 34, 12, 35],\n", " [ 21, 72, 15, 68],\n", " [ 14, 22, 5, 20],\n", " [ 42, 70, 13, 32],\n", " [ 80, 183, 33, 94],\n", " [ 13, 26, 18, 50],\n", " [ 37, 61, 30, 55],\n", " [ 23, 36, 12, 25],\n", " [ 19, 45, 14, 35],\n", " [106, 246, 76, 208],\n", " [170, 386, 46, 141],\n", " [ 34, 59, 17, 32],\n", " [ 18, 45, 3, 15],\n", " [ 13, 14, 14, 18],\n", " [ 12, 26, 10, 19],\n", " [ 42, 74, 40, 75]])" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dta_c = dta.copy()\n", "dta_c.T[0, 0] = 18\n", "dta_c.T[1, 0] = 22\n", "dta_c.T" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:24.405536Z", "iopub.status.busy": "2021-02-02T06:55:24.404287Z", "iopub.status.idle": "2021-02-02T06:55:24.830808Z", "shell.execute_reply": "2021-02-02T06:55:24.831807Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "method RE: iterated\n", " eff sd_eff ci_low ci_upp w_fe w_re\n", "0 0.401914 0.117873 0.170887 0.632940 0.029850 0.038415\n", "1 0.304202 0.114692 0.079410 0.528993 0.031529 0.040258\n", "2 0.071078 0.073470 -0.072919 0.215076 0.076834 0.081017\n", "3 0.386364 0.141044 0.109922 0.662805 0.020848 0.028013\n", "4 0.193750 0.104721 -0.011499 0.398999 0.037818 0.046915\n", "5 0.086095 0.061385 -0.034218 0.206407 0.110063 0.102907\n", "6 0.140000 0.119262 -0.093749 0.373749 0.029159 0.037647\n", "7 0.061103 0.091761 -0.118746 0.240951 0.049255 0.058097\n", "8 0.158889 0.128034 -0.092052 0.409830 0.025300 0.033270\n", "9 0.022222 0.110807 -0.194956 0.239401 0.033778 0.042683\n", "10 0.065510 0.045953 -0.024556 0.155575 0.196403 0.141871\n", "11 0.114173 0.046876 0.022297 0.206049 0.188739 0.139144\n", "12 0.045021 0.109182 -0.168971 0.259014 0.034791 0.043759\n", "13 0.200000 0.126491 -0.047918 0.447918 0.025921 0.033985\n", "14 0.150794 0.119749 -0.083910 0.385497 0.028922 0.037383\n", "15 -0.064777 0.150599 -0.359945 0.230390 0.018286 0.024884\n", "16 0.034234 0.081457 -0.125418 0.193887 0.062505 0.069751\n", "fixed effect 0.110252 0.020365 0.070337 0.150167 1.000000 NaN\n", "random effect 0.117633 0.024913 0.068804 0.166463 NaN 1.000000\n", "fixed effect wls 0.110252 0.022289 0.066567 0.153937 1.000000 NaN\n", "random effect wls 0.117633 0.024913 0.068804 0.166463 NaN 1.000000\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "eff, var_eff = effectsize_2proportions(*dta_c, statistic=\"rd\")\n", "res5 = combine_effects(eff, var_eff, method_re=\"iterated\", use_t=False)#, row_names=rownames)\n", "res5_df = res5.summary_frame()\n", "print(\"method RE:\", res5.method_re)\n", "print(res5.summary_frame())\n", "fig = res5.plot_forest()\n", "fig.set_figheight(8)\n", "fig.set_figwidth(6)" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:24.836146Z", "iopub.status.busy": "2021-02-02T06:55:24.834845Z", "iopub.status.idle": "2021-02-02T06:55:25.208539Z", "shell.execute_reply": "2021-02-02T06:55:25.208131Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "method RE: chi2\n", " eff sd_eff ci_low ci_upp w_fe w_re\n", "0 0.401914 0.117873 0.170887 0.632940 0.029850 0.036114\n", "1 0.304202 0.114692 0.079410 0.528993 0.031529 0.037940\n", "2 0.071078 0.073470 -0.072919 0.215076 0.076834 0.080779\n", "3 0.386364 0.141044 0.109922 0.662805 0.020848 0.025973\n", "4 0.193750 0.104721 -0.011499 0.398999 0.037818 0.044614\n", "5 0.086095 0.061385 -0.034218 0.206407 0.110063 0.105901\n", "6 0.140000 0.119262 -0.093749 0.373749 0.029159 0.035356\n", "7 0.061103 0.091761 -0.118746 0.240951 0.049255 0.056098\n", "8 0.158889 0.128034 -0.092052 0.409830 0.025300 0.031063\n", "9 0.022222 0.110807 -0.194956 0.239401 0.033778 0.040357\n", "10 0.065510 0.045953 -0.024556 0.155575 0.196403 0.154854\n", "11 0.114173 0.046876 0.022297 0.206049 0.188739 0.151236\n", "12 0.045021 0.109182 -0.168971 0.259014 0.034791 0.041435\n", "13 0.200000 0.126491 -0.047918 0.447918 0.025921 0.031761\n", "14 0.150794 0.119749 -0.083910 0.385497 0.028922 0.035095\n", "15 -0.064777 0.150599 -0.359945 0.230390 0.018286 0.022976\n", "16 0.034234 0.081457 -0.125418 0.193887 0.062505 0.068449\n", "fixed effect 0.110252 0.020365 0.070337 0.150167 1.000000 NaN\n", "random effect 0.115580 0.023557 0.069410 0.161751 NaN 1.000000\n", "fixed effect wls 0.110252 0.022289 0.066567 0.153937 1.000000 NaN\n", "random effect wls 0.115580 0.024241 0.068068 0.163093 NaN 1.000000\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "res5 = combine_effects(eff, var_eff, method_re=\"chi2\", use_t=False)\n", "res5_df = res5.summary_frame()\n", "print(\"method RE:\", res5.method_re)\n", "print(res5.summary_frame())\n", "fig = res5.plot_forest()\n", "fig.set_figheight(8)\n", "fig.set_figwidth(6)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Replicate fixed effect analysis using GLM with var_weights\n", "\n", "`combine_effects` computes weighted average estimates which can be replicated using GLM with var_weights or with WLS.\n", "The `scale` option in `GLM.fit` can be used to replicate fixed meta-analysis with fixed and with HKSJ/WLS scale" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:25.212185Z", "iopub.status.busy": "2021-02-02T06:55:25.211669Z", "iopub.status.idle": "2021-02-02T06:55:25.215095Z", "shell.execute_reply": "2021-02-02T06:55:25.214725Z" } }, "outputs": [], "source": [ "from statsmodels.genmod.generalized_linear_model import GLM" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:25.224950Z", "iopub.status.busy": "2021-02-02T06:55:25.223987Z", "iopub.status.idle": "2021-02-02T06:55:25.228423Z", "shell.execute_reply": "2021-02-02T06:55:25.228760Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " eff sd_eff ci_low ci_upp w_fe w_re\n", "fixed effect 0.428037 0.090287 0.251076 0.604997 1.0 NaN\n", "random effect 0.429520 0.091377 0.250425 0.608615 NaN 1.0\n", "fixed effect wls 0.428037 0.090798 0.250076 0.605997 1.0 NaN\n", "random effect wls 0.429520 0.091595 0.249997 0.609044 NaN 1.0\n" ] } ], "source": [ "eff, var_eff = effectsize_2proportions(*dta_c, statistic=\"or\")\n", "res = combine_effects(eff, var_eff, method_re=\"chi2\", use_t=False)\n", "res_frame = res.summary_frame()\n", "print(res_frame.iloc[-4:])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We need to fix scale=1 in order to replicate standard errors for the usual meta-analysis." ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:25.235781Z", "iopub.status.busy": "2021-02-02T06:55:25.234421Z", "iopub.status.idle": "2021-02-02T06:55:25.242216Z", "shell.execute_reply": "2021-02-02T06:55:25.241851Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "==============================================================================\n", " coef std err z P>|z| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "const 0.4280 0.090 4.741 0.000 0.251 0.605\n", "==============================================================================\n" ] } ], "source": [ "weights = 1 / var_eff\n", "mod_glm = GLM(eff, np.ones(len(eff)),\n", " var_weights=weights)\n", "res_glm = mod_glm.fit(scale=1.)\n", "print(res_glm.summary().tables[1])" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:25.247302Z", "iopub.status.busy": "2021-02-02T06:55:25.246876Z", "iopub.status.idle": "2021-02-02T06:55:25.251822Z", "shell.execute_reply": "2021-02-02T06:55:25.251384Z" } }, "outputs": [ { "data": { "text/plain": [ "(array(1.), array([[-3.33066907e-16, -4.44089210e-16]]))" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# check results\n", "res_glm.scale, res_glm.conf_int() - res_frame.loc[\"fixed effect\", [\"ci_low\", \"ci_upp\"]].values" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using HKSJ variance adjustment in meta-analysis is equivalent to estimating the scale using pearson chi2, which is also the default for the gaussian family." ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:25.258739Z", "iopub.status.busy": "2021-02-02T06:55:25.258304Z", "iopub.status.idle": "2021-02-02T06:55:25.262696Z", "shell.execute_reply": "2021-02-02T06:55:25.263287Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "==============================================================================\n", " coef std err z P>|z| [0.025 0.975]\n", "------------------------------------------------------------------------------\n", "const 0.4280 0.091 4.714 0.000 0.250 0.606\n", "==============================================================================\n" ] } ], "source": [ "res_glm = mod_glm.fit(scale=\"x2\")\n", "print(res_glm.summary().tables[1])" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:25.268171Z", "iopub.status.busy": "2021-02-02T06:55:25.266412Z", "iopub.status.idle": "2021-02-02T06:55:25.271073Z", "shell.execute_reply": "2021-02-02T06:55:25.271400Z" } }, "outputs": [ { "data": { "text/plain": [ "(1.011335891426438, array([[-0.00100017, 0.00100017]]))" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# check results\n", "res_glm.scale, res_glm.conf_int() - res_frame.loc[\"fixed effect\", [\"ci_low\", \"ci_upp\"]].values" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Mantel-Hanszel odds-ratio using contingency tables\n", "\n", "The fixed effect for the log-odds-ratio using the Mantel-Hanszel can be directly computed using StratifiedTable.\n", "\n", "We need to create a 2 x 2 x k contingency table to be used with `StratifiedTable`." ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:25.275702Z", "iopub.status.busy": "2021-02-02T06:55:25.275272Z", "iopub.status.idle": "2021-02-02T06:55:25.280416Z", "shell.execute_reply": "2021-02-02T06:55:25.279712Z" } }, "outputs": [ { "data": { "text/plain": [ "array([[18, 1],\n", " [12, 10]])" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "t, nt, c, nc = dta_c\n", "counts = np.column_stack([t, nt - t, c, nc - c])\n", "ctables = counts.T.reshape(2, 2, -1)\n", "ctables[:, :, 0]" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:25.283664Z", "iopub.status.busy": "2021-02-02T06:55:25.283222Z", "iopub.status.idle": "2021-02-02T06:55:25.288644Z", "shell.execute_reply": "2021-02-02T06:55:25.288262Z" } }, "outputs": [ { "data": { "text/plain": [ "array([18, 1, 12, 10])" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "counts[0]" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:25.292183Z", "iopub.status.busy": "2021-02-02T06:55:25.291692Z", "iopub.status.idle": "2021-02-02T06:55:25.296298Z", "shell.execute_reply": "2021-02-02T06:55:25.296625Z" } }, "outputs": [ { "data": { "text/plain": [ "array([18, 19, 12, 22])" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dta_c.T[0]" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:25.300483Z", "iopub.status.busy": "2021-02-02T06:55:25.299717Z", "iopub.status.idle": "2021-02-02T06:55:25.313307Z", "shell.execute_reply": "2021-02-02T06:55:25.313641Z" } }, "outputs": [], "source": [ "import statsmodels.stats.api as smstats" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:25.317991Z", "iopub.status.busy": "2021-02-02T06:55:25.316912Z", "iopub.status.idle": "2021-02-02T06:55:25.319022Z", "shell.execute_reply": "2021-02-02T06:55:25.319348Z" } }, "outputs": [], "source": [ "st = smstats.StratifiedTable(ctables.astype(np.float64))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "compare pooled log-odds-ratio and standard error to R meta package" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:25.323873Z", "iopub.status.busy": "2021-02-02T06:55:25.323304Z", "iopub.status.idle": "2021-02-02T06:55:25.326040Z", "shell.execute_reply": "2021-02-02T06:55:25.326405Z" } }, "outputs": [ { "data": { "text/plain": [ "(0.4428186730553187, -2.220446049250313e-16)" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "st.logodds_pooled, st.logodds_pooled - 0.4428186730553189 # R meta" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:25.331171Z", "iopub.status.busy": "2021-02-02T06:55:25.330645Z", "iopub.status.idle": "2021-02-02T06:55:25.333620Z", "shell.execute_reply": "2021-02-02T06:55:25.333983Z" } }, "outputs": [ { "data": { "text/plain": [ "(0.08928560091027186, 0.0)" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "st.logodds_pooled_se, st.logodds_pooled_se - 0.08928560091027186 # R meta" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:25.345378Z", "iopub.status.busy": "2021-02-02T06:55:25.344678Z", "iopub.status.idle": "2021-02-02T06:55:25.349615Z", "shell.execute_reply": "2021-02-02T06:55:25.349968Z" } }, "outputs": [ { "data": { "text/plain": [ "(0.2678221109331691, 0.6178152351774683)" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "st.logodds_pooled_confint()" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:25.354226Z", "iopub.status.busy": "2021-02-02T06:55:25.353797Z", "iopub.status.idle": "2021-02-02T06:55:25.357103Z", "shell.execute_reply": "2021-02-02T06:55:25.357453Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "pvalue 0.34496419319878724\n", "statistic 17.64707987033203\n" ] } ], "source": [ "print(st.test_equal_odds())" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:25.362329Z", "iopub.status.busy": "2021-02-02T06:55:25.361608Z", "iopub.status.idle": "2021-02-02T06:55:25.366319Z", "shell.execute_reply": "2021-02-02T06:55:25.366903Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "pvalue 6.615053645964153e-07\n", "statistic 24.724136624311814\n" ] } ], "source": [ "print(st.test_null_odds())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "check conversion to stratified contingency table\n", "\n", "Row sums of each table are the sample sizes for treatment and control experiments" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:25.371401Z", "iopub.status.busy": "2021-02-02T06:55:25.370959Z", "iopub.status.idle": "2021-02-02T06:55:25.375298Z", "shell.execute_reply": "2021-02-02T06:55:25.375667Z" } }, "outputs": [ { "data": { "text/plain": [ "array([[ 19, 34, 72, 22, 70, 183, 26, 61, 36, 45, 246, 386, 59,\n", " 45, 14, 26, 74],\n", " [ 22, 35, 68, 20, 32, 94, 50, 55, 25, 35, 208, 141, 32,\n", " 15, 18, 19, 75]])" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ctables.sum(1)" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:25.379492Z", "iopub.status.busy": "2021-02-02T06:55:25.379065Z", "iopub.status.idle": "2021-02-02T06:55:25.383618Z", "shell.execute_reply": "2021-02-02T06:55:25.383996Z" } }, "outputs": [ { "data": { "text/plain": [ "(array([ 19, 34, 72, 22, 70, 183, 26, 61, 36, 45, 246, 386, 59,\n", " 45, 14, 26, 74]),\n", " array([ 22, 35, 68, 20, 32, 94, 50, 55, 25, 35, 208, 141, 32,\n", " 15, 18, 19, 75]))" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nt, nc" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Results from R meta package**\n", "\n", "```\n", "> res_mb_hk = metabin(e2i, nei, c2i, nci, data=dat2, sm=\"OR\", Q.Cochrane=FALSE, method=\"MH\", method.tau=\"DL\", hakn=FALSE, backtransf=FALSE)\n", "> res_mb_hk\n", " logOR 95%-CI %W(fixed) %W(random)\n", "1 2.7081 [ 0.5265; 4.8896] 0.3 0.7\n", "2 1.2567 [ 0.2658; 2.2476] 2.1 3.2\n", "3 0.3749 [-0.3911; 1.1410] 5.4 5.4\n", "4 1.6582 [ 0.3245; 2.9920] 0.9 1.8\n", "5 0.7850 [-0.0673; 1.6372] 3.5 4.4\n", "6 0.3617 [-0.1528; 0.8762] 12.1 11.8\n", "7 0.5754 [-0.3861; 1.5368] 3.0 3.4\n", "8 0.2505 [-0.4881; 0.9892] 6.1 5.8\n", "9 0.6506 [-0.3877; 1.6889] 2.5 3.0\n", "10 0.0918 [-0.8067; 0.9903] 4.5 3.9\n", "11 0.2739 [-0.1047; 0.6525] 23.1 21.4\n", "12 0.4858 [ 0.0804; 0.8911] 18.6 18.8\n", "13 0.1823 [-0.6830; 1.0476] 4.6 4.2\n", "14 0.9808 [-0.4178; 2.3795] 1.3 1.6\n", "15 1.3122 [-1.0055; 3.6299] 0.4 0.6\n", "16 -0.2595 [-1.4450; 0.9260] 3.1 2.3\n", "17 0.1384 [-0.5076; 0.7844] 8.5 7.6\n", "\n", "Number of studies combined: k = 17\n", "\n", " logOR 95%-CI z p-value\n", "Fixed effect model 0.4428 [0.2678; 0.6178] 4.96 < 0.0001\n", "Random effects model 0.4295 [0.2504; 0.6086] 4.70 < 0.0001\n", "\n", "Quantifying heterogeneity:\n", " tau^2 = 0.0017 [0.0000; 0.4589]; tau = 0.0410 [0.0000; 0.6774];\n", " I^2 = 1.1% [0.0%; 51.6%]; H = 1.01 [1.00; 1.44]\n", "\n", "Test of heterogeneity:\n", " Q d.f. p-value\n", " 16.18 16 0.4404\n", "\n", "Details on meta-analytical method:\n", "- Mantel-Haenszel method\n", "- DerSimonian-Laird estimator for tau^2\n", "- Jackson method for confidence interval of tau^2 and tau\n", "\n", "> res_mb_hk$TE.fixed\n", "[1] 0.4428186730553189\n", "> res_mb_hk$seTE.fixed\n", "[1] 0.08928560091027186\n", "> c(res_mb_hk$lower.fixed, res_mb_hk$upper.fixed)\n", "[1] 0.2678221109331694 0.6178152351774684\n", " \n", "```\n" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "execution": { "iopub.execute_input": "2021-02-02T06:55:25.392012Z", "iopub.status.busy": "2021-02-02T06:55:25.391519Z", "iopub.status.idle": "2021-02-02T06:55:25.395541Z", "shell.execute_reply": "2021-02-02T06:55:25.395152Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Estimate LCB UCB \n", "-----------------------------------------\n", "Pooled odds 1.557 1.307 1.855\n", "Pooled log odds 0.443 0.268 0.618\n", "Pooled risk ratio 1.270 \n", " \n", " Statistic P-value \n", "-----------------------------------\n", "Test of OR=1 24.724 0.000 \n", "Test constant OR 17.647 0.345 \n", " \n", "-----------------------\n", "Number of tables 17 \n", "Min n 32 \n", "Max n 527 \n", "Avg n 139 \n", "Total n 2362 \n", "-----------------------\n" ] } ], "source": [ "print(st.summary())" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.9" } }, "nbformat": 4, "nbformat_minor": 2 }