--- a +++ b/2-Inferential_Stats.ipynb @@ -0,0 +1,1014 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "<h1><center> Inferential statistics on the I-SPY1 Clinical Trial</center></h1>" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/Julio/anaconda/lib/python3.5/site-packages/statsmodels/compat/pandas.py:56: FutureWarning: The pandas.core.datetools module is deprecated and will be removed in a future version. Please use the pandas.tseries module instead.\n", + " from pandas.core import datetools\n" + ] + } + ], + "source": [ + "# import custom modules wrote by julio\n", + "import seaborn as sns\n", + "import pandas as pd\n", + "%matplotlib inline\n", + "#from capstone_01 import clean_data\n", + "from ispy1 import inferential_statistics\n", + "\n", + "# reload modules without restartign the kernel (makes development easier)\n", + "# import importlib\n", + "#importlib.reload(inferential_statistics);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 0. load clean data" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style>\n", + " .dataframe thead tr:only-child th {\n", + " text-align: right;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: left;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>SUBJECTID</th>\n", + " <th>age</th>\n", + " <th>White</th>\n", + " <th>ER+</th>\n", + " <th>PR+</th>\n", + " <th>HR+</th>\n", + " <th>Bilateral</th>\n", + " <th>Right_Breast</th>\n", + " <th>MRI_LD_Baseline</th>\n", + " <th>MRI_LD_1_3dAC</th>\n", + " <th>MRI_LD_Int_Reg</th>\n", + " <th>MRI_LD_PreSurg</th>\n", + " <th>Alive</th>\n", + " <th>Survival_length</th>\n", + " <th>RFS</th>\n", + " <th>RFS_code</th>\n", + " <th>PCR</th>\n", + " <th>RCB</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>0</th>\n", + " <td>1001</td>\n", + " <td>38.73</td>\n", + " <td>Yes</td>\n", + " <td>Yes</td>\n", + " <td>No</td>\n", + " <td>Yes</td>\n", + " <td>No</td>\n", + " <td>No</td>\n", + " <td>88.0</td>\n", + " <td>78.0</td>\n", + " <td>30.0</td>\n", + " <td>14.0</td>\n", + " <td>No</td>\n", + " <td>1264</td>\n", + " <td>751</td>\n", + " <td>1</td>\n", + " <td>No</td>\n", + " <td>2.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>1</th>\n", + " <td>1002</td>\n", + " <td>37.79</td>\n", + " <td>Yes</td>\n", + " <td>Yes</td>\n", + " <td>Yes</td>\n", + " <td>Yes</td>\n", + " <td>No</td>\n", + " <td>Yes</td>\n", + " <td>29.0</td>\n", + " <td>26.0</td>\n", + " <td>66.0</td>\n", + " <td>16.0</td>\n", + " <td>No</td>\n", + " <td>1155</td>\n", + " <td>1043</td>\n", + " <td>1</td>\n", + " <td>No</td>\n", + " <td>3.0</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " SUBJECTID age White ER+ PR+ HR+ Bilateral Right_Breast \\\n", + "0 1001 38.73 Yes Yes No Yes No No \n", + "1 1002 37.79 Yes Yes Yes Yes No Yes \n", + "\n", + " MRI_LD_Baseline MRI_LD_1_3dAC MRI_LD_Int_Reg MRI_LD_PreSurg Alive \\\n", + "0 88.0 78.0 30.0 14.0 No \n", + "1 29.0 26.0 66.0 16.0 No \n", + "\n", + " Survival_length RFS RFS_code PCR RCB \n", + "0 1264 751 1 No 2.0 \n", + "1 1155 1043 1 No 3.0 " + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.read_csv('./data/I-SPY_1_clean_data.csv')\n", + "df.head(2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1. Inferential_statistics: Categorical vs Categorical (Chi-2 test)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 1. 1 Effect of categorical predictors on Pathological complete response (`PCR`)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style>\n", + " .dataframe thead tr:only-child th {\n", + " text-align: right;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: left;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th>ER+</th>\n", + " <th>Yes</th>\n", + " <th>No</th>\n", + " </tr>\n", + " <tr>\n", + " <th>PCR</th>\n", + " <th></th>\n", + " <th></th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>Yes</th>\n", + " <td>17.0</td>\n", + " <td>28.0</td>\n", + " </tr>\n", + " <tr>\n", + " <th>No</th>\n", + " <td>81.0</td>\n", + " <td>42.0</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + "ER+ Yes No\n", + "PCR \n", + "Yes 17.0 28.0\n", + "No 81.0 42.0" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# example of contingency table\n", + "inferential_statistics.contingency_table('PCR', 'ER+',df)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style>\n", + " .dataframe thead tr:only-child th {\n", + " text-align: right;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: left;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>p-value</th>\n", + " <th>Relative_Risk</th>\n", + " <th>RR_lb</th>\n", + " <th>RR_ub</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>White</th>\n", + " <td>0.833629</td>\n", + " <td>0.8878</td>\n", + " <td>0.5076</td>\n", + " <td>1.5528</td>\n", + " </tr>\n", + " <tr>\n", + " <th>ER+</th>\n", + " <td>0.001988</td>\n", + " <td>0.4337</td>\n", + " <td>0.2582</td>\n", + " <td>0.7285</td>\n", + " </tr>\n", + " <tr>\n", + " <th>PR+</th>\n", + " <td>0.000198</td>\n", + " <td>0.3219</td>\n", + " <td>0.1707</td>\n", + " <td>0.6069</td>\n", + " </tr>\n", + " <tr>\n", + " <th>HR+</th>\n", + " <td>0.000307</td>\n", + " <td>0.3831</td>\n", + " <td>0.2286</td>\n", + " <td>0.6422</td>\n", + " </tr>\n", + " <tr>\n", + " <th>Right_Breast</th>\n", + " <td>0.851883</td>\n", + " <td>1.0965</td>\n", + " <td>0.6649</td>\n", + " <td>1.8080</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " p-value Relative_Risk RR_lb RR_ub\n", + "White 0.833629 0.8878 0.5076 1.5528\n", + "ER+ 0.001988 0.4337 0.2582 0.7285\n", + "PR+ 0.000198 0.3219 0.1707 0.6069\n", + "HR+ 0.000307 0.3831 0.2286 0.6422\n", + "Right_Breast 0.851883 1.0965 0.6649 1.8080" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Perform chi-2 test on all categorical variables\n", + "predictors = ['White', 'ER+', 'PR+', 'HR+','Right_Breast']\n", + "outcome = 'PCR'\n", + "inferential_statistics.categorical_data(outcome, predictors, df)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "<h3><center> 1.1.2 Conclusion: Only `ER+` , `PR+`, and `HR+` have an effect on `PCR`</center></h3>\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 1. 2 Effect of categorical predictors on Survival (`Alive`)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style>\n", + " .dataframe thead tr:only-child th {\n", + " text-align: right;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: left;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>p-value</th>\n", + " <th>Relative_Risk</th>\n", + " <th>RR_lb</th>\n", + " <th>RR_ub</th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>White</th>\n", + " <td>0.439359</td>\n", + " <td>1.0935</td>\n", + " <td>0.9032</td>\n", + " <td>1.3239</td>\n", + " </tr>\n", + " <tr>\n", + " <th>ER+</th>\n", + " <td>0.001135</td>\n", + " <td>1.3095</td>\n", + " <td>1.1025</td>\n", + " <td>1.5554</td>\n", + " </tr>\n", + " <tr>\n", + " <th>PR+</th>\n", + " <td>0.162557</td>\n", + " <td>1.1266</td>\n", + " <td>0.9739</td>\n", + " <td>1.3031</td>\n", + " </tr>\n", + " <tr>\n", + " <th>HR+</th>\n", + " <td>0.038917</td>\n", + " <td>1.1950</td>\n", + " <td>1.0094</td>\n", + " <td>1.4148</td>\n", + " </tr>\n", + " <tr>\n", + " <th>Right_Breast</th>\n", + " <td>0.729139</td>\n", + " <td>0.9602</td>\n", + " <td>0.8287</td>\n", + " <td>1.1125</td>\n", + " </tr>\n", + " <tr>\n", + " <th>PCR</th>\n", + " <td>0.070860</td>\n", + " <td>1.1796</td>\n", + " <td>1.0333</td>\n", + " <td>1.3467</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " p-value Relative_Risk RR_lb RR_ub\n", + "White 0.439359 1.0935 0.9032 1.3239\n", + "ER+ 0.001135 1.3095 1.1025 1.5554\n", + "PR+ 0.162557 1.1266 0.9739 1.3031\n", + "HR+ 0.038917 1.1950 1.0094 1.4148\n", + "Right_Breast 0.729139 0.9602 0.8287 1.1125\n", + "PCR 0.070860 1.1796 1.0333 1.3467" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "predictors = ['White', 'ER+', 'PR+', 'HR+','Right_Breast','PCR']\n", + "outcome = 'Alive'\n", + "inferential_statistics.categorical_data(outcome, predictors, df)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "<h3><center> 1.2.2 Conclusion: Only `ER+` and `HR+` have an effect on `Alive`</center></h3>" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Inferential_statistics: Continous vs Categorical (ANOVA)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.1 Effect of Age on PCR " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "---------------------------------------------\n", + " sum_sq df F PR(>F)\n", + "age 0.256505 1.0 1.302539 0.255394\n", + "Residual 32.689923 166.0 NaN NaN\n", + "---------------------------------------------\n" + ] + }, + { + "data": { + "image/png": "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\nRK5CYII=\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x113ce0898>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "predictor= ['age']\n", + "outcome = 'PCR'\n", + "anova_table, OLS = inferential_statistics.linear_models(df, outcome, predictor);\n", + "sns.boxplot(x= outcome, y=predictor[0], data=df, palette=\"Set3\");" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.2 Effect of Age on Survival " + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "---------------------------------------------\n", + " sum_sq df F PR(>F)\n", + "age 0.062227 1.0 0.399719 0.528104\n", + "Residual 25.842534 166.0 NaN NaN\n", + "---------------------------------------------\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x1142b6ef0>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "predictor= ['age']\n", + "outcome = 'Alive'\n", + "anova_table, OLS = inferential_statistics.linear_models(df, outcome, predictor);\n", + "sns.boxplot(x= outcome, y=predictor[0], data=df, palette=\"Set3\");" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.3 Explore interactions between age, survival, and PCR" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "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\nYII=\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x114382390>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# create a boxplot to visualize this interaction\n", + "ax = sns.boxplot(x= 'PCR', y='age', hue ='Alive',data=df, palette=\"Set3\");\n", + "ax.set_title('Interactions between age, survival, and PCR');" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "---------------------------------------------\n", + " sum_sq df F PR(>F)\n", + "age 0.637369 1.0 3.674443 0.057611\n", + "Residual 20.988648 121.0 NaN NaN\n", + "---------------------------------------------\n" + ] + } + ], + "source": [ + "# create dataframe only for patients with PCR = Yes\n", + "df_by_PCR = df.loc[df.PCR=='No',:]\n", + "df_by_PCR.head()\n", + "\n", + "# Anova age vs Alive\n", + "predictor= ['age']\n", + "outcome = 'Alive'\n", + "anova_table, OLS = inferential_statistics.linear_models(df_by_PCR, outcome, predictor);" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style>\n", + " .dataframe thead tr:only-child th {\n", + " text-align: right;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: left;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>Effect Size</th>\n", + " </tr>\n", + " <tr>\n", + " <th>Predictor of Alive</th>\n", + " <th></th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>age</th>\n", + " <td>-0.409422</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " Effect Size\n", + "Predictor of Alive \n", + "age -0.409422" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# estimate the effect size\n", + "mri_features = ['age']\n", + "outcome = 'Alive'\n", + "# Effect Size\n", + "inferential_statistics.effect_size( df_by_PCR, mri_features, outcome)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Conclusion." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1. `age` has an important effect on `Alive` for patients with `PCR` = Yes\n", + "2. To quantitify this effect a logistic regression is needed" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.4 Effect of MRI measurements on PCR ANOVA" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x114525a90>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "R = inferential_statistics.anova_MRI('PCR', df);" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "** Estimate the effect size **" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style>\n", + " .dataframe thead tr:only-child th {\n", + " text-align: right;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: left;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>Effect Size</th>\n", + " </tr>\n", + " <tr>\n", + " <th>Predictor of PCR</th>\n", + " <th></th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>MRI_LD_Baseline</th>\n", + " <td>0.191798</td>\n", + " </tr>\n", + " <tr>\n", + " <th>MRI_LD_1_3dAC</th>\n", + " <td>0.304774</td>\n", + " </tr>\n", + " <tr>\n", + " <th>MRI_LD_Int_Reg</th>\n", + " <td>0.502345</td>\n", + " </tr>\n", + " <tr>\n", + " <th>MRI_LD_PreSurg</th>\n", + " <td>0.590352</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " Effect Size\n", + "Predictor of PCR \n", + "MRI_LD_Baseline 0.191798\n", + "MRI_LD_1_3dAC 0.304774\n", + "MRI_LD_Int_Reg 0.502345\n", + "MRI_LD_PreSurg 0.590352" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mri_features = ['MRI_LD_Baseline', 'MRI_LD_1_3dAC', 'MRI_LD_Int_Reg', 'MRI_LD_PreSurg']\n", + "outcome = 'PCR'\n", + "# Effect Size\n", + "inferential_statistics.effect_size( df, mri_features, outcome)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 2.5 Effect of MRI measurements on Survival ANOVA" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\nwgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "<matplotlib.figure.Figure at 0x1146327f0>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "outcome = 'Alive'\n", + "R = inferential_statistics.anova_MRI(outcome, df);" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "<div>\n", + "<style>\n", + " .dataframe thead tr:only-child th {\n", + " text-align: right;\n", + " }\n", + "\n", + " .dataframe thead th {\n", + " text-align: left;\n", + " }\n", + "\n", + " .dataframe tbody tr th {\n", + " vertical-align: top;\n", + " }\n", + "</style>\n", + "<table border=\"1\" class=\"dataframe\">\n", + " <thead>\n", + " <tr style=\"text-align: right;\">\n", + " <th></th>\n", + " <th>Effect Size</th>\n", + " </tr>\n", + " <tr>\n", + " <th>Predictor of Alive</th>\n", + " <th></th>\n", + " </tr>\n", + " </thead>\n", + " <tbody>\n", + " <tr>\n", + " <th>MRI_LD_Baseline</th>\n", + " <td>0.375046</td>\n", + " </tr>\n", + " <tr>\n", + " <th>MRI_LD_1_3dAC</th>\n", + " <td>0.357002</td>\n", + " </tr>\n", + " <tr>\n", + " <th>MRI_LD_Int_Reg</th>\n", + " <td>0.678682</td>\n", + " </tr>\n", + " <tr>\n", + " <th>MRI_LD_PreSurg</th>\n", + " <td>0.469548</td>\n", + " </tr>\n", + " </tbody>\n", + "</table>\n", + "</div>" + ], + "text/plain": [ + " Effect Size\n", + "Predictor of Alive \n", + "MRI_LD_Baseline 0.375046\n", + "MRI_LD_1_3dAC 0.357002\n", + "MRI_LD_Int_Reg 0.678682\n", + "MRI_LD_PreSurg 0.469548" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mri_features = ['MRI_LD_Baseline', 'MRI_LD_1_3dAC', 'MRI_LD_Int_Reg', 'MRI_LD_PreSurg']\n", + "outcome = 'Alive'\n", + "# Effect Size\n", + "inferential_statistics.effect_size( df, mri_features, outcome)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### stratify analysis by PCR" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Outcome = Alive | PCR = No\n", + "---------------------------------------------\n", + " sum_sq df F PR(>F)\n", + "MRI_LD_Baseline 0.081585 1.0 0.484431 0.487791\n", + "MRI_LD_1_3dAC 0.019421 1.0 0.115317 0.734774\n", + "MRI_LD_Int_Reg 0.423490 1.0 2.514580 0.115474\n", + "MRI_LD_PreSurg 0.143688 1.0 0.853186 0.357537\n", + "Residual 19.872834 118.0 NaN NaN\n", + "---------------------------------------------\n", + " Effect Size\n", + "Predictor of Alive \n", + "MRI_LD_Baseline 0.314555\n", + "MRI_LD_1_3dAC 0.362579\n", + "MRI_LD_Int_Reg 0.582373\n", + "MRI_LD_PreSurg 0.484103\n", + "\n", + "\n", + "\n", + "Outcome = Alive | PCR = Yes\n", + "---------------------------------------------\n", + " sum_sq df F PR(>F)\n", + "MRI_LD_Baseline 0.128853 1.0 1.966383 0.168546\n", + "MRI_LD_1_3dAC 0.240330 1.0 3.667597 0.062650\n", + "MRI_LD_Int_Reg 0.543712 1.0 8.297407 0.006352\n", + "MRI_LD_PreSurg 0.404720 1.0 6.176300 0.017228\n", + "Residual 2.621118 40.0 NaN NaN\n", + "---------------------------------------------\n", + " Effect Size\n", + "Predictor of Alive \n", + "MRI_LD_Baseline 0.597109\n", + "MRI_LD_1_3dAC 0.037712\n", + "MRI_LD_Int_Reg 0.804525\n", + "MRI_LD_PreSurg -0.234776\n", + "\n", + "\n", + "\n" + ] + } + ], + "source": [ + "# predictors and outcomes\n", + "predictors= ['MRI_LD_Baseline', 'MRI_LD_1_3dAC', 'MRI_LD_Int_Reg', 'MRI_LD_PreSurg']\n", + "\n", + "# split data and run anova\n", + "PCR_outcomes = ['No','Yes']\n", + "\n", + "for out in PCR_outcomes:\n", + " df_by_PCR = df.loc[df.PCR == out,:]\n", + " print('Outcome = Alive' + ' | ' + 'PCR = ' + out)\n", + " # Anova\n", + " anova_table, OLS = inferential_statistics.linear_models(df_by_PCR, 'Alive', predictors);\n", + " # Effect Size\n", + " print(inferential_statistics.effect_size( df_by_PCR, predictors, 'Alive'))\n", + " print('\\n' * 2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Conclusion " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1. The largest tumor dimension measured at baseline (`MRI_LD_Baseline`) is not a statistically different between patients who achieved complete pathological response (`PCR`)and those who did not. While all other MRI measurements are statistically different between `PCR = Yes`, and `PCR = No`\n", + "2. All MRI measurements of the tumor dimension are different between patients who are Alive at the end of the trial and those who did not. These results do not indicate anything about the size of these effects. An statistically significant effect is not always clinically significant\n", + "3. The estimated effect sizes are very small, and most likley not clinically significant\n" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "## 3. Inferential_statistics: Continous vs Categorical (ANOVA)" + ] + } + ], + "metadata": { + "anaconda-cloud": {}, + "kernelspec": { + "display_name": "Python [conda root]", + "language": "python", + "name": "conda-root-py" + }, + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}