{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Survival Analysis" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:37:27.970806Z", "iopub.status.busy": "2021-04-16T19:37:27.970215Z", "iopub.status.idle": "2021-04-16T19:37:27.972416Z", "shell.execute_reply": "2021-04-16T19:37:27.971942Z" }, "tags": [] }, "outputs": [], "source": [ "# If we're running on Colab, install empiricaldist\n", "# https://pypi.org/project/empiricaldist/\n", "\n", "import sys\n", "IN_COLAB = 'google.colab' in sys.modules\n", "\n", "if IN_COLAB:\n", " !pip install empiricaldist" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:37:27.976032Z", "iopub.status.busy": "2021-04-16T19:37:27.975593Z", "iopub.status.idle": "2021-04-16T19:37:27.977681Z", "shell.execute_reply": "2021-04-16T19:37:27.977307Z" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Downloaded utils.py\n" ] } ], "source": [ "# Get utils.py\n", "\n", "from os.path import basename, exists\n", "\n", "def download(url):\n", " filename = basename(url)\n", " if not exists(filename):\n", " from urllib.request import urlretrieve\n", " local, _ = urlretrieve(url, filename)\n", " print('Downloaded ' + local)\n", " \n", "download('https://github.com/AllenDowney/ThinkBayes2/raw/master/soln/utils.py')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:37:27.980924Z", "iopub.status.busy": "2021-04-16T19:37:27.980273Z", "iopub.status.idle": "2021-04-16T19:37:28.658584Z", "shell.execute_reply": "2021-04-16T19:37:28.659033Z" }, "tags": [] }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "In /home/downey/anaconda3/envs/ThinkBayes2/lib/python3.8/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: \n", "The text.latex.preview rcparam was deprecated in Matplotlib 3.3 and will be removed two minor releases later.\n", "In /home/downey/anaconda3/envs/ThinkBayes2/lib/python3.8/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: \n", "The mathtext.fallback_to_cm rcparam was deprecated in Matplotlib 3.3 and will be removed two minor releases later.\n", "In /home/downey/anaconda3/envs/ThinkBayes2/lib/python3.8/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: Support for setting the 'mathtext.fallback_to_cm' rcParam is deprecated since 3.3 and will be removed two minor releases later; use 'mathtext.fallback : 'cm' instead.\n", "In /home/downey/anaconda3/envs/ThinkBayes2/lib/python3.8/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: \n", "The validate_bool_maybe_none function was deprecated in Matplotlib 3.3 and will be removed two minor releases later.\n", "In /home/downey/anaconda3/envs/ThinkBayes2/lib/python3.8/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: \n", "The savefig.jpeg_quality rcparam was deprecated in Matplotlib 3.3 and will be removed two minor releases later.\n", "In /home/downey/anaconda3/envs/ThinkBayes2/lib/python3.8/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: \n", "The keymap.all_axes rcparam was deprecated in Matplotlib 3.3 and will be removed two minor releases later.\n", "In /home/downey/anaconda3/envs/ThinkBayes2/lib/python3.8/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: \n", "The animation.avconv_path rcparam was deprecated in Matplotlib 3.3 and will be removed two minor releases later.\n", "In /home/downey/anaconda3/envs/ThinkBayes2/lib/python3.8/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: \n", "The animation.avconv_args rcparam was deprecated in Matplotlib 3.3 and will be removed two minor releases later.\n" ] } ], "source": [ "from utils import set_pyplot_params\n", "set_pyplot_params()" ] }, { "cell_type": "markdown", "metadata": { "tags": [] }, "source": [ "The following cell downloads the data." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:37:28.662755Z", "iopub.status.busy": "2021-04-16T19:37:28.662317Z", "iopub.status.idle": "2021-04-16T19:37:28.664128Z", "shell.execute_reply": "2021-04-16T19:37:28.664481Z" }, "tags": [] }, "outputs": [], "source": [ "download('https://github.com/AllenDowney/ThinkBayes2/raw/master/examples/Osogbo2021.csv')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I'll use Pandas to load the data into a `DataFrame`." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "execution": { "iopub.execute_input": "2021-04-16T19:37:28.669139Z", "iopub.status.busy": "2021-04-16T19:37:28.668327Z", "iopub.status.idle": "2021-04-16T19:37:28.679256Z", "shell.execute_reply": "2021-04-16T19:37:28.678840Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", " | TIME(In Days) | \n", "AGE OF PATIENTS | \n", "CENSOR | \n", "AGE AT MENARACHE | \n", "BREASTFEED | \n", "CONTRACEPT | \n", "DETECTION | \n", "NEOADJUVANT | \n", "
---|---|---|---|---|---|---|---|---|
0 | \n", "48 | \n", "44 | \n", "1 | \n", "18 | \n", "1.5 | \n", "2 | \n", "1 | \n", "2 | \n", "
1 | \n", "898 | \n", "43 | \n", "0 | \n", "17 | \n", "1.0 | \n", "1 | \n", "1 | \n", "2 | \n", "
2 | \n", "36 | \n", "40 | \n", "0 | \n", "15 | \n", "2.0 | \n", "2 | \n", "1 | \n", "2 | \n", "
3 | \n", "23 | \n", "56 | \n", "1 | \n", "15 | \n", "1.5 | \n", "1 | \n", "1 | \n", "1 | \n", "
4 | \n", "300 | \n", "53 | \n", "0 | \n", "12 | \n", "1.0 | \n", "2 | \n", "1 | \n", "2 | \n", "