{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "

Multivariate Bayes and marginalization" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "In /Users/holtz/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: \n", "The text.latex.preview rcparam was deprecated in Matplotlib 3.3 and will be removed two minor releases later.\n", "In /Users/holtz/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: \n", "The mathtext.fallback_to_cm rcparam was deprecated in Matplotlib 3.3 and will be removed two minor releases later.\n", "In /Users/holtz/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: Support for setting the 'mathtext.fallback_to_cm' rcParam is deprecated since 3.3 and will be removed two minor releases later; use 'mathtext.fallback : 'cm' instead.\n", "In /Users/holtz/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: \n", "The validate_bool_maybe_none function was deprecated in Matplotlib 3.3 and will be removed two minor releases later.\n", "In /Users/holtz/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: \n", "The savefig.jpeg_quality rcparam was deprecated in Matplotlib 3.3 and will be removed two minor releases later.\n", "In /Users/holtz/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: \n", "The keymap.all_axes rcparam was deprecated in Matplotlib 3.3 and will be removed two minor releases later.\n", "In /Users/holtz/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: \n", "The animation.avconv_path rcparam was deprecated in Matplotlib 3.3 and will be removed two minor releases later.\n", "In /Users/holtz/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/stylelib/_classic_test.mplstyle: \n", "The animation.avconv_args rcparam was deprecated in Matplotlib 3.3 and will be removed two minor releases later.\n" ] } ], "source": [ "import numpy as np\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Fitting mean and standard deviation of a set of measurements" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "let's generate a synthetic data set of measurements of some quantity that has some mean and variance, that we will want to try to determine from the data set\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# create a random distribution from input parameters m0, s0\n", "m0,s0=0,2 # your choice of input mean and standard deviation here!\n", "npts=10 # if we have a large number of points, we'll have to be careful about calculating\n", " # total probabilities, because they will be a very small number, so we will work with log(likelihood)\n", "y=np.random.normal(m0,s0,size=npts)\n", "plt.plot(y,'ro')\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We want to determine the mean and the standard deviation of the sample.\n", "\n", "First, for a quick review, let's use the standard frequentist statistical approach. Given a set of N measurements, what is the most likely value of the mean and the standard deviation? These are just the sample mean and sample standard deviation! Compute the values for your simulated data set:\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "sample mean: 0.032 sample standard deviation: 1.869\n" ] } ], "source": [ "# code to compute sample mean and standard deviation here\n", "sample_mean = y.mean() # expression for mean\n", "sample_std = y.std(ddof=1) # expression for standard deviation\n", "print('sample mean: {:8.3f} sample standard deviation: {:8.3f}'.format(sample_mean,sample_std))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What about the uncertainty on the sample mean? What is the standard result? \n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "uncertainty in mean: 0.591\n" ] } ], "source": [ "sem=sample_std/np.sqrt(npts) # expression for standard error of the mean\n", "print('uncertainty in mean: {:8.3f}'.format(sem))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "OK, now let's consider the Bayesian appproach to the problem. Here we want to determine the posterior probability distribution function for the mean and standard deviation of our data set.\n", "\n", "We will do so explicitly:\n", "$$P(\\mu,\\sigma | D) = {P(D|\\mu,\\sigma) P(\\mu,\\sigma) \\over P(D) }$$\n", "We are not able to calculate $P(D)$ so we will just do the numerator, but then require that it integrates to unity so that we have a proper posterior distribution function.\n", "\n", "First, write the routine for the likelihood of our data set, given arbitrary $\\mu$,$\\sigma$. The probability of a single data point is:\n", "\n", "$$P(x_i|\\mu,\\sigma) = {1\\over \\sigma\\sqrt{2\\pi}} \\exp {-0.5(x_i-\\mu)^2\\over \\sigma^2}$$\n", "\n", "The probability of the full data set is just the product of the individual probabilities.\n", "\n", "Write a routine to return the likelihood of the data set. You could use the [numpy.prod()](https://docs.scipy.org/doc/numpy/reference/generated/numpy.prod.html) function to multiply the individual probabilities.\n", "\n", "However, note for large number of points (or even not so large!), the likelihood will get extremely small, and you may run into numerical underflow problems, so let's instead write a log(likelihood) routine. Here,\n", "$$log(L) = \\sum log(P(x_i|\\mu,\\sigma))$$\n", "One could just do the log of the Gaussians and sum them, but it's computationally inefficient, since you'll be doing exponetiation, then taking the log of it, so you can bypass that to get:\n", "$$log(L) = -N \\log \\sigma + \\sum{-0.5(x_i-\\mu)^2\\over\\sigma^2} $$\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "def gauss(x,m,s) :\n", " \"\"\" Gaussian function\"\"\"\n", " return 1/np.sqrt(2*np.pi)/s * np.exp(-0.5*(x-m)**2/s**2) #expression for a Gaussian\n", " \n", "# log-likelihood function for given data, mean, and standard deviation\n", "def log_L(y,m,s) :\n", " \"\"\"return the loglikelihood of the data set for given mean and standard deviation\n", " \"\"\"\n", " # logL is a sum instead of a product\n", " n=len(y)\n", " return np.sum(-0.5*(y-m)**2/s**2) - n*np.log(s)\n", " #print(np.sum(np.log(gauss(y,m,s)))) # expression for sum of log(gaussians)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To get the posterior PDF, we need to multiply the likelihood by the prior. What is an appropriate prior $P(\\mu,\\sigma)$?\n", "$\\mu$ is a location parameter, so a flat prior is appropriate. $\\sigma$ is a scaling parameter, so a Jeffreys prior $P(\\sigma) \\propto {1\\over \\sigma}$ is appropriate, so\n", "$$P(m,\\sigma) = {1\\over \\sigma}$$\n", "
\n", "Write a routine for the prior and for the log(prior):" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "#routine to return prior\n", "def prior(m,s) :\n", " \"\"\" return prior for input mean and standard deviation \"\"\"\n", " return 1/s\n", "\n", "def log_prior(m,s) :\n", " \"\"\" return log(prior)\"\"\"\n", " return np.log(1/s) # expression for log(prior)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now calculate the posterior probability for a grid of mean and standard deviation. Again, since the likelihood may be small and underflow, we'll work with the log of the posterior. If the posterior is the product of the likelihood and prior, then the log of the posterior is:\n", "$$log(P(M|D)) = log(L) + log(prior)$$" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "def log_posterior(y,m,s) :\n", " \"\"\" Calculate log(posterior) for given set of data and trial mean and standard deviation\n", " \"\"\"\n", " return log_L(y,m,s) + log_prior(m,s) # return expression for log(posterior) using your routines" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "OK, now let's calculate the log(posterior) over a range of trial means and standard deviations" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# make a grid of L for various mean and sigma\n", "n=100 # we'll use 100 points in trial means and standard deviations (so, 10000 calculations of the posterior!)\n", "\n", "# set appropriate ranges for your trial mean and standard deviation and create a grid over which\n", "# you will compute the posterior\n", "trial_means=np.linspace(-3.,3.,n) # set range of means to try from inspection of data\n", "trial_stds=np.linspace(0.5,5,n) # set range of standard deviations to try from inspection of data\n", "\n", "# set up a nxn grid to store the calculations\n", "log_Ppdf=np.zeros([n,n])\n", "\n", "# fill the grid\n", "for ix,m in enumerate(trial_means) :\n", " for iy,s in enumerate(trial_stds) :\n", " log_Ppdf[iy,ix] = log_posterior(y,m,s) # use your function for log(posterior) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Normalize the posterior PDF so that it sums to unity, and display it. To do so, we need to go back to likelihood, not log(likelihood) but, to avoid tbhe very small number problem, we'll add a constant to log(L) so that this isn't an issue; this is not a problem because we're just going to normalize it anyway." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#if you are using a log(Ppdf), convert back to Ppdf, but after adding a constant to avoid underflow\n", "Ppdf = np.exp(log_Ppdf - log_Ppdf.max())\n", "\n", "# normalize the likelihood to have an integral of unity. We can just use a sum because we don't really care about\n", "# the bin size, which will just introduce a scaling constant, since we're going to normalize it\n", "Ppdf /= Ppdf.sum()\n", "\n", "# display the posterior\n", "plt.imshow(Ppdf)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now determine the marginal distributions for the mean, and determine the \"1-sigma\" credible region by looking at the cumulative distribution function of the marginal distribution. For the marginalization, note that numpy.sum() has an axis= keyword that allows you to sum over just that axis, i.e. turning a 2D array into a 1D array (as opposed to a single number without the axis= keyword).\n", "\n", "You may want to use the [numpy.cumsum()](https://docs.scipy.org/doc/numpy/reference/generated/numpy.cumsum.html) function for the credible region calculation." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# get the marginal distribution function by marginalizing (summing) over the sigma axis\n", "mdf=Ppdf.sum(axis=0) # marginalize over the standard deviation\n", "\n", "# plot the marginal distribution\n", "plt.plot(trial_means,mdf)\n", "\n", "# get the cumulative distribution function of this to determined credible region\n", "cdf=mdf.cumsum()\n", "\n", "# determine the 1-sigma credible region, i.e. where cdf>0.16 and cdf<0.84\n", "m_16 = trial_means[np.argmin(np.abs(0.16-cdf))] # mean value where cdf~0.16\n", "m_84 = trial_means[np.argmin(np.abs(0.84-cdf))] # mean value where cdf~0.85\n", "\n", "#plot vertical lines for the credible region\n", "plt.plot([m_16,m_84],[0,0],color='r')\n", "\n", "# overplot the frequentist sample mean and its uncertainty for comparison\n", "plt.plot([sample_mean,sample_mean],plt.ylim(),color='g')\n", "plt.plot([sample_mean-sem,sample_mean-sem],plt.ylim(),color='g',ls=':')\n", "plt.plot([sample_mean+sem,sample_mean+sem],plt.ylim(),color='g',ls=':')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "How does the Bayesian posterior for the mean commpare with the frequentist?\n", "
\n", " ANSWER HERE: " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now do the same marginal distribution for the standard deviation:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# get the marginal distribution function by marginalizing (summing) over the neab axis\n", "mdf=Ppdf.sum(axis=1)\n", "plt.plot(trial_stds,mdf)\n", "\n", "# get the cumulative distribution function of this to determined credible region\n", "cdf=mdf.cumsum()\n", "# determine the 1-sigma credible region, i.e. where cdf>0.16 and cdf<0.84\n", "s_16 = trial_stds[np.argmin(np.abs(0.16-cdf))]\n", "s_84 = trial_stds[np.argmin(np.abs(0.84-cdf))]\n", "#plot vertical lines for the credible region\n", "plt.plot([s_16,s_84],[0,0],color='r')\n", "\n", "# overplot the sample standard deviation\n", "plt.plot([sample_std,sample_std],plt.ylim(),color='g')\n", "\n", "# overplot the mean of the standard deviation posterior PDF\n", "mean=(trial_stds*mdf).sum()\n", "plt.plot([mean,mean],plt.ylim(),color='r')\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's a simple routine for a 2D corner plot" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "# combine plots...\n", "def plot2(grid,xgrid,ygrid,vr=None,xt=None,yt=None) :\n", " \"\"\"function to plot likelihood and marginal distributions\n", " grid : input likelihood to display\n", " xgrid : range of x values\n", " ygrid : range of y values\n", " vr : range for scaling log(L) image\n", " xt, yt : titles for axes\n", " \"\"\"\n", " \n", " # make a 2x2 plot grid\n", " fig,ax=plt.subplots(2,2)\n", " if vr is None : \n", " # if no range is given, use min and max of data array\n", " vr = [grid.min(),grid.max()]\n", " # image of surface\n", " ax[0,0].imshow(grid,vmin=vr[0],vmax=vr[1],interpolation='nearest',origin='lower',\n", " aspect='auto',extent=(xgrid.min(),xgrid.max(),ygrid.min(),ygrid.max()))\n", " \n", " # marginal distribution summed over y axis\n", " ax[1,0].plot(xgrid,grid.sum(axis=0))\n", " ax[1,0].set_xlabel(xt)\n", " \n", " # marginal distribution summed over x axis, flipped\n", " ax[0,1].plot(grid.sum(axis=1),ygrid)\n", " ax[0,1].set_ylabel(yt)\n", " \n", " # get rid of unused plot\n", " ax[1,1].remove()\n", " fig.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plot the posterior PDF and the marginal distributions" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot2(Ppdf,trial_means,trial_stds,xt='Mean',yt='$\\sigma$')\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "How does the Bayesian estimate for the standard devaition commpare with the frequentist?\n", "
\n", " ANSWER HERE: " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Fitting for parameters of a Gaussian emission line" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "OK, how about fitting a Gaussian line profile with Poisson noise? Start with some simulated data, allowing for 4 parameters: scale, location, width, and background. We'll assume that we know the location." ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def model(x,amp,loc,wid,back) :\n", " # 4-parameter model with scale/amplitude, center, width, and background\n", " return amp * np.exp(-0.5*(x-loc)**2/2/wid**2) + back\n", "\n", "# simulated data\n", "# x values to calculate measurements at\n", "xdata=np.arange(100)\n", "cent=50\n", "amp=50 # amplitude of line\n", "wid=6 # width (Gaussian sigma) of line\n", "back=20 # background level\n", "\n", "# Use Poisson draws from the model\n", "ydata=np.random.poisson(model(xdata,amp,cent,wid,back))\n", "plt.plot(xdata,ydata,'ro')\n", "plt.plot(xdata,model(xdata,amp,cent,wid,back))\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "OK, now let's define the log likelihood function and a prior, and use them to populate a posterior probability distribution function grid covering three parameters: scale, width, and background. To visualize, marginalize over background and use plot routine from above to look at likelihood in scale and width and the marginal distributions in those quantities.\n", "\n", "For the likelihood, as we've done before: for a Poisson distribution, the probability of getting an observed value, y, given an underlying model value, f, is: \n", "$$P(x|f) = {\\exp(-f) f^x \\over x!}$$\n", "Take the log to get:\n", "$$ ln(P(x)) = -f(x) + x ln(f) - ln(x!)$$\n", "Multiplying the probabilities of each individual point is taking the sum of the logs. Since the last term is independent of the model parameters, we can neglect it since we will be normalizing the PDF later.\n", "$$ln(L) = \\sum -f_i + y ln(f_i)$$\n", "where $f_i$ is the model value at each $x_i$\n", "\n", "For the priors, the amplitude and width are scale parameters, while the background is a location parameter, so uniform priors in the latter, and Jeffreys (1/x) priors for the former" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [], "source": [ "\n", "def log_L(xdata,ydata,amp,cent,wid,back) :\n", " \"\"\" calculate log(likelihood) for Poisson model given data and trial parameters\n", " \"\"\"\n", " return np.sum(ydata*np.log(model(xdata,amp,cent,wid,back)) - model(xdata,amp,cent,wid,back)) # expression for log(L)\n", "\n", "def log_prior(amp,cent,sig,back) :\n", " \"\"\" calculate log(prior): flat in mu, Jeffreys prior in amplitude and sigma\"\"\"\n", " return np.log(1/(amp*sig)) # expression for log(prior)\n", "\n", "def log_posterior(xdata,ydata,amp,cent,wid,back) :\n", " \"\"\" calculate log(posterior) using log(L) and log(prior)\n", " \"\"\"\n", " return log_L(xdata,ydata,amp,cent,wid,back) #+ log_prior(amp,cent,wid,back)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "OK, now calculate a grid of log(posterior) at a range of trial amplitudes, widths, and backgrounds" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [], "source": [ "# calculate log(Ppdf) grid in amplitude (x), width(y), and background(z)\n", "n=50 # 50 points in each dimension --> 125000 calculations!\n", "\n", "log_Ppdf=np.zeros([n,n,n])\n", "trial_amps=np.linspace(30,70,n) # range of amplitudes to try\n", "trial_wids=np.linspace(3,9,n) # range of widths to try\n", "trial_backs=np.linspace(15,25,n) # range of backgrounds to try\n", "for ix,amp in enumerate(trial_amps) :\n", " for iy,wid in enumerate(trial_wids) :\n", " for iz,back in enumerate(trial_backs) :\n", " log_Ppdf[iz,iy,ix] = log_posterior(xdata,ydata,amp,cent,wid,back)\n", " \n", "# convert to Ppdf from log(Ppdf), and normalize\n", "log_Ppdf-=log_Ppdf.max() # set peak to 0\n", "Ppdf=np.exp(log_Ppdf) # back to linear\n", "Ppdf/=np.sum(Ppdf) #normalize\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's a routine for a 3D set of corner plots" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ " def plot3(grid,xgrid,ygrid,zgrid,xt=None,yt=None,zt=None) :\n", " \"\"\" Plot projections of 3D PDF\n", " \"\"\"\n", " fig,ax=plt.subplots(3,3,figsize=(12,8))\n", " # marginalize over z (background)\n", " tmp=np.sum(grid,axis=0)\n", " ax[1,0].imshow(tmp,interpolation='nearest',origin='lower',aspect='auto',\n", " extent=[xgrid[0],xgrid[-1],ygrid[0],ygrid[-1]])\n", " ax[1,0].set_ylabel(yt)\n", " ax[0,0].plot(xgrid,np.sum(tmp,axis=0))\n", " ax[1,1].plot(ygrid,np.sum(tmp,axis=1))\n", " \n", " # marginalize over y (sigma)\n", " tmp=np.sum(grid,axis=1)\n", " ax[2,0].imshow(tmp,interpolation='nearest',origin='lower',aspect='auto',\n", " extent=[xgrid[0],xgrid[-1],zgrid[0],zgrid[-1]])\n", " ax[2,0].set_xlabel('scale')\n", " ax[2,0].set_ylabel('background')\n", " ax[2,2].plot(zgrid,np.sum(tmp,axis=1))\n", " ax[2,2].set_xlabel('background')\n", " \n", " # marginalize over x(scale)\n", " tmp=np.sum(grid,axis=2)\n", " ax[2,1].imshow(tmp,interpolation='nearest',origin='lower',aspect='auto',\n", " extent=[ygrid[0],ygrid[-1],zgrid[0],zgrid[-1]])\n", " ax[2,1].set_xlabel('sigma')\n", " ax[1,2].remove()\n", " ax[0,2].remove()\n", " ax[0,1].remove()\n", " fig.tight_layout()\n", "\n" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# do the plot\n", "plot3(Ppdf,trial_amps,trial_wids,trial_backs,xt='scale',yt='wid',zt='back')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Discuss the results.\n", "
\n", " ANSWER HERE: " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.11" } }, "nbformat": 4, "nbformat_minor": 1 }