{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 2-parameters discriminant analysis\n", "\n", "### Authors: \n", "- Christian Michelsen (Niels Bohr Institute)\n", "- Troels C. Petersen (Niels Bohr Institute)\n", "\n", "### Date: \n", "- 15-11-2018 (latest update)\n", "\n", "***\n", "\n", "Python notebook for constructing a Fisher disciminant from two 2D Gaussianly distributed correlated variables. The notebook creates artificial random data for two different types of processes, and the goal is then to separate these by constructing a Fisher discriminant.\n", "\n", "### References:\n", "- Glen Cowan, Statistical Data Analysis, pages 51-57\n", "- http://en.wikipedia.org/wiki/Linear_discriminant_analysis\n", "\n", "***\n", "\n", "First, we import the modules we want to use:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import numpy as np # Matlab like syntax for linear algebra and functions\n", "import matplotlib.pyplot as plt # Plots and figures like you know them from Matlab\n", "from numpy.linalg import inv" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "r = np.random # Random generator\n", "r.seed(42) # Set a random seed (but a fixed one)\n", "save_plots = False # For now, don't save plots (once you trust your code, switch on)" ] }, { "cell_type": "markdown", "metadata": { "lines_to_next_cell": 2 }, "source": [ "## Functions:\n", "\n", "Function for generating a set of correlated random gaussian numbers..." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "lines_to_next_cell": 2 }, "outputs": [], "source": [ "def get_corr(mu1, sig1, mu2, sig2, rho12): \n", "\n", " theta = 0.5 * np.arctan( 2.0 * rho12 * sig1 * sig2 / ( sig1**2 - sig2**2 ) )\n", " sigu = np.sqrt( np.abs( ((sig1*np.cos(theta))**2 - (sig2*np.sin(theta))**2 ) / ( np.cos(theta)**2 - np.sin(theta)**2) ) )\n", " sigv = np.sqrt( np.abs( ((sig2*np.cos(theta))**2 - (sig1*np.sin(theta))**2 ) / ( np.cos(theta)**2 - np.sin(theta)**2) ) )\n", "\n", " u = r.normal(0.0, sigu)\n", " v = r.normal(0.0, sigv)\n", "\n", " x = mu1 + np.cos(theta)*u - np.sin(theta)*v\n", " y = mu2 + np.sin(theta)*u + np.cos(theta)*v\n", "\n", " return x, y" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Function to calculate the separation betweem two lists of numbers (see equation at the bottom of the script). __Note__: Needs to be filled in! " ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "def calc_separation(x, y):\n", " \n", " print(\"calc_separation needs to be filled out\")\n", " \n", " d = 0\n", " \n", " return d" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Define parameters:\n", "\n", "\n", "Number of species, their means and widths, correlations and the number of observations of each species:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# Number of 'species': signal / background\n", "n_spec = 2 \n", "\n", "# Species A, mean and width for the two dimensions/parameters\n", "mean_A = [15.0, 50.0] \n", "width_A = [ 2.0, 6.0] \n", "\n", "# Species B, mean and width for the two dimensions/parameters\n", "mean_B = [12.0, 55.0] \n", "width_B = [ 3.0, 6.0] \n", "\n", "# Coefficient of correlation\n", "corr_A = 0.8\n", "corr_B = 0.9\n", "\n", "# Amount of data you want to create\n", "n_data = 2000 " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Generate data:\n", "\n", "For each \"species\", produce a number of $(x_0,x_1)$ points which are (linearly) correlated:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "lines_to_next_cell": 2 }, "outputs": [], "source": [ "spec_A = np.zeros((n_data, n_spec))\n", "spec_B = np.zeros((n_data, n_spec))\n", "\n", "# Get liniarly correlated random numbers...\n", "for iexp in range(n_data): \n", " spec_A[iexp, :] = get_corr(mean_A[0], width_A[0], mean_A[1], width_A[1], corr_A)\n", " spec_B[iexp, :] = get_corr(mean_B[0], width_B[0], mean_B[1], width_B[1], corr_B)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__Optional__: How to rewrite the above to exclude the for loop? _hint_: does any of the functions used in `get_corr` accept a parameter called `size`?\n", "***\n", "## Plot your generated data:\n", "\n", "We plot the 2D-data as 1D-histograms (basically projections) in $x_0$ and $x_1$:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "calc_separation needs to be filled out\n" ] }, { "data": { "image/png": "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XEBPokOfQ95LAIZB/zM3vI8A42XBXeL+MMuXJ93u3J6z00lWrpzbcwIA09OXA7CILMgR9I263bnt1Ps837vf/e4ceOCBWbp0aTqdTr761a/OXQ1JjjzyyNxzzz1zcq5Op5Ojjz56Ts4FAHNOXz4rfTnAwrGwR9CTyU/JV6+em3NNTMy6y+WXX57Pfe5z+drXvpZtt902d9xxRx544IG5ef2eiy66aE7Oc/3112f9+vX5yle+ku9///vZfvvt5+S8ADCn9OWbpS8HWFgW9gj6ENx6663ZZZddsu222yZJdtlllzz96U9PkixZsiRvectbcvDBB+fQQw/NDTfckCRZt25dXvGKV+SQQw7JIYcckssuuyxJct999+XEE0/MwQcfnKVLl+bCCy/ceJ477rgjSfLRj340hx56aDqdTt7whjdk/fr1Wb9+fU444YQcdNBBOfjgg3PGGWdMW+t5552X4447LkcccUQ+85nPDPR9AYBxoS8HYFgE9Dl2xBFH5Oabb87++++fN73pTbn00ksftv1JT3pSrrnmmpxyyilZvnx5kuS3fuu3smLFilx55ZW58MIL87rXvS5Jcvrpp2/c/+qrr84LXvCCh53r+uuvz/nnn5/LLrss3W43W221VT72sY+l2+3mlltuybXXXptrrrkmJ5544rS1nn/++Tn66KNzzDHH5LzzzhvAuwEA40dfDsCwLPxL3OfZDjvskKuuuipf+cpX8qUvfSmvetWr8p73vCcnnHBCkuSYY47Z+H3FihVJkosvvjjXXXfdxnPce++9ue+++3LxxRfnE5/4xMb2nXba6WGvdckll+Sqq67KIYcckiS5//7789SnPjW/+qu/mhtvvDGnnnpqfuVXfiVHHHHEI+pcs2ZNdtlll+y1117Zfffd85rXvCZ33XVXdt555zl9PwBg3OjLARgWAX0Attpqq0xMTGRiYiIHH3xwVq1atbFTn7rcyYbHDz30UK644opst912W/Q6rbUcf/zx+cM//MNHbPv617+eL3zhCznrrLNywQUX5JxzznnY9vPOOy/f/OY3s2TJkiSTf0hceOGFef3rX79FNQDAQqQvB2AYFn5A73b7mhCm73N1OjPu8q1vfSuPe9zjst9++/UO6eYZz3jGxu3nn39+3va2t+X888/P8573vCSTl9K9733vy5vf/OaNx3Q6nbzwhS/MmWeemZW9pWDuvvvuh33yfvjhh+eoo47KihUr8tSnPjV33XVXvve972X77bfP4x//+LziFa/IM5/5zBx77LEPq/Ghhx7KBRdckGuuuWbjPXVf+tKXcvrpp+vUARg9+nJ9OcAisbAD+iwd8KM63yznvO+++3LqqafmnnvuydZbb5199903Z5999sbtd999d5YuXZptt912471i733ve3PyySdn6dKlefDBB/P85z8/Z511Vt7xjnfk5JNPzkEHHZStttoq73znO/Pyl79847kOOOCAvOtd78oRRxyRhx56KNtss03OPPPMPOEJT8iJJ56Yhx56KEke8an8V77yley+++4bO/Qkef7zn5/rrrsut956a3bbbbfH/FYBwJzQlyfRlwMsFtVaG3YNj9qyZcvamjVrHtZ2/fXX59nPfvaQKprZkiVLNt4vNk5G+T0FWMiq6qrW2rJh1zFI+vLBG+X3E2AhezT9uFncAQAAYAQs7EvcR8xNN9007BIAgMdAXw7AIBlBBwAAgBEgoAMAAMAIENABAABgBCzoe9CXL59c7nQudTpJbylTYJT1+x+AX2oYafpyYCb9/B/hd55xsqBH0Lvdue3U+z3fu9/97hx44IFZunRpOp1OvvrVr85dEUmOPPLI3HPPPY/pHKeddlp23333dDqdPOtZz8pv/MZvbFxrFRaEfn5h5/o/CWDO6cs3T18Os/9O6+oZNwt6BD2Z/MRs9eq5OdfExOz7XH755fnc5z6Xr33ta9l2221zxx135IEHHpibAnouuuiiOTnPihUr8ru/+7t56KGH8vznPz+XXnppDjvssDk5N4yE2f4D6OeXGhg6ffnm6cth5v8jdPWMmwU9gj4Mt956a3bZZZdsu+22SZJddtklT3/605MkS5YsyVve8pYcfPDBOfTQQ3PDDTckSdatW5dXvOIVOeSQQ3LIIYfksssuS5Lcd999OfHEE3PwwQdn6dKlufDCCzee54477kiSfPSjH82hhx6aTqeTN7zhDVm/fn3Wr1+fE044IQcddFAOPvjgnHHGGTPW/MADD+SHP/xhdtppp4G8JwAwTvTlAAyLgD7HjjjiiNx8883Zf//986Y3vSmXXnrpw7Y/6UlPyjXXXJNTTjkly5cvT5L81m/9VlasWJErr7wyF154YV73utclSU4//fSN+1999dV5wQte8LBzXX/99Tn//PNz2WWXpdvtZquttsrHPvaxdLvd3HLLLbn22mtzzTXX5MQTT5y21jPOOCOdTie77bZb9t9//3Q6nQG8IwAwXvTlAAyLgD7Hdthhh1x11VU5++yzs+uuu+ZVr3pVPvzhD2/cfswxx2z8fvnllydJLr744pxyyinpdDp56UtfmnvvvTf33XdfLr744px88skbj930U/FLLrkkV111VQ455JB0Op1ccsklufHGG7PPPvvkxhtvzKmnnprPf/7zeeITnzhtrStWrEi3283tt9+e73//+/nEJz4xx+8GAIwffTkAw7Lg70Efhq222ioTExOZmJjIwQcfnFWrVuWEE05IklTVxv02PH7ooYdyxRVXZLvtttui12mt5fjjj88f/uEfPmLb17/+9XzhC1/IWWedlQsuuCDnnHPOZs+zzTbb5EUvelG+/OUv5+ijj96iGgBgIdKXAzAMCz6gd7tzNzlEtzs5CcVMvvWtb+Vxj3tc9ttvv94x3TzjGc/YuP3888/P2972tpx//vl53vOel2TyUrr3ve99efOb37zxmE6nkxe+8IU588wzs7K3LsTdd9/9sE/eDz/88Bx11FFZsWJFnvrUp+auu+7K9773vWy//fZ5/OMfn1e84hV55jOfmWOPPXbGmltrueyyy/LTP/3TW/yeAMCg6cv15QCLxYIO6HN9G1anM/s577vvvpx66qm55557svXWW2fffffN2WefvXH73XffnaVLl2bbbbfNeeedlyR573vfm5NPPjlLly7Ngw8+mOc///k566yz8o53vCMnn3xyDjrooGy11VZ55zvfmZe//OUbz3XAAQfkXe96V4444og89NBD2WabbXLmmWfmCU94Qk488cSNS61M96l8Mnnf2kc/+tH8+Mc/ztKlS/OmN73pMb5DADC39OX6coDFpFprw67hUVu2bFlbs2bNw9quv/76PPvZzx5SRTNbsmRJ1qxZk1122WXYpWyRUX5PYbM2DLf1s8zaXK3fBHOsqq5qrS0bdh2DpC8fvFF+P+Gxmq0r19UzTI+mHzdJHAAAAIyABX2J+6i56aabhl0CAPAY6MsBGKQFOYI+zpftjxrvJcDiVVXnVNXtVXXtJu2nVtU3q+obVfXHU9rfXlU3VNW3quqXH8tr63/mhvcRYLwsuIC+3Xbb5c4779QhzYHWWu68884tXjIGgAXjw0leNLWhqg5LclSSn2qtHZjkf/baD0hydJIDe8f8eVVt9WheVF8+N/TjAONnwV3ivscee2Tt2rVZt27dsEtZELbbbrvssccewy4DgCForX25qpZs0vwbSd7TWvtRb5/be+1HJflEr/3fq+qGJIcmuXxLX1dfPnf04wvE8uWTawTOptNJekv6AeNpwQX0bbbZJnvvvfewywCAhWr/JL9QVe9O8sMkv9tauzLJ7kmumLLf2l7bI1TVSUlOSpK99trrEdv15bCJbnfya6Y1AvsJ8MDIW3ABHQAYqK2T7JzkuUkOSXJBVe2zJSdorZ2d5Oxkcpm1Oa8QFqJOp7+lQ4GxtuDuQQcABmptkk+1Sf+U5KEkuyS5JcmeU/bbo9cGAPRJQAcAtsSnkxyWJFW1f5LHJ7kjyWeTHF1V21bV3kn2S/JPQ6sSAMaQS9wBgGlV1XlJJpLsUlVrk7wzyTlJzuktvfZAkuPb5HTr36iqC5Jcl+TBJCe31tYPp3IAGE8COgAwrdbaMZvZdOxm9n93kncPriIAWNhc4g4AAAAjQEAHAACAETCwS9yras8k5yZ5WpKW5OzW2p9V1c5Jzk+yJMlNSV7ZWru7qirJnyU5MskPkpzQWvvaoOoDAAC2zPLl/S253ukkK1cOvh5YaAY5gv5gkt9prR2QybVST66qA5K8LcklrbX9klzSe54kL87kjK/7JTkpyQcGWBsAALCFut3ZA3o/+wDTG9gIemvt1iS39h5/r6quT7J7kqMyOSNskqxKsjrJW3vt5/Zmgr2iqp5cVbv1zgMAAIyATidZvXrz2ycm5qsSWHjm5R70qlqS5KeTfDXJ06aE7u9k8hL4ZDK83zzlsLW9tk3PdVJVramqNevWrRtYzQAAADCfBh7Qq2qHJBcmWd5au3fqtt5oeduS87XWzm6tLWutLdt1113nsFIAAAAYnoEG9KraJpPh/GOttU/1mm+rqt1623dLcnuv/ZYke045fI9eGwAAACx4g5zFvZJ8KMn1rbX/NWXTZ5Mcn+Q9ve+fmdJ+SlV9IslzknzX/eewSPUzRazpYQFgbvXT/3ZXJjvskGTfeSkJFpuBBfQkP5/kuCTXVNWG3/T/nslgfkFVvTbJt5O8srftokwusXZDJpdZO3GAtQGjbMP0r53O5rcDAHNrtv43Se67b/7qgUVokLO4/2OS2szmw6fZvyU5eVD1AGNmpiliTQ8LAIMx2xTtT/YhOQzSIEfQAQCARajbnf3z9NnuVuvrivtZBvxh3AjoAADAnOknMPdzt1o/V9x3OgI6C4uADgAAzJl+5nDt92612a64h4Vm4OugAwAAALMT0AEAAGAECOgAAAAwAgR0AAAAGAECOgAAAIwAAR0AAABGgIAOAAAAI0BABwAAgBGw9bALAACARWv58qTbnXmfbjfpdGY/V7ebTEzMvE+nk6xc2Xd5gzRbuf3+2LCQCOgAADAs3e7sSbTTmT2p9hvgR0Q/5fbzY8NCI6AD48nH7gAsFJ1Osnr1YztHP6Pis42uz6MRGcSHkSOgA+PHx+4AACxAAjowfnzsDgDAAmQWdwAAABgBAjoAAACMAAEdAAAARoCADgAAACNAQAcAAIARIKADAADACBDQAQAAYAQI6AAAADACBHQAAAAYAQI6AAAAjICth10AAAAwRu67L5mYmHmfTidZuXJeyoGFREAHAAD6s8MOs+/T7Q6+DligBHQAAKA/++47+X316s3vM9voOrBZAjoAACwW3e7mA3S3O3lpOjA0JokDABaM17/+9amqrFixYtilzOjmm2/Or/3ar+VJT3pSnvjEJ+blL395/uM//mPOj5/r/Rhznc7MAXy27cDAGUEHABaE+++/PxdccEGqKh//+MfzJ3/yJ9l669H7U+cHP/hBXvCCF2TbbbfNqlWrUlV5xzvekcMOOyxXX311tt9++zk5fq73YwEwaRuMvNHrtQAAHoVPf/rTuffee/PWt741f/RHf5TPf/7zeclLXjLssh7hgx/8YG688cZ861vfyr69+3mXLl2a/fbbL3/xF3+R3/7t356T4+d6PwAGzyXuAMCCsGrVquy99945/fTTs+uuu2bVqlXDLmlan/3sZ/Pc5z53YxhOkr333js///M/n8985jNzdvxc7wfA4AnoAMDY+z//5//k4osvzrHHHpttttkmRx99dP72b/82d99995y/VmstDz744Kxf69evn/b4b3zjGznooIMe0X7ggQfmuuuum/X1+z1+rvcDYPAEdABg7H30ox/N+vXrc+yxxyZJXv3qV+dHP/pRzj///Dl/rUsvvTTbbLPNrF+HH374tMffdddd2WmnnR7RvvPOO/f1gUK/x8/1fgAMnnvQAYCxt2rVqjznOc/J/vvvnyRZtmxZnvWsZ2XVqlV54xvfOOvxp59+ej7ykY/khhtuyKc+9am87GUv2+y+P/uzP5srr7xy1nPuuOOO/f8AABABHQAYc2vWrMl1112X97///Q9rP+644/J7v/d7+Zd/+ZeNwX1zXvjCF+bXf/3X85rXvGbW19thhx3S6WMpqqqatn2nnXaadmR6cyPZj/b4ud4PgMFziTsAMNZWrVqVbbbZJq961ase1n7sscemqnLuuedubHvjG9+Y3/md30mS3HbbbTn44INz0UUX5bnPfW722Wefvl7vsV7ifuCBB+Yb3/jGI9qvu+66HHDAAbO+fr/Hz/V+AAyegA4ATKuqzqmq26vq2mm2/U5Vtarapfe8quq9VXVDVV1dVT8zHzU+8MADOe+88/LiF784u+yyy8O27bXXXvnFX/zFfOQjH0lrLUnyB3/wB/nIRz6Sr33ta3nxi1+c3//938+RRx65Ra+54RL32b7+4i/+YtrjX/rSl+aKK67IjTfeuLHtpptuymWXXZaXvvSls75+v8fP9X4ADJ5L3AGAzflwkvcnOXdqY1XtmeSIJP8xpfnFSfbrfT0nyQd63wfq7/7u73LnnXdmzz33zKc//elHbN9nn32yevXqrF69Oocddlie+tSnZvny5fm5n/u5nHPOOXn5y1++xa+54447ZtmyZY+65te//vV5//vfn6OOOirvete7UlX5H//jf2TPPffMG97whofte+mll+bwww/POeeck1e/+tVbdPxc7wfA4AnoAMC0Wmtfrqol02w6I8lbkkxdJPuoJOe2yaHqK6rqyVW1W2vt1kHWuGGt8zPPPDNnnnnmjPsddthhueuuu/LXf/3X2WmnnbLnnnsOsrTN2n777fMP//APWbFiRY477ri01nL44Ydn5cqV2WGHHR62b2st69evz0MPPbTFx8/1fgAMnoAOAPStqo5Kcktr7eubTIK2e5Kbpzxf22t7RECvqpOSnJRMXob+WEw3ar453/3ud/OiF70oy5cvz4477pgVK1bkyiuv3OxkboO011575cILL5x1v4mJiY2X5z+a4+d6PwAGS0AHFrduN5mYmHmfTidZuXJeyoFRVlU/keS/Z/Ly9kettXZ2krOTZNmyZY9MnwPw/e9/P0ceeWROOOGEHH/88UmSP/3TP825556b448/Pqeddlr+8i//MuvWrcu1116bU045JVdccUX22GOP+SgPAJII6MBi1scySel2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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig_1D, ax_1D = plt.subplots(ncols=2, figsize=(14, 8))\n", "\n", "ax_1D[0].hist(spec_A[:, 0], 50, (0, 25), histtype='step', label='Species A', color='Red', lw=1.5)\n", "ax_1D[0].hist(spec_B[:, 0], 50, (0, 25), histtype='step', label='Species B', color='Blue', lw=1.5)\n", "ax_1D[0].set(title='Parameter x0', xlabel='x0', ylabel='Counts', xlim=(0,25))\n", "ax_1D[0].legend(loc='upper left')\n", "\n", "# uncomment later\n", "#ax_1D[0].text(1, 176, fr'$\\Delta_{{x0}} = {calc_separation(spec_A[:, 0], spec_B[:, 0]):.3f}$', fontsize=16)\n", "\n", "ax_1D[1].hist(spec_A[:, 1], 50, (20, 80), histtype='step', label='Species A', color='Red', lw=1.5)\n", "ax_1D[1].hist(spec_B[:, 1], 50, (20, 80), histtype='step', label='Species B', color='Blue', lw=1.5)\n", "ax_1D[1].set(title='Parameter x1', xlabel='x1', ylabel='Counts', xlim=(20, 80))\n", "ax_1D[1].legend(loc='upper left')\n", "\n", "# uncomment later\n", "#ax_1D[1].text(22, 140, fr'$\\Delta_{{x1}} = {calc_separation(spec_A[:, 1], spec_B[:, 1]):.3f}$', fontsize=16)\n", "\n", "\n", "fig_1D.tight_layout()\n", "\n", "if save_plots :\n", " fig_1D.savefig('InputVars_1D.pdf', dpi=600)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*** \n", "Wait with drawing this 2D distribution, so that you think about the 1D distributions first!\n", "***" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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S5KWlc7k/jZJ7SG2YWi++tWv6vOf/7zuvvtu1et1Pf744zp2rPRk9Lluu+22SrZz//336+TJk/rKV76in//853rmM59ZyXYBAAAAANUZ5hj0u5ROBne30iXWZiR9VNK7Jf1BkiTfVbrU2p8Pqw3D9Oijj2rz5s2q1+uSpM2bN+uFL3yhJOnss8/Wu971Lp133nm64IIL9N3vfleS9Nhjj+myyy7T+eefr/PPP1933nmnJOnIkSO6/PLLdd5552n79u269dZb17bz+OOPS5I++clP6oILLtCOHTt0xRVX6OTJkzp58qTe/va3a9u2bTrvvPP0oQ99yNvW/fv3661vfasWFxfVbk9lfwgAAAAArHtDncXdGPNeY8zLjTHbjDFvNcY8bYx50BhzgTHmpcaYNxpjnh5mG7qsrEh79qT/DmhxcVHf//739bKXvUzvfOc79dd//dddv9+0aZPuu+8+7dmzR1dddZUk6fd///d19dVX62tf+5puvfVWveMd75AkXXvttWuvv/fee/W6172ua1v333+/br75Zt1555265557NDs7q0996lO655579IMf/EDf+MY3dN999+nyyy/3tvXmm2/WW97yFu3evVv79+8f+NgBAAAAANUbZon7ZFlZkXbvlo4elT7+cWn/fmlpqe/NnXHGGTp8+LC+8pWv6Etf+pLe/OY36wMf+IDe/va3S5J279699u/VV18tSbr99tv1zW9+c20bP/vZz3TkyBHdfvvt+vSnP732/HOf+9yufd1xxx06fPiwzj//fEnSL37xC/3SL/2Sdu3apQcffFBXXnmlLrnkEi0uLva089ChQ9q8ebO2bNmiF73oRfpn/+yf6Sc/+YnOPPPMvo8dAAAAAFC9jROgHziQBudS+u+BAwMF6JI0Ozuriy66SBdddJHOO+88feITn1gL0O2ly7L/PnXqlA4ePKjTTz+91H6MMXrb296m97///T2/+/rXv64vfvGL2rdvn2655RZ97GMf6/r9/v379a1vfUtnn322pLRT4NZbb9Xv/M7vlGoDAAAAAGC4hlriPlEWF6X5+fS/5+fTnwfw7W9/W9/5znfWfr7nnnu0devWtZ9vvvnmtX9f85rXrDZhUR/+8Ie73iNJb3jDG7R3796155944omufV188cX67Gc/qx/96EeSpJ/85Cf63ve+p8cff1ynTp3SZZddpve97326++67u9536tQp3XLLLbrvvvv08MMP6+GHH1a73abMHQAAAAAm0MbJoC8tpWXtBw6kwfmA2fMjR47oyiuv1JNPPqlaraaXvvSl+uhHP7r2+yeeeELbt29XvV5fC4hvuOEGNZtNbd++XSdOnNBrX/ta7du3T+95z3vUbDa1bds2zc7O6r3vfa8uvfTStW298pWv1Pve9z4tLi7q1KlTOu2007R371494xnP0OWXX65Tp05JUk+G/Stf+Ype9KIXrU1eJ0mvfe1r9c1vflOPPvqoXvCCFwx0DgAAAAAA1UmMMeNuQ6GdO3eaQ4cOdT13//336xWveMWYWpTv7LPPXhv7PS0m+XwCAAAAwDRLkuSwMWZn0es2Tok7AAAAAAATbOOUuI/Qww8/PO4mAAAAAACmDBl0AAAAAAAmAAE6AAAAAAATgAAdAAAAADA1VlakPXvSf9cbAnQAAAAAwFRYWZF275b27k3/XW9BOgH6AK677jq96lWv0vbt27Vjxw7dddddlW6/0WjoySefHGgbf/RHf6QXvehF2rFjh17+8pfr937v99bWTQcAAACAaXLggHT0aPrfR4+mP68nBOh9+upXv6rPf/7zuvvuu3Xvvffq9ttv16/8yq9Uuo/bbrtNz3nOcwbeztVXX6177rlH3/zmN3Xffffpr//6rytoHQAAAACM1uKiND+f/vf8fPrzekKA3qdHH31UmzdvVr1elyRt3rxZL3zhCyVJZ599tt71rnfpvPPO0wUXXKDvfve7kqTHHntMl112mc4//3ydf/75uvPOOyVJR44c0eWXX67zzjtP27dv16233rq2nccff1yS9MlPflIXXHCBduzYoSuuuEInT57UyZMn9fa3v13btm3Teeedpw996EO5bT527JieeuopPfe5zx3KOQEAAACAYVpakvbvl5rN9N+lpXG3qFobKkCvcjKBxcVFff/739fLXvYyvfOd7+zJSm/atEn33Xef9uzZo6uuukqS9Pu///u6+uqr9bWvfU233nqr3vGOd0iSrr322rXX33vvvXrd617Xta37779fN998s+68807dc889mp2d1ac+9Sndc889+sEPfqBvfOMbuu+++3T55Zd72/qhD31IO3bs0Ate8AK97GUv044dOwY/AQAAAAAwBktL0kc+sv6Cc2kDBehVTyZwxhln6PDhw/roRz+qs846S29+85v1F3/xF2u/371799q/X/3qVyVJt99+u/bs2aMdO3ZoaWlJP/vZz3TkyBHdfvvtajaba+91M9x33HGHDh8+rPPPP187duzQHXfcoQcffFAveclL9OCDD+rKK6/Uv//3/17PfvazvW3NStx/9KMf6ec//7k+/elPD3bwAAAAAIDK1cbdgFHxTSYwaI/L7OysLrroIl100UU677zz9IlPfEJvf/vbJUlJkqy9LvvvU6dO6eDBgzr99NNL7ccYo7e97W16//vf3/O7r3/96/riF7+offv26ZZbbtHHPvax4HZOO+00/cZv/Ib+5m/+Rm95y1tKtQEAAAAAMFwbJoNe9WQC3/72t/Wd73xn7ed77rlHW7duXfv55ptvXvv3Na95zWobFvXhD3+46z2S9IY3vEF79+5de/6JJ57o2tfFF1+sz372s/rRj34kSfrJT36i733ve3r88cd16tQpXXbZZXrf+96nu+++O7fNxhjdeeedOvfcc/s5ZAAAAADAEG2YDHo2mcCBA2lwPmj2/MiRI7ryyiv15JNPqlar6aUvfak++tGPrv3+iSee0Pbt21Wv17V//35J0g033KBms6nt27frxIkTeu1rX6t9+/bpPe95j5rNprZt26bZ2Vm9973v1aWXXrq2rVe+8pV63/vep8XFRZ06dUqnnXaa9u7dq2c84xm6/PLL15ZN82XYpXQM+ic/+UkdP35c27dv1zvf+c7BDh4AAAAAULnEGDPuNhTauXOnOXToUNdz999/v17xileMqUX5zj77bB06dEibN28ed1OiTfL5BAAAAIBpliTJYWPMzqLXbZgSdwAAAAAAJtmGKXEfpYcffnjcTQAAAAAATJmpzqBPQ3n+NOA8AgAAAMD4TW2Afvrpp+vHP/4xweWAjDH68Y9/XHrpNwAAAABAtaa2xP3FL36xHnnkET322GPjbsrUO/300/XiF7943M0AAAAAgA1tagP00047Teecc864mwEAAAAAQCWmtsQdAAAAAID1hAAdAAAAAIAJQIAOAAAAAMAEIEAHAAAAAGACEKADAAAAADABCNABAAAAAJgABOgAAAAAAEwAAnQAAAAAQKVWVqQ9e9J/EY8AHQAAAABQmZUVafduae/e9F+C9HgE6AAAAACAyhw4IB09mv730aPpz4hDgA4AAAAAqMziojQ/n/73/Hz6M+LU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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig_corr, ax_corr = plt.subplots(figsize=(14, 8))\n", "\n", "ax_corr.scatter(spec_A[:, 0], spec_A[:, 1], color='Red', s=10, label='Species A')\n", "ax_corr.scatter(spec_B[:, 0], spec_B[:, 1], color='Blue', s=10, label='Species B')\n", "ax_corr.set(xlabel='Parameter x0', ylabel='Parameter x1', title='Correlation');\n", "\n", "ax_corr.legend()\n", "fig_corr.tight_layout()\n", "\n", "if save_plots :\n", " fig_corr.savefig('InputVars_2D.pdf', dpi=600)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Fisher Discriminant calculation:\n", "\n", "We want to find $\\vec{w}$ defined by:\n", "\n", "$$\\vec{w} = \\left(\\Sigma_A + \\Sigma_B\\right)^{-1} \\left(\\vec{\\mu}_A - \\vec{\\mu}_B\\right)$$ \n", "\n", "which we use to project our data into the best separating plane (line in this case) given by:\n", "\n", "$$ \\mathcal{F} = w_0 + \\vec{w} \\cdot \\vec{x} $$\n", "\n", "We start by finding the means and covariance of the individuel species: (__fill in yourself!__)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mu_A = 0 # fill in yourself\n", "mu_B = 0 # fill in yourself\n", "mu_A" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "cov_A = 0 # fill in yourself\n", "cov_B = 0 # fill in yourself" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cov_sum = cov_A + cov_B\n", "cov_sum" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "where `cov_sum` is the sum of the all of the species' covariance matrices. We invert this using scipy's `inv` function. __Note__: fill in yourself!" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "lines_to_next_cell": 2 }, "outputs": [ { "data": { "text/plain": [ "array([[1. , 0. ],\n", " [0. , 0.5]])" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# delete the definition below of cov_sum when you have filled in the cells above:\n", "cov_sum = np.diag([1, 2])\n", "\n", "# inverts cov_sum\n", "cov_sum_inv = inv(cov_sum)\n", "cov_sum_inv" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We calculate the fisher weights, $\\vec{w}$. __Note__: fill in yourself:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1., 1.])" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wf = np.ones(2) # fill in yourself\n", "wf" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We calculate the fisher discriminant, $\\mathcal{F}$. __Note__: fill in yourself:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "fisher_data_A = spec_A[:, 0] * (-1.4) + 7 # fill in yourself\n", "fisher_data_B = spec_B[:, 1] * (-0.6) + 25 # fill in yourself" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and plot it:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1gAAAI4CAYAAAB3HEhGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3X+QrXV9J/j3Z+4lYMXEEDGuQnIOiRpF7t2bSsPESS1DNBLHTIyRzAq1lQWM0UQwyk7GyWzcjbNiaSY1w6wOOxQ7cUOVFj9KNtEiTlxh1LiUEvviVVTCSEh3icsUoDAOThThfveP29zuPvS9/eN8u8/p7ter6ql7np/fz/Oc7/Oc877P6XOqtRYAAADG93cmXQAAAMBOIWABAAB0ImABAAB0ImABAAB0ImABAAB0ImABAAB0ImABAAB0ImABAAB0ImABAAB0sncrGzvllFPacDjcyiYBAADGdvDgwYdaa89abbktDVjD4TCzs7Nb2SQAAMDYqmp+Lcv5iCAAAEAnAhYAAEAnAhYAAEAnW/o3WAAAQH/f+973ct999+U73/nOpEvZ9k466aScdtppOeGEEza0voAFAADb3H333Zcf+IEfyHA4TFVNupxtq7WWb3zjG7nvvvty+umnb2gbPiIIAADb3He+850885nPFK7GVFV55jOfOdadQAELAAB2AOGqj3GPo4AFAADQiYAFAAA7zXCYVPUbhsNVm3zXu96VF7/4xdm/f38OHDiQ22+/vesuvfKVr8wjjzzSZVsHDhzIBRdc0GVbo3zJBQAA7DTz80lr/ba3ysfmPvOZz+Tmm2/OHXfckRNPPDEPPfRQHnvssX7tJ/noRz/aZTt33XVXnnjiiXz605/Ot7/97Xz/939/l+0+yR0sAABgLPfff39OOeWUnHjiiUmSU045Jc997nOTJMPhMG9729uyb9++nH322bnnnnuSJA8++GDOP//8nHXWWTnrrLNy2223JUkeffTRXHLJJdm3b1/279+fm2666eh2HnrooSTJBz7wgZx99tk5cOBA3vjGN+aJJ57IE088kYsvvjhnnnlm9u3blyuvvHLFWq+77rr82q/9Ws4777x8+MMf7n4sBCwAAGAs5513Xr72ta/lBS94Qd70pjflU5/61LL5z3jGM3LnnXfmsssuy1vf+tYkyVve8pZcfvnl+dznPpebbropr3/965Mk73znO48u/8UvfjEvfelLl23rrrvuyg033JDbbrsthw4dyp49e/LBD34whw4dyte//vV86Utfyp133plLLrlkxVpvuOGGXHDBBbnwwgtz3XXXdT8WPiIIAACM5elPf3oOHjyYT3/60/nEJz6R1772tXnPe96Tiy++OEly4YUXHv338ssvT5Lccsst+cpXvnJ0G9/61rfy6KOP5pZbbsn1119/dPrJJ5+8rK1bb701Bw8ezFlnnZUk+du//dv8yI/8SH7pl34p9957b9785jfnF3/xF3Peeec9pc7Z2dmccsop+bEf+7Gceuqped3rXpdvfvOb+eEf/uFux0LAAgAAxrZnz56ce+65Offcc7Nv375ce+21RwPW0q8+f/Lx4cOH89nPfjYnnXTSutppreWiiy7Ku9/97qfM+8IXvpCPfexjufrqq3PjjTfm/e9//7L51113Xf7qr/4qw4Uv7fjWt76Vm266Kb/xG7+xrhqOx0cEAQCAsdx999356le/enT80KFDGQwGR8dvuOGGo/++5CUvSXLkY4Xve9/7lq2TJC9/+ctz1VVXHZ3+8MMPL2vrZS97WT70oQ/lgQceSJJ885vfzPz8fB566KEcPnw4559/fq644orccccdy9Y7fPhwbrzxxtx5552Zm5vL3NxcPvzhD3f/mKA7WAAAsNMMBqt+89+6t3ccjz76aN785jfnkUceyd69e/O85z0v11xzzdH5Dz/8cPbv358TTzzxaKB573vfm0svvTT79+/P448/nnPOOSdXX3113v72t+fSSy/NmWeemT179uT3f//385rXvObots4444xcccUVOe+883L48OGccMIJueqqq/K0pz0tl1xySQ4fPpwkT7nD9elPfzqnnnrq0S/fSJJzzjknX/nKV3L//ffnOc95ztiHKUmq9fz6xlXMzMy02dnZLWsPAAB2g7vuuisvetGLJl3GiobD4dG/fdouVjqeVXWwtTaz2ro+IggAANCJjwgCAACbZm5ubtIlbCl3sAAAADoRsAAAADoRsAAAADoRsAAAADoRsIDxDIdHfmfjyWHhl9EBgMkZfXked1jLy/u73vWuvPjFL87+/ftz4MCB3H777V336ZWvfGUeeeSRsbbxjne8I6eeemoOHDiQF77whfmt3/qto7+b1YtvEQTGMz+fLP09vZ4/aggAbMjoy/O4Vnt5/8xnPpObb745d9xxR0488cQ89NBDeeyxx/oVkOSjH/1ol+1cfvnl+Z3f+Z0cPnw455xzTj71qU/l537u57psO3EHCwAAGNP999+fU045JSeeeGKS5JRTTslzn/vcJEd+aPhtb3tb9u3bl7PPPjv33HNPkuTBBx/M+eefn7POOitnnXVWbrvttiTJo48+mksuuST79u3L/v37c9NNNx3dzkMPPZQk+cAHPpCzzz47Bw4cyBvf+MY88cQTeeKJJ3LxxRfnzDPPzL59+3LllVcet+bHHnss3/nOd3LyySd3PRYCFgAAMJbzzjsvX/va1/KCF7wgb3rTm/KpT31q2fxnPOMZufPOO3PZZZflrW99a5LkLW95Sy6//PJ87nOfy0033ZTXv/71SZJ3vvOdR5f/4he/mJe+9KXLtnXXXXflhhtuyG233ZZDhw5lz549+eAHP5hDhw7l61//er70pS/lzjvvzCWXXLJirVdeeWUOHDiQ5zznOXnBC16QAwcOdD0WAhYAADCWpz/96Tl48GCuueaaPOtZz8prX/va/PEf//HR+RdeeOHRfz/zmc8kSW655ZZcdtllOXDgQF71qlflW9/6Vh599NHccsstufTSS4+uO3qH6dZbb83Bgwdz1lln5cCBA7n11ltz77335sd//Mdz77335s1vfnP+/M//PD/4gz+4Yq2XX355Dh06lAceeCDf/va3c/3113c9Fv4GCwAAGNuePXty7rnn5txzz82+ffty7bXX5uKLL06S1JI/4nry8eHDh/PZz342J5100rraaa3loosuyrvf/e6nzPvCF76Qj33sY7n66qtz44035v3vf/8xt3PCCSfkFa94Rf7iL/4iF1xwwbpqOB53sAAAgLHcfffd+epXv3p0/NChQxkMBkfHb7jhhqP/vuQlL0ly5GOF73vf+5atkyQvf/nLc9VVVx2d/vDDDy9r62Uve1k+9KEP5YEHHkiSfPOb38z8/HweeuihHD58OOeff36uuOKK3HHHHcetubWW2267LT/xEz+xkV0+JnewAABghxkM+n6x75KstKJHH300b37zm/PII49k7969ed7znpdrrrnm6PyHH344+/fvz4knnpjrrrsuSfLe9743l156afbv35/HH38855xzTq6++uq8/e1vz6WXXpozzzwze/bsye///u/n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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig_fisher, ax_fisher = plt.subplots(figsize=(12, 8))\n", "ax_fisher.hist(fisher_data_A, 200, (-22, 3), histtype='step', color='Red', label='Species A')\n", "ax_fisher.hist(fisher_data_B, 200, (-22, 3), histtype='step', color='Blue', label='Species B')\n", "ax_fisher.set(xlim=(-22, 3), xlabel='Fisher-discriminant')\n", "ax_fisher.legend()\n", "\n", "# ax_fisher.text(-21, 60, fr'$\\Delta_{{fisher}} = {calc_separation(fisher_data_A, fisher_data_B):.3f}$', fontsize=16)\n", "\n", "fig_fisher.tight_layout()\n", "\n", "if save_plots:\n", " fig_fisher.savefig('FisherOutput.pdf', dpi=600)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is easy to visually see the increased seperation. We can also compare $\\Delta_{fisher}$ to $\\Delta_{x0}$ or $\\Delta_{x1}$ and see it clearly." ] }, { "cell_type": "markdown", "metadata": { "lines_to_next_cell": 2 }, "source": [ "# Questions\n", "\n", "As always, make sure that you know what the code is doing so far, and what the aim of the exercise is (i.e. which problem to solve, and how). Then start to expand on it. \n", "\n", "1. Look at the 1D distributions of the two discriminating variables for the two species, and see how well you can separate them by eye. It seems somewhat possible, but certainly far from perfect... Once you consider the 2D distribution (scatter plot - to be uncommented by you!), then it is clear, that some cut along a line at an angle will work much better. This exercise is about finding that optimal line, and thus the perpendicular axis to project the data onto!\n", "\n", "2. Calculate the mean, widths (std) and covariance of each discriminating variable (pair of variables for covariance) for each species, and put these into the matrices defined.\n", "\n", "3. From the inverted summed matrix and vectors of means, calculate the two Fisher coefficients, and given these, calculate the Fisher discriminant for the two species in question, i.e. $ \\mathcal{F} = w_0 + \\vec{w} \\cdot \\vec{x} = w_x \\cdot x + w_y \\cdot y $ for each point (x,y).\n", "\n", "4. What separation did you get, and is it notably better than what you obtain by eye? Also, do your weights make sense? I.e. are they comparable to the widths of the\n", " corresponding variable? As a simple measure of how good the separation obtained is, we consider the \"distance\" between the two distributions as a measure of goodness: \n", " \n", " $$\\Delta^2 = \\frac{(\\mu_A-\\mu_B)^2}{\\sigma_A^2+\\sigma_B^2}$$\n", " \n", " Compare the separation you get from each of the two 1D histograms of $x_0$ and $x_1$ with what you get from the Fisher discriminant, using the above formula.\n", "\n", " Of course the ultimate comparison should be done using ROC curves!\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "executable": "/usr/bin/env python", "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.6.7" }, "main_language": "python" }, "nbformat": 4, "nbformat_minor": 2 }