Skip to content

Instantly share code, notes, and snippets.

@suzusuzu
Created October 3, 2019 12:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save suzusuzu/87621869a888959a3f804ed04f568e5d to your computer and use it in GitHub Desktop.
Save suzusuzu/87621869a888959a3f804ed04f568e5d to your computer and use it in GitHub Desktop.
kernel_estimation_entropy.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "kernel_estimation_entropy.ipynb",
"provenance": [],
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/suzusuzu/87621869a888959a3f804ed04f568e5d/kernel_estimation_entropy.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"metadata": {
"id": "guKKLxZZlHiI",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 596
},
"outputId": "ab373f12-dc73-482c-bb50-2472cba62078"
},
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"from scipy import integrate\n",
"from scipy.stats import norm\n",
"from scipy.stats import gaussian_kde\n",
"\n",
"x = norm.rvs(size=10000)\n",
"plt.hist(x, bins=50)\n",
"plt.title('sampling')\n",
"plt.show()\n",
"\n",
"k = gaussian_kde(x)\n",
"X = np.linspace(-5, 5, 100)\n",
"plt.plot(X, norm().pdf(X), label='norm')\n",
"plt.plot(X, k(X), label='kernel estimation')\n",
"plt.legend()\n",
"plt.title('pdf')\n",
"plt.show()\n",
"\n",
"def entropy(pdf):\n",
" def f(x):\n",
" px = pdf(x)\n",
" return - px * np.log(px)\n",
" return f\n",
"\n",
"entropy_k = entropy(k)\n",
"\n",
"print('entropy:')\n",
"print('カーネル密度推定', integrate.quad(entropy_k, -5.0, 5.0))\n",
"print('理論値', np.log(np.sqrt(2*np.pi*np.e)))\n"
],
"execution_count": 31,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\nvVWY/bkfUgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "stream",
"text": [
"entropy:\n",
"カーネル密度推定 (1.4426170314750473, 1.2370907729071283e-08)\n",
"理論値 1.4189385332046727\n"
],
"name": "stdout"
}
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment