scipy_TP_solutions.ipynb 160 KB
Newer Older
François  LAURENT's avatar
François LAURENT committed
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "86252da3",
   "metadata": {},
   "outputs": [],
   "source": [
    "group = df.groupby('OwnsHouse').groups\n",
    "house_owners = group['Yes']\n",
    "others = group['No']\n",
    "house_owners_age = df.loc[house_owners, 'Age']\n",
    "others_age = df.loc[others, 'Age']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "1f4abc62",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.histplot(hue='OwnsHouse', y='Age', data=df, kde=True);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "b67a8ea8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "(theoretical_quantiles, observed_quantiles), (slope, intercept, _) = stats.probplot(house_owners_age, fit=True)\n",
    "plt.scatter(theoretical_quantiles, observed_quantiles, marker='+', color='b')\n",
    "plt.axline((0, intercept), slope=slope, color='r');"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1d0bb402",
   "metadata": {},
   "source": [
    "\\[CORR\\]\n",
    "\n",
    "The red line is fitted to the blue points and does not align well on the linear part. To better illustrate what is the linear part, we reimplement the regression (the exact implementation is out of the scope of this session):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "8f971da3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXAAAAD4CAYAAAD1jb0+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAgVElEQVR4nO3deXhU9dn/8ffNAKKACVSkqFC1WJe6pDb1qYoyLVr9aat0o1oJiwKiSMWiotgqaqUiP0Ufd0QRcKl7sa4gq9QVNC4FcUGtIAIqBKJsIffzx5lJJskkmSSTzPZ5XVeuzJxzZuaey/jx9nu+53vM3RERkczTKtUFiIhI4yjARUQylAJcRCRDKcBFRDKUAlxEJEO1bskP22233XzvvfduyY8UkXS0ciWsWQM/+AF07JjqatLekiVLvnT3LtW3t2iA77333ixevLglP1JE0s3ChRAOw7BhcOedqa4mI5jZp/G2awhFRFrOxo0wYADsuy9cf32qq8l4LdqBi0iOGzUKPvsMFi2CDh1SXU3GUwcuIi3jn/+EqVPh0kvhyCNTXU1WUICLSPNbswaGDoXDD4fLL091NVmj3gA3s/3NrDjmZ6OZjTKzzmY228w+iPzu1BIFi0iGcYchQ2DTJpgxA9q2TXVFWaPeAHf35e5e4O4FwI+Bb4EngEuAOe6+HzAn8lxEpKopU+Cpp2DCBDjooFRX02DhcPCTqtfXpaFDKH2Aj9z9U+BUYFpk+zSgbxLrEpFs8NFHcMEF0KcPjByZ6mpqaM5wbQkNnYVyGvBg5HFXd18defwF0DXeC8xsGDAMoEePHo2pUUQy0Y4dwZTB1q2Dk5etUnfKLRrS8+c3/DULFjTuPZr6+kQkHOBm1hY4Bbi0+j53dzOLu7C4u08GJgMUFhZq8XGRXHHddfDSS3D//dC9e6qrqaIlwrUlNKQD/3/AG+6+JvJ8jZl1c/fVZtYNWJv88kQkI735ZjDbpF8/OP30Fv3o2DCuLagTEQ3zxoZ7U1+fiIYE+OlUDp8APAkMBK6N/J6ZxLpEJFNt2QL9+0OXLnD77WDWbB+VzuHaEhIKcDNrDxwPnB2z+VrgYTM7C/gU6Jf88kQk44wdC0uXwnPPQefOLfaxdQ2LNCWomxruzfkfh4QC3N2/Ab5TbdtXBLNSREQCc+fCpEkwYgSccEKzfEQ4DMXFUFBQNayj2xoiUzvvKK2FIiLJsWEDDBoULBF73XUt/vEFBbV325ke1LVRgItIcowcCZ9/Di+/DLvsktS3jtd1A+TlVQZ3LlKAi0jTPfII3HcfjBsHP/lJSkvJpTBXgItI03z+OQwfHgT32LFJe1t13fVTgItI47nDmWfC5s3BQlVt2jTqbarPz1Y4J0YBLiKNd8cd8PzzcOutsP/+DXppbVP7iouDfeq666cAF5HGef99GD06mC54zjmNeot4YR3dLvVTgItIw5WVQVERtGsH99yT0NWW0Y47Gs4lJVWfxyooqBz/VtddOwW4iDTc+PHw2mvw0EOwxx5NeqvYsI6Knc8ttVOAi0jDvP46XHUVnHFGsFhVPaKzSaIdd1ReXvC7trBW510/BbiIJO7bb4Ohk27d4JZbkva2CuvGUYCLSOLGjIHly+GFFyA/v97Do511tPuOdt0a204OBbiIJGbWrKDrHjUquEVaAjSbpHkpwEWkfl9/DYMHw4EHBicw6xHtvKuvDqiuO7kU4CJSv3PPhbVr4V//gp13jntI7InIRYugQ4eaQyeSXApwEanbgw8G0wWvuQYOP7zKrtjQjh0u2bGj6qyThq7TLYlRgItI7T77LOi+jzwSLr64yq7o9MCo6tMEAUKhoBPX0EnzUICLSHzl5cG49/btMH06tG5d5WrK0tKg065N7IwTaR4KcBGJ75ZbYM4cuPNO6NmzYnNd4R071q2pgs1PAS4iNS1bFsz5PvlkGDq01qspoXKYBGpeDi/NSwEuIlVt2wb9+0OHDvzm6ynM7WSUlsY/NBre0eBWaLcsBbiIVHX11fDGG/D443x903crwjs6ZKJhkvShABeRSi+/DOPH82zXQfzq97+OO85dWlrZdSu8U0sBLiKB0lIYMAC6d+fmvW6CL2seEgpBr14K7nShABeRwIUXwkcfcf6h8/i29a4V3XcoFPxW151+WqW6ABFJA888E0wXvPBC3srvHfcQhXf6UYCL5LovvwzuLH/IIXD11RUhnZcHvXsHd08rK1N4pyMNoYjkMnc4+2xYvx5mzSJ8wk6prkgaQAEukstmzIDHH4cJE+DQQ2vccBiCNU/UfacnDaGI5KpPP4XzzoNjjqHtpaMxC4I73tWWkp7UgYvkovJyGDgweDx9OuU9Q1V2x95wWNJXQh24meWb2aNm9p6ZLTOzI82ss5nNNrMPIr87NXexIpIkkybBggWMKLsJ22fvuBfsaBXB9JfoEMpNwHPufgBwGLAMuASY4+77AXMiz0Uk3b3zDowdy4vf6cttmwfFPURTBjNDvUMoZpYHHAsMAnD3bcA2MzsVCEcOmwbMB8Y0R5EikiRbt0JREeTnM2jzZEIhq9J95+XBhg0pq04aKJEOfB9gHTDVzN40sylm1h7o6u6rI8d8AXSN92IzG2Zmi81s8bp165JTtYg0zhVXwFtv0ffLKazY1KXOGzJI+kskwFsDhwO3u/uPgG+oNlzi7g54vBe7+2R3L3T3wi5dujS1XhFprEWLKJ9wHXfZUGaW/6rKrlAouGhH3XdmSSTAVwIr3f3VyPNHCQJ9jZl1A4j8Xts8JYpIk23cyOrji/iYfbjQbqjYHAppgapMVm+Au/sXwGdmtn9kUx9gKfAkEJmHxEBgZrNUKCJNNmO3C9h9y38ZwHQ2lneo2L5jh246nMkSnQc+ErjfzNoCK4DBBOH/sJmdBXwK9GueEkWkKS47eCbXbL+H8VzKSxxdsV2dd+ZLKMDdvRgojLOrT1KrEZGk6nvUWu5aOpQ3KWAc4yq2K7yzg67EFMlS4d7On18eSkc20p95bKdtxdreCu/soAAXyVInfXEPp/Ako+0GlvoPAd2UIdsowEWyTDgMq15cwRvlo5jLz5jk56e6JGkmCnCRLPP2mzt4snwA5bRiEPfikclmoZC672yjABfJIuEw/GnrRHrxb/ozg89DPQihoZNspQAXyRLhMGxYUMxYLucRfsf9nAGRS+UV3tlJAS6SJdqWb+E++vMluzGcOwAjL0/hnc0U4CJZIByGcz7+CwfzH07kWb7mO4RCWtsk2+mWaiJZoGD9PH6/8gZu4xye50RCoWDcW7KbOnCRTFdSwuh3BvIhPbmIiUBwoY5kP3XgIhlueqc/0c0/p4gZfEt7gIq7y0t2UwcukqHCYejy4mM84tO5kst5jf8BNN87lyjARTJQOAzLF6zmUc7mdQr5G3+p2KflYXOHAlwkw+TnQ0mJ8zRn0Z5vKGIGZbQB0MyTHKMxcJEMEg5DSQmczZ2cxLNcxESWcwAQ3JC4rCy19UnLUoCLZIhwODg52ZMPuJ7RzOJ4buNcQJ13rlKAi2SI4mLYvKmMGRSxlZ0YzFScVvTurc47V2kMXCSDjPFr+Smv8gf+wZrQnuTphGVOUwcukgHCYdh/02L+6lfyAKfzWOgP9OqlYZNcpw5cJM3l58PWks28QRFr6MoIbk11SZImFOAiaSyYMgg3cgkH8h7HMZtNoU6a6y2AhlBE0lZ0yuBxzOZ8/peb+BNzOA4IrrQUUQcukobMgt/5rGcqg1nGAVzCtYDuKC+VFOAiaexWRtCVNZzKTLawM3l5Cm+ppCEUkTSSn1/Zff+Bf/BHHuRKruANfkzv3pp1IlUpwEXSSGlp8HsPVnE75/AyP+VaLlHnLXFpCEUkTYTDwW+jnKkMpi3bGNFhOmWb9K+pxKe/DJE00Lo17IjcQX4Et/ELZnM2d/D25v1SW5ikNQ2hiKRYfn5leO/Pe0zkIp7mJO5uNUy3RpM6qQMXSaHYzrs127mP/nxDe4YwhV7HmMa9pU4KcJEUiQ1vgL/wNwpZwm95lM153RTeUq+EhlDM7BMze8fMis1scWRbZzObbWYfRH53at5SRbJDdKpgbHgfwatcxjVMYwBf9f6tpgtKQhoyBv4zdy9w98LI80uAOe6+HzAn8lxE6hC9PD7WLnzDDIpYxZ48fPT/qvOWhDVlCOVUIBx5PA2YD4xpYj0iWSu6MFV1E7mInnzInw+by9OL8lq8LslciXbgDswysyVmNiyyrau7r448/gLoGu+FZjbMzBab2eJ169Y1sVyRzBSv8wY4kWc5l9t5ZK8/c2NxuKXLkgxn7l7/QWZ7uvsqM9sdmA2MBJ509/yYY9a7e53j4IWFhb548eImliySeaqfsATozFe8y8Fsbr8b+375OrRrl5riJO2Z2ZKY4esKCQ2huPuqyO+1ZvYEcASwxsy6uftqM+sGrE1qxSJZInaedyXnToazm31Fm0XPKrylUeodQjGz9mbWMfoY+AXwLvAkMDBy2EBgZnMVKZKpWreOP3QydOf7+R2P0ubvV2txb2m0RDrwrsATFiyR1hp4wN2fM7PXgYfN7CzgU6Bf85UpknnC4XidN3Tnv9ywbUSwsPeFF7Z4XZI96g1wd18BHBZn+1dAn+YoSiTT1TbjxCjnn/mD6FBWDtOmQSjU4rVJ9tCVmCJJVtuME4BL2t3E4RvmwZQpsO++LVqXZB8tZiWSZAsWxN8+sPA/jPdL4ZRT4MwzW7YoyUoKcJEkCYcr76ZTXbtW27i3rD/suivcdVftB4o0gAJcJElq67zz8mDzmHFQXBwMney+e0uWJVlMY+AiSVBbQx0KwYan/w3HToCzzgqGT0SSRAEu0kT5+bXvK1u/CQoGwPe+B5MmtVhNkhsU4CJNUNt0wVAIysqAoX+Gjz+GhQuhY8eWLk+ynMbARZogehf56srKgH/9KxjzHjMG3RtNmoMCXKSRahs6cQfWroUhQ+Cww+DKK1uyLMkhGkIRaYRwOOi+q18qn5dHkODDhsGGDTBnDrRtm4IKJReoAxdppNhRkVAIevcOMpt774WZM2H8eDj44BRVJ7kgofXAk0XrgUu2iZ7EzMuLhPfHH8Ohh0JhYdB9t1KPJE1X23rg+usSaYRwuOoMlIIC+HnvHTBwYBDa996r8JZmpzFwkSTp99n18PGLwSqD3/teqsuRHKAAF2mgcBgWLao8gZmXB98vfYvhK/8Cv/0tFBWltD7JHfp/PJEm2sm3MPa9IujcGe64QwtVSYtRBy7SAPn5NacPXrzpr3zf34GHn4bddktZbZJ71IGLNFBseB/LAi7w65nZbTicdFLqipKcpAAXaYANGyIX6wCdWpXw0E4DaNXz+5z6wf9PaV2SmzSEIpKg6sMnN5SfT5etK2HGv6F9+5TWJrlJHbhIA0TD+9c8ziCmccNOY+GnP01tUZKzFOAiCYi9aKcrXzCZYSzv8GMu2nR5SuuS3KYAF0lA5bKxzhSG0J5vKGIGtGmTyrIkxynAReoQDkPr1pVDJ0O5i1/yNJfaBHb58YEprU1EJzFFEvR9PmQSFzCb45jW8TzWz091RZLr1IGL1KNDBwhRxnQGsI22nN9xKutL9K+OpJ46cJF6lJbCGCZwFC9zhj3A7ofvleqSRAAFuEitwuHg96E73mAc43i0zWmsOup05s9PZVUilRTgIrUoLoZ2vpm59Gctu3POjlvZXpzqqkQqKcBFalFQACM+HMtBG5dxPLP44TGdU12SSBU6EyNSi8PXz+H3q27kZs7jBY5PdTkiNSQc4GYWMrM3zeypyPN9zOxVM/vQzB4yM916W7LHhg1csnwQ77fanzFMSHU1InE1pAM/H1gW83wCMMndewLrgbOSWZhIKs3e/zw6b/uCP5bfx2Z2qViBUCcwJZ0kFOBmthdwMjAl8tyAnwOPRg6ZBvRthvpEWt7DD3P82vu5ru1fWUKNG4GLpI1ET2LeCFwMdIw8/w6wwd3LIs9XAnvGe6GZDQOGAfTo0aPRhYq0iFWrYPhwlnY8giu/GQsE639v2JDaskTiqbcDN7NfAmvdfUljPsDdJ7t7obsXdunSpTFvIdIy3OHMM9lSsoXffjODbeVBf1NSEqxGGJ0XLpIuEunAjwZOMbOTgHbArsBNQL6ZtY504XsBq5qvTJEWcNttMGsWF3Ab7/GDKrsqVyMUSR/1duDufqm77+XuewOnAXPd/QxgHvC7yGEDgZnNVqVIc1u+HC66iFc7ncgdDK+yKxSCXr10AlPST1PmgY8B/mxmHxKMid+dnJJEWtj27VBUxNdbdqbv+nsAq7K7QweFt6SnBl2J6e7zgfmRxyuAI5JfkkgLGz8eXn+dYTzCF3SrsbugoOVLEkmELqWX3Pbaa5SNu5oH6c9jFSOCgVAIyspqeZ1IGlCAS+769ls+OLKIndiDkdyc6mpEGkxroUjOmtzpYvYrf5+BTKOE/Cr78vLUfUv6U4BLbnr+eYZtu5UbuID5/KzKLl24I5lCAS6556uvYPBgPt7lIP7aanyVXaGQwlsyhwJccos7nHMO27/4kmsOuI9vy9tV7OrdW8Mmkll0ElNyywMPwCOPMH6n8dz71o8qNodCwR14RDKJAlxyx2efwYgRcNRRXPPKxewor9zVq1fqyhJpLA2hSG4oL4dBg6CsjIK3p7O9PFSxKxR5qKstJdOoA5fccPPNMHcuI3e+i7c2f7/Krh07NHwimUkduGS/pUthzBj+/Z1fcfvWmjeOCoV0ubxkJnXgkt22bYP+/aFjRwZtvYsOHY2SkqqHaOaJZCp14JLdrroK3nwT7rqLPQ/vWqPTjt7rUiQTqQOX7PXSS/D3v8PgwdC3L/P7BnfWAV1tKdlBHbhkp9JSGDAAevSAG28EgluilZZqzFuyhzpwyU6jR8OKFbBgAey6K/n5VBn7Li4OunF14ZLJ1IFL9nnqKZg8GS66CI45pkZ4g+5xKdlBAS7ZZd06GDIEDj0UrrqKcLhmeENwmzR135LpNIQi2cMdzj4b1q+H2bMJn7ATCxbEP1Rj4JINFOCSPaZPhyeegIkTyT/mkLidNwQzUHTZvGQDDaFIdvjkExg5Eo49lp//64Jaw1vrfUs2UQcumW/HDhg4EIDTtk5j3quhuIfpJsWSbdSBS+abNAkWLuTve9zMQ6/uXethCm/JNgpwyWxvvw2XXQa//jUTVg+Ie0heXnB+UyTbKMAlc23dCkVF0KkTp35xJyUbrcYhGvOWbKYxcMlcl18edOBPPcWTv+xSY7fGvCXbqQOXzLRwIUycyNS2w7Bfnhz3EN0mTbKdAlwyz8aNwayTffdl5Lbr4x6iud6SCzSEIpln1Ch2fPJferGIb+hQY7fGvSVXqAOXzPLPf8LUqfydS3mFI+MeonFvyRUKcMkca9awod9Q3uBHXMXlNXZruqDkmnoD3MzamdlrZvaWmf3HzK6MbN/HzF41sw/N7CEza9v85UrOcochQ2i3fRP9uY/t1Pxz07CJ5JpEOvCtwM/d/TCgADjRzH4KTAAmuXtPYD1Q83bfIkky8YC74amnGMMElnFQlX3qvCVX1RvgHoguf98m8uPAz4FHI9unAX2bo0ARPvqIc94fxQv04WZG1titzltyVUJj4GYWMrNiYC0wG/gI2ODu0dNFK4E9a3ntMDNbbGaL161bl4SSJafs2ME7hw+gjNYMZioe8ycbCqnzltyWUIC7+w53LwD2Ao4ADkj0A9x9srsXunthly41r5YTqdN113HIxpcYwa2spHuVXZptIrmuQfPA3X2Dmc0DjgTyzax1pAvfC1jVHAVKDnvzTbaPvZzH6ccD/LFicyikqyxFILFZKF3MLD/yeGfgeGAZMA/4XeSwgcDMZqpRctGWLXzcqz/r6MI53A5ULlTVoYOushSBxDrwbsA0MwsRBP7D7v6UmS0F/mFmfwPeBO5uxjolxzzccyz9vl3KCTzHejpX2af7WYoE6g1wd38b+FGc7SsIxsNFkmvuXPqtmsQtjGAWJ1TZ1bu3um+RKF2JKellwwYYNIgPWv2Ai7muyi4tUCVSlRazkvQyciRln33OGbzEZnap2KwFqkRqUgcu6eORR+C++7iav/J6tdG5DjUXHRTJeerAJT2sXk3JH4eznJ8wnrFVduXlqfsWiUcduKSeO7N7nEmbss0UMYMy2lTZrVknIvEpwCXlbtj/Do4ve46LmMj77F9ln2adiNROQyiSUj/u+D4vlo7mOU7gNs6tsi8UUniL1EUduKRMn95l3FZaxBbacSb3EHu1ZV6e1joRqY86cEmJcBiOXTie/+E1+vEQq9mjYp9OWookRgEuLS4/H/YreZ3LuYr7OINH6FexT/O9RRKnAJcWlZ8P20q+ZQZFrKYb53FLxb68PM04EWkIBbi0iPx8KCkJHt/EJRzAcvrwAiXkA+q8RRpDJzGl2YXDleF9PLP4EzcziVHMpQ+g9b1FGksduDQrq5xYQie+ZiqDWcqBjGU8oBOWIk2hDlySKj8fWrcOfmLDG+BWRrA7a+nPfWxhZ3r3VniLNIUCXBotHK4M6+hPaWmwb8eOqseexoOczj8YxzhW5B2uKyxFkkBDKNIg4TAsWhQ8jl0hsHpgx9qTldzGubzEkdyx6xh13SJJogCXhOTnB911hw6VYR09MVkXo5x7GUQbtnPUB9P5qqf+5ESSRf82SQ2xYR0VDetEQjsqFILzym/hOJ8Dd94JPXsmtU6RXKcxcKkQDleGd1RJSWKhHQrV/DnAlzHBxsDJJ8PQoc1VtkjOUgeeo8JhKC6uuq16UNcX3Hl5VcMegvnc8+cD27fDkUXwSXuYMqXmlBQRaTIFeA6qHt6lpXWfhIwVClU+LiioYybJ1VfDkiXw2GPw3e82qk4RqZsCPIdEZ5A0JKyj4+DRTruiw67LK6/ANdfAoEHwm980rlgRqZcCPEtFu+zo4lDFxQ3vtGNPYiYU3ADffANFRdC9O9x0U0NKFpEGUoBniXC48nH1se3i4trHs6sHNdQzNFKfCy+Ejz6CefNg110b+SYikggFeAarHtoFBTXDesGC2l9fPbybFNwAzzwDd9wRhHjv3k14IxFJhAI8w9TWaZeU1B3WsaKr/yX1UvYvv4SzzoJDDoG//S2JbywitVGAp6HYkK6uemjXJ3qThNjXNbnTrs4dzj4bvv4ann8edtopiW8uIrVRgCdJNHSjwRj7PN7jqHjb4okGcF2hnZdXc1vsHW6SHtxRM2bA44/DhAlw6KHN8AEiEo8CPAHVw7m2bU2VSEhXFxvasTNOmi2sq/v0Uxg5Eo45BkaPboEPFJGoegPczLoD04GugAOT3f0mM+sMPATsDXwC9HP39c1RZFPDMpHXN/Yzoq+Ljj/n5we/oyEceyux2MdR8bbVJ15oQwqWZy0vD+Z6l5fDtGlVr/IRkWaXSAdeBox29zfMrCOwxMxmA4OAOe5+rZldAlwCjGm+Ulte9XCOnVsd3RZv2KKpou8Z7wa/sXO7IcVrat94Y1DAPffAPvuksBCR3FRvgLv7amB15PEmM1sG7AmcCoQjh00D5pPkAI8XoJB4aCXy+qZ+RvWQba4x8NjPS4sbIbz7Llx6KfTtG3ThItLiGjQGbmZ7Az8CXgW6RsId4AuCIZasEi+Mo2o7aZnMz01bW7dC//7B+M/kyVqoSiRFEg5wM+sAPAaMcveNFvMvrbu7mXktrxsGDAPo0aNHg4qrK0CT9fqmfkb194n3vLbHdW1La+PGwVtvwZNPQpcuqa5GJGclFOBm1oYgvO9398cjm9eYWTd3X21m3YC18V7r7pOByQCFhYVxQz7dZUXoJsuiRcF0wSFD4Fe/SnU1IjnN3OvOVAta7WnA1+4+Kmb7ROCrmJOYnd394rreq7Cw0BcvXtz0qiU1Nm2Cww4LhkyKi6Fjx1RXJJITzGyJuxdW355IB340UAS8Y2bFkW1jgWuBh83sLOBToF+SapV0dcEFwbzvhQsV3iJpIJFZKIuA2s5S9UluOZK2Zs6Eu+8OZp4cfXSqqxERdE9MScTatcE9LQsKghOYIpIWdCm91M09CO+NG4M1vtu2TXVFIhKhAJe6TZ0aTBe84Qb44Q9TXY2IxNAQitRuxQo4/3z42c+C3yKSVuqdRpjUDzNbRzBjJdZuwJctVkTL0ffKLPpemSXXvtf33L3GVXMtGuDxmNniePMbM52+V2bR98os+l4BDaGIiGQoBbiISIZKhwCfnOoCmom+V2bR98os+l6kwRi4iIg0Tjp04CIi0ggKcBGRDJUWAW5mV5vZ22ZWbGazzGyPVNeUDGY20czei3y3J8wsP9U1JYOZ/d7M/mNm5WaW8VO5zOxEM1tuZh9GlkbOeGZ2j5mtNbN3U11LMplZdzObZ2ZLI3+DWXGFmZm1M7PXzOytyPe6MqHXpcMYuJnt6u4bI4//BBzk7sNTXFaTmdkvgLnuXmZmEwDcPeNv/GxmBwLlwJ3Ahe6esYu8m1kIeB84HlgJvA6c7u5LU1pYE5nZsUApMN3dD051PckSuXlMt9ibrAN9s+CflwHt3b00cgOdRcD57v5KXa9Liw48Gt4R7YHU/1clCdx9lruXRZ6+AuyVynqSxd2XufvyVNeRJEcAH7r7CnffBvyD4IbdGc3dFwJfp7qOZHP31e7+RuTxJiB6k/WM5oHSyNM2kZ96czAtAhzAzK4xs8+AM4DLU11PMzgTeDbVRUgNewKfxTxfSRYEQi6odpP1jGdmochNc9YCs9293u/VYgFuZi+Y2btxfk4FcPfL3L07cD9wXkvV1VT1fa/IMZcBZQTfLSMk8r1EUqX6TdZTXU8yuPsOdy8g+D/1I8ys3qGvFltO1t2PS/DQ+4FngCuasZykqe97mdkg4JdAH0+HEw4JasA/r0y3Cuge83yvyDZJU7XcZD1ruPsGM5sHnAjUeRI6LYZQzGy/mKenAu+lqpZkMrMTgYuBU9z921TXI3G9DuxnZvuYWVvgNODJFNcktYic7LsbWObuN6S6nmQxsy7RWWpmtjPBSfV6czBdZqE8BuxPMLPhU2C4u2d8F2RmHwI7AV9FNr2SJbNrfg3cDHQBNgDF7n5CSotqAjM7CbgRCAH3uPs1qa2o6czsQSBMsDzpGuAKd787pUUlgZn1Al4E3iHIC4Cx7v5M6qpqOjM7FJhG8DfYCnjY3a+q93XpEOAiItJwaTGEIiIiDacAFxHJUApwEZEMpQAXEclQCnARkQylABcRyVAKcBGRDPV/2YFSFZapJB4AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import statsmodels.api as sm # anticipating the next class...\n",
    "central = (-1<theoretical_quantiles) & (theoretical_quantiles<1)\n",
    "model = sm.OLS(observed_quantiles[central], sm.add_constant(theoretical_quantiles[central])).fit()\n",
    "a, b = model.params\n",
    "plt.scatter(theoretical_quantiles, observed_quantiles, marker='+', color='b')\n",
    "plt.axline((0, a), slope=b, color='r');"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b8ecfebf",
   "metadata": {},
   "source": [
    "\\[CORR\\]\n",
    "\n",
    "The misalignment of the default regression line on the central part of the distribution is indicative of some asymmetry, while the diverging tails also hint at some departure from normality (kurtosis).\n",
    "\n",
    "Here, we have comfortable sample sizes and these departures from normality may not affect the power of the statistical test."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f6de8e66",
   "metadata": {},
   "source": [
    "Are the sample size and variance of the two groups similar enough for running a standard $t$ test?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "d5ac4dc5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(288, 528, 219.94736689332564, 138.81976459481174)"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(house_owners_age), len(others_age), np.var(house_owners_age), np.var(others_age)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e177b52b",
   "metadata": {},
   "source": [
    "\\[CORR\\] `ttest_ind` allows variance ratios up to $2$. The groups can have different sample sizes."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cd273f22",
   "metadata": {},
   "source": [
    "Test the group mean ages equal:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "ed503837",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Ttest_indResult(statistic=-10.858676761684935, pvalue=9.562420864768222e-26)"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# define your significance level first!\n",
    "significance_level = 0.05\n",
    "\n",
    "# run a t-test for independent samples\n",
    "stats.ttest_ind(house_owners_age, others_age)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "967b1f9f",
   "metadata": {},
   "source": [
    "How would you report the result of this test?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "de90c6e8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(814, -10.305953282828284, -0.7954424784394866)"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# we need:\n",
    "# * the number of degrees of freedom, to give a complete report of the outcome of the t-test,\n",
    "n1, n2 = len(house_owners_age), len(others_age)\n",
    "degrees_of_freedom = n1 + n2 - 2\n",
    "\n",
    "# * the mean difference (this is almost an effect size in itself, an intuitive one),\n",
    "mean_difference = np.mean(house_owners_age) - np.mean(others_age)\n",
    "\n",
    "# * and the effect size.\n",
    "f, _ = stats.ttest_ind(house_owners_age, others_age)\n",
    "cohen_d = f * np.sqrt(1/n1 + 1/n2)\n",
    "\n",
    "degrees_of_freedom, mean_difference, cohen_d"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "21e69d05",
   "metadata": {},
   "source": [
    "\\[CORR\\]\n",
    "\n",
    "«**In our study**, house owners ($n=288$) were found to be significantly younger than the other surveyed people ($n=528$; $10.3$ years younger on average, $t(814)=-10.9$, $p<0.05$). This effect was found to be large (Cohen's $d \\approx 0.8$).»\n",
    "\n",
    "Note: as we report the sample size for each group, we may omit the (still nice-to-have) information of the number of degrees of freedom."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "54db26df",
   "metadata": {},
   "source": [
    "# Asymmetry and power"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b3e0f9d2",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "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.8.10"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": false,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "384px"
   },
   "toc_section_display": false,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}