{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "In this article, I will try to investigate the following question,\n", "> Looking at socio-economic status, gender, and age, who's and who's not survive the Titanic?\n", "\n", "Below is the description of titanic data, from the original link, [Kaggle](https://www.kaggle.com/c/titanic/data).\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "VARIABLE DESCRIPTIONS:\n", "survival Survival\n", " (0 = No; 1 = Yes)\n", "pclass Passenger Class\n", " (1 = 1st; 2 = 2nd; 3 = 3rd)\n", "name Name\n", "sex Sex\n", "age Age\n", "sibsp Number of Siblings/Spouses Aboard\n", "parch Number of Parents/Children Aboard\n", "ticket Ticket Number\n", "fare Passenger Fare\n", "cabin Cabin\n", "embarked Port of Embarkation\n", " (C = Cherbourg; Q = Queenstown; S = Southampton)\n", "\n", "SPECIAL NOTES:\n", "Pclass is a proxy for socio-economic status (SES)\n", " 1st ~ Upper; 2nd ~ Middle; 3rd ~ Lower\n", "\n", "Age is in Years; Fractional if Age less than One (1)\n", " If the Age is Estimated, it is in the form xx.5\n", "\n", "With respect to the family relation variables (i.e. sibsp and parch)\n", "some relations were ignored. The following are the definitions used\n", "for sibsp and parch.\n", "\n", "Sibling: Brother, Sister, Stepbrother, or Stepsister of Passenger Aboard Titanic\n", "Spouse: Husband or Wife of Passenger Aboard Titanic (Mistresses and Fiances Ignored)\n", "Parent: Mother or Father of Passenger Aboard Titanic\n", "Child: Son, Daughter, Stepson, or Stepdaughter of Passenger Aboard Titanic\n", "\n", "Other family relatives excluded from this study include cousins,\n", "nephews/nieces, aunts/uncles, and in-laws. Some children travelled\n", "only with a nanny, therefore parch=0 for them. As well, some\n", "travelled with very close friends or neighbors in a village, however,\n", "the definitions do not support such relations.\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next I will import the related libraries to perform the analysis" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "import seaborn as sns; sns.set_style('darkgrid')\n", "import numpy as np\n", "import scipy.stats as sp" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "df = pd.read_csv('dataset/titanic_data.csv')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
0103Braund, Mr. Owen Harrismale2210A/5 211717.2500NaNS
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female3810PC 1759971.2833C85C
2313Heikkinen, Miss. Lainafemale2600STON/O2. 31012827.9250NaNS
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female351011380353.1000C123S
4503Allen, Mr. William Henrymale35003734508.0500NaNS
\n", "
" ], "text/plain": [ " PassengerId Survived Pclass \\\n", "0 1 0 3 \n", "1 2 1 1 \n", "2 3 1 3 \n", "3 4 1 1 \n", "4 5 0 3 \n", "\n", " Name Sex Age SibSp \\\n", "0 Braund, Mr. Owen Harris male 22 1 \n", "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38 1 \n", "2 Heikkinen, Miss. Laina female 26 0 \n", "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35 1 \n", "4 Allen, Mr. William Henry male 35 0 \n", "\n", " Parch Ticket Fare Cabin Embarked \n", "0 0 A/5 21171 7.2500 NaN S \n", "1 0 PC 17599 71.2833 C85 C \n", "2 0 STON/O2. 3101282 7.9250 NaN S \n", "3 0 113803 53.1000 C123 S \n", "4 0 373450 8.0500 NaN S " ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's see the number of rows in this dataset" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(891, 12)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And the number of person," ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "891" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.Name.nunique()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Okay, so we know that each person represent one observation in this dataset. Let's see the distribution of age in this dataset." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "count 714.000000\n", "mean 29.699118\n", "std 14.526497\n", "min 0.420000\n", "25% 20.125000\n", "50% 28.000000\n", "75% 38.000000\n", "max 80.000000\n", "Name: Age, dtype: float64" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.Age.describe()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfMAAAFtCAYAAAATY4N4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl4VFWe//FPVcKShSTIE6ZbUCIxGNQZdUiY2BBEBxRF\nlM1RMShKa4MtjYCYAIGAgGyiYjctYrsGBVySkRl7FANiJMaA9ohCRH42RJBgWBJCFiBJ1fn9QVMj\nslQVcCu5lffreXie1K2Te78nVeSTe++pcxzGGCMAAGBbzsYuAAAAnBvCHAAAmyPMAQCwOcIcAACb\nI8wBALA5whwAAJsjzNGsJCYm6uDBgydsy83N1ahRoyRJzz33nN57770z7mPx4sVau3atZTVaaevW\nrerbt68GDx6s0tLSE5674YYbdPPNN2vQoEEaNGiQBgwYoDlz5jRSpYFTUVGhq666StOnT2/sUoCz\nRpijWXE4HGd8/g9/+INuv/32M7b5/PPP1dDQcD7LCpg1a9YoJSVFOTk5uvDCC096fuHChcrNzfX8\n27Rpk954441GqDRw3n33XfXp00fvv/++Dh061NjlAGcltLELAALJ2xxJkyZNUpcuXXT//ffrueee\n05o1a9SiRQvFxMRozpw5Wr16tTZv3qz58+fL6XQqJSVFM2bM0NatW+VwOJSamqoJEybI6XTqk08+\n0VNPPaXQ0FAlJibqs88+0/Lly1VUVKR33nlHhw8fVps2bbRkyRJNnz5dP/zwgw4ePKiIiAgtXLhQ\ncXFxGj58uK688kp9/vnnKi8v1/Dhw3XgwAFt2LBBR44c0bPPPquEhIST+rF48WL99a9/VWhoqOLi\n4jR16lQVFhZq+fLlcrvdOnLkiBYsWHDGn09oaKi6deumHTt2SJKWLFmiNWvWqK6uTocPH9bjjz+u\nPn36aPv27ZoyZYrq6upkjNHQoUM1bNiw024/vq/Vq1fLGKMOHTooKytLsbGxGj58uK655hr97W9/\nU2lpqZKSkjR//nxJUk5Ojl588UWFhYXp3/7t3/T6669ry5YtXvcXExOjHTt26O6779Y999xzUn9X\nrlyprKws1dTUaMWKFXrooYckSW63W/PmzdPHH3+sNm3a6F/+5V/0/fffKzs7W9XV1Zo9e7a2bdum\nhoYGXXvttXr88cfldHJ+hEZigGbksssuMwMGDDADBw40AwcONLfffrvp3bu3+d3vfmeMMSYjI8O8\n/PLLZs+ePaZbt26mrq7OGGPMK6+8YvLy8owxxqSlpZnVq1cbY4xJT083s2fPNsYYU1dXZx544AGz\ndOlSU1FRYbp3726+++47Y4wxubm5JjEx0ezevdvk5OSY7t27m5qaGmOMMR988IGZNWuWp8Zp06aZ\nmTNneo41ZswYY4wxmzZtMpdddplZt26dMcaYJ5980kydOvWkPr7zzjvmrrvuMkeOHDHGGPPHP/7R\njBw50vP18X3/0vXXX282b97sefzTTz+Zm2++2Xz00Udm9+7d5r777jNHjx41xhjz/vvvmwEDBhhj\njJk8ebJZunSpMcaYffv2mfHjx59xe25urhk3bpxxuVzGGGNWrlxpHnzwQU9/H330UWOMMdXV1SY1\nNdUUFRWZ77//3vzmN78xZWVlnn4kJib6tL8pU6acsr/GGLNu3TrTo0cP43K5zP/8z/+Y6667zjQ0\nNBhjjFm+fLlJS0szdXV1pr6+3jzwwANm+PDhxhhjJk2aZJYtW2aMMcblcpmJEyeaF1988bTHAazG\nmTmanezsbEVHR3se5+bm6sMPPzyhzT/90z+pa9euGjRokFJTU9WrVy9de+21nufNP85g8/PztWLF\nCklSixYtdPfdd+u1117TJZdcooSEBHXp0kWSNHDgQM2ePdvz/ZdddpnCw8MlSTfddJMuuugiLVu2\nTD/88IM2bNiga665xtP2xhtvlCRddNFFcjgc6tmzpyTp4osv1oYNG07q36effqrBgwerVatWkqR7\n771XS5Ys8enWwGOPPabWrVvL5XKpRYsW+o//+A/16dNHkjR37ly999572rlzp7766ivV1tZKkvr2\n7av09HR9/fXXuvbaazVlypQzbl+3bp2++eYbDR48WNKxM+CjR496arj++uslSREREerUqZMqKytV\nXFysnj17qn379pKk4cOHa/HixT7tLykp6bT9Xb58uQYMGCCn06kbbrhBWVlZ+uCDD9S/f3/l5+dr\n4MCBatGihSTprrvuUnZ29gnHfPvttyVJR48e9XoLB7ASYY5mx/iwHIHD4VB2drY2b96szz77THPm\nzFFKSoomT558Qju3233S44aGBoWGhp703M9/2R8Pckl688039fbbbystLU0DBgxQdHS0du/e7Xm+\nZcuWJ+wnJCTkjLX/8rgul0sul8unfi9cuFCXX375SduLi4v18MMPa8SIEerZs6eSk5M1Y8YMSVLv\n3r21evVqFRQU6PPPP9fixYu1YsWKE7YXFhZ6trvdbj344IO66667JEn19fUn3Ktu3br1Ccc2xpz0\n8/z55Wxv+/v5z/rnSktLlZ+fr2+//dZzid7lcum1115T//79FRoaesLP7OfHdLlcWrRokTp37ixJ\nqq6u9vKTBazFDR7gFLZu3apbb71V8fHxeuihhzRixAht3bpV0rF7ycfPclNTUz0DxOrq6rRy5Ur1\n6NFD11xzjX744Qdt27ZNkvThhx+qqqrqlGdvBQUFGjx4sIYMGaK4uDh9/PHHJwXycb4EcmpqqnJy\ncnT48GFJx65EJCcne84wz+R0+9+4caP++Z//WSNGjFBycrLy8vI8NU6YMEHvv/++brnlFk2bNk2R\nkZH66aefTtielZXl2d6zZ0+9/fbbngB89tln9fjjj5+xrp49e6qwsFB79+6VJM8Z8fHn/N2fJK1Y\nsULdunXTJ598ojVr1mjt2rV69913VVxcrP/93//Vddddp1WrVqmurk4NDQ3Kzc31vH49e/bUq6++\nKunY6z5q1KigHyiIpo0zczQrvl4KTUxM1M0336zBgwcrPDxcYWFhyszMlHTsMvC8efNUV1enzMxM\nPfHEExowYIDq6+vVq1cvjRo1SqGhoXrqqac8g6KuvPJKhYSEnHTWKUkPPPCApk2bppycHDmdTl1x\nxRWePwJ+Wa8v9Q8dOlQ//fST7rjjDhljdPHFF59ysNsvnWnft956q1avXq3+/furZcuWSklJ0cGD\nB1VbW6uHH35YmZmZeuutt+R0OnXjjTcqOTlZF1xwwSm3JyUlae/evbrzzjvldDr161//WnPnzj1j\nf+Pi4jRp0iSNHDlSrVq1UmJioudneccdd/i8v+Pq6+uVk5OjJ5988oTtnTp1Uv/+/fXaa6/p2Wef\n1Y4dOzzvgY4dOyosLEySlJmZqSeffFIDBgxQQ0ODevTood/+9rdef8aAVRzGlz/1Afilurpazz//\nvP7whz+oVatWKi4u1u9+9zt9+umnjV2aLf3444/6z//8Tz3yyCOSpI8++kh/+ctftHLlSsuOWVBQ\noAMHDui2226TJM2ePVutW7fWhAkTLDsmcLYsPzNfunSp1q5dq/r6eg0bNkzJycnKyMiQ0+lUQkKC\nsrKyrC4BCLjIyEi1aNFCQ4YMUWhoqFq0aKFFixY1dlm29atf/Up79+7VrbfeqpCQEEVFRZ10Vn2+\n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\nVf/Wr1+vLl266OGHH9bo0aPVu3fvoOrfcd98842+//573XHHHUH1uzMuLk4ul0vGGFVVVSk0NNTv\n16/JXmY/22lfm7q+fftq9+7dnsfmZ58MjIiIUFVVVWOUdV6EhYVJOvbajR07VuPGjdO8efM8z9u9\nf5LkdDqVkZGhvLw8LVq0SAUFBZ7n7Ny/nJwctWvXTj169NCSJUskHbutcJyd+yZJrVu31siRI3XH\nHXeopKREDz74YFD936uoqFBpaaleeOEF7dq1S6NHjw6q1++4pUuXasyYMSdtt3v/IiIi9OOPP6pf\nv346ePCglixZoi+++OKE5731r8mGeWRkpGpqajyPgyHIT+XnfaqpqVFUVFQjVnPu9uzZo0ceeURp\naWnq37+/FixY4HkuGPonHZuS+MCBAxo6dKiOHj3q2W7n/h2/H1lQUKDvvvtO6enpqqio8Dxv575J\nx858OnXq5Pk6JiZGxcXFnuft3r+YmBjFx8crNDRUl1xyiVq1aqWysjLP83bvnyRVVVWppKREycnJ\nkoLrd+err76q1NRUjRs3TmVlZRo+fLjq6+s9z/vSvyabjs1l2tfLL79cGzdulCTl5+erW7dujVzR\n2du/f79GjhypiRMnatCgQZKkrl27Bk3/3nvvPS1dulSS1KpVKzmdTl155ZXasGGDJHv3b9myZcrO\nzlZ2drYSExM1f/58paamBs1r9+6772ru3LmSpLKyMlVXV6tHjx5B8dpJUrdu3fTpp59KOta/w4cP\nKyUlJWj6J0kbN25USkqK53Ew/W6Jjo72DM5s06aNGhoadPnll/v1+jXZM/O+ffuqoKBAd911lyQF\n7brn6enpmjp1qurr6xUfH+9ZgMaOXnjhBR06dEh//vOftXjxYjkcDk2ZMkWzZs0Kiv7deOONmjRp\nktLS0tTQ0KDMzEx17txZmZmZQdG/Xwqm9+bQoUM1adIkDRs2TE6nU3PnzlVMTEzQvHa9e/fWF198\noaFDh3o+CdShQ4eg6Z8k7dix44RPNAXT+/O+++7T5MmTdc8996ihoUGPPfaYrrjiCr9eP6ZzBQDA\n5prsZXYAAOAbwhwAAJsjzAEAsDnCHAAAmyPMAQCwOcIcAACbI8yBZm7btm1KTEzURx991NilADhL\nhDnQzOXm5qpfv35asWJFY5cC4Cw12RngAFjP5XJp1apVevPNN3XnnXdq165duuiii1RUVKRZs2ap\nRYsWuuqqq/T9998rOztbO3fu1PTp03Xw4EGFhYUpMzNTXbt2bexuAM0eZ+ZAM/bxxx+rQ4cO6tSp\nk/r27auVK1eqoaFB6enpevrpp5WTk6PQ0FA5HA5Jx6bQfPzxx5WTk6MnnnhC48aNa+QeAJAIc6BZ\ny83NVf/+/SVJ/fr1U05OjoqLi9WuXTslJCRIkoYMGSJJqq2t1TfffKNJkyZp4MCBmjBhgo4cOaLK\nyspGqx/AMVxmB5qp8vJyffLJJ9qyZYtef/11GWN06NAh5efn61RLNrjdbrVu3Vq5ubmebWVlZYqO\njg5k2QBOgTNzoJl677339Jvf/Ebr1q3TmjVrtHbtWo0aNUrr169XZWWltm3bJkn67//+bzkcDkVG\nRqpTp05atWqVJKmgoEBpaWmN2QUA/8CqaUAzddttt2nChAm67rrrPNvKy8v17//+73rppZc0c+ZM\nOZ1OXXLJJaqqqtILL7yg7du3KysrS5WVlWrZsqVmzJihK664ohF7AUAizAGcwoIFCzRmzBi1bt1a\nr776qsrKypSent7YZQE4De6ZAzhJdHS0hgwZohYtWqhjx46aPXt2Y5cE4Aw4MwcAwOYYAAcAgM0R\n5gAA2BxhDgCAzRHmAADYHGEOAIDNEeYAANjc/wdAeYLmRDQSEAAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df.Age.hist(bins=40)\n", "plt.xlabel(\"Age\")\n", "plt.ylabel(\"Number of Person\")\n", "plt.title(\"Histogram of Passenger Age\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I choose histogram since I only analyze one numerical variable. I choose 40 as nunmber of bins to let the histogram show smooth distribution of the data. And since we see from the statistics that the age is max at 80 years old, every 20 year will have the exact edge of the histogram.\n", "\n", "I can see from this histogram that many children is below 5 years old. Some of them are babies which we see that there's a peak around 1 year. This histogram will have an almost normal distribution if there isn't a peak around 1 year old. The earlier statistics show that median is 28 year old, and mean is 29 year old. You can also tell that the distribution is normal when you have similar median and mean.\n", "\n", "Overall the plot tells us that the passengers' age is distributed around mid-end 20's. Let's see if the distribution of the age is actually different between whether or not the passengers have survived.\n" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfMAAAFtCAYAAAATY4N4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4VHXaxvHvmTnT0hOSUIK0ICCKiBRB1EWUXawUyyoC\n6rLWda2sFUVedLGuDRQQlSKKqHSQEgKEJr2XEHpJSAIJKZMy9f0jJtJCEpiZk5l5Ptfl5cxJZs4d\nMplnzq8qbrfbjRBCCCH8lk7rAEIIIYS4NFLMhRBCCD8nxVwIIYTwc1LMhRBCCD8nxVwIIYTwc1LM\nhRBCCD8nxVyISjgcDm644QYee+wxjz7v9OnT6dChA3369KFPnz7cddddPPzww2zdurXie5544gn2\n7dt3wecZNGgQp06dOu/Xyh+/du1a7rrrrhpn/Pnnn/nxxx8BmDJlCl9//XWNn+N8LjbP6TZv3szA\ngQPp1asXd911F48//jh79+71SD64tJ/XEz+fEBdD1TqAELXVokWLaNWqFTt27GD//v00a9bMY8/d\noUMHRo8eXXF/9erVPPHEE0ybNo369eszZsyYKp9j5cqVlX6t/PEnT568qHwbN26kRYsWADzwwAMX\n9RzeYLPZePLJJxk/fjytWrUCYNasWTz++OMsXrwYRVEu+Ry16ecVorrkylyISvzwww/06NGD22+/\nnfHjx1ccHzt2LH/729/o27cv//3vf+nevTsAdrudESNG0LdvX3r37s1rr72G1Wqt1rm6dOlCjx49\nKq6Gu3fvzo4dOygqKuK5556jT58+9O3bl7feegu3281rr70GwMCBAzl+/Djdu3fnhRde4I477iAp\nKani8QBWq5Vnn32W3r17M3DgQA4dOgTAa6+9xnfffVeRofx+UlISycnJjB8/nh9++IGRI0cyfPhw\nANLS0hg4cCB33303vXv3ZsaMGUDZFemDDz7Iyy+/TJ8+fbjzzjtZu3bteX/W8+UpKSmhU6dOFdkA\n/vGPf5CcnHzGY0tKSigsLKSwsLDi2N13382bb76J0+k858r49PsjR45k0KBB9OrVi5deeolu3bpV\n/BsBvPjii0yZMqXi5125cuUZz1VQUECnTp0oKChgyZIlPPDAA9x77710796dzz77rFq/ZyG8RYq5\nEOexd+9etm7dyu23306vXr2YPXs2eXl5LF++nBkzZvDrr78ybdo0rFZrxdXg2LFjUVWVadOmMWPG\n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\ngg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "p = sns.violinplot(data = df, x = 'Survived', y = 'Age')\n", "p.set(title = 'Age Distribution by Survival', \n", " xlabel = 'Survival', \n", " ylabel = 'Age Distribution', \n", " xticklabels = ['Died', 'Survived']);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now this is interesting. We can see that from violin plot, the distribution is a little bit different. I use violin plot because I can see the distribution of Age by Survived side by side.\n", "\n", "The distribution of the age shows bimodal distribution of people who survived. Many old people died from the tragedy, though we see 1 80 year-old man did survive the tragedy. We can see the person below." ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarkedWomenChildren
63063111Barkworth, Mr. Algernon Henry Wilsonmale80002704230A23S0
\n", "
" ], "text/plain": [ " PassengerId Survived Pclass Name \\\n", "630 631 1 1 Barkworth, Mr. Algernon Henry Wilson \n", "\n", " Sex Age SibSp Parch Ticket Fare Cabin Embarked WomenChildren \n", "630 male 80 0 0 27042 30 A23 S 0 " ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[(df.Survived == 1) & (df.Age == 80)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To support the plot, I also include relevant statistics between Age and Survived." ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Survived01
count424.000000290.000000
mean30.62617928.343690
std14.17211014.950952
min1.0000000.420000
25%21.00000019.000000
50%28.00000028.000000
75%39.00000036.000000
max74.00000080.000000
\n", "
" ], "text/plain": [ "Survived 0 1\n", "count 424.000000 290.000000\n", "mean 30.626179 28.343690\n", "std 14.172110 14.950952\n", "min 1.000000 0.420000\n", "25% 21.000000 19.000000\n", "50% 28.000000 28.000000\n", "75% 39.000000 36.000000\n", "max 74.000000 80.000000" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.groupby('Survived').Age.describe().unstack(level=0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we see from the statistics everything is similar. Children who died minimum is 1 years old, while babies who survive minimum at 5 months old. Again if I observe the plot, many children survived the accident, at least compared to the children who didn't.\n", "\n", "If you remember from *Titanic* movies, children and women are prioritized to get to the lifeboat. It's interesting to know whether this is actually true.\n", "\n", "*Is women and children survival rate is higher than those who didn't?*\n", "\n", "To get into this, I create a frequency table. Children are described as passenger below 12 years old. And gender already described by Sex column." ] }, { "cell_type": "code", "execution_count": 78, "metadata": { "collapsed": true }, "outputs": [], "source": [ "df['WomenChildren'] = np.where((df.Age <= 12) | (df.Sex == 'female'),1,0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I'm using ChiSquare from Scipy library. This function has takes frequency table that I've created earlier, and then output chisquare statistic, p-value, degree of freedom, and the expected frequency table if both variables aren't related. Since for Survived is categorical and some of the variables also categorical, I create neat function that calculate frequency table and compute ChiSquare Indepence test for 2 Pandas categorical Series." ] }, { "cell_type": "code", "execution_count": 85, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def compute_freq_chi2(x,y):\n", " \"\"\"This function will compute frequency table of x an y\n", " Pandas Series, and use the table to feed for the contigency table\n", " \n", " Parameters:\n", " -------\n", " x,y : Pandas Series, must be same shape for frequency table\n", " \n", " Return:\n", " -------\n", " None. But prints out frequency table, chi2 test statistic, and \n", " p-value\n", " \"\"\"\n", " freqtab = pd.crosstab(x,y)\n", " print(\"Frequency table\")\n", " print(\"============================\")\n", " print(freqtab)\n", " print(\"============================\")\n", " chi2,pval,dof,expected = sp.chi2_contingency(freqtab)\n", " print(\"ChiSquare test statistic: \",chi2)\n", " print(\"p-value: \",pval)\n", " return" ] }, { "cell_type": "code", "execution_count": 86, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Frequency table\n", "============================\n", "WomenChildren 0 1\n", "Survived \n", "0 452 97\n", "1 88 254\n", "============================\n", "ChiSquare test statistic: 280.393048965\n", "p-value: 6.16515742548e-63\n" ] } ], "source": [ "compute_freq_chi2(df.Survived,df.WomenChildren)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From the frequency table, we can see a magnitude difference of women and children that survived compared to those who didn't. Women and children survived is about 2.5 times higher than women and children whom not survived. On the contrary, adult men is about 5 times higher between not survived and survived. To be fair, let's put this to a statistical test.\n", "\n", "\n", "Since both independent and dependent variable are categorical, I choose Chi-Square Independece test. For this test to be true, Let's validate the condition,\n", "\n", "* Each cell has at least 5 expected cases. **Checked**.\n", "* Each case only contributes to once cell in the table. **Checked**.\n", "* If sample, random sample and less than 10% population. **This dataset is already a population**.\n", "\n", "Since we have checked all the condition, we can proceed to the test. And as expected, chi-square statistic provide very high number, and p value which practically zero. Thus the data provide convincing evidence that whether the passenger woman or children and whether they survived are related. Just for the sake of curiosity, how is the accuracy if we take it as predictive model?" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "0.79236812570145898" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(df['WomenChildren'] == df.Survived).mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There you go, I got 79.24% accuracy." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Titanic was a massive ship. Again remembering the movie back then, rich and poor people get to the ship. I wonder how Titanic data required social economy status of passenger, which represented by Pclass. We could see if the fare vary across this variable." ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "Pclass\n", "1 84.154687\n", "2 20.662183\n", "3 13.675550\n", "Name: Fare, dtype: float64" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.groupby('Pclass').Fare.mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From this result, we see that there's huge price jump between upper class and middle/lower class! Although it's no surprise. I recall from the movie, upper class room is family room, and facilitated with a lot of fancy stuff. While in lower class (DiCaprio's room), people have to shared between other passengers." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Perhaps number alone won't satisfy you enough. Let's take it to the visualization. And since in this analysis, we want to know people who survive, I also throw whether the people survive into the equation.\n", "\n", "I will plot the visualization using bar plot, since I want to see different of Fare across social-economic status. And I want to differentiate the status by Survive to see if it depends on these two variables." ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeQAAAFtCAYAAADWERnpAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlAVeW+//HPhg0qIApJOfwyk3DIzG5i0SnHrOg6QQ45\noanpdWg4YscJFU1Nw6lJU/NYhnXUc0rr3ttwNI9aZg6dk+aQDUgeURECFRBkb/bz+6PrTnJAccNe\n4Pv1Tz57rfU8373FPjxrrb0emzHGCAAAeJWPtwsAAAAEMgAAlkAgAwBgAQQyAAAWQCADAGABBDIA\nABZAIKPCczqdeuCBBzR06FBvl3JVXn/9dbVv314TJ04sk/7Xrl2r9u3b68knn/RYn8OHD9e6desk\nSbGxscrNzZXL5dKIESMUHR2td955p0zGvZQjR47omWeeueg2p9OpOXPmqGvXrurWrZu6deumJUuW\nuLe/9tpruu+++xQbG6uYmBjFxMQoNjZW8+fPv6LjAU+ze7sA4FqtX79eTZo00b59+5SSkqKGDRt6\nu6Qr8t5772nevHm6++67y6T/devWKT4+Xl26dCmT/teuXStJOnr0qLZu3ardu3fLZrNp4MCBZTru\n+dLS0nTo0KGLbluxYoWOHDmiDz74QDabTbm5uRowYIBCQ0PVs2dPSVKnTp00adKkUh8PeBKBjArv\n3XffVefOndWgQQOtWLFC06ZN05gxY9SsWTMNHjxYkrRq1Srt2LFD8+fP18aNG7V48WI5nU5VrVpV\n48aNU4sWLfTaa6/pX//6lzIyMtSkSRONGzdOU6ZM0S+//KLMzEzVrVtXL730kkJDQ7Vnzx5NmzZN\nTqdTN998s44ePaoJEyaoVatWF/Q/duxY3XXXXcVqHj16tI4fP66EhAQ988wzqlu3rubMmSOHw6GM\njAz94Q9/0IwZM5SWlqZ+/fopPDxcaWlpWrlypQ4fPqx58+YpPz9fPj4+euqpp9SuXbti/c+aNUt7\n9uxRWlqasrKy1L17d02bNk3fffedbDabWrdurTFjxsjHx0fNmzfXgw8+qIMHD2ru3Llq1qyZu58T\nJ05o/PjxysjIUJ06dfTLL7+4tzVp0kSbN2/W0KFDVVRUpMcee0z16tUrNm7fvn01d+5c7dy5Uy6X\nS02bNtWkSZMUGBioDh06qEWLFvr+++81evRoNW/eXNOnT9exY8fkdDrVqVMnDRs2TGlpaXriiSfU\ntm1b7d69W6dPn9Yf//hHPfLII5o8ebJOnDihJ598UsuWLSv2GWRkZMjpdKqgoEDVqlVTUFCQ5syZ\noyt9FtK1Hg9cNQNUYD/88IO58847zenTp82ePXvMXXfdZU6ePGm++uor07lzZ/d+PXv2NNu2bTOp\nqammc+fO5uTJk+7j77//fpOfn29effVV8+ijjxqXy2WMMWbFihXmjTfecPcxdOhQ8+abbxqn02na\ntm1rPv/8c2OMMV999ZVp2rSp2bFjx2X7/7327dubffv2GWOMiY+PNzt27DDGGJOXl2eioqLMvn37\nzJEjR0zjxo3N119/bYwx5tSpU+aRRx4xaWlpxhhj0tPTTdu2bc2xY8cu6L9///7m73//uzHGmHHj\nxpmZM2caY4wpLCw0gwcPNkuXLjXGGNO4cWPz4YcfXvTzHTVqlHn55ZeNMcb8/PPP5q677jJr1641\nxhjTpEkTk52dbY4cOWL+4z/+46LjvvbaayYpKcm9bf78+WbatGnu979o0SL3tgEDBph//OMfxhhj\nzp49awYMGGA+/vhj92ewadMmY4wxn376qWnfvr0xxpjt27cX+3s+3/Hjx81jjz1mWrRoYfr372/m\nz59v9u/f797+6quvmqioKBMTE2NiYmJMt27dTExMjPniiy+u6HjA05gho0JbtWqV2rZtq+rVq6t5\n8+aqV6+eVq9erWHDhqmwsFD79u1T1apVlZ2draioKL377rvKzMzUE0884Z7p2O12/fzzz5KkFi1a\nyGazSZIGDBigXbt26a233lJqaqp+/PFH94zOZrPpgQcekCTde++9ioiIkCRt3br1kv03btz4gvrP\n7TN79mxt3rxZS5YsUUpKigoKCnTmzBnVqFFDdrvdPcM+N4MfNWqU+1gfHx8dPHhQtWvXvmT/W7Zs\n0apVqyRJfn5+6tOnj1asWOG+7t6yZcuLfr5ffvmlxo0bJ0mqX7++oqKiLuj7Ys5t27Rpk3JycrR1\n61ZJv16XveGGG9z7RUZGSpLy8/O1c+dOnT59Wi+99JL7tQMHDqh58+by8/NT27ZtJUm33367Tp06\ndcmxz7npppv03nvv6aefftL27dv11VdfqXfv3ho/frz69Okj6fKnrK/keMCTCGRUWPn5+Vq3bp2q\nVq2qBx98UMYY5eXl6Z133tGQIUPUo0cPrV27Vv7+/urRo4ckyeVy6b777nPfuCNJx48f14033qj1\n69crMDDQ/fqcOXO0d+9ede/eXVFRUXI6nTLGyNfXVy6Xq1gtPj4+l+3/pptuuux76du3r5o2bao2\nbdro0Ucf1e7du92h5u/vX6z/2267TatXr3Yfe+LEiWIhdzG/r9flcsnpdLrbAQEBFz3u3Ljn2O1X\n97+MoqIiJSQkqHXr1pJ+/Ts7e/bsBeMWFRVJklavXi1/f39JUnZ2tqpWraqsrCz5+fm5j7HZbFd0\n2njOnDnq2bOnwsPDFR4err59++rDDz/UG2+8cUWBeq3HA1eLu6xRYX344YcKDQ3VF198oc8++0wb\nN27Uhg0blJeXp48//lixsbHauHGjPv30Uz322GOSpKioKG3dulUpKSmSpM2bN6tbt24qLCy8oP+t\nW7dq4MCB6tq1q0JCQvTll1/K5XIpPDxcVapU0RdffCFJ2rNnj3vWfKn+zw+h3zt9+rT279+vP/3p\nT+rYsaOOHz+uw4cPu0Pq/PBp0aKFUlNTtWvXLknSgQMH9Mgjj+jEiROX/axat26td955R5JUWFio\n1atX6/777y/xM27durU7/I8ePart27dfdL9LBeS5cR0Oh1wulxISEor9snJOUFCQWrRooT//+c+S\nfv1M+vTpo88+++yi/Z9r+/r6FvvF4nxZWVl65ZVXVFBQ4D7m0KFDuuOOO0p625c9/vxr7IAnMUNG\nhbVq1SoNGjSo2GvVq1dXXFycVqxYoc6dO6tZs2ZyuVwKCwuTJN122216/vnnFR8fL+nX/6G//vrr\nqlq16gX9jxo1Si+++KIWLlwou92uli1b6ueff5avr69eeeUVJSYmav78+WrQoIHCwsJUtWrVq+r/\n3Knx4OBgDRs2TDExMQoJCVFISIhatmypw4cP6+abb3bvJ0mhoaF69dVXlZSUpLNnz8oYozlz5qhO\nnTqX7F+SEhISNH36dHXp0kUOh0OtW7fW8OHDL9jv9yZPnqyJEyeqU6dOql27tpo2bXrR/i/155Ej\nRyopKUmxsbHum7rOnQL//bjz5s3T888/ry5dusjpdKpLly7q3Lmz0tLSLtj3XDsiIkI+Pj7q1auX\n1qxZU2yfqVOnav78+eratauqVKkip9OpqKgoTZ482b3PRx99pK+//trdNsaobt26WrRo0SWPnzJl\nyiU/L+Ba2MyVnPsBUExSUpKefPJJhYaG6vjx4+rWrZs+++wzBQUFebs0ABXUFc2Qd+/erblz5yo5\n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\nrVv1+eefq3fv3po7d65uueUW1axZU82aNZMkRUdHKzExUUePHlVGRobatm0rSerdu7ekX2d3knTm\nzBkdPnxYHTt2lCS1aNFCNWvW1KFDh9SoUaMLxp8xY4ZatWp1wevnFoOXpDZt2qhNmzZ655131KFD\nBwUHB0uSevXqpYkTJ7qPeeCBByRJERER2rVrl/v11q1bS5Lq1aun2rVry8fHR3Xr1tWpU6eKjblr\n1y516NDBfU17+fLlF9RVr149/c///I++/fZbbdu2TevWrdOKFSvcM+xz6tevr3HjxmnNmjU6dOiQ\nvvnmG9WvX9+93fzfKWtzkVPXvr6+uvvuu9W9e3c9+OCD6tevn2688cYL9gMqEk5ZA5exefNmffTR\nR7rxxhsVGxur+fPnKyEhQX/729/kcrkuCAtjzAULgRQWFurf//63u32x41wul4qKihQTE6OYmJgr\nWonp9w/w/+mnny56eruoqOiCY2w2W7Ea/Pz83H/29fW95Jh2e/Hf4U+cOKGcnJxiry1YsEDp6elq\n3ry5hg0bpvfee09hYWHaunVrsf327t2rwYMHyxij6OhodezY8aLhe36tTqfT/frChQs1bdo0SdKQ\nIUOK/YIBVEQEMnAZVatW1YIFC9zXW40x+vHHH3X77bfr1ltv1alTp7R3715J0kcffaS6deuqTp06\nqlOnjrZt2yZJWrdunV599VV3n0FBQapfv742bNgg6dfr0JmZmYqIiNC6deu0bt06rV27tsTaIiMj\n9dFHH0mStm7dqilTpujee+/Vxo0bdfr0aUnSmjVrFBUV5bHPIzIyUlu2bFF+fr6cTqfGjBnjfv/n\npKen6/XXX3dfQz558qSys7PVqFEj2e129y8Iu3bt0r333qvHH39cDRs21NatW92/UJy/X2hoqH78\n8UdJ0meffSZJysrK0qOPPqpGjRrp6aef1v333+++hg5UVJyyBi7j3nvv1ahRozR8+HD37OyBBx7Q\nyJEjZbfbtWDBAj3//PPKz89XzZo1tWDBAklSUlKSpk6dqqSkJIWEhCgpKUkpKSnufpOSkpSYmKiX\nX35ZVapU0cKFCy+YfZ4zadIkBQQESPptBp6cnKzJkycrISFB77zzjqpVq6aZM2eqYcOGGjZsmPr1\n66eioiI1a9bMPYu81BKeV7O05+23365+/fqpV69ekn5deu++++4rts+UKVM0e/ZsPfLIIwoMDJSf\nn5+ee+453XrrrXI6napdu7YGDhyoOXPm6KmnnlK3bt1kt9vVpEkTHTlyRJLUrl07DR06VH/+85/1\n1FNPacaMGXrttdfcp9xDQ0PVu3dvde/eXdWqVVPdunVZ3xkVHssvAgBgAZyyBgDAAghkAAAsgEAG\nAMACCGQAACyAQAYAwAIIZAAALIBABgDAAghkAAAs4P8DT3ujuOMnlEEAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.barplot(x=\"Pclass\",y=\"Fare\",hue=\"Survived\",data=df,estimator=np.mean)\n", "plt.ylabel(\"\")\n", "plt.xlabel(\"Socio-Econmic Status\")\n", "plt.title(\"Average fare for different SES\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Looking at this plot, I see something expected and unexpected. First the expected one, I see the average of fare of middle/lower is similar but the difference is huge when compared to the upper class. This is again, expected since earlier we have saw the number.\n", "\n", "The unexpected one, is whether survive vary in the upper class! Lower/middle class has similar fare, but there is a clear difference of average fare of in the upper class which result in life and death difference. What's the cause of this? They pay same upper class. What makes the different price in one class? What I can think of is because they have different cabin. Is it because lifeboats are placed in particular cabin? Unfortunately it's hard to know which cabin is better than others, except with Fare. " ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Survived01
Cabin
A35.49635044.341071
B57.137500132.832026
C99.972396100.274046
D59.61308664.505123
E48.46071458.571067
T35.500000NaN
\n", "
" ], "text/plain": [ "Survived 0 1\n", "Cabin \n", "A 35.496350 44.341071\n", "B 57.137500 132.832026\n", "C 99.972396 100.274046\n", "D 59.613086 64.505123\n", "E 48.460714 58.571067\n", "T 35.500000 NaN" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(df[(df.Pclass == 1)]\n", " .groupby([df.Cabin.str[:1],'Survived'])\n", " .Fare\n", " .mean()\n", " .unstack())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We see from the table above, Cabin with prefix B is the most expensive one compared to ohers. Cabin C is probably the most expensive on average. But will this guarantee for whether the passengers survive?" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Survived01
Cabin
A87
B1235
C2435
D722
E718
T1NaN
\n", "
" ], "text/plain": [ "Survived 0 1\n", "Cabin \n", "A 8 7\n", "B 12 35\n", "C 24 35\n", "D 7 22\n", "E 7 18\n", "T 1 NaN" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(df[(df.Pclass == 1)]\n", " .groupby([df.Cabin.str[:1],'Survived'])\n", " .PassengerId\n", " .count()\n", " .unstack())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Again, the cabin doesn't guarantee whether the passengers are save. Cabin B has 3 times ratio but so other cabins. Cabin C not even a magnitude higher. So there's some limitations that we have. \n", "\n", "At least whether the passenger is in the upper class can be one of the factor of whether the passengers is survived. Let's test those. Again I will build frequency table of SES vs whether passengers is survived, and perform Chi-Square Independence test to confirm. " ] }, { "cell_type": "code", "execution_count": 101, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Frequency table\n", "============================\n", "Pclass 1 2 3\n", "Survived \n", "0 80 97 372\n", "1 136 87 119\n", "============================\n", "ChiSquare test statistic: 102.888988757\n", "p-value: 4.5492517113e-23\n" ] } ], "source": [ "compute_freq_chi2(df.Survived,df.Pclass)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since we already validated our dataset earlier (also from the frequency table, we can see that each cell has at least 5 expected cases), we can directly perform the statistical test." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So indeed, the test statistic result really high and again p-value is practically zero. The data provide convincing evidence that economic status and whether they survived are related." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lastly, we have Embarked variable. Let's see the survivability rate for each embarkation point." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "Embarked\n", "C 0.553571\n", "Q 0.389610\n", "S 0.336957\n", "Name: Survived, dtype: float64" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.groupby('Embarked').Survived.mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Okay, we see that (C)herbourg has huge survivability rate compared to other two! How is this possible? My first thought would be Cherbourg could be the first/last embarkation point. So they will put around the corner of the ship. When googling schedule of embarkation, I found this [link](http://www.discoverireland.ie/Places-To-Go/Cork/Features/Remembering-RMS-Titanic) that stated the embarkation is in this order, \n", "\n", "(S)outhampton - (C)herbourg - (Q)ueenstown" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Cherbourg is actually in the middle embarkation point. So my assumption is false. Nonetheless, let's see frequency table and test statistics." ] }, { "cell_type": "code", "execution_count": 102, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Frequency table\n", "============================\n", "Pclass 1 2 3\n", "Survived \n", "0 80 97 372\n", "1 136 87 119\n", "============================\n", "ChiSquare test statistic: 102.888988757\n", "p-value: 4.5492517113e-23\n" ] } ], "source": [ "compute_freq_chi2(df.Survived,df.Pclass)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Again the dataset has been validated for statistical test. The other thing is to observe the expected cases of each cell is 5, from the frequency table we know that to be true. Using ChiSquare Indepence test, our p-value is also practically zero. Thus the data also provide convincing evidence that Embarkation Point and survivability are related." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's see if embarkation point play nice with other predictors, age for example. I use describe method to describe age by Embarkation point." ] }, { "cell_type": "code", "execution_count": 100, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
EmbarkedCQS
count130.00000028.000000554.000000
mean30.81476928.08928629.445397
std15.43486016.91539614.143192
min0.4200002.0000000.670000
25%21.25000017.50000021.000000
50%29.00000027.00000028.000000
75%40.00000034.50000038.000000
max71.00000070.50000080.000000
\n", "
" ], "text/plain": [ " PassengerId Survived Pclass Name Sex Age SibSp Parch Ticket \\\n", "False 891 891 891 891 891 714 891 891 891 \n", "True NaN NaN NaN NaN NaN 177 NaN NaN NaN \n", "\n", " Fare Cabin Embarked WomenChildren \n", "False 891 204 889 891 \n", "True NaN 687 2 NaN " ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.apply(lambda x: x.isnull().value_counts())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "By looking at the data, the survivability of passengers variable doesn't have any missing value. This is a good thing since this is our main interest. \n", "\n", "The highest value of missing data is Cabin. One way to handle it is find other passenger (if they have family who's also onboard) with same family name, and apply same Cabin with them. Intuitively, if their cabin are different, it may still in adjacent of each other. But as you can see from the analysis, cabin is not an important factor to determine whether the passengers have survived. So I won't dig deeper as to handle the missing value.\n", "\n", "The second highest is Age. This variable did concern me since this is one of the feature in my statistical modelling. I don't handle missing the value, instead I just ignored them. The reason is the range of age is too broad. I can create imputation for example, for baseball player which [\"the majority of players can be found in the 27-31 age range.\"](http://bleacherreport.com/articles/367083-age-to-reason-the-mlb-players-average-age). But Titanic passengers are from all age. It's too error prone to impute age of Titanic passengers. I won't get too worried about that since our data size is still large enough to do statistical test. By default pandas will ignore the missing value when I perform most operations.\n", "\n", "Lastly, I'm not concern about impute Embarked variable since it's only small value and our data is still large enough.\n", "\n", "Future work can be done. For example explore more about the cabin and use ticket number to pinpoin the location of passengers. Since the tragedy occurred in the middle of the night (again, movie-based-assumption), they should be near their cabin. It could be that the longer the distance between their location and lifeboats, will result in smaller chance of whether they survived. And also investigating of why passengers embarked from Cherbourg has higher survivability rate compared to Southampton or Queenstown. This oddness looks pretty normal and undetected in the analysis." ] } ], "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.5.1" } }, "nbformat": 4, "nbformat_minor": 0 }