Skip to content

Instantly share code, notes, and snippets.

@xmodar
Last active August 20, 2021 04:07
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save xmodar/3cb2fd4e2618bbcf673282eff8c803f3 to your computer and use it in GitHub Desktop.
Save xmodar/3cb2fd4e2618bbcf673282eff8c803f3 to your computer and use it in GitHub Desktop.
Fitting Gaussian to Sampled Data Using PyTorch.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Fitting Gaussian to Sampled Data Using PyTorch\n",
"\n",
"Author: [Modar Alfadly](https://github.com/ModarTensai/) (19th Septemper 2018)"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import math\n",
"import torch\n",
"\n",
"\n",
"def gaussian(x, mean, std, pdf=True, cdf=True):\n",
" '''The PDF and CDF of the normal distribution.\n",
"\n",
" Args:\n",
" x: The point of evaluation (tensor).\n",
" mean: The mean of the distribution.\n",
" std: The standard deviation.\n",
" pdf: Whether to return the PDF.\n",
" cdf: Whether to return the CDF.\n",
"\n",
" Returns:\n",
" The the normal (PDF, CDF) at x.\n",
" '''\n",
" arg = math.sqrt(0.5) * (x - mean) / std\n",
" if pdf:\n",
" coef = 1.0 / (math.sqrt(2.0 * math.pi) * std)\n",
" rpdf = coef * torch.exp(-torch.pow(arg, 2.0))\n",
" if not cdf:\n",
" return rpdf\n",
" if cdf:\n",
" rcdf = 0.5 + 0.5 * torch.erf(arg)\n",
" if not pdf:\n",
" return rcdf\n",
" return rpdf, rcdf\n",
"\n",
"\n",
"def percentile(x, q, sort=True):\n",
" '''The percentile of samples of data.\n",
"\n",
" Args:\n",
" x: The 1D data tensor.\n",
" q: The percentage in [0, 100].\n",
" sort: Set to False only if x is sorted to save computation.\n",
"\n",
" Returns:\n",
" The `q`th percentile of the data.\n",
" '''\n",
" if sort:\n",
" x = x.sort()[0]\n",
" if not (0 <= q <= 100):\n",
" raise ValueError('`q` must be in between 0 and 100.')\n",
" value = (q / 100) * x.numel() - 1\n",
" if value < 0:\n",
" return 0\n",
" index = int(value)\n",
" frac = value - index\n",
" next_index = min(index + 1, x.numel() - 1)\n",
" return (1 - frac) * x[index] + frac * x[next_index]\n",
"\n",
"\n",
"def inter_quartile_range(x, sort=True):\n",
" '''IQR: the inter-quartile range of samples of data.\n",
"\n",
" Args:\n",
" x: The 1D data tensor.\n",
" sort: Set to False only if x is sorted to save computation.\n",
"\n",
" Returns:\n",
" The IQR of the data.\n",
" '''\n",
" if sort:\n",
" x = x.sort()[0]\n",
" return percentile(x, 75, False) - percentile(x, 25, False)\n",
"\n",
"\n",
"def num_hist_bins(x, min_bins=1, max_bins=1000, sort=True):\n",
" '''Freedman-Diaconis rule for the number of bins.\n",
"\n",
" Args:\n",
" x: The 1D data tensor.\n",
" sort: Set to False only if x is sorted to save computation.\n",
" min_bins: The minimum number of bins.\n",
" max_bins: The maximum number of bins.\n",
"\n",
" Returns:\n",
" The appropriate number of bins to histogram the given data.\n",
" '''\n",
" if sort:\n",
" x = x.sort()[0]\n",
" bin_width = 2 * x.numel()**(-1 / 3) * inter_quartile_range(x, False)\n",
" num_bins = ((x[-1] - x[0]) / bin_width).round().long()\n",
" l_bounded = torch.max(num_bins, torch.tensor(min_bins))\n",
" ul_bounded = torch.min(l_bounded, torch.tensor(max_bins))\n",
" return ul_bounded\n",
"\n",
"\n",
"def integrate_area(values, bounds=None, dx=1, _sum=None):\n",
" '''Integrate using the composite trapezoidal rule.\n",
"\n",
" Args:\n",
" values: A 1D tenosr of y-axis values.\n",
" bounds: A tuple (lower, upper) of the range of the x-axis.\n",
" dx: The distance between `values` if `bounds is None`.\n",
" _sum: The pre-computed sum of `values`.\n",
" \n",
" Returns:\n",
" The area under the curve using the compoite trapezoidal rule.\n",
" '''\n",
" if _sum is None:\n",
" _sum = values.sum()\n",
" if bounds is None:\n",
" return dx * (_sum - (values[0] + values[-1]) / 2)\n",
" else:\n",
" return _sum * (bounds[1] - bounds[0]) / (values.numel() - 1)\n",
"\n",
"\n",
"def normalized_histogram(x, bins=None, sort=True):\n",
" '''Estimates the PDF of samples of data as a histogram.\n",
" \n",
" In case that x was constant\n",
"\n",
" Args:\n",
" x: The 1D data tensor.\n",
" bins: The desired number of bins. If None, use num_hist_bins(x).\n",
" sort: Set to False only if x is sorted to save computation.\n",
"\n",
" Returns:\n",
" The normalized histogram of the data as 1D tensor and\n",
" the range bounds (lower, upper).\n",
" '''\n",
" if sort:\n",
" x = x.sort()[0]\n",
" if bins is None:\n",
" bins = num_hist_bins(x, sort=False).item()\n",
" hist = x.histc(bins)\n",
" bounds = (x[0], x[-1])\n",
" area = integrate_area(hist, bounds, _sum=x.numel())\n",
" if x[0] == x[-1]:\n",
" area = hist.clone()\n",
" area[area == 0] = 1\n",
" return hist / area, bounds\n",
"\n",
"\n",
"def hist_as_func(hist, bounds, filler=float('nan')):\n",
" '''Converts a discrete histogram into a continuous function.\n",
"\n",
" One can discretize a function f in a certain domain `bounds = [lower, upper]`\n",
" using a histogram hist of n bins, i.e. n functions values at uniformily\n",
" distributed samples in the range [lower, upper].\n",
" In other words, we can say that f(x) = hist[index]\n",
" where index = (x - lower) * (n - 1) / (upper - lower)\n",
" assuming that index is an integer in the range [lower, upper].\n",
" If index is not in the range, the default value is `filler`.\n",
" If index is not integer, we linearly interpolate the adjacent elements.\n",
"\n",
" Args:\n",
" hist: A sorted list of values that represent a histogram.\n",
" bounds: A tuple (lower, upper) of the range of the x-axis.\n",
" filler: The default value for out of range samples.\n",
"\n",
" Returns:\n",
" A function `func` that evaluates hist[x] at any given x.\n",
" If x < lower or x > upper, the default hist value will be `filler`.\n",
" This function will have all the parameters {hist, lower, upper, filler}\n",
" as attributes, e.g. `func.hist is hist` and so on.\n",
" '''\n",
" lower, upper = bounds\n",
" if upper == lower:\n",
" hist_sum = hist.sum()\n",
" else:\n",
" factor = (hist.size(0) - 1) / (upper - lower)\n",
" def func(x):\n",
" out = torch.empty_like(x)\n",
" in_bound = (lower <= x) * (x <= upper)\n",
" out[~in_bound] = filler\n",
" if upper == lower:\n",
" out[in_bound] = hist_sum\n",
" else:\n",
" pos = (x[in_bound] - lower) * factor\n",
" index, frac = pos.long(), pos % 1\n",
" next_index = (index + 1).clamp(max=hist.size(0) - 1)\n",
" out[in_bound] = (1 - frac) * hist[index] + frac * hist[next_index]\n",
" return out\n",
" func.hist = hist\n",
" func.bounds = bounds\n",
" func.filler = filler\n",
" return func\n",
" \n",
"\n",
"def estimate_pdf(x, sort=True):\n",
" '''Fit the PDF of samples of data.\n",
"\n",
" Args:\n",
" x: A 1D data tensor.\n",
" sort: Set to False only if x is sorted to save computation.\n",
"\n",
" Returns:\n",
" The PDF function (output of `hist_as_func()`).\n",
" '''\n",
" hist, bounds = normalized_histogram(x, sort=sort)\n",
" return hist_as_func(hist, bounds, filler=0)\n",
"\n",
"\n",
"def pdf_similarity(hist1, hist2, bounds):\n",
" '''Similarity between to PDFs using histogram kernel intersection.\n",
"\n",
" Args:\n",
" hist1: The first PDF as a normalized histogram (1D tensor).\n",
" hist2: The second histogram.\n",
" bounds: A tuple (lower, upper) range of the x-axis.\n",
"\n",
" Returns:\n",
" The similarity measure [0, 1].\n",
" '''\n",
" if hist1.numel() != hist2.numel():\n",
" raise ValueError('The two PDFs should have the same length.')\n",
" return integrate_area(torch.min(hist1, hist2), bounds)\n",
"\n",
"\n",
"def fit_normal(x, sigmas=5, correct=True, sort=True):\n",
" '''Estimate the PDF from samples and fit a Gaussian.\n",
"\n",
" Args:\n",
" x: A 1D data tensor.\n",
" sigmas: How many standard deviations away from the mean to consider.\n",
" correct: Whether to normalize `pdf_fit` to account for sampling errors.\n",
" sort: Set to False only if x is sorted to save computation.\n",
"\n",
" Returns:\n",
" {xs: A linspace for the fitted PDFs\n",
" pdf: The PDF of the data as 1D histogram\n",
" fit: The histogram of the best Guassian fit\n",
" mean: The mean of the Gaussian fit\n",
" std: The standard deviation of the Gaussian fit\n",
" similarity: The simialrity between `pdf` and `fit`}\n",
" '''\n",
" std = x.std()\n",
" mean = x.mean()\n",
" pdf = estimate_pdf(x, sort=sort)\n",
" lower = min(pdf.bounds[0], mean - sigmas * std)\n",
" upper = max(pdf.bounds[1], mean + sigmas * std)\n",
" bounds = (lower, upper)\n",
" xs = torch.linspace(*bounds, max(pdf.hist.size(0), 100),\n",
" device=x.device, dtype=x.dtype)\n",
" pdf_hist = pdf(xs) # normalize to correct sampling errors\n",
" if correct:\n",
" pdf_hist /= integrate_area(pdf_hist, bounds)\n",
" gaussian_fit = gaussian(xs, mean, std, cdf=False)\n",
" similarity = pdf_similarity(pdf_hist, gaussian_fit, bounds)\n",
" if lower == upper: # handle the degenerate case\n",
" pdf_hist[0] = gaussian_fit[0] = similarity = 1\n",
" \n",
" results = {\n",
" 'xs': xs,\n",
" 'pdf': pdf_hist,\n",
" 'fit': gaussian_fit,\n",
" 'mean': mean, \n",
" 'std': std,\n",
" 'similarity': similarity,\n",
" }\n",
" return results"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAD8CAYAAABw1c+bAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzt3Xlc1NX++PHXm92FVTRTVDS1NEUyNNs108zKrOvtppXVzczMzKy87d3qW1nZL+taltc2W9TWm6W5lLZbiqXmvuQGbiwiIOsw5/cHAw3wAWZgYAZ4Px+PeTDz+ZzzmfcMzJsz53M+54gxBqWUUk2Hn7cDUEopVb808SulVBOjiV8ppZoYTfxKKdXEaOJXSqkmRhO/Uko1MZr4lVKqidHEr5RSTYwmfqWUamICvB2AlejoaBMbG+vtMJRSqsFYt25dqjGmtStlfTLxx8bGkpiY6O0wlFKqwRCRfa6W1a4epZRqYqpN/CLSQURWicgWEdksIndZlBEReVlEdonIRhHp67TvRhHZ6bjd6OkXoJRSyj2udPXYgHuMMb+JSCiwTkRWGGO2OJW5FOjmuJ0FzAbOEpEo4DEgATCOuouMMcc8+iqUUkq5rNrEb4w5BBxy3M8Ska1Ae8A58V8JzDPFczz/IiIRInIyMBBYYYxJBxCRFcAwYL67gRYWFpKUlEReXp67VZWPCwkJISYmhsDAQG+HolST4NbJXRGJBc4Afi23qz1wwOlxkmNbZdvdlpSURGhoKLGxsYhITQ6hfJAxhrS0NJKSkujcubO3w1GqSXD55K6ItAQ+AaYYYzI9HYiIjBeRRBFJTElJqbA/Ly+PVq1aadJvZESEVq1a6Tc5peqRS4lfRAIpTvrvG2M+tSiSDHRwehzj2FbZ9gqMMXOMMQnGmITWra2HomrSb5z096pU/XJlVI8AbwBbjTH/r5Jii4CxjtE9A4DjjnMDy4ChIhIpIpHAUMc2pVQ9WJOZyZpMj39BVw2cKy3+c4EbgItEZL3jNlxEJojIBEeZJcCfwC7gv8BEAMdJ3SeBtY7bEyUnehsif39/4uPj6dWrF3//+9/Jyckps/3000+nT58+vPDCC9jtdgC+/fZbwsPDiY+PJz4+nosvvrjCcfPz87n44ouJj49n4cKFjBs3ji1bis+dP/3007WO++677y59/u7duxMREVFmf2ZmJjExMUyaNMmy/vr16xkwYADx8fEkJCSwZs0aAN5//33i4uLo3bs355xzDhs2bAAgJSWF8847j169evG///2v9DhXXnklBw8erPXrUa67ads27v/zT2+HoXyNMcbnbmeeeaYpb8uWLRW21bcWLVqU3h8zZox54YUXKmw/cuSIGTx4sHn00UeNMcasWrXKXHbZZVUed/Xq1Wbw4MHVPqcnvPzyy+bmm28us23y5Mlm9OjR5o477rCsM2TIELNkyRJjjDGLFy82F154oTHGmJ9++smkp6cbY4xZsmSJ6d+/vzHGmJdeesm8++675sSJE6VlFy1aZB577LFK4/KF329jczAvz7BqlTnvt9+8HYqqB0CicTHH6pW7NXT++eeza9euCtvbtGnDnDlzmDVrFsW/i6odPXqU66+/nrVr1xIfH8/u3bsZOHAgiYmJ3H///eTm5hIfH891113HiRMnuOyyy+jTpw+9evVi4cKFbsc9f/58Ro8eXfp43bp1HDlyhKFDh1ZaR0TIdHQXHD9+nHbt2gFwzjnnEBkZCcCAAQNISkoCIDAwkJycHPLz8/H398dmszFz5kymTZvmdryq5lZlZAC49HeomhafnKunOlN27mR9drZHjxnfsiUzu3VzqazNZuOrr75i2LBhlvu7dOlCUVERR48eBeCHH34gPj4egL///e889NBDpWXbtGnD3LlzmTFjBl9++WWZ40yfPp1Zs2axfv16AD755BPatWvH4sWLgeIkDLB8+XKeeeYZMjIy+Nvf/saoUaPYvHkzaWlpjB8/vvR4+/btY8+ePVx00UUA2O127rnnHt577z2+/vrrSl/vzJkzueSSS7j33nux2+38/PPPFcq88cYbXHrppQCMGTOGMWPGMGfOHJ599lleffVVbrjhBpo3b17Fu6o8beWx4usk7V6OQ/kebfG7oaT1nZCQQMeOHbnllltcqnf++eezfv161q9fXybpu6t3796sWLGCf/3rX/zwww+Eh4cDsHbtWj799FO++eYbcnNzufLKK/nss88YNWpUmfoLFixg1KhR+Pv7A/Dqq68yfPhwYmJiqnze2bNn8+KLL3LgwAFefPHFCq971apVvPHGGzz77LMAhIeHs3jxYhITE+nbty9ffPEFo0aN4tZbb2XUqFGsXr26xu+Bcl1pi9/LcSgf5GqfUH3eGkIff1Xbd+/ebaKioozdbnepj798mQsvvNCsXbvW8thpaWnm3XffNRdccIF5/PHH3Yo/Pj7e/PTTT6WPx4wZYzp06GA6depkWrVqZUJDQ82//vWvCvXCwsKM3W43xhhjt9tNaGho6b4NGzaYLl26mO3bt1s+5913321WrVpl5syZY95++22TnZ1thg4dWqGcL/x+G5M9OTmGVasMq1aZ/omJ3g5H1QPc6ONvkF09viwlJYUJEyYwadIkj4xPDwwMpLCwkMDAQA4ePEhUVBTXX389ERERzJ071+XjbNu2jWPHjnH22WeXbnv//fdL77/99tskJiYyffr0CnXbtWvHd999x8CBA1m5ciXdHF1i+/fv5+qrr+bdd9+le/fuFert3LmTpKQkBg4cyIYNGwgJCUFEyM3NdectUDVQ0trvEBysLX5VgSZ+DyjpAiosLCQgIIAbbriBqVOneuTY48ePJy4ujr59+zJ27Fjuu+8+/Pz8CAwMZPbs2S4fZ8GCBVx77bUu/zMaN24cEyZMICEhgf/+97/cdddd2Gw2QkJCmDNnDgBPPPEEaWlpTJw4EYCAgIAy6yg89NBDPPXUUwCMHj2akSNHMn36dJ544gmX41Y1syojgzaBgZzeogWphYXeDkf5GDE+eMY/ISHBlF+IZevWrfTo0cNLEam6pr9fzzHG0GH1as4LDye7qIhDBQWsS0jwdliqjonIOmOMS79oPbmrVCOzMzeX5IICLoqMRES0q0dVoIlfqUamZBjnoIgI/AC7D36rV96liV+pRmZVRgYxwcF0bdYMQYdzqoo08SvViNiNYVVGBhdFRCAi+InoBVyqAk38SjUim0+cIKWwkEGOifgEnbJBVaSJX6lGZIWjf/9ixxxK2uJXVjTxu0FEuOeee0ofz5gxg3//+9+lj2fOnMm8efMAuO+++zjttNOIi4vjqquuIsNxQU15S5cu5dRTT6Vr165lLp5auXIlffv2pVevXtx4443YbLZq43vnnXfo1q0b3bp145133rEs88gjjxAXF0d8fDxDhw4tnSa5/PTR5cfa22w2LrvsMqKjo9m0aVOZfZW91j/++IObbrqp2riV5yxPT+e05s2JCQkB0D5+Zc3VS3zr8+arUzYEBweb2NhYk5KSYowx5vnnny+dariwsND07t3bFBYWGmOMWbZsWen9adOmmWnTplU4ns1mM126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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"# plt.style.use('dark_background')\n",
"\n",
"def fit_normal_and_display(x):\n",
" fit = fit_normal(x)\n",
" label = 'PDF fits~{:.2f}%'.format(100 * fit['similarity'])\n",
" plt.plot(fit['xs'].numpy(), fit['pdf'].numpy(), 'c', label=label)\n",
" label = 'N({:.2f}, {:.2f}^2)'.format(fit['mean'], fit['std'])\n",
" plt.plot(fit['xs'].numpy(), fit['fit'].numpy(), 'g', label=label)\n",
" plt.legend()\n",
" plt.show()\n",
"\n",
"\n",
"n = 1000000\n",
"\n",
"x = torch.randn(n)\n",
"fit_normal_and_display(x)\n",
"\n",
"x = torch.linspace(0, 100, n) ** 0.2\n",
"fit_normal_and_display(x)\n",
"\n",
"x = torch.randn(n)/5 - 1000 + torch.rand(n)*3\n",
"fit_normal_and_display(x)\n",
"\n",
"x = torch.rand(n)*0 + 10 # a single point\n",
"fit_normal_and_display(x)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [default]",
"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.3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment