Skip to content

Instantly share code, notes, and snippets.

@koki-ogura
Last active October 24, 2018 08:32
Show Gist options
  • Save koki-ogura/48542f55b631847989b537ceb1b16115 to your computer and use it in GitHub Desktop.
Save koki-ogura/48542f55b631847989b537ceb1b16115 to your computer and use it in GitHub Desktop.
How to create pdf and pmf function from sampling data.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {},
"cell_type": "markdown",
"source": "# How to create pdf and pmf function from sampling data."
},
{
"metadata": {
"trusted": true,
"collapsed": false
},
"cell_type": "code",
"source": "%matplotlib inline\n%config inlineBackend.figure_format = 'retina'\n\nimport numpy as np\nimport matplotlib.pyplot as plt\n\ndef normal_distribution(mu, sig2, x):\n return np.exp(-(x-mu)**2 / (2*sig2)) / np.sqrt(2*np.math.pi*sig2)\n\nM = 4\nN = 100000\ndata = np.zeros(M*6+1, dtype=int)\nd = []\nfor i in range(N):\n a = 0;\n for j in range(M):\n a = a + np.random.randint(1, 7)\n d.append(a)\n data[a] = data[a] + 1\n\nmu = 0.0\nfor i in range(data.size):\n if data[i] != 0:\n mu = mu + i * data[i]\nmu = mu / N\nsig2 = 0.0\nfor i in range(data.size):\n if data[i] != 0:\n sig2 = sig2 + (i - mu)**2 * data[i]\nsig2 = sig2 / (N - 1)\nprint('mu=', mu, ' sig2=', sig2, ' sig=', np.sqrt(sig2)) \n\nx = np.arange(M, M*6+1, 1)\ny = normal_distribution(mu, sig2, x)\n\nplt.rcParams[\"figure.figsize\"] = (8,3)\nplt.grid(which='major',color='black',linestyle='-') \nplt.xlim(M, M*6)\nplt.plot(x, y)\nfor i in range(data.size):\n if data[i] != 0:\n plt.plot(i, data[i] / N, 'o')\nplt.show()\n",
"execution_count": 1,
"outputs": [
{
"output_type": "stream",
"text": "mu= 14.00846 sig2= 11.6816652451 sig= 3.41784511718\n",
"name": "stdout"
},
{
"output_type": "display_data",
"data": {
"text/plain": "<matplotlib.figure.Figure at 0x108710e10>",
"image/png": "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\nQmCC\n"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true,
"collapsed": false
},
"cell_type": "code",
"source": "# probability mass function\n#from scipy.stats import histogram\nimport matplotlib.pyplot as plt\nimport matplotlib.ticker as ticker\n\ndef generate_pmf(d):\n hist = np.histogram(d, max(d) - min(d) + 1)\n return (lambda x: (hist[0] / len(d))[x - min(d)])\n\npmf = generate_pmf(d)\nx = np.arange(min(d), max(d) + 1)\nplt.rcParams[\"figure.figsize\"] = (8,3)\nplt.title('pmf from histgram')\nplt.gca().get_xaxis().set_major_locator(ticker.MaxNLocator(integer=True))\nplt.grid(which='major',color='black',linestyle='-')\nplt.xlim(x[0] - 0.5, x[-1] + 0.5)\nplt.bar(x - 0.5, pmf(x), width=1.0)\nplt.show()",
"execution_count": 2,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<matplotlib.figure.Figure at 0x1038797f0>",
"image/png": "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\nsZQQ8gAAAABJRU5ErkJggg==\n"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true,
"collapsed": false
},
"cell_type": "code",
"source": "# probability density function\n# use Kernel Density Estimation\nfrom scipy.stats import gaussian_kde\nkde = gaussian_kde(d)\nx = np.linspace(min(d), max(d), 100)\n\nplt.rcParams[\"figure.figsize\"] = (8,3)\nplt.title('pdf from kde')\nplt.grid(which='major',color='black',linestyle='-')\nplt.xlim(min(d), max(d))\nplt.plot(x, kde(x))\nfor i in np.arange(min(d), max(d) + 1, 1):\n plt.plot(i, kde(i), 'o')\nplt.show()",
"execution_count": 7,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<matplotlib.figure.Figure at 0x1164bee10>",
"image/png": "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\nToXSoeM5tbZjn3NpfT33/G8tJb5cl9YYY/LLAQe4pUDb2qIPEJs0qZiWHetLHHjgIF54AWbMgH/8\nAw47rPPKnCnWrB3D/PluRa6tW2HhQvjGN6B0fx8NtbWMbWyk/MEHGdvYmHAwmDHGmNTttFPskdvj\nx9dRX19KS3DPoJYWqK8v5cor63joIbj4YjjlFJgyBbZt67wyZ0Le1pxX+v3cXV3Nc//9L7J8OefX\n1TGkJPEIvo0b4YYb4P/+z/V5fP/7Hc+X+HxMn7LjKjfGGGM6l89XQm1tQ3C09moKCwdRW9s+Wvu8\n86CszHUtzpzpWkCTqUX7/X6qq6tpbm6muLiYuro6SjzEkUzIy+C80u/n5ooKapuaUODSlSupmTuX\niQ0NMQP0xx/DzTe7gFxe7jaj2G+/qEmNMcZ0ET5fCVOmTI95fsgQNyD3r391O/kddhhceqmbrhVn\nO2X8fj8VFRU0hS1bNnfuXBoaGjolQOdls/bd1dXUNjXRN/i8L1Db1MSdv3Mj+D7/3O2h/Prr0Njo\n9iIdOhT8fnj+eTfq2gKzMcbkh4ICmDDBfcb/4AduoNiRR8Jtt7kdsWbPhldfhXfegbffhtdeg5/9\nrLpDYAZoamqiurpzRoLnTc35vffcDk9vvgkrnmjeHphD+gLP/nM1V//bjfrbc0/YYw/3OPxwd2Os\n69gYY/LXzju7Ju7zznPTXu+917WabtzoHp995mrTfftCU1Nz1DwaGlZz001u/YpsxgxPNWcROU1E\n3haRpSIyKUaam0RkmYgsFJERyVwbUnVhFX6Pk8c3b4bnnoPf/tYNqT/iCNd0sc8+sPehxWwKpgsE\n/90EjDpnEC0tbopTc7Obizx7Ntx0kwXmrigQCOS6CCYNdv+6t3y+fwUFcPrpbpnQxx5rrzkvXepq\nz6+9BmeeWRz12tLSQSxY4HbROvxwtyb4/Plu8LBXfv9Kqqpq4ydS1bgPXABfDgwBegMLgQMi0owG\nHgv+fCww1+u1YXkoV6ClZ5TqCv8KVVXdvFl13TrV5ctV581TnTZN9Wc/Uz3ySNWiItWjj1a98krV\nuXNVt27V7QIrVuglpaW6EfQk0I2gl5SWamDFCjXdx0knnZTrIpg02P3r3nr6/VuxYoWWlpYqsP1R\nWlqqK4JxZOtW1eefV730UtWDDlLt31911CjV6mrVWbNUAwHVjRtV29oi8w1oaeklChvVheDosddL\ns/YxwDJVXQkgIvXAGODtsDRjgHuCwX6eiAwQkYFAiYdr2/WBpsObGH5cNTt9Mp0tW2DAAPfYbTc4\n5BD3beX8890+yJGTz0OGlJQwsaGB66ur8T/6KNd/85tM9Dha2xhjjCkpKaGhoYHq6mpWr17NoEGD\nOozW3mknOPFE97juOli/3q0K+cILcM01sGKFW9FMFfbay3Wh9ukDgcDdrF9fCzt0vnbkJTgXA++F\nPV+FC9iJ0hR7vLajPnDsqNU8Oc0F33ij6eIZUlJCzfTpPFdWRs302CP5jDHGmGhKSkqY7jF+7Lkn\nnHGGe4T7/HMXuD/6CLZsgXHj2li/Pn5ghuwNCEstpE52//yX5+g7I8WoHK0wqUZ4k3N277o3u3/d\nm92/bLkqYQovwbkZGBz2fN/gscg0+0VJ08fDtQCoqv0VGGOMMXgbrT0fGCoiQ0SkD1AJzIxIMxM4\nF0BERgKfqOpaj9caY4wxJkzCmrOqbhORCcBTuGB+h6ouEZFx7rROU9XHReR0EVmOm7V0Qbxrs/Zq\njDHGmDwg6qYxGWOMMaaLyMvlO0NEJCAii0RkgYi8nOvymNhE5A4RWSsir4cd211EnhKRd0TkSREZ\nkMsymthi3L8aEVklIq8FH6flsowmOhHZV0SeFZG3ROQNEbkweNzefzmU18EZaAPKVPUIVY0/hcvk\n2l3AqRHHLgOeVtXhwLPA5Z1eKuNVtPsHcIOqHhl8zOrsQhlPtgIXq+rBwHHAL0XkAOz9l1P5HpyF\n/H+NeUFV/wt8HHF4DPD34M9/B77dqYUynsW4f5DqtErTaVR1jaouDP68EViCm1lj778cyvfApUCD\niMwXkZ/mujAmaV8KjvpHVdcAX8pxeUzyJgTX27/dmkW7PhHxASOAucBAe//lTr4H5xNU9UjgdFxT\nzYm5LpBJi41e7F7+CuyvqiOANcANOS6PiUNE+gH3AxcFa9CR7zd7/3WivA7Oqvp+8N91wIMkWjrU\ndDVrg2u0IyJfBj7IcXlMElR1nbZPB/kbcHQuy2NiE5FeuMD8D1V9OHjY3n85lLfBWUR2CX4TRET6\nAt8A3sxtqUwCQsc+ypnA+cGfzwMejrzAdCkd7l/wAz3kO9j7ryu7E1isqjeGHbP3Xw7l7TxnESnB\n1ZYVt9jKDFW9NrelMrGIyL1AGbAnsBaoAR4C7sMtDbsS+B9V/SRXZTSxxbh/5bj+yzbc1urjQn2Y\npusQkROAOcAbtG+PeAXwMvBv7P2XE3kbnI0xxpjuKm+btY0xxpjuyoKzMcYY08VYcDbGGGO6GAvO\nxhhjTBdjwdkYY4zpYiw4G2OMMV2MBWdjjDGmi/l/1kEOYvVB5wEAAAAASUVORK5CYII=\n"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true,
"collapsed": false
},
"cell_type": "code",
"source": "from scipy.stats import gaussian_kde\nkde = gaussian_kde(d)\nkde.covariance_factor = lambda : .25\nkde._compute_covariance()\n\nx = np.linspace(min(d), max(d), 100)\n\nplt.rcParams[\"figure.figsize\"] = (8,3)\nplt.title('pdf from kde with covariance_factor')\nplt.grid(which='major',color='black',linestyle='-')\nplt.xlim(min(d), max(d))\nplt.plot(x, kde(x))\nfor i in np.arange(min(d), max(d) + 1, 1):\n plt.plot(i, kde(i), 'o')\nplt.show()\n",
"execution_count": 9,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<matplotlib.figure.Figure at 0x1164bed30>",
"image/png": "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\nVkoppeLM/wfv8MOcW3s+GQAAAABJRU5ErkJggg==\n"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true,
"collapsed": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"language_info": {
"name": "python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"version": "3.5.3",
"nbconvert_exporter": "python",
"mimetype": "text/x-python",
"file_extension": ".py"
},
"gist": {
"id": "48542f55b631847989b537ceb1b16115",
"data": {
"description": "How to create pdf and pmf function from sampling data.",
"public": true
}
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3",
"language": "python"
},
"_draft": {
"nbviewer_url": "https://gist.github.com/48542f55b631847989b537ceb1b16115"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment