{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "image/png": "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kl1cNn4Zf2ZT6+LMiAY1BauegCgwOcmliAXn+zFkoasZqGKQfYyFhkZR35JFSIcxX3EcSJQyLIhL5gYSY2wb/+/Pq3LOmJbVcZV58BqRe1PgImXjeMzdmsAxrPFy/O6cWW6VILprXZsBROivzSTGdjdhxOKlOp0Yu97rOOZ4+JqrJDDpQh0joI5NYOTnjCuJR32SUS5czh9Zq8cyM2do+6Y56EKDy1hkDPy8slC5yvcwlUWvFgDHAv0CnhkekUITknNWpO8iswh2k/5y0H1MiKnb02wvg1Ssl5Prkmwgy0TCs5J4RqUY1T3hg8b0LD6IdneStplvC7pYb/gf39sBOXeCfVdpqa22P9VinIDDNChlO4w0wkEuN73JDEcXR54RoQ/PSWBFYohB7ruxRImVr5+L1qtJHyAAYs6ewLkFIxoTyTUMbJP6JdYwf46/eX+6heRdxjgY3wbRFw0oKhtprw7NUiN0bq1sth0k2XUFRvNiAl2Tu2FfEIj1dNOkBWgTbnfdLAW+qw2UWS0CM96srwUuboprLeeSjXdFtj+5GyzQQ0wt3zb5WRRXS7/dhS5nn2ZR/9z9NVzUsXZZbESrGoKQSHDnwfIY2klNod5bxEDYXSnhL9WtyfERO/rd1lKFlOU0z5EMK1hV2F4jXlcWfO87ZXYOqHVW03Ng4nu2Yp0RjfgzNr4kmWUGkT63LlE0uHCwQOpjf8Q4SNn3qT3aW2wSi+YiFwzqyB5s237inOK1GS1T/J4My/rfJjxHz+c1htrVo6wK7gY6ICEAsblLdwswcVuiijd14mtiOaGXSXqUhCOSL1/YKaOeOFoGq43ThPJ/P268+JXF1qkAFqtUdu/alpYABgmWJHbkcP14/7WLPmXkb2QdvtwlmRlPwxdxYBUZml06hKFWqFRhg9O6ZbCjRtjqfURtSgy0RHTSFkDdzrwDA/83BOETW/WSFhn8IjeyhN/LmLwDmGbN8P+Eoy+qfMaUN3KYpFfC/NqvchAeaWVSx0V8kOEzGLQQvAdUSB2oNXKlatymzKzyp9AHiQxkoAzxqpCuMzqMRW1lVa3qjk7Aq6QbLWQw44qFoW98/yueirCt0KnP0pMg8abEMJuvw+v/B1zBSj+GD0vGAAAAB3RFWHRBdXRob3IAqa7MSAAAAAx0RVh0RGVzY3JpcHRpb24AEwkhIwAAAAp0RVh0Q29weXJpZ2h0AKwPzDoAAAAOdEVYdENyZWF0aW9uIHRpbWUANfcPCQAAAAl0RVh0U29mdHdhcmUAXXD/OgAAAAt0RVh0RGlzY2xhaW1lcgC3wLSPAAAACHRFWHRXYXJuaW5nAMAb5ocAAAAHdEVYdFNvdXJjZQD1/4PrAAAACHRFWHRDb21tZW50APbMlr8AAAAGdEVYdFRpdGxlAKju0icAAAAASUVORK5CYII=\n", "text/plain": [ "<IPython.core.display.Image object>" ] }, "execution_count": 1, "metadata": { "image/png": { "width": 200 } }, "output_type": "execute_result" } ], "source": [ "from IPython.display import Image\n", "Image('../../Python_probability_statistics_machine_learning_2E.png',width=200)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So far, we have considered parametric methods that reduce inference\n", "or\n", "prediction to parameter-fitting. However, for these to work, we had to\n", "assume a\n", "specific functional form for the unknown probability distribution of\n", "the data.\n", "Nonparametric methods eliminate the need to assume a specific\n", "functional form by\n", "generalizing to classes of functions.\n", "\n", "## Kernel Density Estimation\n", "\n", "We have\n", "already made heavy use of this method with the histogram, which is a\n", "special\n", "case of kernel density estimation. The histogram can be considered the\n", "crudest\n", "and most useful nonparametric method, that estimates the underlying\n", "probability\n", "distribution of the data.\n", "\n", "To be formal and place the histogram on the same\n", "footing as our earlier\n", "estimations, suppose that $\\mathscr{X}=[0,1]^d$ is the\n", "$d$ dimensional unit\n", "cube and that $h$ is the *bandwidth* or size of a *bin* or\n", "sub-cube. Then,\n", "there are $N\\approx(1/h)^d$ such bins, each with volume $h^d$,\n", "$\\lbrace\n", "B_1,B_2,\\ldots,B_N \\rbrace$. With all this in place, we can write the\n", "histogram\n", "has a probability density estimator of the form,\n", "\n", "$$\n", "\\hat{p}_h(x) = \\sum_{k=1}^N \\frac{\\hat{\\theta}_k}{h} I(x\\in B_k)\n", "$$\n", "\n", " where\n", "\n", "$$\n", "\\hat{\\theta}_k=\\frac{1}{n} \\sum_{j=1}^n I(X_j\\in B_k)\n", "$$\n", "\n", " is the fraction of data points ($X_k$) in each bin, $B_k$. We want to\n", "bound the\n", "bias and variance of $\\hat{p}_h(x)$. Keep in mind that we are trying\n", "to estimate\n", "a function of $x$, but the set of all possible probability\n", "distribution\n", "functions is extremely large and hard to manage. Thus, we need\n", "to restrict our\n", "attention to the following class of probability distribution of\n", "so-called\n", "Lipschitz functions,\n", "\n", "$$\n", "\\mathscr{P}(L) = \\lbrace p\\colon \\vert p(x)-p(y)\\vert \\le L \\Vert x-y\\Vert,\n", "\\forall \\: x,y \\rbrace\n", "$$\n", "\n", " Roughly speaking, these are the density\n", "functions whose slopes (i.e., growth\n", "rates) are bounded by $L$.\n", "It turns out that the bias of the histogram\n", "estimator is bounded in the\n", "following way,\n", "\n", "$$\n", "\\int\\vert p(x)-\\mathbb{E}(\\hat{p}_h(x))\\vert dx \\le L h\\sqrt{d}\n", "$$\n", "\n", " Similarly, the variance is bounded by the following,\n", "\n", "$$\n", "\\mathbb{V}(\\hat{p}_h(x)) \\le \\frac{C}{n h^d}\n", "$$\n", "\n", " for some constant $C$. Putting these two facts together means that the\n", "risk is\n", "bounded by,\n", "\n", "$$\n", "R(p,\\hat{p}) = \\int \\mathbb{E}(p(x) -\\hat{p}_h(x))^2 dx \\le L^2 h^2 d +\n", "\\frac{C}{n h^d}\n", "$$\n", "\n", " This upper bound is minimized by choosing\n", "\n", "$$\n", "h = \\left(\\frac{C}{L^2 n d}\\right)^\\frac{1}{d+2}\n", "$$\n", "\n", " In particular, this means that,\n", "\n", "$$\n", "\\sup_{p\\in\\mathscr{P}(L)} R(p,\\hat{p}) \\le C_0\n", "\\left(\\frac{1}{n}\\right)^{\\frac{2}{d+2}}\n", "$$\n", "\n", " where the constant $C_0$ is a function of $L$. There is a theorem\n", "[[wasserman2004all]](#wasserman2004all) that shows this bound in tight, which\n", "basically means\n", "that the histogram is a really powerful probability density\n", "estimator for\n", "Lipschitz functions with risk that goes as\n", "$\\left(\\frac{1}{n}\\right)^{\\frac{2}{d+2}}$. Note that this class of functions\n", "is not necessarily smooth because the Lipschitz condition admits \n", "non-smooth\n", "functions. While this is a reassuring result, we typically do\n", "not know which\n", "function class (Lipschitz or not) a particular probability\n", "belongs to ahead of\n", "time. Nonetheless, the rate at which the risk changes with\n", "both dimension $d$\n", "and $n$ samples would be hard to understand without this\n", "result.\n", "[Figure](#fig:nonparametric_001) shows the probability distribution\n", "function of\n", "the $\\beta(2,2)$ distribution compared to computed histograms for\n", "different\n", "values of $n$. The box plots on each of the points show how the\n", "variation in\n", "each bin of the histogram reduces with increasing $n$. The risk\n", "function\n", "$R(p,\\hat{p})$ above is based upon integrating the squared difference\n", "between\n", "the histogram (as a piecewise function of $x$) and the probability\n", "distribution\n", "function. \n", "\n", "**Programming Tip.**\n", "\n", "The following snippet is the main element of\n", "the code for [Figure](#fig:nonparametric_001)." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def generate_samples(n,ntrials=500):\n", " phat = np.zeros((nbins,ntrials))\n", " for k in range(ntrials):\n", " d = rv.rvs(n) \n", " phat[:,k],_=histogram(d,bins,density=True) \n", " return phat" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The code uses the `histogram` function from Numpy.\n", "To be consistent with the\n", "risk function $R(p,\\hat{p})$, we have to make sure\n", "the `bins` keyword argument\n", "is formatted correctly using a sequence of\n", "bin-edges instead of just a single\n", "integer. Also, the `density=True` keyword\n", "argument normalizes the histogram\n", "appropriately so that the comparison between\n", "it and the probability distribution\n", "function of the simulated beta distribution\n", "is correctly scaled.\n", "\n", "<!--\n", "dom:FIGURE: [fig-statistics/nonparametric_001.png, width=800 frac=0.95] The box\n", "plots on each of the points show how the variation in each bin of the histogram\n", "reduces with increasing $n$. <div id=\"fig:nonparametric_001\"></div> -->\n", "<!--\n", "begin figure -->\n", "<div id=\"fig:nonparametric_001\"></div>\n", "\n", "<p>The box plots on\n", "each of the points show how the variation in each bin of the histogram reduces\n", "with increasing $n$.</p>\n", "<img src=\"fig-statistics/nonparametric_001.png\"\n", "width=800>\n", "\n", "<!-- end figure -->\n", "\n", "\n", "## Kernel Smoothing\n", "\n", "We can extend our methods\n", "to other function classes using kernel functions.\n", "A one-dimensional smoothing\n", "kernel is a smooth function $K$ with \n", "the following properties,\n", "\n", "$$\n", "\\begin{align*}\n", "\\int K(x) dx &= 1 \\\\\\\n", "\\int x K(x) dx &= 0 \\\\\\\n", "0< \\int x^2 K(x)\n", "dx &< \\infty \\\\\\\n", "\\end{align*}\n", "$$\n", "\n", " For example, $K(x)=I(x)/2$ is the boxcar kernel, where $I(x)=1$\n", "when $\\vert\n", "x\\vert\\le 1$ and zero otherwise. The kernel density estimator is\n", "very similar to\n", "the histogram, except now we put a kernel function on every\n", "point as in the\n", "following,\n", "\n", "$$\n", "\\hat{p}(x)=\\frac{1}{n}\\sum_{i=1}^n \\frac{1}{h^d} K\\left(\\frac{\\Vert\n", "x-X_i\\Vert}{h}\\right)\n", "$$\n", "\n", " where $X\\in \\mathbb{R}^d$. [Figure](#fig:nonparametric_002) shows an\n", "example of\n", "a kernel density estimate using a Gaussian kernel function,\n", "$K(x)=e^{-x^2/2}/\\sqrt{2\\pi}$. There are five data points shown by the\n", "vertical\n", "lines in the upper panel. The dotted lines show the individual $K(x)$\n", "function\n", "at each of the data points. The lower panel shows the overall kernel\n", "density\n", "estimate, which is the scaled sum of the upper panel.\n", "\n", "There is an important\n", "technical result in [[wasserman2004all]](#wasserman2004all) that\n", "states that\n", "kernel density estimators are minimax in the sense we\n", "discussed in the maximum\n", "likelihood the section [ch:stats:sec:mle](#ch:stats:sec:mle). In\n", "broad strokes,\n", "this means that the analogous risk for the kernel\n", "density estimator is\n", "approximately bounded by the following factor,\n", "\n", "$$\n", "R(p,\\hat{p}) \\lesssim n^{-\\frac{2 m}{2 m+d}}\n", "$$\n", "\n", " for some constant $C$ where $m$ is a factor related to bounding\n", "the derivatives\n", "of the probability density function. For example, if the second\n", "derivative of\n", "the density function is bounded, then $m=2$. This means that\n", "the convergence\n", "rate for this estimator decreases with increasing dimension\n", "$d$.\n", "\n", "<!--\n", "dom:FIGURE: [fig-statistics/nonparametric_002.png, width=800 frac=0.95] The\n", "upper panel shows the individual kernel functions placed at each of the data\n", "points. The lower panel shows the composite kernel density estimate which is the\n", "sum of the individual functions in the upper panel. <div\n", "id=\"fig:nonparametric_002\"></div> -->\n", "<!-- begin figure -->\n", "<div\n", "id=\"fig:nonparametric_002\"></div>\n", "\n", "<p>The upper panel shows the individual\n", "kernel functions placed at each of the data points. The lower panel shows the\n", "composite kernel density estimate which is the sum of the individual functions\n", "in the upper panel.</p>\n", "<img src=\"fig-statistics/nonparametric_002.png\"\n", "width=800>\n", "\n", "<!-- end figure -->\n", "\n", "\n", "### Cross-Validation\n", "\n", "As a practical matter,\n", "the tricky part of the kernel density estimator (which\n", "includes the histogram as\n", "a special case) is that we need to somehow compute\n", "the bandwidth $h$ term using\n", "data. There are several rule-of-thumb methods that\n", "for some common kernels,\n", "including Silverman's rule and Scott's rule for\n", "Gaussian kernels. For example,\n", "Scott's factor is to simply compute $h=n^{\n", "-1/(d+4) }$ and Silverman's is $h=(n\n", "(d+2)/4)^{ (-1/(d+4)) }$. Rules of\n", "this kind are derived by assuming the\n", "underlying probability density\n", "function is of a certain family (e.g., Gaussian),\n", "and then deriving the\n", "best $h$ for a certain type of kernel density estimator,\n", "usually equipped\n", "with extra functional properties (say, continuous derivatives\n", "of a\n", "certain order). In practice, these rules seem to work pretty well,\n", "especially for uni-modal probability density functions. Avoiding these\n", "kinds of\n", "assumptions means computing the bandwidth from data directly and that is where\n", "cross validation comes in.\n", "\n", "Cross-validation is a method to estimate the\n", "bandwidth from the data itself.\n", "The idea is to write out the following\n", "Integrated Squared Error (ISE),\n", "\n", "$$\n", "\\begin{align*}\n", "\\textnormal{ISE}(\\hat{p}_h,p)&=\\int (p(x)-\\hat{p}_h(x))^2\n", "dx\\\\\\\n", " &= \\int \\hat{p}_h(x)^2 dx - 2\\int p(x)\n", "\\hat{p}_h dx + \\int p(x)^2 dx \n", "\\end{align*}\n", "$$\n", "\n", " The problem with this expression is the middle term [^last_term],\n", "[^last_term]: The last term is of no interest because we are\n", "only interested in\n", "relative changes in the ISE.\n", "\n", "$$\n", "\\int p(x)\\hat{p}_h dx\n", "$$\n", "\n", " where $p(x)$ is what we are trying to estimate with $\\hat{p}_h$. The\n", "form of\n", "the last expression looks like an expectation of $\\hat{p}_h$ over the\n", "density of\n", "$p(x)$, $\\mathbb{E}(\\hat{p}_h)$. The approach is to\n", "approximate this with the\n", "mean,\n", "\n", "$$\n", "\\mathbb{E}(\\hat{p}_h) \\approx \\frac{1}{n}\\sum_{i=1}^n \\hat{p}_h(X_i)\n", "$$\n", "\n", " The problem with this approach is that $\\hat{p}_h$ is computed using\n", "the same\n", "data that the approximation utilizes. The way to get around this is\n", "to split\n", "the data into two equally sized chunks $D_1$, $D_2$; and then compute\n", "$\\hat{p}_h$ for a sequence of different $h$ values over the $D_1$ set. Then,\n", "when we apply the above approximation for the data ($Z_i$) in the $D_2$ set,\n", "\n", "$$\n", "\\mathbb{E}(\\hat{p}_h) \\approx \\frac{1}{\\vert D_2\\vert}\\sum_{Z_i\\in D_2}\n", "\\hat{p}_h(Z_i)\n", "$$\n", "\n", " Plugging this approximation back into the integrated squared error\n", "provides\n", "the objective function,\n", "\n", "$$\n", "\\texttt{ISE}\\approx \\int \\hat{p}_h(x)^2 dx-\\frac{2}{\\vert\n", "D_2\\vert}\\sum_{Z_i\\in D_2} \\hat{p}_h(Z_i)\n", "$$\n", "\n", " Some code will make these steps concrete. We will need some tools from\n", "Scikit-\n", "learn." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import train_test_split\n", "from sklearn.neighbors.kde import KernelDensity" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `train_test_split` function makes it easy to split and\n", "keep track of the\n", "$D_1$ and $D_2$ sets we need for cross validation. Scikit-learn\n", "already has a\n", "powerful and flexible implementation of kernel density estimators.\n", "To compute\n", "the objective function, we need some\n", "basic numerical integration tools from\n", "Scipy. For this example, we\n", "will generate samples from a $\\beta(2,2)$\n", "distribution, which is\n", "implemented in the `stats` submodule in Scipy." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "np.random.seed(123456)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "from scipy.integrate import quad\n", "from scipy import stats\n", "rv= stats.beta(2,2)\n", "n=100 # number of samples to generate\n", "d = rv.rvs(n)[:,None] # generate samples as column-vector" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Programming Tip.**\n", "\n", "The use of the `[:,None]` in the last line formats the\n", "Numpy array returned by\n", "the `rvs` function into a Numpy vector with a column\n", "dimension of one. This is\n", "required by the `KernelDensity` constructor because\n", "the column dimension is\n", "used for different features (in general) for Scikit-\n", "learn. Thus, even though we\n", "only have one feature, we still need to comply with\n", "the structured input that\n", "Scikit-learn relies upon. There are many ways to\n", "inject the additional\n", "dimension other than using `None`. For example, the more\n", "cryptic, `np.c_`, or\n", "the less cryptic `[:,np.newaxis]` can do the same, as can\n", "the `np.reshape`\n", "function.\n", "\n", "\n", "\n", " The next step is to split the data into two\n", "halves and loop over\n", "each of the $h_i$ bandwidths to create a separate kernel\n", "density estimator\n", "based on the $D_1$ data," ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "train,test,_,_=train_test_split(d,d,test_size=0.5)\n", "kdes=[KernelDensity(bandwidth=i).fit(train) \n", " for i in [.05,0.1,0.2,0.3]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Programming Tip.**\n", "\n", "Note that the single underscore symbol in Python refers to\n", "the last evaluated\n", "result. the above code unpacks the tuple returned by\n", "`train_test_split` into\n", "four elements. Because we are only interested in the\n", "first two, we assign the\n", "last two to the underscore symbol. This is a stylistic\n", "usage to make it clear\n", "to the reader that the last two elements of the tuple are\n", "unused.\n", "Alternatively, we could assign the last two elements to a pair of dummy\n", "variables that we do not use later, but then the reader skimming the code may\n", "think that those dummy variables are relevant.\n", "\n", "\n", "\n", " The last step is to loop over\n", "the so-created kernel density estimators\n", "and compute the objective function." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "h=0.05\t -1.1323\n", "h=0.10\t -1.1336\n", "h=0.20\t -1.1330\n", "h=0.30\t -1.0810\n" ] } ], "source": [ "for i in kdes:\n", " f = lambda x: np.exp(i.score_samples(x))\n", " f2 = lambda x: f([[x]])**2\n", " print('h=%3.2f\\t %3.4f'%(i.bandwidth,quad(f2,0,1)[0]\n", " -2*np.mean(f(test))))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Programming Tip.**\n", "\n", "The lambda functions defined in the last block are\n", "necessary because\n", "Scikit-learn implements the return value of the kernel density\n", "estimator as a\n", "logarithm via the `score_samples` function. The numerical\n", "quadrature function\n", "`quad` from Scipy computes the $\\int \\hat{p}_h(x)^2 dx$ part\n", "of the objective\n", "function." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 2 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from __future__ import division\n", "from matplotlib.pylab import subplots\n", "fig,ax=subplots()\n", "xi = np.linspace(0,1,100)[:,None]\n", "for i in kdes:\n", " f=lambda x: np.exp(i.score_samples(x))\n", " f2 = lambda x: f(x)**2\n", " _=ax.plot(xi,f(xi),label='$h$='+str(i.bandwidth))\n", "\n", "_=ax.set_xlabel('$x$',fontsize=28)\n", "_=ax.set_ylabel('$y$',fontsize=28)\n", "_=ax.plot(xi,rv.pdf(xi),'k:',lw=3,label='true')\n", "_=ax.legend(loc=0)\n", "ax2 = ax.twinx()\n", "_=ax2.hist(d,20,alpha=.3,color='gray')\n", "_=ax2.axis(ymax=50)\n", "_=ax2.set_ylabel('count',fontsize=28)\n", "fig.tight_layout()\n", "fig.savefig('fig-statistics/nonparametric_003.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "<!-- dom:FIGURE: [fig-statistics/nonparametric_003.png, width=800 frac=0.85]\n", "Each line above is a different kernel density estimator for the given bandwidth\n", "as an approximation to the true density function. A plain histogram is imprinted\n", "on the bottom for reference. <div id=\"fig:nonparametric_003\"></div> -->\n", "<!--\n", "begin figure -->\n", "<div id=\"fig:nonparametric_003\"></div>\n", "\n", "<p>Each line above is a\n", "different kernel density estimator for the given bandwidth as an approximation\n", "to the true density function. A plain histogram is imprinted on the bottom for\n", "reference.</p>\n", "<img src=\"fig-statistics/nonparametric_003.png\" width=800>\n", "\n", "<!--\n", "end figure -->\n", "\n", "\n", "Scikit-learn has many more advanced tools to automate this kind\n", "of\n", "hyper-parameter (i.e., kernel density bandwidth) search. To utilize these\n", "advanced tools, we need to format the current problem slightly differently by\n", "defining the following wrapper class." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "class KernelDensityWrapper(KernelDensity):\n", " def predict(self,x):\n", " return np.exp(self.score_samples(x))\n", " def score(self,test):\n", " f = lambda x: self.predict(x)\n", " f2 = lambda x: f([[x]])**2\n", " return -(quad(f2,0,1)[0]-2*np.mean(f(test)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is tantamount to reorganizing the above previous code \n", "into functions that\n", "Scikit-learn requires. Next, we create the\n", "dictionary of parameters we want to\n", "search over (`params`) below\n", "and then start the grid search with the `fit`\n", "function," ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'bandwidth': 0.17333333333333334}\n" ] } ], "source": [ "from sklearn.model_selection import GridSearchCV\n", "params = {'bandwidth':np.linspace(0.01,0.5,10)}\n", "clf = GridSearchCV(KernelDensityWrapper(), param_grid=params,cv=2)\n", "clf.fit(d)\n", "print (clf.best_params_)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The grid search iterates over all the elements in the `params`\n", "dictionary and\n", "reports the best bandwidth over that list of parameter values.\n", "The `cv` keyword\n", "argument above specifies that we want to split the data\n", "into two equally-sized\n", "sets for training and testing. We can\n", "also examine the values of the objective\n", "function for each point\n", "on the grid as follow," ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.60758058, 1.06324954, 1.11858734, 1.13187097, 1.12006532,\n", " 1.09186225, 1.05391076, 1.01126161, 0.96717292, 0.92354959])" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clf.cv_results_['mean_test_score']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Keep in mind that the grid search examines multiple folds for cross\n", "validation\n", "to compute the above means and standard deviations. Note that there\n", "is also a\n", "`RandomizedSearchCV` in case you would rather specify a distribution\n", "of\n", "parameters instead of a list. This is particularly useful for searching very\n", "large parameter spaces where an exhaustive grid search would be too\n", "computationally expensive. Although kernel density estimators are easy to\n", "understand and have many attractive analytical properties, they become\n", "practically prohibitive for large, high-dimensional data sets.\n", "\n", "## Nonparametric\n", "Regression Estimators\n", "\n", "Beyond estimating the underlying probability density, we\n", "can use nonparametric\n", "methods to compute estimators of the underlying function\n", "that is generating the\n", "data. Nonparametric regression estimators of the\n", "following form are known as\n", "linear smoothers,\n", "\n", "$$\n", "\\hat{y}(x) = \\sum_{i=1}^n \\ell_i(x) y_i\n", "$$\n", "\n", " To understand the performance of these smoothers,\n", "we can define the risk as the\n", "following,\n", "\n", "$$\n", "R(\\hat{y},y) = \\mathbb{E}\\left( \\frac{1}{n} \\sum_{i=1}^n\n", "(\\hat{y}(x_i)-y(x_i))^2 \\right)\n", "$$\n", "\n", " and find the best $\\hat{y}$ that minimizes this. The problem with\n", "this metric\n", "is that we do not know $y(x)$, which is why we are trying to\n", "approximate it with\n", "$\\hat{y}(x)$. We could construct an estimation by using the\n", "data at hand as in\n", "the following,\n", "\n", "$$\n", "\\hat{R}(\\hat{y},y) =\\frac{1}{n} \\sum_{i=1}^n (\\hat{y}(x_i)-Y_i)^2\n", "$$\n", "\n", " where we have substituted the data $Y_i$ for the unknown function\n", "value,\n", "$y(x_i)$. The problem with this approach is that we are using the data\n", "to\n", "estimate the function and then using the same data to evaluate the risk of\n", "doing\n", "so. This kind of double-dipping leads to overly optimistic estimators.\n", "One way\n", "out of this conundrum is to use leave-one-out cross validation, wherein\n", "the\n", "$\\hat{y}$ function is estimated using all but one of the data pairs,\n", "$(X_i,Y_i)$. Then, this missing data element is used to estimate the above\n", "risk.\n", "Notationally, this is written as the following,\n", "\n", "$$\n", "\\hat{R}(\\hat{y},y) =\\frac{1}{n} \\sum_{i=1}^n (\\hat{y}_{(-i)}(x_i)-Y_i)^2\n", "$$\n", "\n", " where $\\hat{y}_{(-i)}$ denotes computing the estimator without using\n", "the\n", "$i^{th}$ data pair. Unfortunately, for anything other than relatively small\n", "data\n", "sets, it quickly becomes computationally prohibitive to use leave-one-out\n", "cross\n", "validation in practice. We'll get back to this issue shortly, but let's\n", "consider\n", "a concrete example of such a nonparametric smoother.\n", "\n", "## Nearest Neighbors\n", "Regression\n", "<div id=\"ch:stats:sec:nnreg\"></div>\n", "\n", "The simplest possible\n", "nonparametric regression method is the $k$-nearest\n", "neighbors regression. This is\n", "easier to explain in words than to write out in\n", "math. Given an input $x$, find\n", "the closest one of the $k$ clusters that\n", "contains it and then return the mean of\n", "the data values in that cluster. As a\n", "univariate example, let's consider the\n", "following *chirp* waveform,\n", "\n", "$$\n", "y(x)=\\cos\\left(2\\pi\\left(f_o x + \\frac{BW x^2}{2\\tau}\\right)\\right)\n", "$$\n", "\n", " This waveform is important in high-resolution radar applications.\n", "The $f_o$ is\n", "the start frequency and $BW/\\tau$ is the frequency slope of the\n", "signal. For our\n", "example, the fact that it is nonuniform over its domain is\n", "important. We can\n", "easily create some data by sampling the\n", "chirp as in the following," ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "from numpy import cos, pi\n", "xi = np.linspace(0,1,100)[:,None]\n", "xin = np.linspace(0,1,12)[:,None]\n", "f0 = 1 # init frequency\n", "BW = 5\n", "y = np.cos(2*pi*(f0*xin+(BW/2.0)*xin**2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can use this data to construct a simple nearest neighbor\n", "estimator using\n", "Scikit-learn," ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "KNeighborsRegressor(algorithm='auto', leaf_size=30, metric='minkowski',\n", " metric_params=None, n_jobs=None, n_neighbors=2, p=2,\n", " weights='uniform')" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.neighbors import KNeighborsRegressor\n", "knr=KNeighborsRegressor(2) \n", "knr.fit(xin,y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Programming Tip.**\n", "\n", "Scikit-learn has a fantastically consistent interface. The\n", "`fit` function above\n", "fits the model parameters to the data. The corresponding\n", "`predict` function\n", "returns the output of the model given an arbitrary input. We\n", "will spend a lot\n", "more time on Scikit-learn in the machine learning chapter. The\n", "`[:,None]` part\n", "at the end is just injecting a column dimension into the array\n", "in order to\n", "satisfy the dimensional requirements of Scikit-learn." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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1mazMWzYMPbv388XX3zBJZdcYkk5ulXwAncAmzp1atBzG6alpbFv374O9/HOleqMw+Fg7ty5XS5LqC1atIi8vDzWrl3L3LlzIyYrQH19PUOHDrW6GFHluuuu46233mLHjh1BC17gHpBUXV2NiER8pvSu8AavgwcPdtqP3pHs7GwcDgcrV64M+hphoZSWlsb+/fspKirS4BVuSUlJeoXeRdOmTWPw4MEUFxezbdu2kPdhdaayspI777yTzMxMli9fbmlZoo0332Sws58cOXIEu93OVVddFdTjRorBgweTnJzMiRMnOH78OP369TvrY9TU1PCPf/yjSys2WC0SlkYJ6JJZRHqLSK6IHPD82+bSQUTSReTjFj9VInKvZ9sSESlpsS3yRiioNux2OwsWLADgr3/9q8WlgdzcXIqKivjss8+idu6QVa688kruuusu5s6d6/c8SH/MmjWLzZs38/Ofn82atdFDRHx3X521uLSnsLAQYwwXXHBBVDUbAtx44438+Mc/5tJLL7WsDIG29zwIbDTGjAA2eh6fxhiz3xgz2hgzGrgKqAFea7HL773bjTEbAiyPCpP58+fzta99jauvvtryBJ3efIu33XabpeWIRna7nWeffZbZs2cHfeizw+Ggf/8zLcIeGwJNE+V9npUBoKu+/e1vs3TpUkvnpgXabDgNuM7z+2pgM/BAezvjXv6k0Bhj/TKcKiCpqank5+ezf/9+3/w1K1RUVLBjxw7sdju33367JWWIBeeeey5HjhwJynpSDQ0NiEhUZ9Hwh7fboavBy5vYN1oX6bR6Dmqgd17nGWOOAnj+7WyWXRbwfKu/3S0i+SKy6kzNjiqy9e/f/6wzbgRTbm4uzc3NfOMb34jpq/xQamhoYNOmTeTk5ATleG+//TbXXHMNzzzzTMQM5gmF22+/na1bt3L//fd36fneoHf55Wdc7jDi7d+/n9dee43KykpLXr/Td5aIvCsin5zhZ1pnz211HAdwC/Byiz+vANKA0cBRYFkHz88WkV0isuvYsWNn89IqhL788kuefvpp3nzzTUte35vLUJsMu05EWLhwIX/+8585evRowMfLz8/n5MmT9OrVKwili1z9+/dnzJgxXb5b9QavaEkL1dq9997L0qVL+eijjyx5/U6DlzHmemPMZWf4WQeUicgAAM+/5R0c6iZgtzGmrMWxy4wxTcaYZuDPwNUdlONPxpgxxpgxXRnZo0IjLy+PVatWsWLFiqB2+PujpKSEnTt3EhcXp02GAbDb7YwfPx6A7du3B3y8/Px8AK655pqAjxXpvMmIz/a939jYyB133MHkyZN9qxNHG++acN7/73AL9J5+PeCdkTsPWNfBvnfQqsnQG/g8ZgCfBFieiFBQUED//v355JOYOJ0O3XnnnQwaNIiDBw+ycePGsL72wIEDycnJ4YEHHuC8884L62vHGu+Q+R07dgR0nPr6et/KAa0z+8eiF154gR/96EesX7/+rJ7nHbG7bNkyvxaojUTeaRChXimiPYEGr98AN4jIAeAGz2NEZKCI+EYOikiiZ3vr3EC/FZECEckHMoCfBFieiLB06VK2bdvmyyofy5xOJz/72c8A+OMf/xjWkYciwujRo7nvvvvC9pqxKljzvXbu3InL5SI9PT1qEs0GorS0lA8//JCtW7ee9XMbGhqiOtem984rmLkxz0ZAwcsYU2GMyTTGjPD8W+n5+xFjzJQW+9UYY/oYY060ev53jTFfM8aMMsbc4h38Ee2ef/55hg8fztq1a31/q62tZeLEie0u4OZyuZgwYYLlmZq7Yv78+aSmprJ37162bNkSltd0uVw0NjbicDhivm8lHEaPHk1ycjJffPFFQP1eeXl5gHseULQkmg2EN+jv2rXrrJ63detWtm/fbvk0k0CkpaWRnJzM8ePHKSsr6/wJQRa7Q4EizKpVq5g5c2a7TQQOh4PMzExefPHFMJcscAkJCb67n+XLl4f8A2mMYc6cOSxcuNCXm1IFJhj9XsYYNm/eDBDUVFOR7PLLLyclJYWjR49y+PBhv5+3bNkyFi1a1OVh9pHAZrP5mg6t6PfST30QFRQUcO211/oe796925ehfs2aNUyb9tUAzYyMDHJzcwF4+OGHWbx4MdOnT2fNmjXhLXSQLFy4kD59+pCfnx/yN7L3NfLz86O2szsSZWRkkJ6e3uXRcyLCypUrue+++077HMQym83GhAkTAE5bLaIj1dXVHDhwwNfsHc2uuuoqkpKSsGIEuAavIBo5ciSFhYW+psGf/vSn/O53v8PlcnHo0KHTFrh89NFHeeyxx1izZg0fffQRv//977nsssv44IMPLCp9YHr27Mny5ct5+eWXA1rfyB/e5thZs2b5vSSL6tzixYvZtWuX7w6sKwYMGMCCBQsCWqAx2nibDnfu3OnX/jt27KChoYGRI0d2KSdiJFmyZAn/+te/mDp1athfOybfYaFqa++sOcy7HMeePXs4cOAAQ4cO5corr+TIkSOce+65p+07YcIEjDE8/vjjbN682dec6HA4onaOzKxZs6ivr6egoCBkzXmVlZVs2LABEWHx4sVBP353FhcXh91ux+l00tDQ0KUMCg0NDfTu3TsEpYtcZ9vv5W1anTx5ctT3CyYlJfmWlAo3vfMKsnHjxrF161aWLFniG22YkJBAXV3dafsVFBRw9OhRnE7naYGqvr7eslRLweB0OklNTWXbtm0hybzx3HPP0dDQwPjx46MyJ1ykExFqa2vPetHQsrIyZsyYwV/+8peoHkHXFaNGjSI7O5vs7Ox2B2R5GWN8g5puueWWcBQv5JxOJ42NjdTX14f1dWMyeBljQvLjj3HjxvHwww8zY8YMBg0aBEBKSgpNTU2+AHb06FFmz57NunXrSEpK4u233wbcefr69etnec6wQK1YsYIf/vCHPPPMM0E97pEjR3j22WcBeOihh6L+qjUSnThxgvHjx/Poo49y/Phxv5+3efNm9u7dy969e6P+/Xu2bDYbOTk5ZGVldTpa+LPPPqO0tJQ+ffrEzDy4xYsXM3HiRN8dZbjEZPCy0sUXX4zT6eSBB07PT/ytb32L9957j5qaGmbOnMmyZcu45JJL+MUvfsGSJUsA2LRpE1OmRP+qMNdffz0AOTk5lJSUBO24+fn5GGO46aabmDx5ctCOq75yzjnncOONN9Lc3Mwbb7zh9/M2bdoEYEnfR6RISUnptLWhvLyc/v37k5GRETP9gomJibhcrrAnZdDgFWRPPvkkv/71r9usynz33XezevVqEhMTef/997nhhhsAd9+Xd5TS2rVryc7ODnuZgy0zM9PX//XYY48F7biTJ0/mxRdf5IknntC7rhCaPXs2gN/Bq7a21vcenj59esjKFckaGhp45513eOqppzpspRk/fjzr1q3j8ccfD2PpQss7WTncmTY0eAVJYWEhF198MbW1tcybN6/N9iuuuIKMjIwOJylPnz6d9PT0UBc1LJYtW0bPnj3Jy8tj06ZN1NXVUVxcTGFhIcXFxW36AP1RU1PDqFGjuOiii0JQYuV1880307NnTz799FM+//zzTvd///33qa+v57LLLmPYsGFhKGHk6dGjB/fccw+r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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from matplotlib.pylab import subplots\n", "fig,ax=subplots()\n", "yi = cos(2*pi*(f0*xi+(BW/2.0)*xi**2))\n", "_=ax.plot(xi,yi,'k--',lw=2,label=r'$y(x)$')\n", "_=ax.plot(xin,y,'ko',lw=2,ms=11,color='gray',alpha=.8,label='$y(x_i)$')\n", "_=ax.fill_between(xi.flat,yi.flat,knr.predict(xi).flat,color='gray',alpha=.3)\n", "_=ax.plot(xi,knr.predict(xi),'k-',lw=2,label='$\\hat{y}(x)$')\n", "_=ax.set_aspect(1/4.)\n", "_=ax.axis(ymax=1.05,ymin=-1.05)\n", "_=ax.set_xlabel(r'$x$',fontsize=24)\n", "_=ax.legend(loc=0)\n", "fig.set_tight_layout(True)\n", "fig.savefig('fig-statistics/nonparametric_004.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "<!-- dom:FIGURE: [fig-statistics/nonparametric_004.png, width=800 frac=0.85] The\n", "dotted line shows the chirp signal and the solid line shows the nearest neighbor\n", "estimate. The gray circles are the sample points that we used to fit the nearest\n", "neighbor estimator. The shaded area shows the gaps between the estimator and the\n", "unsampled chirp. <div id=\"fig:nonparametric_004\"></div> -->\n", "<!-- begin figure\n", "-->\n", "<div id=\"fig:nonparametric_004\"></div>\n", "\n", "<p>The dotted line shows the chirp\n", "signal and the solid line shows the nearest neighbor estimate. The gray circles\n", "are the sample points that we used to fit the nearest neighbor estimator. The\n", "shaded area shows the gaps between the estimator and the unsampled chirp.</p>\n", "<img src=\"fig-statistics/nonparametric_004.png\" width=800>\n", "\n", "<!-- end figure -->\n", "[Figure](#fig:nonparametric_004) shows the sampled signal (gray\n", "circles) against\n", "the values generated by the nearest neighbor estimator (solid\n", "line). The dotted\n", "line is the full unsampled chirp signal, which increases in\n", "frequency with $x$.\n", "This is important for our example because it adds a\n", "non-stationary aspect to\n", "this problem in that the function gets progressively\n", "wigglier with increasing\n", "$x$. The area between the estimated curve and the\n", "signal is shaded in gray.\n", "Because the nearest neighbor estimator uses only two\n", "nearest neighbors, for each\n", "new $x$, it finds the two adjacent $X_i$ that\n", "bracket the $x$ in the training\n", "data and then averages the corresponding $Y_i$\n", "values to compute the estimated\n", "value. That is, if you take every adjacent pair\n", "of sequential gray circles in\n", "the Figure, you find that the horizontal solid line \n", "splits the pair on the\n", "vertical axis. We can adjust the number of\n", "nearest neighbors by changing the\n", "constructor," ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "KNeighborsRegressor(algorithm='auto', leaf_size=30, metric='minkowski',\n", " metric_params=None, n_jobs=None, n_neighbors=3, p=2,\n", " weights='uniform')" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "knr=KNeighborsRegressor(3) \n", "knr.fit(xin,y)" ] }, { "cell_type": "code", "execution_count": 17, "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": [ "fig,ax=subplots()\n", "_=ax.plot(xi,yi,'k--',lw=2,label=r'$y(x)$')\n", "_=ax.plot(xin,y,'ko',lw=2,ms=11,color='gray',alpha=.8,label='$y(x_i)$')\n", "_=ax.fill_between(xi.flat,yi.flat,knr.predict(xi).flat,color='gray',alpha=.3)\n", "_=ax.plot(xi,knr.predict(xi),'k-',lw=2,label='$\\hat{y}(x)$')\n", "_=ax.set_aspect(1/4.)\n", "_=ax.axis(ymax=1.05,ymin=-1.05)\n", "_=ax.set_xlabel(r'$x$',fontsize=24)\n", "_=ax.legend(loc=0)\n", "fig.set_tight_layout(True)\n", "fig.savefig('fig-statistics/nonparametric_005.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "which produces the following corresponding [Figure](#fig:nonparametric_005).\n", "<!-- dom:FIGURE: [fig-statistics/nonparametric_005.png, width=800 frac=0.85]\n", "This is the same as [Figure](#fig:nonparametric_004) except that here there are\n", "three nearest neighbors used to build the estimator. <div\n", "id=\"fig:nonparametric_005\"></div> -->\n", "<!-- begin figure -->\n", "<div\n", "id=\"fig:nonparametric_005\"></div>\n", "\n", "<p>This is the same as\n", "[Figure](#fig:nonparametric_004) except that here there are three nearest\n", "neighbors used to build the estimator.</p>\n", "<img src=\"fig-\n", "statistics/nonparametric_005.png\" width=800>\n", "\n", "<!-- end figure -->\n", "\n", "\n", "For this\n", "example, [Figure](#fig:nonparametric_005) shows that with\n", "more nearest neighbors\n", "the fit performs poorly, especially towards the end of\n", "the signal, where there\n", "is increasing variation, because the chirp is not\n", "uniformly continuous.\n", "\n", "Scikit-\n", "learn provides many tools for cross validation. The following code\n", "sets up the\n", "tools for leave-one-out cross validation," ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import LeaveOneOut\n", "loo=LeaveOneOut()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `LeaveOneOut` object is an iterable that produces a set of\n", "disjoint indices\n", "of the data --- one for fitting the model (training set) and\n", "one for evaluating\n", "the model (testing set). The next block loops over the\n", "disjoint sets of\n", "training and test indicies iterates provided by the `loo`\n", "variable to evaluate\n", "the estimated risk, which is accumulated in the `out`\n", "list." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Leave-one-out Estimated Risk: 1.0351713662681845\n" ] } ], "source": [ "out=[]\n", "for train_index, test_index in loo.split(xin):\n", " _=knr.fit(xin[train_index],y[train_index])\n", " out.append((knr.predict(xi[test_index])-y[test_index])**2)\n", "\n", "print( 'Leave-one-out Estimated Risk: ',np.mean(out),)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The last line in the code above reports leave-one-out's estimated\n", "risk.\n", "Linear smoothers of this type can be rewritten in using the following matrix,\n", "\n", "$$\n", "\\mathscr{S} = \\left[ \\ell_i(x_j) \\right]_{i,j}\n", "$$\n", "\n", " so that\n", "\n", "$$\n", "\\hat{\\mathbf{y}} = \\mathscr{S} \\mathbf{y}\n", "$$\n", "\n", " where $\\mathbf{y}=\\left[Y_1,Y_2,\\ldots,Y_n\\right]\\in \\mathbb{R}^n$\n", "and $\\hat{\n", "\\mathbf{y}\n", "}=\\left[\\hat{y}(x_1),\\hat{y}(x_2),\\ldots,\\hat{y}(x_n)\\right]\\in\n", "\\mathbb{R}^n$.\n", "This leads to a quick way to approximate leave-one-out cross\n", "validation as the\n", "following,\n", "\n", "$$\n", "\\hat{R}=\\frac{1}{n}\\sum_{i=1}^n\\left(\\frac{y_i-\\hat{y}(x_i)}{1-\\mathscr{S}_{i,i}}\\right)^2\n", "$$\n", "\n", " However, this does not reproduce the approach in the code above\n", "because it\n", "assumes that each $\\hat{y}_{(-i)}(x_i)$ is consuming one fewer\n", "nearest neighbor\n", "than $\\hat{y}(x)$.\n", "\n", "We can get this $\\mathscr{S}$ matrix from the `knr` object\n", "as in the following," ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "_= knr.fit(xin,y) # fit on all data\n", "S=(knr.kneighbors_graph(xin)).todense()/float(knr.n_neighbors)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `todense` part reformats the sparse matrix that is\n", "returned into a regular\n", "Numpy `matrix`. The following shows a subsection\n", "of this $\\mathcal{S}$ matrix," ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[0.33333333 0.33333333 0.33333333 0. 0. ]\n", " [0.33333333 0.33333333 0.33333333 0. 0. ]\n", " [0. 0.33333333 0.33333333 0.33333333 0. ]\n", " [0. 0. 0.33333333 0.33333333 0.33333333]\n", " [0. 0. 0. 0.33333333 0.33333333]]\n" ] } ], "source": [ "print(S[:5,:5])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The sub-blocks show the windows of the the `y` data that are being\n", "processed by\n", "the nearest neighbor estimator. For example," ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 0.55781314 0.55781314]\n", " [ 0.55781314 0.55781314]\n", " [-0.09768138 -0.09768138]\n", " [-0.46686876 -0.46686876]\n", " [-0.10877633 -0.10877633]]\n" ] } ], "source": [ "print(np.hstack([knr.predict(xin[:5]),(S*y)[:5]]))#columns match" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or, more concisely checking all entries for approximate equality," ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.allclose(knr.predict(xin),S*y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "which shows that the results from the nearest neighbor\n", "object and the matrix\n", "multiply match.\n", "\n", "**Programming Tip.**\n", "\n", "Note that because we formatted the\n", "returned $\\mathscr{S}$ as a Numpy matrix, we\n", "automatically get the matrix\n", "multiplication instead of default element-wise\n", "multiplication in the `S*y` term.\n", "## Kernel Regression\n", "\n", "For estimating the probability density, we started with\n", "the histogram and moved\n", "to the more general kernel density estimate. Likewise,\n", "we can also extend\n", "regression from nearest neighbors to kernel-based regression\n", "using the\n", "*Nadaraya-Watson* kernel regression estimator. Given a bandwidth\n", "$h>0$, the\n", "kernel regression estimator is defined as the following,\n", "\n", "$$\n", "\\hat{y}(x)=\\frac{\\sum_{i=1}^n K\\left(\\frac{x-x_i}{h}\\right) Y_i}{\\sum_{i=1}^n\n", "K \\left( \\frac{x-x_i}{h} \\right)}\n", "$$\n", "\n", " Unfortunately, Scikit-learn does not implement this\n", "regression estimator;\n", "however, Jan Hendrik Metzen makes a compatible\n", "version available on\n", "`github.com`." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The history saving thread hit an unexpected error (OperationalError('disk I/O error')).History will not be written to the database.\n" ] } ], "source": [ "import sys\n", "sys.path.append('../src-statistics')\n", "xin = np.linspace(0,1,20)[:,None]\n", "y = cos(2*pi*(f0*xin+(BW/2.0)*xin**2)).flatten()" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "from kernel_regression import KernelRegression" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This code makes it possible to internally optimize over the bandwidth\n", "parameter\n", "using leave-one-out cross validation by specifying a grid of\n", "potential bandwidth\n", "values (`gamma`), as in the following," ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "KernelRegression(gamma=6000.0, kernel='rbf')" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "kr = KernelRegression(gamma=np.linspace(6e3,7e3,500))\n", "kr.fit(xin,y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[Figure](#fig:nonparametric_006) shows the kernel estimator (heavy\n", "black line)\n", "using the Gaussian kernel compared to the nearest neighbor\n", "estimator (solid\n", "light black line). As before, the data points are shown as\n", "circles.\n", "[Figure](#fig:nonparametric_006) shows that the kernel estimator can\n", "pick out\n", "the sharp peaks that are missed by the nearest neighbor estimator. \n", "\n", "<!--\n", "dom:FIGURE: [fig-statistics/nonparametric_006.png, width=800 frac=0.85] The\n", "heavy black line is the Gaussian kernel estimator. The light black line is the\n", "nearest neighbor estimator. The data points are shown as gray circles. Note that\n", "unlike the nearest neighbor estimator, the Gaussian kernel estimator is able to\n", "pick out the sharp peaks in the training data. <div\n", "id=\"fig:nonparametric_006\"></div> -->\n", "<!-- begin figure -->\n", "<div\n", "id=\"fig:nonparametric_006\"></div>\n", "\n", "<p>The heavy black line is the Gaussian\n", "kernel estimator. The light black line is the nearest neighbor estimator. The\n", "data points are shown as gray circles. Note that unlike the nearest neighbor\n", "estimator, the Gaussian kernel estimator is able to pick out the sharp peaks in\n", "the training data.</p>\n", "<img src=\"fig-statistics/nonparametric_006.png\"\n", "width=800>\n", "\n", "<!-- end figure -->\n", "\n", "\n", "Thus, the difference between nearest neighbor\n", "and kernel estimation is that the\n", "latter provides a smooth moving averaging of\n", "points whereas the former provides\n", "a discontinuous averaging. Note that kernel\n", "estimates suffer near the\n", "boundaries where there is mismatch between the edges\n", "and the kernel\n", "function. This problem gets worse in higher dimensions because\n", "the data\n", "naturally drift towards the boundaries (this is a consequence of the\n", "*curse of\n", "dimensionality*). Indeed, it is not possible to simultaneously\n", "maintain local\n", "accuracy (i.e., low bias) and a generous neighborhood (i.e., low\n", "variance). One\n", "way to address this problem is to create a local polynomial\n", "regression using\n", "the kernel function as a window to localize a region of\n", "interest. For example,\n", "\n", "$$\n", "\\hat{y}(x)=\\sum_{i=1}^n K\\left(\\frac{x-x_i}{h}\\right) (Y_i-\\alpha - \\beta\n", "x_i)^2\n", "$$\n", "\n", " and now we have to optimize over the two linear parameters $\\alpha$\n", "and\n", "$\\beta$. This method is known as *local linear regression*\n", "[[loader2006local]](#loader2006local),\n", "[[hastie2013elements]](#hastie2013elements). Naturally, this can be\n", "extended to\n", "higher-order polynomials. Note that these methods are not yet\n", "implemented in\n", "Scikit-learn." ] }, { "cell_type": "code", "execution_count": 27, "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": [ "fig,ax=subplots()\n", "#fig.set_size_inches((12,4))\n", "_=ax.plot(xi,kr.predict(xi),'k-',label='kernel',lw=3)\n", "_=ax.plot(xin,y,'o',lw=3,color='gray',ms=12)\n", "_=ax.plot(xi,yi,'--',color='gray',label='chirp')\n", "_=ax.plot(xi,knr.predict(xi),'k-',label='nearest')\n", "_=ax.axis(ymax=1.1,ymin=-1.1)\n", "_=ax.set_aspect(1/4.)\n", "_=ax.axis(ymax=1.05,ymin=-1.05)\n", "_=ax.set_xlabel(r'$x$',fontsize=24)\n", "_=ax.set_ylabel(r'$y$',fontsize=24)\n", "_=ax.legend(loc=0)\n", "fig.savefig('fig-statistics/nonparametric_006.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Curse of Dimensionality" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "<!-- # #ifdef SINGLE -->\n", "<!-- TITLE: Curse of Dimensionality -->\n", "<!-- AUTHOR:\n", "Jose Unpingco -->\n", "<!-- DATE: today -->\n", "<!-- # #endif -->\n", "\n", "The so-called curse of\n", "dimensionality occurs as we move into higher and higher\n", "dimensions. The term was\n", "coined by Bellman in 1961 while he was studying\n", "adaptive control processes.\n", "Nowadays, the term is vaguely refers to anything\n", "that becomes more complicated\n", "as the number of dimensions increases\n", "substantially. Nevertheless, the concept\n", "is useful for recognizing\n", "and characterizing the practical difficulties of high-\n", "dimensional analysis and\n", "estimation.\n", "\n", "Consider the volume of an $d$-dimensional\n", "sphere of radius $r$,\n", "\n", "$$\n", "V_s(d,r)=\\frac{\\pi ^{d/2} r^d}{\\Gamma \\left(\\frac{d}{2}+1\\right)}\n", "$$\n", "\n", " Further, consider the sphere $V_s(d,1/2)$ enclosed by an $d$\n", "dimensional unit\n", "cube. The volume of the cube is always equal to one, but\n", "$\\lim_{d\\rightarrow\\infty} V_s(d,1/2) = 0$. What does this mean? It means that\n", "the volume of the cube is pushed away from its center, where the embedded\n", "hypersphere lives. Specifically, the distance from the center of the cube to\n", "its vertices in $d$ dimensions is $\\sqrt{d}/2$, whereas the distance from the\n", "center of the inscribing sphere is $1/2$. This diagonal distance goes to\n", "infinity as $d$ does. For a fixed $d$, the tiny spherical region at the center\n", "of the cube has many long spines attached to it, like a hyper-dimensional sea\n", "urchin or porcupine.\n", "\n", "Another way to think about this is to consider the\n", "$\\epsilon>0$ thick peel of the\n", "hypersphere,\n", "\n", "$$\n", "\\mathcal{P}_{\\epsilon} =V_s(d,r) - V_s(d,r-\\epsilon)\n", "$$\n", "\n", " Then, we consider the following limit,\n", "\n", "<!-- Equation labels as ordinary links -->\n", "<div id=\"_auto1\"></div>\n", "\n", "$$\n", "\\begin{equation}\n", "\\lim_{d\\rightarrow\\infty}\\mathcal{P}_{\\epsilon}\n", "=\\lim_{d\\rightarrow\\infty} V_s(d,r)\\left(1 -\n", "\\frac{V_s(d,r-\\epsilon)}{V_s(d,r)}\\right) \n", "\\label{_auto1} \\tag{1}\n", "\\end{equation}\n", "$$\n", "\n", "<!-- Equation labels as ordinary links -->\n", "<div id=\"_auto2\"></div>\n", "\n", "$$\n", "\\begin{equation} \\\n", "=\\lim_{d\\rightarrow\\infty} V_s(d,r)\\left(1 -\\lim_{d\\rightarrow\\infty}\n", "\\left(\\frac{r-\\epsilon}{r}\\right)^d\\right) \n", "\\label{_auto2} \\tag{2}\n", "\\end{equation}\n", "$$\n", "\n", "<!-- Equation labels as ordinary links -->\n", "<div id=\"_auto3\"></div>\n", "\n", "$$\n", "\\begin{equation} \\\n", "=\\lim_{d\\rightarrow\\infty} V_s(d,r)\n", "\\label{_auto3} \\tag{3}\n", "\\end{equation}\n", "$$\n", "\n", " So, in the limit, the volume of the $\\epsilon$-thick peel \n", "consumes the volume\n", "of the hypersphere.\n", "\n", "What are the consequences of this? For methods that rely on\n", "nearest\n", "neighbors, exploiting locality to lower bias becomes intractable. For\n", "example, suppose we have an $d$ dimensional space and a point near the\n", "origin we\n", "want to localize around. To estimate behavior around this\n", "point, we need to\n", "average the unknown function about this point, but\n", "in a high-dimensional space,\n", "the chances of finding neighbors to\n", "average are slim. Looked at from the\n", "opposing point of view, suppose\n", "we have a binary variable, as in the coin-\n", "flipping problem. If we have\n", "1000 trials, then, based on our earlier work, we\n", "can be confident\n", "about estimating the probability of heads. Now, suppose we\n", "have 10\n", "binary variables. Now we have $2^{ 10 }=1024$ vertices to estimate.\n", "If\n", "we had the same 1000 points, then at least 24 vertices would not\n", "get any data.\n", "To keep the same resolution, we would need 1000 samples\n", "at each vertex for a\n", "grand total of $1000\\times 1024 \\approx 10^6$\n", "data points. So, for a ten fold\n", "increase in the number of variables,\n", "we now have about 1000 more data points to\n", "collect to maintain the\n", "same statistical resolution. This is the curse of\n", "dimensionality.\n", "\n", "Perhaps some code will clarify this. The following code\n", "generates samples in\n", "two dimensions that are plotted as points in\n", "[Figure](#fig:curse_of_dimensionality_001) with the inscribed circle in two\n", "dimensions. Note that for $d=2$ dimensions, most of the points are contained\n", "in\n", "the circle." ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "v=np.random.rand(1000,2)-1/2." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 360x360 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from matplotlib.patches import Circle\n", "from matplotlib.pylab import subplots\n", "fig,ax=subplots()\n", "fig.set_size_inches((5,5))\n", "_=ax.set_aspect(1)\n", "_=ax.scatter(v[:,0],v[:,1],color='gray',alpha=.3)\n", "_=ax.add_patch(Circle((0,0),0.5,alpha=.8,lw=3.,fill=False))\n", "fig.savefig('fig-statistics/curse_of_dimensionality_001.pdf')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "<!-- dom:FIGURE: [fig-statistics/curse_of_dimensionality_001.pdf, width=800\n", "frac=0.65] Two dimensional scatter of points randomly and independently\n", "uniformly distributed in the unit square. Note that most of the points are\n", "contained in the circle. Counter to intuition, this does not persist as the\n", "number of dimensions increases. <div id=\"fig:curse_of_dimensionality_001\"></div>\n", "-->\n", "<!-- begin figure -->\n", "<div id=\"fig:curse_of_dimensionality_001\"></div>\n", "<p>Two dimensional scatter of points randomly and independently uniformly\n", "distributed in the unit square. Note that most of the points are contained in\n", "the circle. Counter to intuition, this does not persist as the number of\n", "dimensions increases.</p>\n", "<img src=\"fig-statistics/curse_of_dimensionality_001.pdf\" width=800>\n", "\n", "<!-- end figure -->\n", "The next code block describes the core computation in\n", "[Figure](#fig:curse_of_dimensionality_002). For each of the dimensions, we\n", "create a set of uniformly distributed random variates along each dimension\n", "and\n", "then compute how close each $d$ dimensional vector is to the origin.\n", "Those that\n", "measure one half are those contained in the hypersphere. The\n", "histogram of each\n", "measurment is shown in the corresponding panel in the\n", "[Figure](#fig:curse_of_dimensionality_002). The dark vertical line shows the\n", "threshold value. Values to the left\n", "of this indicate the population that are\n", "contained in the hypersphere. Thus,\n", "[Figure](#fig:curse_of_dimensionality_002)\n", "shows that as $d$ increases,\n", "fewer points are contained in the inscribed\n", "hypersphere. The following\n", "code paraphrases the content of\n", "[Figure](#fig:curse_of_dimensionality_002)." ] }, { "cell_type": "code", "execution_count": 30, "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": [ "fig,ax=subplots()\n", "for d in [2,3,5,10,20,50]:\n", " v=np.random.rand(5000,d)-1/2.\n", " ax.hist([np.linalg.norm(i) for i in v])" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 720x432 with 6 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "siz = [ 2,3,5,10,20,50 ]\n", "fig,axs=subplots(3,2,sharex=True)\n", "fig.set_size_inches((10,6))\n", "for ax,k in zip(axs.flatten(),siz):\n", " v=np.random.rand(5000,k)-1/2.\n", " _=ax.hist([np.linalg.norm(i) for i in v],color='gray',density=True);\n", " _=ax.vlines(0.5,0,ax.axis()[-1]*1.1,lw=3)\n", " _=ax.set_title('$d=%d$'%k,fontsize=20)\n", " _=ax.tick_params(labelsize='small',top=False,right=False)\n", " _=ax.spines['top'].set_visible(False)\n", " _=ax.spines['right'].set_visible(False)\n", " _=ax.spines['left'].set_visible(False)\n", " _=ax.yaxis.set_visible(False)\n", " _=ax.axis(ymax=3.5)\n", "\n", "fig.set_tight_layout(True)\n", "fig.savefig('fig-statistics/curse_of_dimensionality_002.pdf')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "<!-- dom:FIGURE: [fig-statistics/curse_of_dimensionality_002.pdf, width=800\n", "frac=0.95] Each panel shows the histogram of lengths of uniformly distributed\n", "$d$ dimensional random vectors. The population to the left of the dark vertical\n", "line are those that are contained in the inscribed hypersphere. This shows that\n", "fewer points are contained in the hypersphere with increasing dimension. <div\n", "id=\"fig:curse_of_dimensionality_002\"></div> -->\n", "<!-- begin figure -->\n", "<div\n", "id=\"fig:curse_of_dimensionality_002\"></div>\n", "\n", "<p>Each panel shows the histogram\n", "of lengths of uniformly distributed $d$ dimensional random vectors. The\n", "population to the left of the dark vertical line are those that are contained in\n", "the inscribed hypersphere. This shows that fewer points are contained in the\n", "hypersphere with increasing dimension.</p>\n", "<img src=\"fig-\n", "statistics/curse_of_dimensionality_002.pdf\" width=800>\n", "\n", "<!-- end figure -->\n", "\n", "\n", "##\n", "Nonparametric Tests\n", "\n", "\n", "Determining whether or not two sets of observations derive\n", "from the same\n", "underlying probability distribution is an important problem. The\n", "most popular\n", "way to do this is with a standard t-test, but that requires\n", "assumptions about\n", "normality that may be hard to justify, which leads to\n", "nonparametric methods can\n", "get at this questions without such assumptions.\n", "\n", "Let\n", "$V$ and $W$ be continuous random variables. The variable \n", "$V$ is *stochastically\n", "larger* than $W$ if,\n", "\n", "$$\n", "\\mathbb{P}(V\\ge x) \\ge \\mathbb{P}(W\\ge x)\n", "$$\n", "\n", " for all $x\\in \\mathbb{R}$ with strict inequality for at least one\n", "$x$. The term\n", "*stochastically smaller* means the obverse of this. For example,\n", "the black line\n", "density function shown in [Figure](#fig:nonparametric_tests_001) is\n", "stochastically larger than the gray one." ] }, { "cell_type": "code", "execution_count": 32, "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": [ "import numpy as np\n", "from scipy import stats\n", "from matplotlib.pylab import subplots\n", "\n", "fig,ax=subplots()\n", "xi = np.linspace(0,2,100)\n", "_=ax.plot(xi,stats.norm(1,0.25).pdf(xi),lw=3,color='k')\n", "_=ax.plot(xi,stats.beta(2,4).pdf(xi),lw=3,color='gray')\n", "_=ax.spines['top'].set_visible(0)\n", "_=ax.spines['right'].set_visible(0)\n", "_=ax.tick_params(labelsize='medium',top=False,right=False)\n", "ax.set_aspect(1/2.5)\n", "\n", "fig.savefig('fig-statistics/nonparametric_tests_001.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "<!-- dom:FIGURE: [fig-statistics/nonparametric_tests_001.png, width=800\n", "frac=0.65] The black line density function is stochastically larger than the\n", "gray one. <div id=\"fig:nonparametric_tests_001\"></div> -->\n", "<!-- begin figure -->\n", "<div id=\"fig:nonparametric_tests_001\"></div>\n", "\n", "<p>The black line density function\n", "is stochastically larger than the gray one.</p>\n", "<img src=\"fig-\n", "statistics/nonparametric_tests_001.png\" width=800>\n", "\n", "<!-- end figure -->\n", "\n", "\n", "### The Mann-Whitney-Wilcoxon Test\n", "\n", "The Mann-Whitney-Wilcoxon Test approaches the\n", "following alternative hypotheses\n", "\n", " * $H_0$ : $F(x) = G(x)$ for all $x$ versus\n", "* $H_a$ : $F(x) \\ge G(x)$, $F$ stochastically greater than $G$.\n", "\n", "Suppose we have\n", "two data sets $X$ and $Y$ and we want to know if they are drawn\n", "from the same\n", "underlying probability distribution or if one is stochastically\n", "greater than the\n", "other. There are $n_x$ elements in $X$ and $n_y$ elements in\n", "$Y$. If we combine\n", "these two data sets and rank them, then, under the null\n", "hypothesis, any data\n", "element should be as likely as any other to be assigned\n", "any particular rank.\n", "that is, the combined set $Z$,\n", "\n", "$$\n", "Z = \\lbrace X_1,\\ldots,X_{n_x}, Y_1,\\ldots,Y_{n_y} \\rbrace\n", "$$\n", "\n", " contains $n=n_x+n_y$ elements. Thus, any assignment of $n_y$ ranks\n", "from the\n", "integers $\\lbrace 1,\\ldots,n \\rbrace$ to $\\lbrace Y_1,\\ldots,Y_{n_y}\n", "\\rbrace$\n", "should be equally likely (i.e., $\\mathbb{P}={ \\binom{n}{n_y} }^{-1}$).\n", "Importantly, this property is independent of the $F$ distribution.\n", "\n", "That is, we\n", "can define the $U$ statistic as the following,\n", "\n", "$$\n", "U_X =\\sum_{i=1}^{n_x}\\sum_{j=1}^{n_y}\\mathbb{I}(X_i\\ge Y_j)\n", "$$\n", "\n", " where $\\mathbb{I}(\\cdot)$ is the usual indicator function. For an\n", "interpretation, this counts the number of times that elements of $Y$ outrank\n", "elements of $X$. For example, let us suppose that $X=\\lbrace 1,3,4,5,6\n", "\\rbrace$ and $Y=\\lbrace 2,7,8,10,11 \\rbrace$. We can get a this in one move\n", "using Numpy broadcasting," ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "4 21\n" ] } ], "source": [ "import numpy as np\n", "x = np.array([ 1,3,4,5,6 ])\n", "y = np.array([2,7,8,10,11])\n", "U_X = (y <= x[:,None]).sum()\n", "U_Y = (x <= y[:,None]).sum()\n", "print (U_X, U_Y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that\n", "\n", "$$\n", "U_X+U_Y =\\sum_{i=1}^{n_x}\\sum_{j=1}^{n_y} \\mathbb{I}(Y_i\\ge\n", "X_j)+\\mathbb{I}(X_i\\ge Y_j)= n_x n_y\n", "$$\n", "\n", " because $\\mathbb{I}(Y_i\\ge X_j)+\\mathbb{I}(X_i\\ge Y_j)=1$. We \n", "can verify this\n", "in Python," ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True\n" ] } ], "source": [ "print ((U_X+U_Y) == len(x)*len(y))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we can compute the $U_X$ statistic, we have to characterize it. Let us\n", "consider $U_X$. If $H_0$ is true, then $X$ and $Y$ are identically distributed\n", "random variables. Thus all $\\binom{n_x+n_y}{n_x}$ allocations of the\n", "$X$-variables in the ordered combined sample are equally likely. Among these,\n", "there are $\\binom{n_x+n_y-1}{n_x}$ allocations have a $Y$ variable \n", "as the\n", "largest observation in the combined sample. For these, omitting this \n", "largest\n", "observation does not affect $U_X$ because it would not have been\n", "counted anyway.\n", "The other $\\binom{n_x+n_y-1}{n_x-1}$ allocations have \n", "an element of $X$ as the\n", "largest observation. Omitting this observation \n", "reduces $U_X$ by $n_y$.\n", "\n", "With\n", "all that, suppose $N_{n_x,n_y}(u)$ be the number of allocations of \n", "$X$ and $Y$\n", "elements that result in $U_X=u$. Under $H_0$ situation \n", "of equally likely\n", "outcomes, we have\n", "\n", "$$\n", "p_{n_x, n_y}(u) =\n", "\\mathbb{P}(U_X=u)=\\frac{N_{n_x,n_y}(u)}{\\binom{n_x+n_y}{n_x}}\n", "$$\n", "\n", " From our previous discussion, we have the recursive relationship,\n", "\n", "$$\n", "N_{n_x,n_y}(u) = N_{n_x,n_y-1}(u) + N_{n_x-1,n_y}(u-n_y)\n", "$$\n", "\n", " After dividing all of this by $\\binom{n_x+n_y}{n_x}$ and using the\n", "$p_{n_x,\n", "n_y}(u)$ notation above, we obtain the following,\n", "\n", "$$\n", "p_{n_x, n_y}(u) = \\frac{n_y}{n_x+n_y} p_{n_x,n_y-1}(u)+\\frac{n_x}{n_x+n_y}\n", "p_{n_x-1,n_y}(u-n_y)\n", "$$\n", "\n", " where $0\\le u\\le n_x n_y$. To start this recursion, we need the\n", "following\n", "initial conditions,\n", "\n", "$$\n", "\\begin{eqnarray*}\n", "p_{0,n_y}(u_x=0) & = & 1 \\\\ \n", "p_{0,n_y}(u_x>0) & = & 0 \\\\\n", "p_{n_x,0}(u_x=0) & = & 1 \\\\ \n", "p_{n_x,0}(u_x>0) & = & 0 \n", "\\end{eqnarray*}\n", "$$\n", "\n", " To see how this works in Python," ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [], "source": [ "\n", "def prob(n,m,u):\n", " if u<0: return 0\n", " if n==0 or m==0:\n", " return int(u==0)\n", " else:\n", " f = m/float(m+n)\n", " return (f*prob(n,m-1,u) + \n", " (1-f)*prob(n-1,m,u-m))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "These are shown in [Figure](#fig:nonparametric_tests_002) and\n", "approach a normal\n", "distribution for large $n_x,n_y$, with the following \n", "mean and variance,\n", "\n", "<!-- Equation labels as ordinary links -->\n", "<div id=\"eq:ustatmv\"></div>\n", "\n", "$$\n", "\\begin{eqnarray}\n", "\\mathbb{E}(U) & = & \\frac{n_x n_y}{2} \\\\\n", "\\mathbb{V}(U) & = &\n", "\\frac{n_x n_y (n_x+n_y+1)}{12}\n", "\\end{eqnarray}\n", "\\label{eq:ustatmv} \\tag{4}\n", "$$\n", "\n", " The variance becomes more complicated when there are ties." ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/unpingco/.conda/envs/pypsml2E/lib/python3.7/site-packages/ipykernel_launcher.py:5: UserWarning: In Matplotlib 3.3 individual lines on a stem plot will be added as a LineCollection instead of individual lines. This significantly improves the performance of a stem plot. To remove this warning and switch to the new behaviour, set the \"use_line_collection\" keyword argument to True.\n", " \"\"\"\n", "/home/unpingco/.conda/envs/pypsml2E/lib/python3.7/site-packages/ipykernel_launcher.py:9: UserWarning: In Matplotlib 3.3 individual lines on a stem plot will be added as a LineCollection instead of individual lines. This significantly improves the performance of a stem plot. To remove this warning and switch to the new behaviour, set the \"use_line_collection\" keyword argument to True.\n", " if __name__ == '__main__':\n", "/home/unpingco/.conda/envs/pypsml2E/lib/python3.7/site-packages/ipykernel_launcher.py:13: UserWarning: In Matplotlib 3.3 individual lines on a stem plot will be added as a LineCollection instead of individual lines. This significantly improves the performance of a stem plot. To remove this warning and switch to the new behaviour, set the \"use_line_collection\" keyword argument to True.\n", " del sys.path[0]\n", "/home/unpingco/.conda/envs/pypsml2E/lib/python3.7/site-packages/ipykernel_launcher.py:17: UserWarning: In Matplotlib 3.3 individual lines on a stem plot will be added as a LineCollection instead of individual lines. This significantly improves the performance of a stem plot. To remove this warning and switch to the new behaviour, set the \"use_line_collection\" keyword argument to True.\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 4 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig,axs=subplots(2,2)\n", "fig.tight_layout()\n", "ax=axs[0,0]\n", "ax.tick_params(axis='both', which='major', labelsize=10)\n", "_=ax.stem([prob(2,2,i) for i in range(2*2+1)],linefmt='k-',markerfmt='ko',basefmt='k-')\n", "_=ax.set_title(r'$n_x=%d,n_y=%d$'%(2,2),fontsize=14)\n", "ax=axs[0,1]\n", "ax.tick_params(axis='both', which='major', labelsize=10)\n", "_=ax.stem([prob(4,2,i) for i in range(4*2+1)],linefmt='k-',markerfmt='ko',basefmt='k-')\n", "_=ax.set_title(r'$n_x=%d,n_y=%d$'%(4,2),fontsize=14)\n", "ax=axs[1,0]\n", "ax.tick_params(axis='both', which='major', labelsize=10)\n", "_=ax.stem([prob(6,7,i) for i in range(6*7+1)],linefmt='k-',markerfmt='ko',basefmt='k-')\n", "_=ax.set_title(r'$n_x=%d,n_y=%d$'%(6,7),fontsize=14)\n", "ax=axs[1,1]\n", "ax.tick_params(axis='both', which='major', labelsize=10)\n", "_=ax.stem([prob(8,12,i) for i in range(8*12+1)],linefmt='k-',markerfmt='ko',basefmt='k-')\n", "_=ax.set_title(r'$n_x=%d,n_y=%d$'%(8,12),fontsize=14)\n", "fig.savefig('fig-statistics/nonparametric_tests_002.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "<!-- dom:FIGURE: [fig-statistics/nonparametric_tests_002.png, width=800\n", "frac=0.75] The normal approximation to the distribution improves with increasing\n", "$n_x, n_y$. <div id=\"fig:nonparametric_tests_002\"></div> -->\n", "<!-- begin figure\n", "-->\n", "<div id=\"fig:nonparametric_tests_002\"></div>\n", "\n", "<p>The normal approximation to\n", "the distribution improves with increasing $n_x, n_y$.</p>\n", "<img src=\"fig-\n", "statistics/nonparametric_tests_002.png\" width=800>\n", "\n", "<!-- end figure -->\n", "\n", "\n", "###\n", "Example\n", "\n", "We are trying to determine whether or not one network configuration is\n", "faster\n", "than another. We obtain the following round-trip times for each of the\n", "networks." ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [], "source": [ "\n", "X=np.array([ 50.6,31.9,40.5,38.1,39.4,35.1,33.1,36.5,38.7,42.3 ])\n", "Y=np.array([ 28.8,30.1,18.2,38.5,44.2,28.2,32.9,48.8,39.5,30.7 ])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Because there are too few elements to use the\n", "`scipy.stats.mannwhitneyu`\n", "function (which internally uses the normal\n", "approximation to the U-statistic), we\n", "can use our custom function above, but\n", "first we need to compute the $U_X$\n", "statistic using Numpy," ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [], "source": [ "U_X = (Y <= X[:,None]).sum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For the p-value, we want to compute the probability that the observed \n", "$U_X$\n", "statistic at least as great as what was observed," ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.08274697438784127\n" ] } ], "source": [ "print(sum(prob(10,10,i) for i in range(U_X,101)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is close to the usual five percent p-value threshold so it is\n", "possible at\n", "a slightly higher threshold to conclude that the two sets of\n", "samples do *not*\n", "originate from the same underlying distribution. Keep in mind\n", "that the usual\n", "five percent threshold is just a guideline. Ultimately, it is up\n", "to the analyst\n", "to make the call.\n", "\n", "### Proving Mean and Variance for U-Statistic\n", "\n", "To prove\n", "Equation [4](#eq:ustatmv), we assume there are no ties.\n", "One way to get at the\n", "result $\\mathbb{E}(U)= n_x n_y/2$,\n", "\n", "$$\n", "\\mathbb{E}(U_Y) = \\sum_j\\sum_i\\mathbb{P}(X_i \\leq Y_j)\n", "$$\n", "\n", " because $\\mathbb{E}(\\mathbb{I}(X_i\\leq Y_j))=\\mathbb{P}(X_i \\leq\n", "Y_j)$.\n", "Further, because all the subscripted $X$ and $Y$ variables are drawn\n", "independently from the same distribution, we have\n", "\n", "$$\n", "\\mathbb{E}(U_Y) = n_x n_y \\mathbb{P}(X \\leq Y)\n", "$$\n", "\n", " and also,\n", "\n", "$$\n", "\\mathbb{P}(X \\leq Y) + \\mathbb{P}(X \\ge Y) =1\n", "$$\n", "\n", " because those are the two mutually exclusive conditions. Because the\n", "$X$\n", "variables and $Y$ variables are drawn from the same distribution, we have\n", "$\\mathbb{P}(X \\leq Y) = \\mathbb{P}(X \\ge Y)$, which means $ \\mathbb{P}(X \\leq\n", "Y)=1/2$ and therefore $\\mathbb{E}(U_Y)= n_x n_y /2$. Another way to get the\n", "same result, is to note that, as we showed earlier, $U_X+U_Y = n_x n_y $.\n", "Then,\n", "taking the expectation of both sides noting that\n", "$\\mathbb{E}(U_X)=\\mathbb{E}(U_Y)=\\mathbb{E}(U)$, gives\n", "\n", "$$\n", "2 \\mathbb{E}(U) = n_x n_y\n", "$$\n", "\n", " which gives $\\mathbb{E}(U)=n_x n_y /2$. \n", "\n", "Getting the variance \n", "is trickier. To\n", "start, we compute the following,\n", "\n", "$$\n", "\\mathbb{E}(U_X U_Y) = \\sum_i \\sum_j \\sum_k \\sum_l \\mathbb{P}( X_i\\ge Y_j\n", "\\land X_k \\le Y_l )\n", "$$\n", "\n", " Of these terms, we have $\\mathbb{P}( Y_j \\le X_i\\le Y_j)=0$ because these \n", "are\n", "continuous random variables. Let's consider the terms of the following type,\n", "$\\mathbb{P}( Y_i \\le X_k \\le Y_l)$. To reduce the notational noise, let's\n", "rewrite this as\n", "$\\mathbb{P}( Z \\le X \\le Y)$. Writing this out gives\n", "\n", "$$\n", "\\mathbb{P}( Z \\le X \\le Y) = \\int_{\\mathbb{R}} \\int_Z^\\infty\n", "(F(Y)-F(Z))f(y)f(z)dy dz\n", "$$\n", "\n", " where $F$ is the cumulative density function and $f$ is the\n", "probability density\n", "function ($dF(x)/dx = f(x)$). Let's break this up term by\n", "term. Using some\n", "calculus for the term,\n", "\n", "$$\n", "\\int_Z^\\infty F(Y)f(y)dy = \\int_{F(Z)}^1 F dF\\ = \\frac{1}{2}\\left(1-F(Z)\n", "\\right)\n", "$$\n", "\n", " Then, integrating out the $Z$ variable from this result, we obtain the\n", "following,\n", "\n", "$$\n", "\\int_{\\mathbb{R}} \\frac{1}{2}\\left(1-\\frac{F(Z)^2}{2}\\right) f(z) dz =\n", "\\frac{1}{3}\n", "$$\n", "\n", " Next, we compute,\n", "\n", "$$\n", "\\begin{eqnarray*}\n", "\\int_{\\mathbb{R}} F(Z) \\int_Z^\\infty f(y) dy f(z) dz\n", "&=&\\int_{\\mathbb{R}} (1-F(Z)) F(Z) f(z) dz \\\\\n", "&=&\\int_{\\mathbb{R}} (1-F) F dF =\\frac{1}{6}\n", "\\end{eqnarray*}\n", "$$\n", "\n", " Finally, assembling the result, we have\n", "\n", "$$\n", "\\mathbb{P}( Z \\le X \\le Y) = \\frac{1}{3}- \\frac{1}{6} = \\frac{1}{6}\n", "$$\n", "\n", " Also, terms like $\\mathbb{P}(X_k\\ge Y_i \\land X_m \\le Y_i) =\n", "\\mathbb{P}(X_m\\le\n", "Y_i \\le X_k)=1/6$ by the same reasoning. That leaves the\n", "terms like\n", "$\\mathbb{P}(X_k\\ge Y_i\\land X_m\\le Y_l)=1/4$ because of mutual\n", "independence and\n", "$\\mathbb{P}(X_k\\ge Y_i)=1/2$. Now that we have all the\n", "terms, we have to\n", "assemble the combinatorics to get the final answer.\n", "\n", "There are $ n_y (n_y -1)\n", "n_x + n_x (n_x -1) n_y $ terms of type $\\mathbb{P}(\n", "Y_i \\le X_k \\le Y_l)$.\n", "There are $ n_y (n_y -1) n_x (n_x -1)$ terms like\n", "$\\mathbb{P}(X_k\\ge Y_i\\land\n", "X_m\\le Y_l)$. Putting this all together, \n", "this means that\n", "\n", "$$\n", "\\mathbb{E}(U_X U_Y) = \\frac{n_x n_y(n_x+n_y-2)}{6}+\\frac{n_x\n", "n_y(n_x-1)(n_y-1)}{4}\n", "$$\n", "\n", " To assemble the $\\mathbb{E}(U^2)$ result, we need to appeal to our earlier\n", "result,\n", "\n", "$$\n", "U_X+U_Y = n_x n_y\n", "$$\n", "\n", " Squaring both sides of this and taking the expectation gives,\n", "\n", "$$\n", "\\mathbb{E}(U_X^2) + 2 \\mathbb{E}(U_X U_Y)+\\mathbb{E}(U_Y^2) = n_x^2 n_y^2\n", "$$\n", "\n", " Because $\\mathbb{E}(U_X^2)=\\mathbb{E}(U_X^2)=\\mathbb{E}(U)$, we \n", "can simplify\n", "this as the following,\n", "\n", "$$\n", "\\begin{eqnarray*}\n", "\\mathbb{E}(U^2) &=& \\frac{n_x^2 n_y^2 - 2 \\mathbb{E}(U_X\n", "U_Y)}{2}\\\\\n", "\\mathbb{E}(U^2) &=& \\frac{n_x n_y (1+n_x +n_y +3 n_x n_y )}{12}\n", "\\end{eqnarray*}\n", "$$\n", "\n", " Then, since $\\mathbb{V}(U) = \\mathbb{E}(U^2)- \\mathbb{E}(U)^2$, we\n", "finally have\n", "\n", "$$\n", "\\mathbb{V}(U) = \\frac{n_x n_y (1+ n_x +n_y )}{12}\n", "$$\n", "\n", "<!-- TODO: Additive models, \"\" -->\n", "<!-- TODO: Local Regression Methods, p. 32\n", "-->\n", "<!-- TODO: Spline Methods, p. 32 -->\n", "<!-- TODO: Rank-sum test\n", "Mathematica_Laboratories_for_Mathematical_Statistics_Baglivo.txt -->\n", "<!-- TODO:\n", "Rank-sum test Mathematica_Laboratories_for_Mat.. 11.2 Paired sample 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.7.3" } }, "nbformat": 4, "nbformat_minor": 2 }