{ "cells": [ { "cell_type": "markdown", "id": "7ca64adf-0901-49d1-b5d8-a6825ae441fc", "metadata": {}, "source": [ "# Using MCMC" ] }, { "cell_type": "markdown", "id": "2379b918-dcb3-40ca-b498-0638f87e92a3", "metadata": {}, "source": [ "pyMechT can be used to run Markov Chain Monte Carlo (MCMC) simulation using the `MCMC` module as demonstrated in this example. We start by creating an experiment sample that will be used in the simulation." ] }, { "cell_type": "code", "execution_count": 17, "id": "bf3b2e65-a47e-4bac-9877-2ac6c89ed231", "metadata": {}, "outputs": [], "source": [ "import pymecht as pmt\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "mat = pmt.MatModel('nh')\n", "sample = pmt.UniaxialExtension(mat, force_measure='force')\n", "params = sample.parameters\n", "\n", "params.fix('A0',10)\n", "params.set('mu_0',10)\n", "params.set_lb('L0',0.1)\n", "params.set_ub('L0',3)\n", "#params.fix('L0')" ] }, { "cell_type": "markdown", "id": "81d720e2-1882-4cfb-ba7f-889cad419283", "metadata": {}, "source": [ "Next, we assume some observations and a simulation function that tries to reproduce the observations given the parameter values. This part is similar to the classical fitting, as seen in the `ParamFitter` example. However, there are two key differences:\n", "\n", "- The observations have an error structure, with respect to which we match the simulation outcome to obtain a likelihood\n", "- The simulation function must return a tuple of the likelihood and the simulation results (instead of just the simulation result being returned for classical parameter fitting)" ] }, { "cell_type": "code", "execution_count": 2, "id": "95b6263a-6144-4a83-8fc2-5e97f482280b", "metadata": {}, "outputs": [], "source": [ "applied_stretch = np.linspace(1,1.3,10)\n", "force_measured = np.array([0,9,21,29,40,49,58,65,75,84])\n", "\n", "def prob(params):\n", " force_modeled = sample.disp_controlled(applied_stretch,params)\n", " diff = force_modeled - force_measured\n", " diff_norm2 = np.dot(diff,diff)\n", " var = 5\n", " prob = np.exp(-diff_norm2/2./var) #in the case of MCMC we can skip the proportionality factor\n", " return prob,force_modeled\n" ] }, { "cell_type": "markdown", "id": "3d83e9cf-a75b-4242-801c-00f75a262fe2", "metadata": {}, "source": [ "In the above example, we are modeling the likelihood to be Gaussian, $p(x | \\theta ) \\propto \\exp\\left( \\frac{\\|x-\\mu\\|^2}{2\\sigma^2} \\right)$ where $x$ is the modeled force, $\\mu$ is the (mean) measured force, $\\|x-\\mu\\|^2$ is the norm of the difference between modeled and observed forces, and $\\sigma^2$ is the variance of the error in the measured force, chosen to be $\\sigma^2=5$ here. When we set the `MCMC` instance with this function, it is set to vary all three parameters involved. " ] }, { "cell_type": "code", "execution_count": 3, "id": "ad4e12eb-ae0d-466f-af56-d86ce25bf8ef", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "MCMC instance created with the following settings\n", "------------------------------------------------------------------\n", "Keys Value Fixed? Lower bound Upper bound \n", "------------------------------------------------------------------\n", "L0 1.00 No 0.10 3.00 \n", "A0 10.00 Yes - - \n", "mu_0 10.00 No 1.00e-04 1.00e+02 \n", "------------------------------------------------------------------\n", "\n", "2 parameters will be varied.\n" ] } ], "source": [ "mcmc = pmt.MCMC(prob,params)" ] }, { "cell_type": "markdown", "id": "ac2d8241-d6a4-4bcf-af81-aa1f6ee9f3f4", "metadata": {}, "source": [ "With the `MCMC` instance created, we can run the simulation for any chosen number of iterations, say $n$ . During the simulation, candidate samples are generated between the lower/upper bounds based on a proposal density function. Here, the proposal density function is also a Gaussian distribution centered at the current value and a diagonal covariance matrix, whose enteries can be viewed/set using `.std`." ] }, { "cell_type": "code", "execution_count": 4, "id": "153b7692-7532-4389-857e-8dc1303d24b6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0.145 4.999995]\n" ] } ], "source": [ "print(mcmc.std)" ] }, { "cell_type": "markdown", "id": "acd8cc1b-ec4e-4b73-a410-f603eaf0c577", "metadata": {}, "source": [ "By default, these are chosen to be 5% of the range of each parameter. We can set them as follows:" ] }, { "cell_type": "code", "execution_count": 5, "id": "fab41171-bd18-4e3e-9a95-fd4af2b288f7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1 1]\n" ] } ], "source": [ "mcmc.std = np.array([1, 1])\n", "print(mcmc.std)" ] }, { "cell_type": "markdown", "id": "a899ed87-9c1c-41c3-b75b-84bed1c5be45", "metadata": {}, "source": [ "The choice of this can be practically important to how many samples get accepted/rejected. Finally, we can run for say 100,000 iterations." ] }, { "cell_type": "code", "execution_count": 6, "id": "26241819-9de2-41f4-af55-b0d967901827", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 100000/100000 [00:29<00:00, 3349.89it/s]" ] }, { "name": "stdout", "output_type": "stream", "text": [ "MCMC sampling completed. Acceptance rate: 0.14412\n", "Number of samples: 14412\n", "To access the samples, use get_samples_pandas()\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "mcmc.run(100000)" ] }, { "cell_type": "markdown", "id": "16bd5f5a-a891-432c-95e2-3715a99bc721", "metadata": {}, "source": [ "The number of generated samples will be always lower than the number of iterations and will vary from simulation to simulation due to its stochastic nature. As per the theory behind MCMC, there is an initial burn-out period, and we need to discard those. Assume the burn-out period is the first 4000 samples, so we discard those, and we only calculate the summary stastistics on the rest." ] }, { "cell_type": "code", "execution_count": 7, "id": "5a76b332-a49b-4798-b883-1ea63993e5f7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(10412, 3)\n", "Mean parameters:\n", " L0 1.582872\n", "A0 10.000000\n", "mu_0 11.506687\n", "dtype: float64\n" ] } ], "source": [ "gen_samples = mcmc.get_samples_pandas()[4000:]\n", "print(gen_samples.shape)\n", "print('Mean parameters:\\n', gen_samples.mean())" ] }, { "cell_type": "code", "execution_count": 8, "id": "1fb0dfc0-bdfc-4b91-a26e-c12708fb6936", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def scatter_hist(x, y, ax, ax_histx, ax_histy):\n", " # no labels\n", " ax_histx.tick_params(axis=\"x\", labelbottom=False)\n", " ax_histy.tick_params(axis=\"y\", labelleft=False)\n", "\n", " # the scatter plot:\n", " ax.scatter(x, y)\n", " ax_histx.hist(x, bins=20)\n", " ax_histy.hist(y, bins=20, orientation='horizontal')\n", "\n", "# Start with a square Figure.\n", "fig = plt.figure(figsize=(6, 6))\n", "# Add a gridspec with two rows and two columns and a ratio of 1 to 4 between\n", "# the size of the marginal Axes and the main Axes in both directions.\n", "# Also adjust the subplot parameters for a square plot.\n", "gs = fig.add_gridspec(2, 2, width_ratios=(4, 1), height_ratios=(1, 4),\n", " left=0.1, right=0.9, bottom=0.1, top=0.9,\n", " wspace=0.05, hspace=0.05)\n", "# Create the Axes.\n", "ax = fig.add_subplot(gs[1, 0])\n", "ax_histx = fig.add_subplot(gs[0, 0], sharex=ax)\n", "ax_histy = fig.add_subplot(gs[1, 1], sharey=ax)\n", "# Draw the scatter plot and marginals.\n", "scatter_hist(gen_samples['L0'].to_numpy(), gen_samples['mu_0'].to_numpy(), ax, ax_histx, ax_histy)\n", "ax.set_xlabel('L0')\n", "ax.set_ylabel('mu_0')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "ec61e714-1854-44dc-bcc4-7e2a8868eb6c", "metadata": {}, "source": [ "The resulting distribution of L0 is close to uniform, since its value is not relevant to the observed force under specified stretch. On the other hand, we get an approximately Gaussian distribution of the stiffness parameter mu_0." ] }, { "cell_type": "markdown", "id": "a867222e-4c52-4ae2-8157-3d9d1bc830fb", "metadata": {}, "source": [ "## Getting values and probs" ] }, { "cell_type": "markdown", "id": "a0f64096-e107-44d1-ab70-ba30610be02b", "metadata": {}, "source": [ "In addition to the samples, we can also get the results of the simulations and their probabilities (likelihoods) using `get_values()` and `get_probs()` methods, respectively. These both return lists too. The MCMC generates independently and identically distributed (i.i.d.) samples. Thus, we can plot summary statistics on the simulation results and probabilities. Similar to the samples, we also remove the initial ones as a burn-out period." ] }, { "cell_type": "code", "execution_count": 9, "id": "8521146b-d6f1-4644-b965-da1e23015e89", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "mcmc_probs = np.array(mcmc.get_probs()[4000:]) #convert the list into an array\n", "mcmc_force = np.array(mcmc.get_values()[4000:]) #convert the list into an array\n", "mean = np.mean(mcmc_force,axis=0)\n", "sd = np.std(mcmc_force,axis=0)\n", "\n", "fig, ax = plt.subplots(1,3,figsize=(12,3),layout='constrained')\n", "ax[0].scatter(gen_samples['L0'].to_numpy(),mcmc_probs)\n", "ax[0].set_xlabel('L0')\n", "ax[0].set_ylabel('Probability')\n", "ax[1].scatter(gen_samples['mu_0'].to_numpy(),mcmc_probs)\n", "ax[1].set_xlabel('mu_0')\n", "ax[1].set_ylabel('Probability')\n", "ax[2].plot(applied_stretch,force_measured,'x')\n", "ax[2].plot(applied_stretch,mean,'-')\n", "ax[2].fill_between(applied_stretch,mean-sd,mean+sd,alpha=0.3)\n", "ax[2].set_xlabel('Stretch')\n", "ax[2].set_ylabel('Force')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "30dcf704-9856-4193-9452-9520337d660c", "metadata": {}, "source": [ "## Correlated parameters" ] }, { "cell_type": "markdown", "id": "66358268-cc77-4ed9-bd68-94070b66a889", "metadata": {}, "source": [ "If we run a different version of the above problem, where the two parameters are correlated, we see how that is captured. For example, what happens if the length of the sample is fixed, and the cross-section area is varied instead?" ] }, { "cell_type": "code", "execution_count": 10, "id": "d7f3cf7d-93e8-480a-b50f-40a26606e00f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "MCMC instance created with the following settings\n", "------------------------------------------------------------------\n", "Keys Value Fixed? Lower bound Upper bound \n", "------------------------------------------------------------------\n", "L0 1.00 Yes - - \n", "A0 10.00 No 1.00e-04 1.00e+03 \n", "mu_0 10.00 No 1.00e-04 1.00e+02 \n", "------------------------------------------------------------------\n", "\n", "2 parameters will be varied.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 100000/100000 [00:39<00:00, 2500.56it/s]" ] }, { "name": "stdout", "output_type": "stream", "text": [ "MCMC sampling completed. Acceptance rate: 0.07231\n", "Number of samples: 7231\n", "To access the samples, use get_samples_pandas()\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "mat = pmt.MatModel('nh')\n", "sample = pmt.UniaxialExtension(mat, force_measure='force')\n", "params = sample.parameters\n", "\n", "params.set('A0',10)\n", "params.set('mu_0',10)\n", "params.fix('L0')\n", "\n", "mcmc = pmt.MCMC(prob,params)\n", "mcmc.std = np.array([1, 1])\n", "\n", "mcmc.run(100000)" ] }, { "cell_type": "code", "execution_count": 11, "id": "707a8574-aa1b-4d6c-b301-89938f8d0972", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "gen_samples = mcmc.get_samples_pandas()[4000:]\n", "mcmc_probs = np.array(mcmc.get_probs()[4000:]) #convert the list into an array\n", "mcmc_force = np.array(mcmc.get_values()[4000:]) #convert the list into an array\n", "mean = np.mean(mcmc_force,axis=0)\n", "sd = np.std(mcmc_force,axis=0)\n", "\n", "# Start with a square Figure.\n", "fig = plt.figure(figsize=(6, 6))\n", "# Add a gridspec with two rows and two columns and a ratio of 1 to 4 between\n", "# the size of the marginal Axes and the main Axes in both directions.\n", "# Also adjust the subplot parameters for a square plot.\n", "gs = fig.add_gridspec(2, 2, width_ratios=(4, 1), height_ratios=(1, 4),\n", " left=0.1, right=0.9, bottom=0.1, top=0.9,\n", " wspace=0.05, hspace=0.05)\n", "# Create the Axes.\n", "ax = fig.add_subplot(gs[1, 0])\n", "ax_histx = fig.add_subplot(gs[0, 0], sharex=ax)\n", "ax_histy = fig.add_subplot(gs[1, 1], sharey=ax)\n", "# Draw the scatter plot and marginals.\n", "scatter_hist(gen_samples['A0'].to_numpy(), gen_samples['mu_0'].to_numpy(), ax, ax_histx, ax_histy)\n", "ax.set_xlabel('A0')\n", "ax.set_ylabel('mu_0')\n", "plt.show()\n", "\n", "fig, ax = plt.subplots(1,3,figsize=(12,3),layout='constrained')\n", "ax[0].scatter(gen_samples['A0'].to_numpy(),mcmc_probs)\n", "ax[0].set_xlabel('A0')\n", "ax[0].set_ylabel('Probability')\n", "ax[1].scatter(gen_samples['mu_0'].to_numpy(),mcmc_probs)\n", "ax[1].set_xlabel('mu_0')\n", "ax[1].set_ylabel('Probability')\n", "ax[2].plot(applied_stretch,force_measured,'x')\n", "ax[2].plot(applied_stretch,mean,'-')\n", "ax[2].fill_between(applied_stretch,mean-sd,mean+sd,alpha=0.3)\n", "ax[2].set_xlabel('Stretch')\n", "ax[2].set_ylabel('Force')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "5283c6db-064e-4409-b785-a066277cb1fb", "metadata": {}, "source": [ "In this case, the two parameters are perfectly correlated since it is their product $A_0\\mu$ that appears in the force expression, and the resulting scatter plot closely follows a hyperbola. In other words, we can have either high area and small stiffness or low area and high stiffness to give the same result. Therefore, the resulting stretch-force curve is still similar to the previous case." ] }, { "cell_type": "markdown", "id": "076e1ab5-8d31-49b8-a386-f03fa6764b13", "metadata": {}, "source": [ "## Assigning prior probability" ] }, { "cell_type": "markdown", "id": "748776d3-8bec-4d62-8f85-246aa93ba47b", "metadata": {}, "source": [ "In the above example, while we had lower/upper bounds, the parameters had uniform prior probability within these. As a result, in the probability expression there was no prior term. However, this can be included. For example, if we assume that before the expriment, the stiffness mu_0 is Gaussian with mean 5 and variance 1, we can modify the probability function accordingly and re-run the MCMC simulation, as follows." ] }, { "cell_type": "code", "execution_count": 12, "id": "3fe16f87-de0a-42b0-aa06-569aaeac6ca1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "MCMC instance created with the following settings\n", "------------------------------------------------------------------\n", "Keys Value Fixed? Lower bound Upper bound \n", "------------------------------------------------------------------\n", "L0 1.00 Yes - - \n", "A0 10.00 Yes - - \n", "mu_0 1.00 No 1.00e-04 1.00e+02 \n", "------------------------------------------------------------------\n", "\n", "1 parameters will be varied.\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 100000/100000 [00:40<00:00, 2468.32it/s]" ] }, { "name": "stdout", "output_type": "stream", "text": [ "MCMC sampling completed. Acceptance rate: 0.19684\n", "Number of samples: 19684\n", "To access the samples, use get_samples_pandas()\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "mat = pmt.MatModel('nh')\n", "sample = pmt.UniaxialExtension(mat, force_measure='force')\n", "params = sample.parameters\n", "params.fix('A0',10)\n", "params.fix('L0',1)\n", "\n", "def prob_w_prior(params):\n", " force_modeled = sample.disp_controlled(applied_stretch,params)\n", " diff = force_modeled - force_measured\n", " diff_norm2 = np.dot(diff,diff)\n", " var = 5\n", " mu_val = params['mu_0']\n", " mu_mean = 5\n", " mu_var = 1\n", " prior = np.exp(-(mu_val-mu_mean)**2/2/mu_var)\n", " prob = np.exp(-diff_norm2/2./var)*prior #in the case of MCMC we can skip the proportionality factor\n", " return prob,force_modeled\n", "\n", "mcmc = pmt.MCMC(prob_w_prior,params)\n", "mcmc.std = np.array([1])\n", "\n", "mcmc.run(100000)" ] }, { "cell_type": "code", "execution_count": 13, "id": "165aa1a2-a642-43e0-9445-aef3443f7f56", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mean parameters:\n", " L0 1.000000\n", "A0 10.000000\n", "mu_0 11.342178\n", "dtype: float64\n" ] } ], "source": [ "gen_samples = mcmc.get_samples_pandas()[4000:]\n", "print('Mean parameters:\\n', gen_samples.mean())" ] }, { "cell_type": "markdown", "id": "ae18fce5-f4ae-4704-9e0d-6c00fa36e56f", "metadata": {}, "source": [ "Due to the prior, the posterior mean has shifted down from approximately 11.5 to approximate 11.34" ] }, { "cell_type": "markdown", "id": "5bec599b-509f-4ce0-98d5-91550fb12258", "metadata": {}, "source": [ "## Importance of parameter range and burn-in period\n", "\n", "Results of the MCMC simulations depend heavily on certain choices made in its setup. Specifically, \n", "\n", "- The range of parameters acts as a hard cutoff since any parameter values outside these are considered to zero prior probability. Thus, these should be chosen carefully (taking into account the units).\n", "- In the current implementation, a Gaussian distribution with diagonal covariance is used for the proposal density function. Thus, the standard deviation of each parameter needs to set. If these standard deviations are too large, the MCMC samples will \"bounce\" around too much. If these are too small, the MCMC samples will only hover around the starting point and not fully explore the whole parameter landscape. Thus, this choice needs to balance \"exploration\" (of other areas) and \"exploitation\" (sampling the current state proporationately). The default choice is 5% of the parameter ranges, however this may need to be changed depending on the variance in the likelihood.\n", "- An initial part of MCMC must be discarded, termed as the \"burn-in\" period. This is usually a few thousands of samples. However, it should be checked that the distribution of remaining samples is insensitive to this choice.\n", "\n", "This is only intended to be an overview of these important criteria and how these are set in `pyMechT`. For more details on MCMC, please refer to more dedicated sources, such as [this book](https://www.inference.org.uk/mackay/itprnn/book.html)." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.16" } }, "nbformat": 4, "nbformat_minor": 5 }