{ "cells": [ { "cell_type": "markdown", "id": "15986c3a895a01a7", "metadata": {}, "source": [ "# Chapter 1: Hypothesis Testing & Maximum Likelihood\n", "\n", "In the first chapter of these lecture notes, we cover ... . We happily invite you to run the examples yourselves, and play around with some of the values!" ] }, { "cell_type": "markdown", "id": "7188031a-1f74-489a-a8cc-7c6a6da76090", "metadata": {}, "source": [ "## **Hypothesis Testing**\n", "\n", "A hypothesis is a testable statement. The hypothesis predicts certain behaviour of a system and/or describes the relationship between certain parameters. Hypothesis testing revolves around making decisions based of samples from your population or lab.\n", "\n", "The Null hypothesis ($H_0$) is the default assumption that there exists no relationship between two measure phenomena. The alternative hypothesis ($H_1$) is the complement of the null hypothesis. \n", "\n", "Let a testable parameter $\\theta\\in\\Theta$ denote the outcome of a trial. Given a hypothesis one can partition the comnplete parameter space $\\Theta$ into two complementary sets, $\\Theta_0$ and $\\Theta_1$, such that $\\Theta_0$+$\\Theta_1$=$\\Theta$. The hypothesis test tests whether $\\theta\\in\\Theta_0$ or $\\theta\\in\\Theta_1$ and hence whether $H_0$ or $H_1$ is more aligned with the data.\n", "\n", "### Note\n", "A null hypothesis can never be accepted. For that to happen, an infinite number of measurements must be made, which is impossible. It is only possible to find evidence *against* the null hypothesis." ] }, { "cell_type": "markdown", "id": "dfad682f-df14-4056-bcb3-3b8c6ebc7a72", "metadata": {}, "source": [ "### **Example 1.1**\n", "\n", "Let $\\theta$ characterize the shift in frequency of light due to a difference in the velocity of an observer compared to its source (Doppler shift). A sceptical astronomer may be interested to see whether the Doppler shift exists or not. In this case the null hypothesis states $H_0: \\theta = 0$, implying that there is no shift in frequency. The alternative hypothesis states $H_1: \\theta \\neq 0$.\n", "\n", "If the sceptical astronomer researches the hypothesis thoroughly (with perfect equipment), they will find that $\\theta\\neq0$ (the Doppler effect exists). Thus, the astronomer should reject the Null hypothesis. On the contrary, suppose the sceptical astronomer uses faulty equipment and finds $\\theta=0$, they should then retain the Null hypothesis.\n", "\n" ] }, { "cell_type": "markdown", "id": "633bd264-062d-4b74-a9bc-cbf5c637057b", "metadata": {}, "source": [ "### **Type I \\& type II errors in hypothesis testing**\n", "\n", "During hypothesis testing faulty equipment or wrong interpetation of data can lead to errors. A type I error occurs when the Null hypotesis is rejected when in reality it is true. A type II error occurs when a Null hypothesis is accepted while in reality it is false (see the latter scenario in example 1.1). \n", "\n", "
\n", "\n", "| | **Retain Null** | **Reject Null** |\n", "|-----------------------|-------------------|-------------------|\n", "| **H₀ true** | Correct | Type I error |\n", "| **H₁ true** | Type II error | Correct |\n", "\n", "
\n", "\n" ] }, { "cell_type": "markdown", "id": "e70fb8f4-202c-4925-9020-ad58c16567e9", "metadata": {}, "source": [ "### **Test statistics**\n", "\n", "To test a hypothesis a Test Statistic (TS) should be used. The test statistic measures the probability of a measurement outcome, given that the null hypothesis is *true*. This probability is also known as the p-value discussed in the next subsection.\n", "\n", "The test statistic can be any function that combines multiple (maps) random variables into a single number.\n", "\n", "For example the median of a dataset, a likelihood ratio, etc. If the probability distribution of the test statistic is known from theory, a probability can be assigned to a given test statistic. If the probability distribution is unknown, Monte Carlo simulations can be used assuming $H_0$ is correct. More on this in [chapter 6](https://bayesian-statistics-for-astrophysics-2025.readthedocs.io/en/latest/lecture_notes/Chapter-6.html).\n" ] }, { "cell_type": "markdown", "id": "897fef1129de20ed", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "source": [ "### **P-values**\n", "The p-value is the probability of measuring a dataset $Y$ if the null hypothesis is correct.\n", "\n", "The p-value is derived from the test statistic More precisely, it is derived from the probability distribution of the test statistic (known from theory or from a Monte Carlo simulation). The concept of p-values is widely known across disciplines.\n", "\n", "The null hypothesis is rejected if the *measured* test statistic falls within a predetermined region, called the rejection region, of the probability distribution. Often in literature this rejection region is set at a value for the test statistic, such that the corresponding p-value is less than $0.05$. This limiting value is often called the significance.\n", "\n", "Whenever p is small (e.g. $p=0.01$), we can reject the Null hypothesis if the predetermined threshold is $0.05$. When p is large (e.g. $p=0.99$), we can not reject the Null hypothesis." ] }, { "cell_type": "markdown", "id": "c343f8b6-8811-48c1-b79b-59dcaab179ca", "metadata": {}, "source": [ "### **Example 1.2**\n", "\n", "In scientific articles, often something along the lines of \"this null hypothesis is rejected at the $n\\ \\sigma$ level\" is stated. This translates to: \"the observed result is significant to a degree where the probability of it occurring due to random chance corresponds to a deviation of $n\\sigma$ from the mean of a normal distribution\". For a normal distribution $1\\ \\sigma$ corresponds to a confidence level of $68.3\\%$ and $3\\ \\sigma$ corresponds to $99.7\\%$." ] }, { "cell_type": "markdown", "id": "2233af690a11423a", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "source": [ "## **Advantages and Disadvantages of Hypothesis Testing**\n", "\n", "\n", "### **Advantages**\n", "The main advantage of hypothesis testing is that it provides a structured framework for decision-making. The blueprint for hypothesis testing is as follows:\n", "\n", "1. Form a null and alternative hypothesis.\n", "\n", "2. Define a test statistic $T$.\n", "\n", "3. Find the probability distribution of the test statistic.\n", "\n", "4. Compare the test statistic with the probability distribution to find the p-value.\n", "\n", "\n", "### **Disadvantages**\n", "Hypothesis testing has some notable downsides. One major issue is that statistical tests are often applied more than necessary. In many situations, confidence intervals or estimation methods might be more appropriate. If you don't have a clear, meaningful hypothesis, don't need to make a definitive yes-or-no decision, or aren't concerned about error probabilities, then hypothesis testing might not be the right approach for your needs.\n", "\n", "Another issue around p-values is the misinterpretation of them. The p-value is *not* the probability of $H_0$ being correct. This is a mistake often found in articles. It is strictly the probability of measuring a dataset $Y$ *if* the null hypothesis is correct based on the defined test statistic (with explicit emphasis on the word *if*). The true definition of the p-value is thus a bit of an awkward one and should therefore be used with caution when communicating with a wider audience consisting of not only those educated in statistics.\n", "\n", "\n", "### **Missuse in hypothesis testing**\n", "Scientific fields like psychology and medicine have faced a major challenge called the replication crisis due to this misinterpretation of p-values. Here, many high-profile findings couldn't be reproduced, even with large samples and identical methods. This revealed that a significant number of \"discoveries\\\" might actually be false positives, despite being widely accepted and forming the basis of extensive research. Several factors contribute to this problem, both unintentional and deliberate:\n", "\n", "1. **Multiple Testing**: Many studies fail to account for the fact that testing multiple hypotheses increases the likelihood of false positives. This oversight is often due to inadequate education in statistics.\n", "\n", "2. **Publication Bias**: Journals prioritize significant results, leading to the \"file drawer effect\\\", where studies with non-significant findings remain unpublished. As a result, the scientific record is biased toward positive results.\n", "\n", "3. **Incentives and Misconduct**: Researchers may unintentionally or deliberately engage in practices like:\n", "\n", " - HARKing (Hypothesizing After Results are Known): Creating hypotheses based on the data after seeing the results, which undermines the validity of the conclusions.\n", "\n", " - p-hacking: Manipulating data or analysis (e.g., excluding outliers or changing variables) to achieve statistically significant results.\n", "\n", "These issues have started to gain attention in recent years, prompting efforts to improve research practices. While fields like astronomy and physics have been less affected, they are not immune. The lesson is clear: small shortcuts or biases can accumulate and harm the integrity of science. " ] }, { "cell_type": "markdown", "id": "da72fb8c1dd63707", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "source": [ "### **Example 1.3: Sceptical astronomer**\n", "\n", "Let's return to the example 1.1 of the sceptical astronomer. Suppose the astronomer has a dataset of $N=100$ measurements of the Doppler shift. He lets the velocity difference between the observer and source be $50 \\text{ km s}^{-1}$. Let us assume that the source is a hydrogen atom transitioning from the $n=3$ to the $n=2$ orbital, generating a photon with a wavelength of $\\lambda_0=656.279\\text{ nm}$. The astronomer wants to test the hypothesis that the Doppler shift is zero. Since this is an illustration of hypothesis testing, we will generate the data using the Doppler shift formula and then perform a hypothesis test on it.\n", "\n", "Let us assume the uncertainty in the measurements is due to the equipment and is $1\\text{ nm}$ (a relatively large uncertainty when the shift will be around $0.1\\text{ nm}$). We will generate the data and plot it below." ] }, { "cell_type": "code", "execution_count": 1, "id": "43f13bb03ec40968", "metadata": { "ExecuteTime": { "end_time": "2024-12-17T13:32:28.960212Z", "start_time": "2024-12-17T13:32:28.953611Z" }, "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "import numpy as np\n", "import astropy.constants as c\n", "import astropy.units as u\n", "import matplotlib.pyplot as plt\n", "\n", "# LaTeX rendering\n", "plt.style.use(\"seaborn-v0_8-colorblind\")\n", "\n", "def doppler_shift(dv, f_0):\n", " return (1+dv/c.c)*f_0\n", "\n", "# Generate some data\n", "np.random.seed(42) \n", "\n", "# Balmer alpha line\n", "lambda_0 = 656.279*u.nm\n", "\n", "# Doppler shift\n", "f_0 = c.c/lambda_0\n", "dv = 50*u.km/u.s\n", "f = doppler_shift(dv, f_0)\n", "\n", "# Convert to wavelength\n", "lam = c.c/f\n", "\n", "# Add noise\n", "noise = np.random.normal(0, 1, 100) * u.nm\n", "data = lam + noise" ] }, { "cell_type": "code", "execution_count": 2, "id": "980d431db6c8004", "metadata": { "ExecuteTime": { "end_time": "2024-12-17T13:32:29.216564Z", "start_time": "2024-12-17T13:32:28.994452Z" }, "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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PktERES3+TTYmTt3LhITEy0CmeTkZKtyOp0OcXGO1z/4+eefMW/ePOzevRvx8VwBloiIiG7yabCzadMmdO3aFQMGDMCOHTuQkJCAsWPHYvTo0RblMjMzERsbi8jISKSnp2P27NmIjY01P19SUoJBgwbh/fffrzIoAoCysjKUld3eFK64uBgAoNfrJV1nwXQsrt3gHWxv72Fbew/b2nvY1t4jVVs7+3qNEMLW5sdeERJycxXLKVOmYMCAAcjOzsakSZOwePFiDBs2DACwZs0a1KxZE0lJScjLy8P06dNRUVGBnJwc6HQ3N3Z79tlnYTAYsGzZsptvSqPBhg0b0LdvX5u/d+bMmXjjjTesHl+1ahXCwsI8+I6JiIhIKiUlJRg8eDCKiooQHh5ut5xPg53g4GCkpaVh165d5scmTJiA3bt3Iysry+ZrCgsLkZSUhNWrV6Nfv37YtGkTpk6din379qFmzZqAE8GOrcxOYmIiLly44LCxXKXX67Ft2zZ06dIFQUFBkh2XbGN7ew/b2nvY1t7DtvYeqdq6uLgYMTExVQY7Pu3Gio+PR/PmzS0ea9asGdatW+fwNUlJSTh+/DgA4Ntvv7U5qLl///7o1KkTMjMzrY6h0+nMWaHKgoKCPHKCe+q4ZBvb23vY1t7DtvYetrX3VLetnX2tT4Odjh074ujRoxaPHTt2DElJSXZfc/HiRZw5c8Y8CPnll1/GH//4R4syLVq0wN///nf07t3bQzUnIiIipfBpsDN58mR06NABc+bMwZNPPons7GwsWbIES5YsAQBcu3YNM2fORP/+/REfH4/8/Hy88soriImJweOPPw4AiIuLszkouX79+khJSfH6eyIiIiJ58emigu3atcOGDRvwySefIDU1FX/5y18wf/58DBkyBACg1Wpx8OBB9OnTB40bN8bw4cPRuHFjZGVloVatWr6sOhERESmEz3c979WrF3r16mXzudDQUGzdutXlY/pwzDURERHJjM+3iyAiIiLyJAY7REREpGoMdoiIiEjVGOwQERGRqjHYISIiIlVjsENERESqxmCHiIiIVI3BDhEREakagx0iIiJSNQY7REREpGoMdoiIiEjVGOwQERGRqjHYISIiIlVjsENERESqxmCHiIiIVI3BDhEREakagx0iIiJSNQY7REREpGoMdoiIiEjVGOwQERGRqjHYISIiIlVj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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(data, 'o', label='Data')\n", "plt.xlabel('Measurement number')\n", "plt.ylabel('Wavelength [nm]')\n", "plt.grid()\n", "plt.axhline(lambda_0.value, color='r', linestyle='--', label=r'$\\lambda_0$')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "5dced68b429c2f0d", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "source": [ "We can use the test statistic $T$ as the mean of the data. The p-value is then the probability of measuring a dataset with a mean equal to or more extreme than the observed mean, given that the null hypothesis is true. We will perform this test below.\n", "\n", "A test statistic $T$ of this form can be defined as\n", "\n", "$$T = \\frac{\\text{Observed statistic}-\\text{Expected statistic}}{\\text{Standard deviation of statistic}} \\tag{1.1}$$\n", "\n", "In this case, the expected statistic is the mean of the data under the null hypothesis ($\\lambda_0$), the observed statistic is the mean of the data, and the standard deviation of the statistic is the standard deviation of the data divided by the square root of the number of measurements." ] }, { "cell_type": "code", "execution_count": 3, "id": "a1f2dd17a6b966a4", "metadata": { "ExecuteTime": { "end_time": "2024-12-17T13:32:29.226581Z", "start_time": "2024-12-17T13:32:29.218985Z" }, "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Test statistic: -2.36\n", "p-value: 1.82584e-02\n" ] } ], "source": [ "from scipy.stats import norm\n", "\n", "# Compute the standard error (SE) assuming constant measurement uncertainty\n", "std_dev = np.std(data) # Standard deviation of our simulated data\n", "n = len(data) # Number of observations\n", "se = std_dev / np.sqrt(n) # Standard error\n", "\n", "# Compute the observed test statistic\n", "T = (np.mean(data) - lambda_0) / se\n", "\n", "# Calculate the two-tailed p-value\n", "p_value = 2 * (1 - norm.cdf(abs(T)))\n", "\n", "print(f'Test statistic: {T:.2f}')\n", "print(f'p-value: {p_value:.5e}')" ] }, { "cell_type": "markdown", "id": "c7edacf5ec5f292", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "source": [ "Let's recap for a minute what we have done. We have generated a dataset of 100 measurements of the Doppler shift of a hydrogen atom. We have then calculated the test statistic $T$ as the mean of the data and the p-value as the probability of measuring a dataset with a mean equal to or more extreme than the observed mean, given that the null hypothesis is true. We found that the p-value is $1.8\\%$. This is a small probability given that our uncertainty per measurement is $1\\text{ nm}$ and only 100 datapoints were simulated." ] }, { "cell_type": "markdown", "id": "e24c5b03ff1a1d2", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "source": [ "## **Maximum likelihood**\n", "\n", "Before we can talk about the maximum likelihood estimation, we need to take at look at parametric models and parametric inference. A parametric model has the form\n", "\n", "$$\\mathcal{F} = \\{f(y;\\theta) : \\theta \\in \\Theta\\}$$\n", "\n", "where $\\Theta \\subset \\mathbb{R}^k$ is the parameter space and $\\theta = (\\theta_1,..., \\theta_k)$ is the parameter, meaning $\\Theta$ is a $k$-dimensional parameter space with real numbers for each parameter and $\\theta$ is a specific point in this parameter space. The goal of inference is now to estimate the specific value of $\\theta$ that best represents the true parameter $\\theta^*$ based on the observed data $y_1,...,y_k$. This specific value of $\\theta$ will be called $\\hat{\\theta}$. To find $\\hat{\\theta}$, it is natural to ask: Given observed data $y_1, . . . , y_n$, which value for the true parameter $\\theta^*$ is most probable?\n", "\n", "However, the problem here is that $\\hat{\\theta}$ is a fixed unknown value, while we want to assess it to a probability. This is unfortunately not possible in the frequentist framework. To fix this, we need to use a Bayesian framework and we must ask a different question. Given a parameter value $\\theta$, how probable is it that we observe the data $y_1, . . . , y_n$?\n", "\n", "Now the data can be assets probabilistically, as they are random variables. The estimator $\\hat{\\theta}$ is then defined as the value of $\\theta$ at which the data is the most likely; so given the parameter, we maximize the likelihood.\n", "\n", "This maximum likelihood estimation is the most common method for parameter estimation in a parametric model. Before moving forward, we first need to define the likelihood of the data Y.\n", "\n", "If we compute Independent and Identically Distributed (IID) values $y_1,...,y_n$ with a PDF $f(Y;\\theta)$, the likelihood function is defined by: \n", "\n", "$$\\mathcal{L}_n(\\theta) =\\prod_{i=1}^{n} f(y_i;\\theta) \\tag{1.2}$$\n", "\n", "Therefore, the log-likelihood function is then defined by: $\\ell_{n}(\\theta)=\\log\\mathcal{L}_n(\\theta)$" ] }, { "cell_type": "markdown", "id": "5fc11f43379d30cb", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "source": [ "## **Maximum Likelihood Estimator**\n", "\n", "The maximum likelihood estimator (MLE) $\\mathbf{\\hat\\theta}$ is defined by the value of $\\theta$ that maximizes $\\mathcal{L}_n(\\theta)$. This value of $\\hat\\theta$ is the same for both $\\mathcal{L}_n(\\theta)$ and $\\ell_{n}(\\theta)$, as the maximum of a function occurs at the same place as the maximum of the logarithm of this function. This is especially convenient if we look at the maximum likelihood estimator in a mathematical way. The MLE of the likelihood is defined with a product.\n", "\n", "$$\\hat{\\theta} = \\arg \\max_{\\theta \\in \\Theta} \\prod_{i=1}^{n} f_{\\theta}(Y). \\tag{1.3}$$ \n", "So the MLE of the log-likelihood is then defined with a sum.\n", "$$\\hat{\\theta} = \\arg\\max_{\\theta \\in \\Theta} \\sum_{i=1}^{n} \\ln f_{\\theta}(Y) \\tag{1.4}$$\n", "\n", "Once you recall that the maximum of a function is found by setting the first derivative of a function equal to zero, the advantage of the log-likelihood function is easily seen. Indeed, the derivative of a sum is the same as the sum of the derivatives. While the derivative of a product of *n* terms will result in applying the product rule *n* times.\n", "\n", "The MLE can be computed theoretically. This is done by the following steps:\n", "\n", "1. Computing the log-likehood function $\\ell_{n}(\\theta)$\n", "\n", "2. Calculate the first derivative of each component\n", "\n", "3. Set all the derivatives to zero. For an $n$-dimension $\\ell_{n}(\\theta)$ this gives $$\\frac{\\partial \\ell(\\theta)}{\\partial \\theta_1} = 0 \\quad , ..., \\quad \\frac{\\partial \\ell(\\theta)}{\\partial \\theta_n} = 0. \\tag{1.5}\n", " $$\n", "\n", "4. Solve the equations from step 3 so that MLE $\\hat{\\theta}$ of $\\theta$ is found.\n", "\n", "Sometimes, these steps can be a lot of computation work. If you don't feel like doing this or a statistical problem is simply too difficult, you can also determine the MLE numerically. In a Python script, this can for example be done with the [scipy.optimize](https://docs.scipy.org/doc/scipy/tutorial/optimize.html) module. The following example demonstrates that there is no disparity between computing the MLE analytically or numerically." ] }, { "cell_type": "markdown", "id": "37357cb0e3e03b72", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "source": [ "### **Example 1.4: Analystical versus Numerarical MLE**\n", "Consider the probability density function $$f(\\mu, \\sigma) = \\frac{1}{\\sqrt{2\\pi} \\sigma} \\exp{( -\\frac{(y - \\mu)^2}{2\\sigma^2}}). \\tag{1.6}$$\n", "\n", "This gives the log-likelihood function $$\\ell(\\mu, \\sigma) =\\sum_{i=1}^{N} \\ln(f(\\mu,\\sigma)) =-\\frac{N}{2} \\ln(2\\pi) - N \\ln(\\sigma) - \\frac{1}{2\\sigma^2} \\sum_{i=1}^{N} (y_i - \\mu)^2. \\tag{1.7}$$\n", "\n", "\n", "For this log-likelihood function $\\ell(\\mu, \\sigma)$ the maximum likelihood is calculated both analytically and numerically. Let's assume the data from the example above regarding the sceptical astronomer (notice how the data variable is not changed in this piece of code and is used directly from the previous example). Run the Python script below to see that the same value of the MLE is found regardless of which computation is used." ] }, { "cell_type": "code", "execution_count": 14, "id": "6729963ff3d78275", "metadata": { "ExecuteTime": { "end_time": "2024-12-19T16:45:42.413166Z", "start_time": "2024-12-19T16:45:42.351749Z" }, "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Analytical method:\n", "μ = 656.065716179 nm, σ = 0.903616177 nm \n", "\n", "Numerical method:\n", "μ = 656.065716168 nm, σ = 0.903616190 nm\n" ] } ], "source": [ "import numpy as np \n", "from scipy.optimize import minimize \n", "# Define random data points and the number of data points\n", "N = len(data)\n", "\n", "# We define a function to calculate the MLE analytically \n", "def analytical(data):\n", " # mu_hat is defined by the mean of the data, because f is defined as a normal distribution. \n", " mu_hat = np.mean(data)\n", " # Define sigma_hat\n", " sigma_hat = np.sqrt(np.mean((data - mu_hat) ** 2))\n", " \n", " return mu_hat, sigma_hat\n", " \n", "\n", "# We define a function to calculate the MLE numerically \n", "def numerical(data):\n", " # Define the negative log-likelihood function, so that we can use scipy.optimize.minimize \n", " def negative_log_likeli(parameters):\n", " mu, sigma = parameters\n", " # Ensure that sigma is not negative\n", " if sigma <= 0:\n", " return np.inf\n", " # Return the negative log-likelihood function \n", " return N / 2 * np.log(2 * np.pi) + N * np.log(sigma) + np.sum((data - mu) ** 2) / (2 * sigma ** 2)\n", " \n", " # Convert the data to dimensionless values so scipy can work with it\n", " data = data.value\n", " # Take a first guess for the numerical solution\n", " mu_guess = 0\n", " sigma_guess = 1\n", " \n", " # Minimize the negative log-likelihood function to get mu and sigma \n", " parameters = minimize(negative_log_likeli, [mu_guess,sigma_guess], method=\"L-BFGS-B\", bounds=[(-np.inf, np.inf), (1e-6, np.inf)])\n", " \n", " # We don't convert units in the minimization process, hence the units that the values originally had return\n", " mu_numerical = parameters.x[0] * u.nm\n", " sigma_numerical = parameters.x[1] * u.nm\n", " \n", " return mu_numerical, sigma_numerical\n", " \n", "mu_analytical, sigma_analytical = analytical(data)\n", "mu_numerical, sigma_numerical = numerical(data)\n", "\n", "print(\"Analytical method:\")\n", "print(f\"\\u03BC = {mu_analytical:.9f}, \\u03C3 = {sigma_analytical:.9f} \\n\")\n", "\n", "print(\"Numerical method:\")\n", "print(f\"\\u03BC = {mu_numerical:.9f}, \\u03C3 = {sigma_numerical:.9f}\")" ] }, { "cell_type": "markdown", "id": "279a756a8ec5b277", "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "source": [ "### **Advantages to MLE**\n", "\n", "The question you may now have as to why the MLE is such a commonly used estimator. The case is that the MLE has several nice quantities like consistency, which we will not dive into here. However, one reason we can name to use the MLE, is that no other estimator has a smaller variance and thus the MLE extracts the maximum information. In a simpler way one of the most famous statisticians said: ''It's just common sense.'' — Pierre-Simon Laplace.\n", "\n", "On the other hand, we should always beware when to use which statistical model and if this model is correctly specified. If some of your parameters are poorly identified, the estimate model will not converge to the actual one. In this case, it is so much that the statistical model is wrong, but rather that it is not useful. An example is the stock market crash in 2008, where the losses of the Dow Jones Industrial Average were more than $7\\sigma$. This indicates that the losses were more than seven times higher than the standard deviation. The probability of this happening is around $2 \\cdot 10^{-8}$. It is not that we are very unlucky that this happened despite this small chance, but there are more parameters at play, which are not incorporated in our model. Therefore, our model was not applicable this time." ] }, { "cell_type": "markdown", "id": "c9400d46cf917563", "metadata": {}, "source": [ "### **Least squares**\n", "\n", "The least square method is a parameter estimation method based on minimizing the sum of the squares of the residuals. This method is closely related to the MLE method. Especially if our parametric model has the form of a normally distributed PDF, like in the example above. Here the MLE was found by maximizing the same log-likelihood function as Eq 1.8: \n", "$$\n", " \\ell(\\theta) =-\\frac{N}{2} \\ln(2\\pi) - N \\ln(\\sigma) - \\frac{1}{2} \\sum_{i=1}^{N} \\frac{(y_i - f(x_i,\\theta))^2}{\\sigma_i^2}. \\tag{1.8}\n", "$$\n", "This is equivalent to minimizing the negative of this log-likelihood function. Ignoring the constants that do not depend on $\\theta$, you end up with Eq 1.9. This formula is the statistic, the sum of the squares of the residuals, that we need to minimize for the least square method with an additional weight factor. \n", "$$\n", " \\chi^2 = \\sum_{i=1}^{N} \\frac{(y_i - f(x_i,\\theta))^2}{\\sigma_i^2} \\tag{1.9}\n", "$$\n", "Due to the extra weight factor, the minimisation of this statistic would be called the weighted least square method. When the weight factor is equal to $\\frac{1}{\\sigma^2}$ the weighted least square method is also referred to as the chi-square ($\\mathbf{\\chi^2}$) minimization. When $\\sigma$ is unknown or $\\sigma$ is the same for each data point, Eq 1.10 is used as the statistic to be minimized of the 'normal' least square method. \n", "$$\n", " \\chi^2 = \\sum_{i=1}^{N} (y_i - f(x_i,\\theta))^2 \\tag{1.10}\n", "$$\n", "\n", "There are some problems with the least square and thus chi-square method. As we have seen these two methods are the same as the MLE if the PDF is normally distributed. Therefore, it is assumed that the error follows a normal distribution. A problem now arises, if the data errors are not Gaussian, the least squares method is no longer optimal. On the other hand, the MLE allows you to specify and alter the likelihood function based on the correct error distribution. \n", "\n", "Another problem with the least square method is that it does not allow you to compare different models. While alternatively the MLE is often used with tools like the Akaike Information Criterion (AIC) or Bayesian Information Criterion (BIC) for model comparison. More on these tools will be discussed in [Chapter 2](https://bayesian-statistics-for-astrophysics-2024.readthedocs.io/en/latest/lecture_notes/group2/Chapter%202.html). \n", "Despite these problems the least square and chi-square method are widely used and therefore it is important to know them, but whenever you can, use the Maximum Likelihood Estimation. " ] }, { "cell_type": "markdown", "id": "db3413cc7142bbe3", "metadata": {}, "source": [ "## **Generative model**\n", "When fitting a model to data the same question always arises: \"Is my fitting procedure justifiable?\" The answer is often debatable. Luckily there is a consistent and scientifically justifiable way to do this, a generative model. A generative model is parametric, quantitive description of a statistical process that could have generated the observed data. Let's start with an example (from Hoggs et al. 2010).\n", "\n", "Imagine you have a dataset $Y$ of $N$ data points, which you want to be able to explain using a model. We expect that the data comes from a linear model, $$\n", " f(x)=ax+b.\n", "$$\n", "We have observed the dataset \\{$y_i$\\} with uncertainties \\{$\\sigma_{y_i}$\\}. Our goal is to find the parameters that are most likely to have generated our data, given this model. We can do this by writing down a generative model. This model should be a description of a statistical procedure that could have realistically generated the known dataset. For this example, we say that the \\{$y_i$\\} are drawn from a Gaussian distribution with uncertainties \\{$\\sigma_{y_i}$\\} and a mean following a straight line. So the data deviates from a straight line with small offsets drawn from a Gaussian distribution. Now we can create a distribution which describes the probability that the points $y_i$ lie on the described interval, given the knowledge that we have: $$\n", " p(y_i|x_i,\\sigma_i,a,b)=\\frac{1}{\\sqrt{2\\pi\\sigma_i^2}}e^{-\\frac{(y_i-ax_i-b)^2}{2\\sigma_i^2}}, \\tag{1.11}\n", "$$\n", "where \\{$x_i$\\} are the independent positions, $a$ is the slope, $b$ is the intercept and $y_i$ and $\\sigma_{y_i}$ are defined as before. Now that we have this distribution, we can achieve our goal of finding the parameters that are most likely to have generated our data. The total probability of finding of the complete set $Y$ given our prior knowledge and the fact that the points are IID, is simply given by the likelihood (Eq. 1.2): $$\n", " \\mathcal{L}=\\prod_{i=1}^Np(y_i|x_i,\\sigma_i,a,b). \\tag{1.12}\n", "$$\n", "\n", "Now, using Bayes' Theorem, we can write down:\n", "$$\n", "p(a,b | \\{y_i\\}^N_{i=1}, I) \\propto p(\\{y_i\\}^N_{i=1}|a, b, I)p(a,b|I) \\tag{1.12}, \n", "$$\n", "where $I$ is a shorthand for all the knowledge we have beforehand, $p(a,b | \\{y_i\\}^N_{i=1}, I)$ is the posterior distribution, $p(\\{y_i\\}^N_{i=1}|a, b, I)$ is the likelihood from before and $p(a,b|I)$ is the prior distribution for the parameters. \n", "\n", "Let's work out this example using *Python*.\n", "\n", "\n" ] }, { "cell_type": "markdown", "id": "d915d73d-ecb0-4e12-b29e-eb674d2d98ff", "metadata": {}, "source": [ "### **Example 1.5: Generative model**" ] }, { "cell_type": "code", "execution_count": 15, "id": "b1e0e006172e0063", "metadata": { "ExecuteTime": { "end_time": "2024-12-19T17:03:42.628219Z", "start_time": "2024-12-19T17:03:42.614489Z" }, "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "# We start by generating data \n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "plt.style.use('seaborn-v0_8-colorblind')\n", "a_true = 4\n", "b_true = 1\n", "x = np.linspace (-1, 5, 10)\n", "\n", "def line_model(x, a, b):\n", " return a*x + b\n", "\n", "def generate_data(x):\n", " y_true = line_model(x, a_true, b_true) #The true y values according to the model\n", " y_uncert = np.abs(y_true * np.random.uniform(0.2, 0.3, len(x))) #Generate fractional uncertainties with fractions between 0.2 and 0.3\n", " y_gen = np.random.normal(y_true, y_uncert) # Generate artificial data\n", " return y_gen, y_uncert\n", "\n", "def likelihood(a, b, x, y_gen, y_uncert): #Defining the likelihood\n", " return (np.prod(1/(np.sqrt(2*np.pi*y_uncert**2))*np.exp(-((y_gen -a*x -b)**2)/(2*y_uncert**2))))\n", "\n", "y_gen, y_uncert = generate_data(x)" ] }, { "cell_type": "code", "execution_count": 16, "id": "e7b4373b9e68ec8d", "metadata": { "ExecuteTime": { "end_time": "2024-12-19T17:03:43.624171Z", "start_time": "2024-12-19T17:03:42.806995Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjYAAAGwCAYAAAC6ty9tAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAABRJElEQVR4nO3deVhWdf7/8efNvkOKCAgqruW+oKjlVq6ZQdZMjTOTLdNM5bhkZotZ2KJpZS41zdLvazYzjjWNa5lLi0sZCqi57xsqSqCCgsDNfZ/fHyq5oTcKnPu+eT2uy+viHM597jfvDtyvzvmcz7EYhmEgIiIi4gY8zC5AREREpKIo2IiIiIjbULARERERt6FgIyIiIm5DwUZERETchoKNiIiIuA0FGxEREXEbXmYXUNXsdjtHjx4lODgYi8VidjkiIiLiAMMwOH36NNHR0Xh4lH1eptoFm6NHjxIbG2t2GSIiInIDMjIyiImJKfP71S7YBAcHw/nGhISEVNh+rVYry5Yto0+fPnh7e1fYft2RelU+6pfj1CvHqVeOU68cV5m9ysvLIzY2tvRzvCzVLthcuPwUEhJS4cEmICCAkJAQHfjXoV6Vj/rlOPXKceqV49Qrx1VFr643jESDh0VERMRtKNiIiIiI21CwEREREbdR7cbYOMpms2G1Wh3e3mq14uXlRWFhITabrVJrc3XqFXh7e+Pp6Wl2GSIibkfB5jKGYXDs2DFOnTpV7tdFRkaSkZGh+XGuQ706JywsjMjIyGrdAxGRiqZgc5kLoSYiIoKAgACHP3TsdjtnzpwhKCjomhMHiXplGAYFBQVkZWUBEBUVZXZJIiJuQ8HmIjabrTTU1KxZs1yvtdvtFBcX4+fnVy0/rMtDvQJ/f38AsrKyiIiI0GUpEZEKUj0/VcpwYUxNQECA2aVINXDhOCvPWC4REbk2BZur0JgHqQo6zkREKp6CTSXILyrB8uwiLM8uIr+oxOxyREREqg0FGxEREXEbCjaVwGY3Sr9etS/nkmWzWCwW5s+fX+nvU79+faZOnVrp73M1H3/8MWFhYeV6zYEDB7BYLGzcuLHS6hIRkaqjYFPB5m7OpNnkFaXLd3+0jvpvfM3cTZmV9p5ZWVn86U9/om7duvj6+hIZGUnfvn358ccfS7fJzMykf//+lVbDjbqRMGK2Rx55hKSkJLPLEBGRq9Dt3hVo0fZshny+ncvPzxzJLeSBWWl8PiSeQa0qfs6S+++/H6vVyqxZs2jQoAHHjx/nm2++4cSJE6XbREZGVvj7ioiIOBudsakgNrvBC0v3XhFqgNJ1IxdsqfDLUqdOneL7779n0qRJ9OzZk3r16tGxY0defPFFBgwYULrdxZeiLlx++eyzz+jatSv+/v506NCBXbt2kZqaSnx8PEFBQfTr14+ff/65dB89evRg5MiRl7x/UlISjzzySJn1TZkyhZYtWxIYGEhsbCxPP/00Z86cAWDFihU8+uij5ObmYrFYsFgsJCcnA1BcXMyYMWOoU6cOgYGBJCQksGLFikv2/fHHH1O3bl0CAgK47777yMnJuW6/1q1bR9u2bfHz8yM+Pp4NGzZc8n2bzcbjjz9OXFwc/v7+NG3alGnTppV+Pzk5mVmzZrFgwYLSmi/U9fzzz9OkSRMCAgJo0KAB48aN063cInJduuGkYinYVJDV+09w9HRxmd83gIxThazed/0P3/IICgoiKCiI+fPnU1RUVK7Xvvrqq7z88susX78eLy8vfvOb3zBmzBimTZvG6tWr2bt3L6+88spN1efh4cH06dPZsmULs2bN4ttvv+X5558HoEuXLkydOpWQkBAyMzPJzMxk9OjRADz66KP88MMPzJkzh02bNvGrX/2Kfv36sXv3bgDWrl3LY489xtNPP83GjRvp2bMnb7zxxjVryc/P55577qFp06akp6eTnJxc+n4X2O12YmJi+Oyzz9i2bRuvvPIKL730Ep999hkAo0eP5te//jX9+vUrrblLly4ABAcH8/HHH7Nt2zamTZvGP/7xD957772b6p+IiJSPLkVVkMy8Qge3K1/4uB4vLy8+/vhjnnjiCf7617/Srl07unfvzkMPPUSrVq2u+drRo0fTt29fAEaMGMFvfvMbvvnmG26//XYAHn/8cT7++OObqu/iMzxxcXG8/vrrPPXUU0ycOBEfHx9CQ0OxWCyXXCrbu3cv//nPfzh8+DDR0dGltS5ZsoSZM2cyYcIEpk2bRt++fXnhhRcAaNKkCWvWrGHJkiVl1vLvf/8bm83G//3f/xEQEEDz5s05fPgwTz31VOk23t7ejB8//pKa16xZw2effcavf/1rgoKC8Pf3p6io6IrLey+//HLp1/Xr1+fZZ5/l008/ZcyYMTfVQxERcZzO2FSQqBA/B7fzrfD3vv/++zl69CgLFy6kb9++rFixgnbt2l03lFwcfGrXrg1Ay5YtL1l34XlGN+q7776jd+/e1KlTh+DgYB5++GFycnLIz88v8zXr16/HMAyaNGlSekYqKCiIlStXsnfvXgC2b99O586dL3nd5cuX2759O61bt75kZumrveavf/0r8fHx1KpVi6CgIP7xj39w6NCh6/6sn3/+OXfccQeRkZEEBQUxbtw4h14nIiIVR8GmgnSNq0F0sA9lzSVrAWLD/OjaoHzPoHKUn58fvXv35pVXXmHNmjU88sgjvPrqq9d8jbe39y/1nZ8F9/J1dru9dNnDwwPDuHSM0LXGkBw8eJC7776bFi1a8L///Y/09HQ++OADAEpKyr6ObLfb8fT0JD09nY0bN5b+2759e+l4l8vrcIQjr/nss8945plneOyxx1i2bBkbN27k0Ucfpbi47MuMACkpKTz00EP079+fL774gg0bNjB27Njrvk5ERCqWLkVVEE8PC2/1bciQz7djuWjAMOdDDcDUxBZ4elTNNPrNmjWr8HlratWqRWbmL7et22w2tmzZQs+ePa+6fVpaGiUlJbz77rulD7u8MFblAh8fH2w22yXr2rZti81mIysri65du151382aNSMlJeWSdZcvX+01//znPzl79mzpQygvf83q1avp0qULTz/9dOm6C2eJrlXzDz/8QL169Rg7dmzpuoMHD16zHhERqXg6Y1OBBt4WzmcPtyP6sstSMWF+lXard05ODnfeeSf/+te/2LRpE/v37+e///0vkydPJjExsULf68477+TLL7/kyy+/ZMeOHTz99NOcOnWqzO0bNmxISUkJM2bMYN++ffzzn//kr3/96yXb1K9fnzNnzvDNN9+QnZ1NQUEBTZo04be//S0PP/wwc+fOZf/+/aSmpjJp0iQWL14MwPDhw1myZAmTJ09m165dvP/++9ccXwMwePBgPDw8ePzxx9m2bRuLFy/mnXfeuWSbRo0akZaWxtKlS9m1axfjxo0jNTX1ipo3bdrEzp07yc7Oxmq10qhRIw4dOsScOXPYu3cv06dPZ968eTfQZRERuRkKNhVsUMsoto3pUbq8+A8d2T+2V6WEGs7fFZWQkMB7771Ht27daNGiBePGjeOJJ57g/fffr9D3euyxxxgyZAgPP/ww3bt3Jy4ursyzNQBt2rRhypQpTJo0iRYtWvDv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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.errorbar(x, y_gen, yerr=y_uncert, fmt='o', label='Simulated data')\n", "plt.plot(x, line_model(x, a_true, b_true))\n", "plt.xlabel(r'$x$')\n", "plt.ylabel(r'$y$')\n", "plt.grid()\n", "plt.legend(loc='upper left')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "f448935047db9b22", "metadata": {}, "source": [ "Now, let us find the probability of different values of $a$ and $b$. Here we define the prior distribution $p(a,b|I)$ as uniform for each combination of $a$ and $b$, as long as $2 \\leq a \\leq 6$ and $-1 \\leq b \\leq 3$." ] }, { "cell_type": "code", "execution_count": 17, "id": "be8b4e3515606864", "metadata": { "ExecuteTime": { "end_time": "2024-12-19T17:04:31.475285Z", "start_time": "2024-12-19T17:04:31.393827Z" }, "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "dist = []\n", "parameters = []\n", "\n", "for a in np.arange(2, 6, 0.1):\n", " for b in np.arange(-1, 3, 0.1): \n", " dist.append(likelihood(a, b, x, y_gen, y_uncert)) # Calculate the likelihood for each combination of a and b\n", " parameters.append([a,b])\n", " \n", "parameters = np.asarray(parameters)" ] }, { "cell_type": "code", "execution_count": 18, "id": "bb80e592f588873f", "metadata": { "ExecuteTime": { "end_time": "2024-12-19T17:05:50.332588Z", "start_time": "2024-12-19T17:05:49.806478Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "We find the most likely parameters to be: a=4.4, b=1.2\n" ] }, { "data": { "image/png": "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v1TL7d+/Xzz66KPi888/FxkZGeLrr78WDzzwgNBqtWLDhg1quSNHjqjH7N27t1i+fLn48ssvxZVXXikMBoPYvHlzudd55MgRddvo0aNFYmKiW4yJiYli9OjRQgghcnJy1P2ef/55sWXLFrFlyxZx4sQJIYQQL7zwgij79nz55ZeFRqMR999/v/j666/FihUrREpKiggODhZ//PGHWi45OVm0bNlSLF68WGzcuFEsX75cPPnkk26vz5NPP/1UABCpqali1apVYtmyZaJbt27CaDSKH374QQghxKFDh8R7770nAIhXXnlFbNmyxe3cZW3YsEEAEMuWLRM2m63cj6uXXnpJvPnmm+Kbb74RGRkZYu7cuSIpKUn079/frdyaNWuEwWAQHTt2FAsXLhTr168XH3/8sbjjjjvUMkr9JScni3/9618iPT1dzJo1S5hMJnHffff5rAdR+vcLDg4ut/2mm24SAMSff/5Z6fdS48aNRf/+/cV//vMfkZaWJo4cOSIuXbokxowZIxYvXizWr18v1qxZI5566imh1WrFJ5984nZuACIxMVH07NlTrFixQqxcuVK0atVKREZGiokTJ4oRI0aIr7/+Wnz66aciJiZGdOzYUTidTnX/xYsXC41GI2688UaxYsUKsXr1ajFs2DCh0+nE999/L4QQ4sSJE2LChAkCgFixYoX6vszJyRGiEu9Bb59pT+x2u7BYLOLqq6+u8O+iePjhhwUAMX78eLFmzRoxd+5c0ahRI5GQkCDOnj2rluvbt6+IiooSycnJYv78+WLt2rVi2LBhAoCYPn266NChg1i6dKn49ttvRY8ePYTJZBKZmZnq/sr7KDExUTz99NNi7dq1YtasWSI4OFh06dJFlJSUuJ2rb9++5f7uzZo1E4MHDxarVq0Sq1atEh06dBANGjQQly5dUst++eWX4l//+pdYuXKl2Lhxo/j8889F3759RaNGjdTXc+bMGfHKK68IAOK9995T/zZnzpxR69z1O8fpdIrrrrtO6PV6MXXqVJGWliZmzpypxl5cXKyWTUxMFE2aNBFt27YVixYtEmvXrhUjR44UAMTGjRv9/ruQ/5h81CLl4rp161Zhs9lEXl6e+Prrr0WjRo1EaGioyM7OFqL0QwNAfPzxx277z507VwAQX3zxhdv21157TQAQaWlp6jYAIigoSD2mKP1Sa926tWjZsqXXGO12u7DZbGLgwIHipptuUrcrXxzx8fGiqKhI3Z6bmysiIyPFtddeW+51Vib5EEKIbdu2CQBiwYIF5eIqm3wcP35c6PV6MWHCBLdyeXl5IjY2Vtx2221CCCHOnTsnAIjZs2d7fc2eOBwOER8fLzp06CAcDofb8aOjo0XPnj3VbUpC4ZrUeaOU9fajJFtlOZ1OYbPZxMaNGwUA8dtvv6nPtWjRQrRo0cLt71KWUn+vv/662/Zx48YJs9nsdlH2REk+lCTp7Nmz4q233hIajUZceeWVHvep6L3UokULt4uVr2M88MADokuXLm7PARCxsbEiPz9f3bZq1SoBQHTu3NntNc2ePVsAELt37xZCCFFQUCAiIyPF8OHD3Y7pcDhEp06dxFVXXaVue+ONN8q9n0Ul3oPCx2fak+zsbAHALXn0Zd++fQKAGDdunNv2n3/+WQAQzz77rLqtb9++AoDYvn27uu38+fNCp9OJoKAgt0Rj165dAoB4++231W3K+2jixIlu51IS9SVLlridy1Py0aFDB2G329Xtv/zyiwAgli5d6vU12u12kZ+fL4KDg8Vbb72lbv/yyy8FAI//SJT9zlmzZo3Hz8CyZcvc/vkTpd9NZrNZHDt2TN1WVFQkIiMjxSOPPOI1Tqo6drsEQI8ePWAwGBAaGophw4YhNjYW3333HWJiYtzK3XLLLW6P169fj+DgYNx6661u25Wui7LdHwMHDnQ7pk6nw+23345Dhw65NcfOnTsXXbt2hdlshl6vh8FgwLp167Bv375ysd98880wm83q49DQUAwfPhybNm2Cw+Gocp1U1tq1a2G32zFq1CjY7Xb1x2w2o2/fvmqzeGRkJFq0aIE33ngDs2bNws6dO+F0Ois8/oEDB3Dq1Cnce++90Gr/97EICQnBLbfcgq1bt6KwsLDK8b/22mvYtm1buR/Xv9fhw4dx1113ITY2FjqdDgaDQR1Tovxt/vzzT/z111944IEH3P4u3rg21QNAx44dUVxcjDNnzlS4b0FBAQwGAwwGAxo1aoQnnngCQ4YMcRv0WJn30g033ACDwVBu+5dffolevXohJCREPcb8+fM9HqN///5ug7TbtGkDlI5Hce2mU7YrzfabN2/GhQsXMHr0aLf3j9PpxODBg7Ft2zaP3Vuu/H0Puir7ma4JGzZsAFy+BxRXXXUV2rRpU+57IS4uDt26dVMfR0ZGIjo6Gp07d0Z8fLy6vWyduSo7Nu22226DXq9XY/Hl+uuvh06nUx937Nix3Hny8/PxzDPPoGXLltDr9dDr9QgJCUFBQYHH94E/lMHSZetp5MiRCA4OLldPnTt3RtOmTdXHZrMZrVq18lgfVH0ccBoAixYtQps2baDX6xETE+NxVojFYnGbCQIA58+fR2xsbLmxD9HR0dDr9Th//rzb9tjY2HLHVbadP38eTZo0waxZs/Dkk09i7NixeOmll9CwYUPodDpMnTrV44fc2zFLSkqQn5+P8PDwStRE1Z0+fRoA1HEiZSkJg0ajwbp16/Diiy/i9ddfx5NPPonIyEjcfffdePnllxEaGupxf6UuPf1t4uPj4XQ6cfHixSoPAm7evLk66NiT/Px8XHPNNTCbzfj3v/+NVq1awWKxqH3tRUVFQOmYHZQOyPVHVFSU22NlPIFyPF+CgoKwadMmdb/ExES392hl30ue6nbFihW47bbbMHLkSDz99NOIjY2FXq/HnDlzPPa3R0ZGuj02Go0+tyvTgpX3T9lE3tWFCxd8zj7z9z2o8PSZ9qRhw4awWCw4cuRIhWXhx3u17MWybN2gtH4qqjNXZb8H9Ho9oqKiyn0HeeLPe/Cuu+7CunXrMHXqVFx55ZUICwuDRqPB0KFD/XqvenL+/Hno9fpyg+E1Gg1iY2PLxV42TiXWqp6ffGPyEQBt2rTxeeFB6QeirKioKPz8888QQrg9f+bMGdjtdjRs2NCtfHZ2drljKNuUD9aSJUvQr18/zJkzx61cXl6ex7i8HdNoNCIkJMTna6pJymv9z3/+g8TERJ9lExMTMX/+fKC0peCLL77AtGnTUFJSgrlz53rcR6mfrKyscs+dOnUKWq0WDRo0qIFX4tn69etx6tQpZGRkuM2gKTswTvkiLTuwsDZotVqf79vKvpc8vceXLFmCpKQkLFu2zO15bwOqq0p5/7zzzjteZx2VbYn0dgx/3oPw8no90el0GDhwIL777jucPHmywsTS9b1atuypU6fKfS/UhOzsbLfZTXa7HefPn/d4wa6snJwcfP3113jhhRfwz3/+U91utVqrtbZJVFQU7HY7zp4965aACCGQnZ3tNYmkwGC3Sz02cOBA5OfnY9WqVW7bFy1apD7vat26dep/Zyidzrhs2TK0aNFC/ZJSFoxytXv3brcZHa5WrFjh9p9QXl4eVq9ejWuuucatKbUqKvNf+HXXXQe9Xo+//voL3bt39/jjSatWrfD888+jQ4cO+PXXX70ePzk5GY0bN8Znn32G/xte8H8KCgqwfPlydQZMbVEuVGX/Nh988IHb41atWqFFixb4+OOPa/wCXVmVfS95O4bRaHS7UGdnZ3uc7VIdvXr1QkREBPbu3ev1/aP85+/tfVnV96A/pkyZAiEEHnroIZSUlJR73mazYfXq1QCAAQMGAKWJm6tt27Zh3759PmfVVNWnn37q9viLL76A3W6vkZleGo0GQohy76WPPvqoXNduZb4zlHooW0/Lly9HQUFBrdQT+Y8tH/XYqFGj8N5772H06NE4evQoOnTogB9//BGvvPIKhg4dimuvvdatfMOGDTFgwABMnToVwcHBeP/997F//3636bbDhg3DSy+9hBdeeAF9+/bFgQMH8OKLLyIpKQl2u71cDDqdDoMGDcKkSZPgdDrx2muvITc3F9OnT6/262vRogWCgoLw6aefok2bNggJCUF8fLxbP7SiWbNmePHFF/Hcc8/h8OHDGDx4MBo0aIDTp0/jl19+QXBwMKZPn47du3dj/PjxGDlyJK644goYjUasX78eu3fvdvuvqiytVovXX38dd999N4YNG4ZHHnkEVqsVb7zxBi5duoRXX321Wq/14MGD5aYXwmU9k549e6JBgwYYO3YsXnjhBRgMBnz66af47bffyu3z3nvvYfjw4ejRowcmTpyIpk2b4vjx41i7dm25i0Rtqux7ydsxVqxYgXHjxuHWW2/FiRMn8NJLLyEuLg4HDx6ssVhDQkLwzjvvYPTo0bhw4QJuvfVWREdH4+zZs/jtt99w9uxZtQWnQ4cOAIC33noLo0ePhsFgQHJyst/vwapISUnBnDlzMG7cOHTr1g2PPvoo2rVrB5vNhp07d2LevHlo3749hg8fjuTkZDz88MN45513oNVq1fVXpk6dioSEBEycOLHG6k2xYsUK6PV6DBo0CH/88QemTp2KTp064bbbbqv2scPCwtCnTx+88cYbaNiwIZo1a4aNGzdi/vz55RZ5a9++PQBg3rx5CA0NhdlsRlJSkscWmEGDBuG6667DM888g9zcXPTq1Qu7d+/GCy+8gC5duuDee++tduxUDXU94vVy5m2qbVnepjWK0pHpY8eOFXFxcUKv14vExEQxZcoU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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(parameters[:,0], parameters[:,1], c=dist, cmap='binary' )\n", "plt.xlabel(r'$a$')\n", "plt.ylabel(r'$b$')\n", "plt.axvline(a_true, c='r')\n", "plt.axhline(b_true, c='r')\n", "plt.title('Probabilities of Each Parameter Combination')\n", "plt.colorbar(ticks=[], label='probability')\n", "plt.grid()\n", "\n", "a_found = parameters[np.where(dist == np.max(dist)),0][0][0]\n", "b_found = parameters[np.where(dist == np.max(dist)), 1][0][0]\n", "\n", "print(f'We find the most likely parameters to be: a={a_found:.1f}, b={b_found:.1f}')" ] }, { "cell_type": "markdown", "id": "da32a31f03e9126d", "metadata": {}, "source": [ "In the figure we can see that the probability distribution gives a good estimation for $a$ and $b$. We have seen that the generative model gives a good foundation for the posterior distribution. In practice, it often comes down to maximizing the likelihood or minimizing the $\\chi ^2$-value. Using a generative model allows for reproducable results and is scientifically justifiable. Additionally, this method is applicable in many different cases. However, the complexity of models quickly increases in the case of, for example, non-linear relations. The generative model requires assumptions about the data and the uncertainties. Luckily, in practice these assumptions are usually justifiable and derivable from the measurement procedure. " ] }, { "cell_type": "markdown", "id": "948cfce49505b10b", "metadata": {}, "source": [ "## **Confidence intervals**\n", "\n", "One of the most popular ways to communicate uncertainty is through confidence intervals. The idea is to find an interval around the estimated value $\\hat\\theta$ that covers the true value $\\theta^*$. We characterize the confidence interval through the confidence level $\\mathbf{\\gamma}$. A $\\gamma$-confidence interval has a probability of at least $\\gamma$ that the interval $(\\hat\\theta_l,\\hat\\theta_u)$ contains the true parameter $\\theta^*$, or in mathematical terms: $$ P(\\theta^*\\in(\\hat\\theta_l,\\hat\\theta_u)\\geq\\gamma \\tag{1.13}$$\n", "It is important to realize that you do not say you are, for example, $95\\%$ sure that the found $\\hat\\theta$ is the true value, but you say that you are $95\\%$ sure the true value lies on the interval $(\\hat\\theta_l,\\hat\\theta_u)$.\n", "\n", "The most straightforward way to compute the confidence interval is using the following procedure, where $se$ is the standard error:\n", "\n", "If $\\hat{\\theta} \\approx N({\\theta}^{*}, se[\\hat{\\theta}]^2)$ and $\\hat{se}[\\hat{\\theta}] \\rightarrow_p se[\\hat{\\theta}]$, the interval \n", "\n", "$$(\\hat{\\theta}_l, \\hat{\\theta}_u) = (\\hat{\\theta} - z_{\\alpha/2} \\hat{se}[\\hat{\\theta}], \\hat{\\theta} + z_{\\alpha/2} \\hat{se}[\\hat{\\theta}]) \\tag{1.15}$$\n", "is an approximate $(1-\\alpha)$-confidence interval where $z_{\\alpha/2}$ are the corresponding quantile coming from $\\gamma = 1 - \\alpha$.\n", "\n" ] }, { "cell_type": "markdown", "id": "d75c5aa3-8be8-4a7a-8051-d42fb8bc2a89", "metadata": {}, "source": [ "### **Example 1.6: Confidence intervals**" ] }, { "cell_type": "code", "execution_count": 9, "id": "d652c5f4f1e34920", "metadata": { "ExecuteTime": { "end_time": "2024-12-19T17:17:45.603737Z", "start_time": "2024-12-19T17:17:45.456118Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The actual confidence interval would be (0.36, 3.64) for a gamma of 90%\n", "The actual confidence interval would be (0.04, 3.96) for a gamma of 95%\n" ] }, { "data": { "image/png": "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tzfeeEMAYsiQIeLHH38Uq1atErVr1xa+vr7i77//FkIIcfz4cTFz5kwBiE8//VTs379fnDlzpsA0d+3aJf7zn/+Ib775RuzatUt899134tFHHxXu7u7i5MmT94xHCCGGDx8uFEURY8eOFevXrxebNm0Sr7/+unjvvffMx4wbN04AYuLEieKnn34S//vf/4S/v78ICgoSN27cMB/XuXNnUalSJVGvXj3xv//9T8TGxooJEyYIQKxcuVIIIcT169fF/v37BSAGDhwo9u/fL/bv3y+EEGLHjh0CEDt27DCnmfNZ69+/v9iwYYP4/PPPRd26dUVQUJAIDg42H2cwGESvXr2Ep6enmD17toiNjRUff/yxqF69umjUqJHFZyDnM9SoUSOxatUqsXnzZvHEE08IQOzatct83KVLl0TVqlUt3u+1a9eKp59+Wpw4ccImn4mRI0da5EOYaugiJCREtGnTRnz11VciJiZGdOnSRbi4uIizZ88KIYS4ePGimDRpkgDEt99+a34dExMThRBCvP7660JRFPH000+LjRs3im+//VaEhYUJT09Pcfz4cYvn12g0IiQkRMybN09s27ZNbN68WRw9elQA4qOPPrKI7fbt28LV1VVERkaa982ZM0csXLhQ/Pjjj2Lnzp3if//7n6hVq5bo2rWrxWNfffVVUZhTY+fOnUXnzp3v+1qtXr1aAGLSpEliy5YtYuvWreJ///ufmDx5svmY/D5TOeeAhg0bivnz54utW7eK//u//xOKolicb1JSUkTdunVFxYoVxYcffig2b94spk6dKmrVqmUun/eS89mtXbu2mDRpkti8ebP4+OOPRYUKFfK8NkUpYxUrVhRBQUHi/fffFzt27BC7du0S58+fF4AIDg4W/fr1Exs3bhSff/65CAgIEPXr1xfDhw8XTz/9tNi0aZP43//+J7y8vES/fv0sYrD1+1jYsiuyP/Ovvvqq+fb48eOFh4eHWLBggdixY4fYuHGjePPNN8X7778vhBDizJkzYuDAgQIwf/b3798vMjIyzOlVr15dNG3aVHz55Zdi+/bt4s8//8z3uXLiDAoKMr9Gy5cvF1WqVBFBQUHi9u3b5mPv/k7I/b7kfGYTExPNac6cOdMc28WLFwt8/Wx5ji2OclFhye9PrVZbHJuRkSFatGghatWqJf766y8REBAgOnfunKdik5vBYBB6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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np \n", "from scipy.stats import norm\n", "import matplotlib.pyplot as plt\n", "\n", "# Here we generate some data like a normal distribution\n", "mu, sigma = 2, 1\n", "x = np.random.normal(mu, sigma, 1000)\n", "x.sort()\n", "\n", "gamma = 90 #The confidence we choose\n", "gamma2 = 95\n", "\n", "# Calculate the z value\n", "def z_alpha (gam):\n", " alpha = 1-(gam/100)\n", " z = norm.ppf(1-(alpha/2))\n", " return z\n", "\n", "z = z_alpha(gamma)\n", "z2 = z_alpha(gamma2)\n", "\n", "lower1 = mu - z*sigma\n", "upper1 = mu + z*sigma\n", "\n", "lower2 = mu - z2*sigma\n", "upper2 = mu + z2*sigma\n", "\n", "\n", "print(f\"The actual confidence interval would be ({lower1.round(2)}, {upper1.round(2)}) for a gamma of {gamma}%\")\n", "print(f\"The actual confidence interval would be ({lower2.round(2)}, {upper2.round(2)}) for a gamma of {gamma2}%\")\n", "\n", "plt.title(\"Example of a confidence interval using normal distribution\")\n", "plt.hist(x, 30, density=True, color=\"royalblue\")\n", "plt.plot(x, 1/(sigma * np.sqrt(2 * np.pi)) * np.exp( -1 * (x - mu)**2 / (2 * sigma**2) ),linewidth=2, color='darkorange')\n", "plt.axvline(lower1, color = 'limegreen', linestyle=\"--\", label=f\"Lower limit {gamma}%\")\n", "plt.axvline(upper1, color = 'limegreen', linestyle=\"--\", label=f\"Upper limit {gamma}%\")\n", "plt.axvline(lower2, color=\"violet\", linestyle=\"--\", label=f\"Lower limit {gamma2}%\")\n", "plt.axvline(upper2, color=\"violet\", linestyle=\"--\", label=f\"Upper limit {gamma2}%\")\n", "plt.legend()\n", "plt.grid()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "8cce921144c4161b", "metadata": {}, "source": [ "As you can see from the example, the larger $\\gamma$ the larger the area in which you can find your parameter. " ] }, { "cell_type": "markdown", "id": "97e745ffddb19d6d", "metadata": {}, "source": [ "**Sources:**\n", "\n", "- [Hogg, D., Bovy, J., Lang, D., 2010, Instrumentation and Methods for Astrophysics,arXiv preprint arXiv:1008.4686.](https://arxiv.org/abs/1008.4686)\n", "- Casella, G., Berger R., 2002, Statistical Inference, Second edition\n", "- Wackerly, D., Mendenhall, W., Scheaffer, R., 2008, Mathematical Statistics with Applications, Seventh Edition\n", "- Wasserman, L., 2004 All of Statistics, First Edition\n", "- [Disorbo, M., 2017, Inference!](https://bookdown.org/probability/inference/preface.html)\n", "- Hogg, R., Tanis, E., Zimmerman, D., 2013, Probability and Statistical Inference, Ninth Edition\n", "- Taylor, J., 1982, An Introduction to Error Analysis, Second edition\n" ] }, { "cell_type": "code", "execution_count": 23, "id": "258f787934659727", "metadata": { "ExecuteTime": { "end_time": "2024-12-17T13:32:29.269068Z", "start_time": "2024-12-17T13:32:29.265727Z" }, "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "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.13.7" } }, "nbformat": 4, "nbformat_minor": 5 }