{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Model fitting\n",
"\n",
"Often, when working with experimental data, we wish to describe our many data points chemical analysis relies on our ability to fit a \"line of best fit\" to some data. \n",
"For example, considering the determination of the activation energy, $E_a$, of some reaction from an Arrhenius relationship, \n",
"\n",
"$$ k(T) = A \\exp{\\frac{-E_a}{RT}}, $$\n",
"\n",
"where, $k(T)$ is the rate constant at time $T$, $A$ is the pre-exponential factor, $R$ is the ideal gas constant and $T$ is the temperature. \n",
"Typically when we are performing our analysis, we will rearrange the above equation to give a straight line, \n",
"\n",
"$$ \\ln{k(T)} = \\ln{A} - \\frac{E_a}{RT}. $$\n",
"\n",
"Let's looks at some experimental data for the decomposition of 2 moles of NO2 to 2 moles of NO and one mole of O2 .\n",
"The data for this is available [in this file](https://raw.githubusercontent.com/pythoninchemistry/ch40208/master/CH40208/working_with_data/arrhenius.txt). "
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"T, k = np.loadtxt('arrhenius.txt', unpack=True)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(T, k, 'o--')\n",
"plt.xlabel('Temperature/K')\n",
"plt.ylabel('Rate constant/M$^{-1}$s$^{-1}$')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Alternatively, we plot this as a straight line."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(1/T, np.log(k), 'o--')\n",
"plt.xlabel('1/Temperature/K')\n",
"plt.ylabel('ln(Rate constant/M$^{-1}$s$^{-1}$)')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Using Python, we can fit this data in either configuration, either by performing a [linear regression](https://en.wikipedia.org/wiki/Linear_regression) or by fitting a line of best fit.\n",
"\n",
"## Linear regression\n",
"\n",
"Linear regression is a relatively simple mathematical process, that is implemented in the `scipy.stats` module. "
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"from scipy.stats import linregress"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If we investigate the [documentation](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.linregress.html) for the `linregress` function, we will see that we pass two arrays; `x` and `y`. \n",
"These corresponding exactly to the *x* and *y*-axes of the plot above. "
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"result = linregress(1/T, np.log(k))"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinregressResult(slope=-13509.355973303444, intercept=15.161037389899018, rvalue=-0.998952302406746, pvalue=4.070235273533486e-05, stderr=357.31270179790863, intercept_stderr=0.5715179164952109)"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"result"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can see that the object that is returned contains a couple of pieces of information. \n",
"The two parts that we are most interested in are the `slope` and the `intercept`, which are attributes of the `result` object and can be obtained as follows."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"-13509.355973303444\n"
]
}
],
"source": [
"print(result.slope)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"15.161037389899018\n"
]
}
],
"source": [
"print(result.intercept)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Therefore, we can evaluate the activation energy and the pre-exponential factor as follows. "
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"from scipy.constants import R"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"activation_energy = - R * result.slope\n",
"preexponential_factor = np.exp(result.intercept)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"A = 3840209.1525825486; E_a = 112323.03523328649\n"
]
}
],
"source": [
"print(f\"A = {preexponential_factor}; E_a = {activation_energy}\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Finally, we can plot our linear regression line through the data as shown below. "
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x = np.linspace(1/660, 1/590, 1000)\n",
"\n",
"plt.plot(1/T, np.log(k), 'o')\n",
"plt.plot(x, result.slope * x + result.intercept, '-')\n",
"plt.xlabel('1/Temperature/K')\n",
"plt.ylabel('ln(Rate constant/M$^{-1}$s$^{-1}$)')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Non-linear regression\n",
"\n",
"Of course, our equation cannot always be modified to offer a straight line formulation or we may not want to as the logarithmic scaling of the *y*-axis may skew our understanding of the intercept. \n",
"Therefore, necessary to fit a non-linear relationship. \n",
"This can also be achieved with Python by minimising the difference between our model (the equation with given parameters) and the data. \n",
"The value that we will minimize is known as the $\\chi^2$-value, which has the following definitions.\n",
"\n",
"$$ \\chi^2 = \\sum\\big\\{[y - f(x)] ^ 2\\big\\} \\;\\;\\;\\text{or}\\;\\;\\; \\chi^2 = \\sum\\Bigg\\{\\frac{[y - f(x)] ^ 2}{y_{\\text{err}}^2}\\Bigg\\},$$\n",
"\n",
"depending on whether or not uncertainty in the data is known. \n",
"\n",
"Consider the following data, which describe the decomposition of hydrogen peroxide in the presence of excess cerous ion CeIII ,\n",
"\n",
"2H2 O2 + 2CeIII → 2H2 O + CeIV + O2 .\n",
"\n",
"| Time/s | 2 | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 18 | 20 |\n",
"|---|---|---|---|---|---|---|---|---|---|---|\n",
"| [H2 O2 ]/moldm-3 | 6.23 | 4.84 | 3.76 | 3.20 | 2.60 | 2.16 | 1.85 | 1.49 | 1.27 | 1.01 |\n",
"\n",
"First, we will store these values as NumPy arrays. "
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"c = np.array([6.23, 4.84, 3.76, 3.20, 2.60, 2.16, 1.85, 1.49, 1.27, 1.01])\n",
"t = np.array([2, 4, 6, 8, 10, 12, 14, 16, 18, 20])"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(t, c, 'o')\n",
"plt.xlabel('Time/s')\n",
"plt.ylabel('[H$_2$O$_2$]/M')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This reaction has a first-order rate equation, this will be our \"model\" that we will compare to the data, where the $[A]_0$ and $k$ are the varying parameters. \n",
"This function is defined below."
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"def first_order(t, a0, k):\n",
" \"\"\"\n",
" The first-order rate equation. \n",
" \n",
" Args:\n",
" t (float): Time (s).\n",
" a0 (float): Initial concentration (mol/dm3).\n",
" k (float): Rate constant (s-1).\n",
" \n",
" Returns:\n",
" (float): Concentration at time t (mol/dm3).\n",
" \"\"\"\n",
" return a0 * np.exp(-k * t)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We want to vary `a0` and `k` to minimise the $\\chi^2$-value between this model and the data. "
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"def chi_squared(parameters, t, conc):\n",
" \"\"\"\n",
" Determine the chi-squared value for a first-order rate equation.\n",
" \n",
" Args:\n",
" parameters (list): The variable parameters of first_order (a0 and k).\n",
" t (float): The experimental time (s) data.\n",
" conc (float): The experimental concentration data which first_order aims to model.\n",
" \n",
" Returns:\n",
" (float): chi^2 value.\n",
" \"\"\"\n",
" a0 = parameters[0]\n",
" k = parameters[1]\n",
" return np.sum((conc - first_order(t, a0, k)) ** 2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Just like the minimisation of a potential model.\n",
"We can use the `scipy.optimize.minimize` to minimize this chi-squared function. "
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"from scipy.optimize import minimize"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
"result = minimize(chi_squared, [10, 1], args=(t, c))"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
" fun: 0.13373044840241782\n",
" hess_inv: array([[7.88770542e-01, 1.26315485e-02],\n",
" [1.26315485e-02, 3.02235136e-04]])\n",
" jac: array([1.58324838e-07, 2.03028321e-06])\n",
" message: 'Optimization terminated successfully.'\n",
" nfev: 63\n",
" nit: 10\n",
" njev: 21\n",
" status: 0\n",
" success: True\n",
" x: array([7.42164414, 0.10308256])"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"result"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x = np.linspace(2, 20, 1000)\n",
"\n",
"plt.plot(t, c, 'o')\n",
"plt.plot(x, first_order(x, result.x[0], result.x[1]))\n",
"plt.xlabel('Time/s')\n",
"plt.ylabel('[H$_2$O$_2$]/M')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[A]_0 = 7.421644144148406; k = 0.10308255579543868\n"
]
}
],
"source": [
"print(f\"[A]_0 = {result.x[0]}; k = {result.x[1]}\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`scipy.optimize.curve_fit` offers a convenient wrapper around this methodology, and makes it easy to access the estimated parameter uncertainties."
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
"from scipy.optimize import curve_fit"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_30479/2319394663.py:13: RuntimeWarning: overflow encountered in exp\n",
" return a0 * np.exp(-k * t)\n"
]
}
],
"source": [
"popt, pcov = curve_fit(first_order, t, c)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can ignore the above error, this is just warning that during the optimization an unphysical value was found.\n",
"However, the `curve_fit` function is robust enough to ignore this and continue. "
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[A]_0 = 7.42164476326434 +/- 0.15838876657483184; k = 0.10308257141927114 +/- 0.00308836766268339\n"
]
}
],
"source": [
"uncertainties = np.sqrt(pcov)\n",
"\n",
"print(f\"[A]_0 = {popt[0]} +/- {uncertainties[0][0]}; k = {popt[1]} +/- {uncertainties[1][1]}\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": []
}
],
"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.11.1"
}
},
"nbformat": 4,
"nbformat_minor": 4
}