{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import math\n", "import matplotlib.pyplot as plt\n", "from scipy.stats import norm\n", "from scipy.stats import lognorm" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Reminder. A flat pdf between x1 and x2 has \n", "variance (x2-x1)/12." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " For the product of random variables, I know
\n", " how to calculate the mean $m$ and the variance $v$.
\n", " (The variance at least approximately with
\n", " \"propagation of errors\")
\n", " \n", " Equations in
\n", " https://en.wikipedia.org/wiki/Log-normal_distribution
\n", " give the mean and the variance of the lognormal
\n", " in the terms of two parameters $\\mu$ and $\\sigma$ as
\n", " $m =$ exp($\\mu + \\sigma^2/2$) and
\n", " $v =$ (exp($\\sigma^2$) - 1)exp($2\\mu + \\sigma^2)$ = $m^2$ (exp($\\sigma^2$) - 1)
\n", " Can then solve for
\n", " $\\sigma^2 = \\log(1 + v/m^2)$ and
\n", " exp($\\mu$) = $m$ exp(-$\\sigma^2/2$) \n", " \n", " The corresponding parameters of the scipy parametrization are
\n", " loc = 0
\n", " s = $\\sigma$
\n", " scale = exp($\\mu$) \n", " \n", " I will superimpose to the data a \"guessed\" curve with the
\n", " three parameters above. I will also fit the data to a lognormal
\n", " (without fixing loc=0) and compare.\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# initialize random number generator\n", "np.random.seed(3862)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## First: flat random numbers" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# Add up n random numbers between 0 and 1 N times\n", "# Multiply n random numbers between 0.5 and 1.5 N times\n", "n = 10\n", "N = 10000\n", "sumn = np.empty(N)\n", "prodn = np.empty(N)\n", "for i in range(N):\n", " sample = np.random.uniform(size=n)\n", " sumn[i] = sample.sum()\n", " prodn[i] = np.prod(sample+0.5)\n", " \n", "# expected mean and variance of sumn\n", "mean = 0.5*n\n", "sigma2 = n/12 \n", "sigma = math.sqrt(sigma2)\n", "\n", "# expected mean and variance of prodn\n", "# propagation of errors y=x1*x2*...*xn\n", "# (sigmay/mu_y)**2 = (sigmax1/mu_x1)**2 + (sigmax2/mu_x2)**2 + ....\n", "# (sigmay/mu_y)**2 = n*(sigmax/mu_x)**2\n", "\n", "temp = 1./12\n", "mean_prod = 1.\n", "sigma2_prod = mean_prod*mean_prod*(n*temp/(1*1))\n", "sigma_prod = math.sqrt(sigma2_prod)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.9593158118628402 0.6453187312988207 -0.0058693732875493045\n", "0.7785472391385866 0.7385489458759964\n" ] } ], "source": [ "# The guess\n", "sGuess = math.sqrt( math.log(1+sigma_prod*sigma_prod/(mean_prod*mean_prod) ) )\n", "scaleGuess = mean_prod * math.exp( -sGuess*sGuess/2. ) \n", "\n", "# Fit the data to a lognormal. Use initial guess to help it.\n", "sFit, locFit, scaleFit = lognorm.fit(prodn, scale=scaleGuess)\n", "print(sFit, scaleFit, locFit)\n", "print(sGuess, scaleGuess)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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zs72ZPn16tVj7dq1niz7RARazujoaJo1a0ZkZFkdk5bMirwx1UhaWhp16tQhISGBYzsprRoHDx6kTp2yLmsQGAIpp6qyd+9e0tLSaNWq1Qk/35prjKlGsrOzadiwoScF3lSMiNCwYcMK//qyIm9MNWMFPviczP/MirwxxoQwK/LGmCq1c+dOrr/+ek477TQSExPp06cPkydPrvTlLl68mHvuuafSl1MRtWufyBUqT4zteDWmDA8kH2bvjGkljouPjeH70edXcaLgpqpcdtlljBo1io8++giALVu2MGXKiVyTpmJ69uxJz549K305BXJzc4mI8L7E2pa8MSXJPQo7V3PakbWk3t+a1KcHkzpm6DF/29KzvE4ZdObMmUONGjW4/fbbC4e1bNmSu+92rryXmprKOeecQ48ePejRowfz5ztXw0xOTmbYsGGFz7nrrrt49913ARg9ejQdO3akS5cu/PGPzsWuJk6cSKdOnejatSv9+/c/bh4LFy6kT58+dO/enb59+7Ju3ToA3n33Xa644gouv/xy2rZty0MPPVTi60hISOChhx6ic+fO9OrViw0bNgBw0003cfvtt9O7d28eeughNm7cyJAhQ0hMTOScc84hJSUFgM2bN9OnTx86d+7Mo48+6pd1Wxrvv2aMCSRbF8L/XoWfvobcLCZGAf9+CmrUhtMvhD53QXwPr1P6x1ejYcdK/87z1M5w0ZhSR69du5YePUpff6eccgozZ84kOjqa9evXM2LECBYvXlzq9Hv37mXy5MmkpKQgIqSnpwPw1FNP8fXXXxMfH184rKj27dvz3XffERERwbfffsuf/vQnPv3UuYzssmXLmDt3Lo0aNaJdu3bcfffdNG/e/Lh51KtXj5UrVzJu3Dj+8Ic/MHWqc3XQtLQ05s+fT3h4OAMHDuT111+nbdu2LFiwgDvuuIPZs2dz77338vvf/54bb7yRV199tdTX5w9W5I0BOLwPZoyGFZ9ATH3ofgO0OIsbxm/gg+tOgy3zYdVnsOpT6HYDDPmb14lDwp133sm8efOoUaMGixYtIicnh7vuuotly5YRHh7OTz/9VObz69WrR3R0NLfeeivDhg0r3FLv168fN910E9dccw1XXHHFcc/LyMhg1KhRrF+/HhEhJyencNzAgQML59uxY0e2bNlSYpEfMWJE4e19991XOPzqq68mPDyczMxM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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot histogram for sum and compare with gauss\n", "nbins = 50\n", "bins = np.linspace(mean-4*sigma, mean+4*sigma, nbins+1)\n", "bsize = bins[1]-bins[0]\n", "ax = plt.subplot(111)\n", "ax.hist(sumn, bins, histtype='step', label=\"MC draws\")\n", "x = np.linspace(bins[0], bins[-1], 1000)\n", "ax.plot(x, N*bsize*norm.pdf(x, scale=sigma, loc=mean), label=\"Gaussian pred.\")\n", "ax.set_title(\"Sum of \"+str(n)+\" random numbers between 0 and 1\")\n", "ax.legend()\n", "ax.grid()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot histogram for product and compare with lognormal\n", "nbins = 100\n", "bins = np.linspace(0., 5, nbins+1)\n", "bsize = bins[1]-bins[0]\n", "ax = plt.subplot(111)\n", "ax.hist(prodn, bins, histtype='step', label=\"MC draws\")\n", "x = np.linspace(bins[0], bins[-1], 1000)\n", "### ax.plot(x, N*bsize*lognorm.pdf(x, s=sigma_prod/mean_prod, scale=mean_prod), label=\"Lognormal guess\")\n", "ax.plot(x, N*bsize*lognorm.pdf(x, s=sGuess, scale=scaleGuess), label=\"Lognormal guess\")\n", "ax.plot(x, N*bsize*lognorm.pdf(x, s=sFit, scale=scaleFit, loc=locFit), label=\"Lognormal fit\")\n", "\n", "\n", "ax.set_title(\"Product of \"+str(n)+\" random numbers between 0.5 and 1.5\")\n", "ax.legend()\n", "ax.grid()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Second: Gaussian random numbers\n", "### Same means and sigmas" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "# Add up n ramdom gaussian numbers sigma=s mean=m N times\n", "# Multiply n random gaussian numbers sigma=s mean=m N times\n", "n = 10\n", "N = 10000\n", "s = 0.2\n", "m = 1.5\n", "sumn = np.empty(N) \n", "prodn = np.empty(N) \n", "for i in range(N):\n", " sample = np.random.normal(loc=m,scale=s, size=n)\n", " sumn[i] = sample.sum()\n", " prodn[i] = np.prod(sample)\n", " \n", "# expected mean and variance of sumn\n", "mean = n*m\n", "sigma2 = n*s*s \n", "sigma = math.sqrt(sigma2)\n", "\n", "# expected mean and variance of prodn\n", "# propagation of errors y=x1*x2*...*xn\n", "# (sigmay/mu_y)**2 = (sigmax1/mu_x1)**2 + (sigmax2/mu_x2)**2 + ....\n", "# (sigmay/mu_y)**2 = n*(sigmax/mu_x)**2\n", "\n", "temp = s*s\n", "mean_prod = math.pow(m,n)\n", "sigma2_prod = mean_prod*mean_prod*(n*temp/(m*m))\n", "sigma_prod = math.sqrt(sigma2_prod)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.399121725840448 56.7119728220155 -3.5599773618453523\n", "0.40451133949717916 53.13502786219919\n" ] } ], "source": [ "# The guess\n", "sGuess = math.sqrt( math.log(1+sigma_prod*sigma_prod/(mean_prod*mean_prod) ) )\n", "scaleGuess = mean_prod * math.exp( -sGuess*sGuess/2. ) \n", "\n", "# Fit the data to a lognormal. Use initial guess to help it.\n", "sFit, locFit, scaleFit = lognorm.fit(prodn, scale=scaleGuess)\n", "print(sFit, scaleFit, locFit)\n", "print(sGuess, scaleGuess)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot histogram and compare with gauss\n", "nbins = 50\n", "bins = np.linspace(mean-4*sigma, mean+4*sigma, nbins+1)\n", "bsize = bins[1]-bins[0]\n", "ax = plt.subplot(111)\n", "ax.hist(sumn, bins, histtype='step', label=\"MC draws\")\n", "x = np.linspace(bins[0], bins[-1], 1000)\n", "ax.plot(x, N*bsize*norm.pdf(x, scale=sigma, loc=mean), label=\"Gaussian pred.\")\n", "ax.set_title(\"Sum of \"+str(n)+\" ran gaus numbers mean=\"+str(m)+ \" sigma=\"+str(s))\n", "ax.legend()\n", "ax.grid()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot histogram for product and compare with lognormal (both the guess and the fit)\n", "nbins = 100\n", "bins = np.linspace(max(0.,mean_prod-4*sigma_prod), mean_prod+4*sigma_prod, nbins+1)\n", "bsize = bins[1]-bins[0]\n", "ax = plt.subplot(111)\n", "ax.hist(prodn, bins, histtype='step', label=\"MC draws\")\n", "x = np.linspace(bins[0], bins[-1], 1000)\n", "ax.plot(x, N*bsize*lognorm.pdf(x, s=sGuess, scale=scaleGuess), label=\"Lognormal guess\")\n", "ax.plot(x, N*bsize*lognorm.pdf(x, s=sFit, scale=scaleFit, loc=locFit), label=\"Lognormal fit\")\n", "ax.set_title(\"Product of \"+str(n)+\" ran gaus numbers mean=\"+str(m)+ \" sigma=\"+str(s))\n", "ax.legend()\n", "ax.grid()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Third: Gaussian random numbers\n", "### Different means and sigmas \n" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "# Add up n ramdom gaussian numbers different sigma/mean N times\n", "# Multiply the same N times\n", "n = 10\n", "N = 10000\n", "mArray = np.random.uniform(0.7, 2.5, n)\n", "sArray = np.random.uniform(0.05,0.25,n)*mArray\n", "sumn = np.empty(N) \n", "prodn = np.empty(N) \n", "for i in range(N):\n", " sample = np.zeros(n)\n", " for j,m,s in zip(range(n), mArray, sArray):\n", " sample[j] = np.random.normal(loc=m,scale=s)\n", " sumn[i] = sample.sum()\n", " prodn[i] = np.prod(sample)\n", " \n", "# expected mean and variance of sumn\n", "mean = mArray.sum()\n", "sigma2 = (sArray*sArray).sum()\n", "sigma = math.sqrt(sigma2)\n", "\n", "# expected mean and variance of prodn\n", "# propagation of errors y=x1*x2*...*xn\n", "# (sigmay/mu_y)**2 = (sigmax1/mu_x1)**2 + (sigmax2/mu_x2)**2 + ....\n", "\n", "mean_prod = np.prod(mArray)\n", "sigma2_prod = mean_prod*mean_prod * ((sArray*sArray/(mArray*mArray)).sum())\n", "sigma_prod = math.sqrt(sigma2_prod)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.41062472393686145 11.988482618180505 -1.9656841472750792\n", "0.45985123523067944 9.946621036912386\n" ] } ], "source": [ "# The guess\n", "sGuess = math.sqrt( math.log(1+sigma_prod*sigma_prod/(mean_prod*mean_prod) ) )\n", "scaleGuess = mean_prod * math.exp( -sGuess*sGuess/2. ) \n", "\n", "# Fit the data to a lognormal. Use initial guess to help it.\n", "sFit, locFit, scaleFit = lognorm.fit(prodn, scale=scaleGuess)\n", "print(sFit, scaleFit, locFit)\n", "print(sGuess, scaleGuess)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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sGG5v7ZKo8VdqRpGC3v4qcx7psVdKaUikBZ3pVS12r17N9dccw2tWrWie/fu9O7dm08//TToz7t06VLuuuuuoD9PZQTjwCsdFVIpoM/42aRnHCkxPTkxnoVjB7iQKDIZY7jkkksYOXIk//3vfwHYtm0bU6dW5bwzvunRowc9evQI+vMUysvLIzravRKrxV0pID3jCGnjh5SYnjJ2epmPKesfQsM4YVn/QKaLHLNnzyYmJoZbb721aFqLFi248847AUhLS+P666/n8GF7DvEXXniBs846i9TUVJ555hmmTbMnXrvjjjvo0aMHo0aNYuzYsUydOpXo6Gj69+/P888/z0cffcTjjz+Ox+MhISGBefPmHbeMxYsXc/fdd5OTk0N8fDxvvvkmrVu3ZtKkSUydOpXs7Gy2bNnCpZdeyj//+c8SryMlJYURI0YwY8YM4uPj+e9//8upp57KqFGjiIuLY8WKFfTp04cxY8YwZswY9uzZQ+3atXnttddo06YNW7du5ZprriErK4vhw4cHZV1rcVeqkirzDyGkzBgLu9aUmByfnweeSpaGkzrCRWWfb3vdunV069atzPtPPPFEZs6cSVxcHJs2beLqq69m6dKlZc6/b98+Pv30U3744QdEhO3b7bBWTzzxBF999RXJyclkZGSUeFybNm2YP38+0dHRfPPNNzz00EN88sknAKxcuZIVK1YQGxtL69atufPOO2nevOQ5sBMSElizZg1vv/0299xzT9E/nh07dvDtt9/i8XgYOHAgL7/8MqeddhqLFi3i9ttvZ/bs2dx9993cdttt3HDDDbz44otlvr6q0OKulHLNmDFjWLBgATExMSxZsoTc3FzuuOMOVq5cicfj4ccffyz38QkJCcTFxXHTTTcxdOhQzjnHnumuT58+jBo1ihEjRnDZZZeVeFxmZiYjR45k06ZNiAi5ub+ddW/gwIEkJCQA0K5dO7Zt21Zqcb/66quL/v7xj38smn7FFVfg8XjIysri22+/5Yorrii67+hRe6rVhQsXFv0zuf7663nggQd8Wl/+0OKuVE1Vxhb2kSAeCNS+ffuiogbw4osvsnfv3qK28AkTJpCUlMSqVasoKCggLi4OgOjoaAoKCooeV9jnOzo6msWLFzNr1iw+/vhjJk6cyNy5c3n55ZdZtGgR06dPp3v37ixbtuy4HI888gjnnnsun376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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot histogram and compare with gauss\n", "nbins = 50\n", "bins = np.linspace(mean-4*sigma, mean+4*sigma, nbins+1)\n", "bsize = bins[1]-bins[0]\n", "ax = plt.subplot(111)\n", "ax.hist(sumn, bins, histtype='step', label=\"MC draws\")\n", "x = np.linspace(bins[0], bins[-1], 1000)\n", "ax.plot(x, N*bsize*norm.pdf(x, scale=sigma, loc=mean), label=\"Gaussian pred.\")\n", "ax.set_title(\"Sum of \"+str(n)+\" ran gaus numbers, different means, sigmas\")\n", "ax.legend()\n", "ax.grid()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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6yp8Hg6Hg0mTJtG5c2cuvfRSRo8ezbfffgsY3cgkJycDsGXLluIuG7Kysrjjjjvo168fvXr14ocffgBg586d9OvXj8jISHr06MHevXvJyspizJgx9OzZk27duvHVV19Vw9ovm97S17S6ZtFUOP5H9S6zeXe4fMZZz3brrbfy5ptv0rt3b15++WWeffZZZs2axe23386HH37IwIEDmTp1aol5YmNjiYmJwcfHh06dOvHQQw/h4eHBE088wdatW2nYsCEjR45k4cKFjB8/nqysLPr378+rr74KGMV2+PDhvPzyy1x55ZU8/fTTLF26lLi4OCZOnMgVV1xBs2bNWLp0Kb6+vuzdu5cJEyZU2P/Xd999R3x8PHFxcSQlJXH++edzxx13VPjcn3/+eYYPH87HH39Mamoq/fr145JLLuG9995j8uTJ3HTTTeTn52O32/nll19o2bIlUVFRAKSlpZ31uq4svaWvaVqNSEtLIzU1lSFDjGuwT5w4kVWrVpGamkpGRgYDBw4E4MYbbywx34gRIwgODsbX15cuXbpw8OBBNm/ezNChQ2natCmenp7cdNNNrFq1CgAPDw+uvvrq4vm9vb0ZNWoUAN27d2fIkCF4eXnRvXt34uPjAeNktrvvvpvu3btz7bXXEhcXV+FzWbNmDddeey02m43mzZszbNiwMz7/JUuWMGPGDCIjIxk6dCi5ubkcOnSIgQMH8sILLzBz5kwOHjyIn58f3bt3Z+nSpTzxxBOsXr2a4ODgyq3kKtBb+ppW11Rhi9yV+Pj4FN/28PCgsLDiyzH7+vqWaMf38vIqPsTRZrMVL89msxUv67XXXiM0NJTff/8dh8OBr69vlfN6enricDgAShxLr5RiwYIFdOpU8pry559/Pv379ycqKorRo0fz/vvvM3z4cLZt28Yvv/zC008/zYgRI/jPf/5T5UwV0Vv6mqbViODgYBo2bMjq1asB+OyzzxgyZAghISEEBQWxceNGAObPn3/GZfXr14+VK1eSnJyM3W5n3rx5xb8gqiItLY0WLVpgs9n47LPPsNvtFU4/aNAgFixYgMPhIDExkejo6OJxERERbN26FYAFCxYUD7/ssst48803Kbo6YUxMDAD79++nXbt2PPzww4wbN47t27dz9OhR/P39ufnmm5kyZQrbtm2r8nM7E72lr2latcjOzqZVq1bF9x977DE+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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot histogram for product and compare with lognormal (both the guess and the fit)\n", "nbins = 100\n", "bins = np.linspace(max(0.,mean_prod-4*sigma_prod), mean_prod+4*sigma_prod, nbins+1)\n", "bsize = bins[1]-bins[0]\n", "ax = plt.subplot(111)\n", "ax.hist(prodn, bins, histtype='step', label=\"MC draws\")\n", "x = np.linspace(bins[0], bins[-1], 1000)\n", "ax.plot(x, N*bsize*lognorm.pdf(x, s=sGuess, scale=scaleGuess), label=\"Lognormal guess\")\n", "ax.plot(x, N*bsize*lognorm.pdf(x, s=sFit, scale=scaleFit, loc=locFit), label=\"Lognormal fit\")\n", "ax.set_title(\"Product of \"+str(n)+\" ran gaus numbers, different means, sigmas\")\n", "ax.legend()\n", "ax.grid()" ] } ], "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.9.1" } }, "nbformat": 4, "nbformat_minor": 5 }