{ "cells": [ { "cell_type": "markdown", "id": "ad947718", "metadata": {}, "source": [ "## 2. Model building\n", "\n", "
\n", "\n", "A **Bayesian statistical model** is specified by the **likelihood model** (also called observational model) and **prior model**. This can be expressed as the joint probability density of the data, $x$, and model parameters, $\\theta$, such that\n", "\n", "
\n", "\n", "$$\n", "p(x, \\theta) = p(x | \\theta) p(\\theta).\n", "$$\n", "\n", "
\n", "\n", "We perform inference by conditioning on the data and calculating expectation values of the resulting posterior distribution. Recalling **Bayes' theorem**\n", "\n", "
\n", "\n", "$$\n", "p(\\theta | x) = \\frac{p(x | \\theta)p(\\theta)}{p(x)} \\propto p(x, \\theta),\n", "$$\n", "\n", "
\n", "\n", "we note that the results of our inference are *completely dependent on the assumed model*. Bayes' theorem is not some magical guarantee, and if our model does not represent the actual *data generating process* our inference will yield results that are meaningless in practice. Even worse, if we are not careful, a misspecified model may produce results that \"look good\" but are far from the truth - leading us to draw the wrong conclusions from our analysis. \n", "\n", "
\n", "\n", "Our workflow begins with building our first sensible model as a starting point, that we can later check and iterate upon to make sure our inferences are useful. The first model doesn't need to be perfect, and in fact should be as simple as possible while still including the scientific phenomenon of interest. This process is what we will focus on here.\n", "\n", "
" ] }, { "cell_type": "markdown", "id": "be4cd990", "metadata": {}, "source": [ "### Going from a scientific question to a statistical model\n", "\n", "
\n", "\n", "So, model building is very important, but where to start? It can be helpful to break down the problem into the following components:\n", "\n", "* Scientific question\n", "* Data\n", "* Parameter(s) of interest\n", "* Key nuisance parameter(s)\n", "* Relevant domain expertise\n", "\n", "The model-building problem then comes down to **defining a connection between your parameters and data** (the likelihood/observational model) and **incorporating relevant domain expertise** (the prior model). \n", "\n", "To get a feel for how this can work, consider the following examples:\n", "\n", "
\n", "\n", "\"Going\n", "\n", "
\n", "\n", "**Exercise 1 (10 points):** Fill out this table for some more complicated examples such as:\n", "\n", "* What is the value of the Hubble constant?\n", "* What is the mass of the Higgs boson?\n", "* An example from your own field/interests\n", "Below are some relevant plots of data used to make such measurements.\n", "\n", "The original Hubble diagram from [this paper](https://www.pnas.org/content/15/3/168):\n", "\n", "\"The\n", "\n", "First presentation of ATLAS Higgs to $\\gamma\\gamma$ results on 4th July 2012:\n", "\n", "\"https://atlas.cern/updates/feature/higgs-boson\"" ] }, { "cell_type": "markdown", "id": "00d845ba", "metadata": {}, "source": [ "### The impossible model\n", "\n", "
\n", "\n", "When starting the model-building process, it can also be helpful to think about the ideal model that you would fit if you had no restrictions on model complexity or computational resources. The purpose of this is to consider each step of the *data generating process* in detail, from start to finish. We are forced to think about complexities of the physical system and measurement process that may or may not be important for our later inference. The model itself may be impossible to actually write down or implement, but in doing this, we give can identify important steps and give context to the simpler models we will later go on to create. \n", "\n", "Taking the first example in the table above, consider what other effects may be important...\n", "\n", "
\n", "\n", "\"Thinking\n", "\n", "
\n", "\n", "**Exercise 2 (5 points):** Can you expand the complexity for one of the other models that we discussed? List possible factors." ] }, { "cell_type": "markdown", "id": "b9011f2c", "metadata": {}, "source": [ "### Probabilistic graphical models\n", "\n", "
\n", "\n", "For both of the above steps, it can be useful to sketch out connections between data and parameters using directed acyclic graphs (DAGs), often also called probabilistic graphical models (PGMs). These can be thought of as a visualisation of the data generating process, with parameters in unshaded circles, data or observations in shaded circles, and the arrows representing the connections between them. \n", "\n", "Here is a trivial example for that of data sampled from a normal distribution, such as what we looked at when introducing Stan in the *Are you ready?* section of the [introduction notebook](introduction.ipynb). The normal distribution is defined by two parameters, $\\mu$ and $\\sigma$. $N$ independent samples from this distribution are then taken, shown by $x_i$. The box around $x_i$ shows that there are a number of repeated samples, that we can think of as observations or measurements.\n", "\n", "
\n", "\n", "\"A\n", "\n", "
\n", "\n", "**Exercise 3 (5 points):** Now it's your turn! Sketch graphical models for the first two examples in the above table (measurement of gravitational acceleration and radioactivity)." ] }, { "cell_type": "markdown", "id": "51d17676", "metadata": {}, "source": [ "### An example: the period-luminosity relation of Cepheid variable stars\n", "\n", "
\n", "\n", "Cepheid variables are a type of star that pulsates in observed flux, such that the apparent magnitude of the star varies in time with a well-defined period and amplitude. This behaviour is interesting in its own right, but also because it has been observed that there is a strong correlation between this period and the intrinsic luminosity of these stars. This **period-luminosity** relation has the form\n", "$$\n", "M = \\alpha + \\beta \\log_{10} \\bigg( \\frac{P}{\\mathrm{days}} \\bigg), \n", "$$\n", "where $M$ is the absolute magnitude, related to the apparent magnitude, $m$, by the luminosity distance, $d_L(z)$\n", "$$\n", "m = M + 5 \\log_{10} \\bigg( \\frac{d_L(z)}{\\mathrm{Mpc}} \\bigg) + 25.\n", "$$\n", "\n", "
\n", "\n", "\"Cepheid\n", "\n", "
\n", "\n", "In astronomy, it is common to work with magnitudes instead of flux and luminosity, so the above expression is basically the equivalent of $F = L / 4 \\pi d_L^2(z)$. The magnitude is related to the logarithm of flux/luminosity and it is important to remember that magnitude *decreases* with increasing brightness, although we typically invert the y-axis when plotting magnitude for easier interpretation. So, **intrinsically brighter Cepheids have longer periods**.\n", "\n", "
\n", "\n", "We know this because we can measure the distance to nearby Cepheids using *parallax*. By determining the period-luminosity relation, we can then measure the distance to Cepheids that are further away, extending the [cosmic distance ladder](https://en.wikipedia.org/wiki/Cosmic_distance_ladder). Measuring distances to far away objects allows us to compare their luminosity distance and redshift, giving us an estimate of the [Hubble constant](https://en.wikipedia.org/wiki/Hubble%27s_law). \n", "\n", "
\n", "\n", "In the coming notebooks, we will explore a series of scientific questions related to Cepheid variable observations:\n", "\n", "1. What is the nature of the period-luminosity relation?\n", "\n", "2. Is the relationship universal? (i.e. the same in different galaxies)\n", "\n", "3. What is the value of the Hubble constant?" ] }, { "cell_type": "markdown", "id": "aabba55c", "metadata": {}, "source": [ "### Generative modelling\n", "\n", "
\n", "\n", "Using what we know about Cepheid variables and the period-luminosity relation, we can start to build a simple initial model for what we think could be the data-generating process. \n", "\n", "
\n", "\n", "Towards an initial model\n", "\n", "Measuring the period of a Cepheid is relatively straightforward from studying its lightcurve, and so to start with we can assume that the period is a known quantity. However, the observed characteristic apparent magnitude, $\\hat{m}$, of a Cepheid can be more tricky to reconstruct exactly, so let's say that it is reported with some fixed uncertainty, $\\sigma_m$, that is the same for all Cepheids. We can assume that \n", "$$\n", "\\hat{m} \\sim \\mathrm{Normal}(m, \\sigma_m),\n", "$$ \n", "where $m$ is the true apparent magnitude that is not observed. Knowing that our measured Cepheids are going to be pretty nearby ($z < 0.01$), we can approximate the luminosity distance as \n", "$$\n", "d_L(z) = \\frac{cz}{H_0},\n", "$$\n", "where $c$ is the speed of light, and $H_0$ is the Hubble constant. Again, for simplicity, let's assume that for now we just look at $N_c$ Cepheids in a single galaxy with a known redshift, $z$.\n", "\n", "
\n", "\n", "**Exercise 4 (5 points):** With these simplifying assumptions in mind, sketch the corresponding graphical model for our initial Cepheid variable model. The parameters and known quantities are summarised below, just arrange them into a graph.\n", "\n", "
\n", "\n", "\"Blobs\n", "\n", "
\n", "\n", "**Exercise 5 (10 points):** Using the parameter and fixed quantity values given below, as well as your graphical model, write a simulation for the observed apparent magnitudes, $m_i$. Plot your results in $\\log_{10}(P/\\mathrm{days})$-$m$ space, comparing with the true period-luminosity relation. \n", "\n" ] }, { "cell_type": "code", "execution_count": 1, "id": "47a38052", "metadata": { "ExecuteTime": { "end_time": "2021-09-11T11:36:20.799040Z", "start_time": "2021-09-11T11:36:20.543182Z" } }, "outputs": [], "source": [ "import numpy as np\n", "from matplotlib import pyplot as plt" ] }, { "cell_type": "code", "execution_count": 2, "id": "98edc7e0", "metadata": { "ExecuteTime": { "end_time": "2021-09-11T11:36:20.803888Z", "start_time": "2021-09-11T11:36:20.800912Z" } }, "outputs": [], "source": [ "# known quantities\n", "c = 3.0e5 # km/s\n", "H0 = 70 # km/s/Mpc\n", "z = 0.005\n", "\n", "Nc = 10\n", "P = [71.5, 45.0, 19.9, 30.6, 8.8, 75.2, 21.5, 22.0, 34.5, 87.4] # days\n", "sigma_m = 0.5\n", "\n", "# high-level parameter values\n", "alpha = -2\n", "beta = -4" ] }, { "cell_type": "markdown", "id": "2ced8589", "metadata": {}, "source": [ "Recall: \n", "$$\n", "M = \\alpha + \\beta \\log_{10} \\bigg( \\frac{P}{\\mathrm{days}} \\bigg), \n", "$$\n", "\n", "$$\n", "m = M + 5 \\log_{10} \\bigg( \\frac{d_L(z)}{\\mathrm{Mpc}} \\bigg) + 25,\n", "$$\n", "\n", "$$\n", "d_L(z) = \\frac{cz}{H_0}.\n", "$$" ] }, { "cell_type": "code", "execution_count": 3, "id": "0e0a6e34", "metadata": { "ExecuteTime": { "end_time": "2021-09-11T11:36:20.810637Z", "start_time": "2021-09-11T11:36:20.807982Z" } }, "outputs": [], "source": [ "# define some useful functions\n", "# dL: luminosity distance\n", "def luminosity_distance(z):\n", " # to be completed...\n", " pass\n", "\n", "# M: absolute magnitude\n", "def absolute_magnitude(alpha, beta, P):\n", " # to be completed...\n", " pass\n", "\n", "# m: apparent magnitude\n", "def apparent_magnitude(M, z):\n", " # to be completed...\n", " pass" ] }, { "cell_type": "code", "execution_count": 4, "id": "0668a9e4", "metadata": { "ExecuteTime": { "end_time": "2021-09-11T11:36:20.813982Z", "start_time": "2021-09-11T11:36:20.811762Z" } }, "outputs": [], "source": [ "# simulate the observed apparent magnitudes\n", "# M_true = ...\n", "# m_true = ...\n", "# m_obs = ...\n", "# M_obs = ...\n", "pass" ] }, { "cell_type": "code", "execution_count": 5, "id": "f6a040de", "metadata": { "ExecuteTime": { "end_time": "2021-09-11T11:36:20.963115Z", "start_time": "2021-09-11T11:36:20.815378Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "No handles with labels found to put in legend.\n" ] }, { "data": { "text/plain": [ "Text(0, 0.5, 'm')" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAEKCAYAAAAMzhLIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAASGklEQVR4nO3dfZBdd13H8feHJiEjVHDSyGC3kCgpEEEprLUOKFWqpp0xHXmQdqwCdojCVB1hcOrAFCz/iB11Rq0P4amIQikozKrBqFAeRFq6tVBIa3EJD90idom1M4qhLXz9456Q63b3l7vbnL03m/drJjPn4XfP/d7fbPaz5/zu+Z1UFZIkLedh4y5AkjTZDApJUpNBIUlqMigkSU0GhSSpyaCQJDX1GhRJdiW5I8lcksuX2P/wJO/q9t+YZFuf9UiSVq63oEhyCnA1cD6wE7g4yc5FzS4F7qmqJwC/B7yhr3okSavT5xnF2cBcVR2sqvuAa4ELF7W5EHhbt/we4DlJ0mNNkqQV2tDjsU8H7hxanwd+cLk2VfVAknuBLcBXhxsl2QPsAXjEIx7xjCc96Ul91SxJ69LNN9/81arauprX9hkUx01V7QX2AkxPT9fs7OyYK5KkE0uSL672tX1eeroLOGNofarbtmSbJBuARwGHeqxJkrRCfQbFTcCOJNuTbAIuAmYWtZkBXtQtPx/4YDlLoSRNlN4uPXVjDpcB+4FTgLdU1YEkVwKzVTUDvBl4e5I54D8ZhIkkaYL0OkZRVfuAfYu2XTG0fBh4QZ81SNJ6c//99zM/P8/hw4cftG/z5s1MTU2xcePG4/Z+J8RgtiTpqPn5eU499VS2bdvG8B0FVcWhQ4eYn59n+/btx+39nMJDkk4whw8fZsuWLSy+7SwJW7ZsWfJM46EwKCTpBLTcvcl93LNsUEiSmgwKSVKTQSFJJ6Dlbjnr41Y0g0KSTjCbN2/m0KFDDwqFI9962rx583F9P78eK0knmKmpKebn51lYWHjQviP3URxPBoUknWA2btx4XO+TOBYvPUmSmgwKSVKTQSFJajIoJElNBoUkqcmgkCQ1GRSSpCaDQpLUZFBIkpoMCklSk0EhSWoyKCRJTQaFJKnJoJAkNRkUkqQmg0KS1GRQSJKaDApJUpNBIUlqMigkSU0GhSSpyaCQJDUZFJKkJoNCktRkUEiSmgwKSVJTr0GRZFeSO5LMJbl8if2vSHJbkluTfCDJ4/usR5K0cr0FRZJTgKuB84GdwMVJdi5qdgswXVXfB7wH+O2+6pEkrU6fZxRnA3NVdbCq7gOuBS4cblBV11fV17rVG4CpHuuRJK1Cn0FxOnDn0Pp8t205lwLvX2pHkj1JZpPMLiwsHMcSJUnHMhGD2UkuAaaBq5baX1V7q2q6qqa3bt26tsVJ0kluQ4/Hvgs4Y2h9qtv2/yQ5D3g18Oyq+nqP9UiSVqHPM4qbgB1JtifZBFwEzAw3SHIW8KfA7qq6u8daJEmr1FtQVNUDwGXAfuB24LqqOpDkyiS7u2ZXAY8E3p3kk0lmljmcJGlM+rz0RFXtA/Yt2nbF0PJ5fb6/JOmhm4jBbEnS5DIoJElNBoUkqcmgkCQ1GRSSpCaDQpLUZFBIkpoMCklSk0EhSWoyKCRJTQaFJKnJoJAkNRkUkqQmg0KS1GRQSJKaDApJUpNBIUlqMigkSU0GhSSpyaCQJDUZFJKkJoNCktRkUEiSmgwKSVKTQSFJajIoJElNBoUkqcmgkCQ1GRSSpCaDQpLUZFBIkpoMCklSk0EhSWoyKCRJTb0GRZJdSe5IMpfk8ka75yWpJNN91iNJWrnegiLJKcDVwPnATuDiJDuXaHcq8KvAjX3VIklavT7PKM4G5qrqYFXdB1wLXLhEu9cDbwAO91iLJGmV+gyK04E7h9bnu23fkuTpwBlV9betAyXZk2Q2yezCwsLxr1SStKyxDWYneRjwu8Arj9W2qvZW1XRVTW/durX/4iRJ39JnUNwFnDG0PtVtO+JU4CnAh5J8ATgHmHFAW5ImS59BcROwI8n2JJuAi4CZIzur6t6qOq2qtlXVNuAGYHdVzfZYkyRphXoLiqp6ALgM2A/cDlxXVQeSXJlkd1/vK0k6vjb0efCq2gfsW7TtimXanttnLZKk1fHObElSk0EhSWoyKCRJTQaFJKnJoJAkNRkUkqQmg0KS1GRQSJKaDApJUpNBIUlqMigkSU0GhSSpyaCQJDUZFJKkppGmGe+eOvdq4PHdawJUVX1fj7VJkibAqM+j+AvgVcCngW/2V44kadKMGhQLVTVz7GaSpPVm1KB4bZI3AR8Avn5kY1X9VS9VSZImxqhB8RLgScBGjl56KsCgkKR1btSg+IGqemKvlUiSJtKoX4/95yQ7e61EkjSRRj2jOAf4ZJLPMxij8OuxknSSGDUodvVahSRpYo0UFFX1xb4LkSRNJqfwkCQ1GRSSpCaDQpLUZFBIkpoMCklSk0EhSWoyKCRJTQaFJKnJoJAkNRkUkqQmg0KS1NRrUCTZleSOJHNJLl+mzc8kuS3JgSTv6LMeSdLKjTp77IolOQW4GvhxYB64KclMVd021GYH8BvAM6vqniTf2Vc9kqTV6fOM4mxgrqoOVtV9wLXAhYvavBS4uqruAaiqu3usR5K0Cn0GxenAnUPr8922YWcCZyb5WJIbkiz53Iske5LMJpldWFjoqVxJ0lLGPZi9AdgBnAtcDLwxyaMXN6qqvVU1XVXTW7duXdsKJekk12dQ3AWcMbQ+1W0bNg/MVNX9VfV54LMMgkOSNCH6DIqbgB1JtifZBFwEzCxq8z4GZxMkOY3BpaiDPdYkSVqh3oKiqh4ALgP2A7cD11XVgSRXJtndNdsPHEpyG3A98KqqOtRXTZKklUtVjbuGFZmenq7Z2dlxlyFJJ5QkN1fV9GpeO+7BbEnShDMoJElNBoUkqcmgkCQ1GRSSpCaDQpLUZFBIkpoMCklSk0EhSWoyKCRJTQaFJKnJoJAkNRkUkqQmg0KS1GRQSJKaDApJUpNBIUlqMigkSU0GhSSpyaCQJDUZFJKkJoNCktRkUEiSmgwKSVKTQSFJajIoJElNBoUkqcmgkCQ1GRSSpCaDQpLUZFBIkpoMCklSk0EhSWoyKCRJTb0GRZJdSe5IMpfk8iX2Py7J9UluSXJrkgv6rEeStHK9BUWSU4CrgfOBncDFSXYuavYa4LqqOgu4CPijvuqRJK1On2cUZwNzVXWwqu4DrgUuXNSmgG/vlh8FfLnHeiRJq9BnUJwO3Dm0Pt9tG/Y64JIk88A+4JeXOlCSPUlmk8wuLCz0UaskaRnjHsy+GLimqqaAC4C3J3lQTVW1t6qmq2p669ata16kJJ3M+gyKu4Azhtanum3DLgWuA6iqjwObgdN6rEmStEJ9BsVNwI4k25NsYjBYPbOozZeA5wAkeTKDoPDakiRNkN6CoqoeAC4D9gO3M/h204EkVybZ3TV7JfDSJJ8C3gm8uKqqr5okSSu3oc+DV9U+BoPUw9uuGFq+DXhmnzVIkh6acQ9mS5ImnEEhSWoyKCRJTQaFJKnJoJAkNRkUkqQmg0KS1GRQSJKaDApJUpNBIUlqMigkSU0GhSSpyaCQJDUZFJKkJoNCktRkUEiSmgwKSVKTQSFJajIoJElNBoUkqcmgkCQ1GRSSpCaDQpLUZFBIkpoMCklSk0EhSWoyKCRJTQaFJKnJoJAkNRkUkqQmg0KS1GRQSJKaDApJUpNBIUlqMigkSU29BUWStyS5O8lnltmfJL+fZC7JrUme3lctkqTV6/OM4hpgV2P/+cCO7t8e4I97rEWStEq9BUVVfQT4z0aTC4E/q4EbgEcneWxf9UiSVmfDGN/7dODOofX5btu/L26YZA+Dsw6Ary93OeskdBrw1XEXMSHsi6Psi6Psi6OeuNoXjjMoRlZVe4G9AElmq2p6zCVNBPviKPviKPviKPviqCSzq33tOL/1dBdwxtD6VLdNkjRBxhkUM8DPd99+Oge4t6oedNlJkjRevV16SvJO4FzgtCTzwGuBjQBV9SfAPuACYA74GvCSEQ+997gXe+KyL46yL46yL46yL45adV+kqo5nIZKkdcY7syVJTQaFJKlpYoMiya4kd3RTfFy+xP6HJ3lXt//GJNvGUOaaGKEvXpHktm4qlA8kefw46lwLx+qLoXbPS1JJ1u1XI0fpiyQ/0/1sHEjyjrWuca2M8H/kcUmuT3JL9//kgnHU2bfepk6qqon7B5wCfA74bmAT8Clg56I2Lwf+pFu+CHjXuOseY1/8KPBt3fLLTua+6NqdCnwEuAGYHnfdY/y52AHcAnxHt/6d4657jH2xF3hZt7wT+MK46+6pL34EeDrwmWX2XwC8HwhwDnDjKMed1DOKs4G5qjpYVfcB1zKY8mPYhcDbuuX3AM9JkjWsca0csy+q6vqq+lq3egODe1LWo1F+LgBeD7wBOLyWxa2xUfripcDVVXUPQFXdvcY1rpVR+qKAb++WHwV8eQ3rWzPV09RJkxoUy03vsWSbqnoAuBfYsibVra1R+mLYpQz+YliPjtkX3an0GVX1t2tZ2BiM8nNxJnBmko8luSFJa5LOE9koffE64JLuq/r7gF9em9Imzkp/nwAnyBQeGk2SS4Bp4NnjrmUckjwM+F3gxWMuZVJsYHD56VwGZ5kfSfLUqvqvcRY1JhcD11TV7yT5IeDtSZ5SVd8cd2Engkk9oxhleo9vtUmygcHp5KE1qW5tjTTVSZLzgFcDu6vq62tU21o7Vl+cCjwF+FCSLzC4BjuzTge0R/m5mAdmqur+qvo88FkGwbHejNIXlwLXAVTVx4HNDCYMPNmsauqkSQ2Km4AdSbYn2cRgsHpmUZsZ4EXd8vOBD1Y3WrPOHLMvkpwF/CmDkFiv16HhGH1RVfdW1WlVta2qtjEYr9ldVaueDG2CjfJ/5H0MziZIchqDS1EH17DGtTJKX3wJeA5AkiczCIqFNa1yMqxq6qSJvPRUVQ8kuQzYz+AbDW+pqgNJrgRmq2oGeDOD08c5BoM3F42v4v6M2BdXAY8E3t2N53+pqnaPreiejNgXJ4UR+2I/8BNJbgO+AbyqqtbdWfeIffFK4I1Jfo3BwPaL1+Mfln1NneQUHpKkpkm99CRJmhAGhSSpyaCQJDUZFJKkJoNCktRkUGhdSPLfD+G1l3WzaVZ3v8GR7cvOtJnksUn+pls+N8m9ST6Z5PYkr110/JuTPHzRthcn+cPV1rzEZ3hqkmuO1/GkYQaFBB8DzgO+uGj7+QzuZN4B7AH+eGjfK4A3Dq1/tKqexmAKlUuOhEqS7cBdfd8tX1WfBqaSPK7P99HJyaDQutKdBVyV5DNJPp3khd32hyX5oyT/muQfkuxL8nyAqrqlqr6wxOFaM20+D/i7xS+oqv8Bbgae0G3adaRdkpck+WySTwDPHKr5pzJ4psotSf4xyWO6ev8tydah+ueSbE3ygu7zfSrJR4be/q9ZpzeearwMCq03zwWeBnw/g7OEq7pf7s8FtjF4FsHPAT80wrGWnGmzO0u4Z6mzhCRbGMwxdaDbtAv4u66G32QQEM/q6jjin4BzquosBlNk/3o3Wd2fAz/btTkP+FRVLQBXAD9ZVd8PDN+BPwv88AifS1oRg0LrzbOAd1bVN6rqP4APAz/QbX93VX2zqr4CXP8Q3uOxPHieoB9Ocgvw98BvdVNIbAKmquog8IPAh6pqoXtmwruGXjsF7E/yaeBVwPd2298C/Hy3/AvAW7vljwHXJHkpgykrjrgb+K6H8LmkJRkU0vKWm2nzfxlMKjfso1V1VlU9o5tTBwZ/3f/TCO/zB8AfVtVTgV88cuyquhP4jyQ/xuDhPO/vtv8S8Jqutpu7sxi61/3vyj6idGwGhdabjwIvTHJKd33/R4BPMPgr/Hndtf7H0M2qegzLzbT5WQaXsY5lF0cfInUj8OwkW5JsBF4w1O5RHJ3q+UX8f29icAnq3VX1DYAk31NVN1bVFQzObI6E2ZnAks9Klh4Kg0LrzXuBWxk8N/mDDK73fwX4SwZjDLcx+MX7LwyeikiSX+lm2pwCbk3ypu5Y+xhMyz3H4BtOL4dvDVh/LsmRAevlnMvg0hddwLwO+DiD0Lp9qN3rGMz8ezPw1UXHmGEwM/Bbh7Zd1Q3Ufwb45+6zwuDZ6ev9yX4aA2eP1UkjySOr6r+7SzWfAJ7ZhchqjvXTwDOq6jXL7J8C3lhV56++YsjgoUu/V1XNQeruPo0PA8/qHg0sHTcT+TwKqSd/k+TRwCbg9asNCYCqeu/Q2MBS++cZ3IexakkuB17G0W8+tTwOuNyQUB88o5AkNTlGIUlqMigkSU0GhSSpyaCQJDUZFJKkpv8DUmoVL6Uas5wAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot the true and observed apparent magnitudes\n", "log10_P_grid = np.linspace(0, 3)\n", "fig, ax = plt.subplots()\n", "#ax.scatter(log10P, m_true, label=\"m_true\")\n", "#ax.scatter(log10P, m_obs, label=\"m_obs\")\n", "ax.invert_yaxis() # so brighter as y-axis increases\n", "ax.legend()\n", "ax.set_xlabel(\"log10(P/days)\")\n", "ax.set_ylabel(\"m\")" ] }, { "cell_type": "code", "execution_count": 6, "id": "170a06ba", "metadata": { "ExecuteTime": { "end_time": "2021-09-11T11:36:21.102618Z", "start_time": "2021-09-11T11:36:20.964572Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "No handles with labels found to put in legend.\n" ] }, { "data": { "text/plain": [ "Text(0, 0.5, 'M')" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot the true and observed absolute magnitudes, compare with true P-L relation\n", "log10P_grid = np.linspace(0, 3)\n", "fig, ax = plt.subplots()\n", "#ax.scatter(log10P, M_true, label=\"M_true\")\n", "#ax.scatter(log10P, M_obs, label=\"M_obs\")\n", "ax.plot(log10P_grid, alpha + beta * log10P_grid)\n", "ax.invert_yaxis() # so brighter as y-axis increases\n", "ax.legend()\n", "ax.set_xlabel(\"log10(P/days)\")\n", "ax.set_ylabel(\"M\")" ] }, { "cell_type": "markdown", "id": "6947646c", "metadata": {}, "source": [ "In the above plots, you may have been tempted to use `ax.errorbar()` or `plt.errorbar()` to show the data, `m` or `M` together with the uncertainty, `sigma_m`.\n", "\n", ">Note: The uncertainties on `M` and `m` are equivalent, due to the additive relationship between the two.\n", "\n", "This can be a helpful visualisation, and you are free to do so if you wish! However, it is important to remember that in the Bayesian way of thinking, data **do not** have errors, rather, **the model has uncertainty**. So the *observed* magnitude is not uncertain, we saw it! What is really uncertain is what it implies for the *true* magnitude, that we cannot see. \n", "\n", "To get a feel for this, let's consider the last step in our generative model - the connection between the true and observed magnitudes - in isolation for a moment. We can reverse our simulation for this step, and add the distribution of possible *true* magnitudes to the above plot for the given *observed* magnitudes: \n", "\n", ">Note: We can use Bayes' theorem to find a proportional relationship for p(`M_true` | `M_obs`) given P(`M_obs` | `M_true`) and assuming P(`M_true`) = constant. This is intended as an illustration. It is important to note that we will need to perform a fit including our entire model to get the full P(`M_true` | `M_obs`) in this context, as we will see in the next notebook." ] }, { "cell_type": "code", "execution_count": 7, "id": "73727627", "metadata": { "ExecuteTime": { "end_time": "2021-09-11T11:36:21.247071Z", "start_time": "2021-09-11T11:36:21.104398Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "No handles with labels found to put in legend.\n" ] }, { "data": { "text/plain": [ "Text(0, 0.5, 'M')" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYcAAAEGCAYAAACO8lkDAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAk+ElEQVR4nO3deXCUd37n8fdXHOIS92UQIDCHucwlMGAwlzgEkvCJjW2w8WzYnSQ7Se0mk0mcmnh2K1VJJpXUZqZ2J052Npk9nMnldLeEEIe4MWCBwdyYG3HfQoDO/u0f3TAyEpKAlp4+Pq8qqlr9PN39edxyf/Q8T/e3zTmHiIhITUleBxARkeijchARkVpUDiIiUovKQUREalE5iIhILS29DhAJ3bt3d2lpaV7HEBGJKbt3777mnOtR17K4KIe0tDSKioq8jiEiElPM7MzjlumwkoiI1KJyEBGRWlQOIiJSS1yccxARSXSVlZUUFxdTVlZWa1mbNm1ITU2lVatWjb4/lYOISBwoLi4mJSWFtLQ0zOzh9c45rl+/TnFxMQMHDmz0/XlyWMnM3jKzg2YWNLP0Opb3N7NSM/sdL/KJiMSasrIyunXr9q1iADAzunXrVuceRX28OudwAHgd2PyY5X8B5DdfHBGR2PdoMTR0fX08OazknDsMdQc2s1eBU8Dd5k0lIhI7nHN89dVXtG/fnmHDhkX8/qPq3Upm1gH4PeBHjVh3pZkVmVnR1atXmz6ciEiUuHnzJr/4xS/w+/3s37+/SR6jyfYczGwd0LuORR8753yPudknwF8650ob2g1yzn0KfAqQnp6ubywSkbgXDAbZtWsX69evJykpiaysLCZMmPBwuXOuziMyT/Olbk1WDs65jKe42UvAm2b2Z0BnIGhmZc65n0Y0nIhIjLly5Qp+v5/i4mKGDh1KVlYWHTt2fLi8TZs2XL9+vdZJ6QfvVmrTps0TPV5UvZXVOTf9wWUz+wQoVTGISCKrrq5m69atbN68meTkZN544w1GjRpVaw8hNTWV4uJi6jrM/uBzDk/Ck3Iws9eAnwA9gDwz2+ucm+9FFhGRaHX+/Hn8fj+XL19m9OjRLFiwgPbt29e5bqtWrZ7ocwwN8erdSp8DnzewzifNk0ZEJLpUVlayYcMGvvjiC1JSUli6dGmTvCOpPlF1WElEJNGdPn0av9/PjRs3SE9PJyMj44nPF0SCykFEJAqUlZWxdu1adu/eTdeuXfnggw8iepjoSakcREQ8duzYMXJzc7lz5w5Tp05l1qxZTzQkrymoHEREPHL37l1Wr17N/v376dWrF2+//TZ9+/b1OhagchARaXbOOQ4cOEB+fj7l5eXMmjWLadOm0aJFC6+jPaRyEBFpRiUlJeTm5nLs2DFSU1PJycmhZ8+eXseqReUgItIMnHPs2bOHNWvWEAwGmT9/Pi+99BJJSVE14u4hlYOISBO7ceMGfr+f06dPM3DgQHJycujSpYvXseqlchARaSLBYJAdO3ZQWFhIy5YtycnJYdy4cU/1/QrNTeUgItIELl++jM/n48KFC7zwwgssWrSIlJQUr2M1mspBRCSCqqqq2LJlC1u2bKFt27a89dZbjBgxIib2FmpSOYiIREhxcTE+n4+rV6/y4osvsmDBAtq1a+d1rKeichAReUYVFRVs2LCBHTt2kJKSwnvvvceQIUO8jvVMVA4iIs/g5MmTBAIBbt68ycSJE8nIyCA5OdnrWM9M5SAi8hTKyspYs2YNe/bsoVu3bqxYsYIBAwZ4HStiVA4iIk/oyJEj5OXlcffuXaZNm8aMGTM8H5QXaSoHEZFGunv3Lvn5+Rw4cIDevXuzdOlS+vTp43WsJqFyEBFpgHOO/fv3k5+fT0VFBbNnz+bll1+OqkF5kaZyEBGpx+3bt8nNzeWbb76hX79+5OTk0KNHD69jNTmVg4hIHZxzFBUVsW7dOoLBIJmZmUycODFqB+VFmspBROQR169fx+/3c+bMGQYNGkR2dnbUD8qLNJWDiEhYMBjkiy++YMOGDbRs2ZLFixczduzYmBt9EQkqBxER4NKlS/h8Pi5evMjw4cNZuHBhTA3KizSVg4gktKqqKjZv3szWrVtjelBepHlSDmb2FvAJMByY5JwrCl8/F/gToDVQAfyuc67Qi4wiEv/OnTuHz+fj2rVrjB07lnnz5sXsoLxI82rP4QDwOvDXj1x/Dch2zl0ws1FAAdC3ucOJSHyrqKhg/fr17Nq1i44dO/L+++8zePBgr2NFFU/KwTl3GKi12+ac+6rGjweBtmaW7Jwrb8Z4IhLHTpw4QSAQ4NatW0yaNIk5c+bExaC8SIvmcw5vAHseVwxmthJYCdC/f//mzCUiMej+/fsUFBSwd+9eunfvzkcffaTXjno0WTmY2Tqgdx2LPnbO+Rq47UjgT4F5j1vHOfcp8ClAenq6e4aoIhLnDh8+TF5eHvfu3WPatGnMnDmTli2j+W9j7zXZfx3nXMbT3M7MUoHPgeXOuRORTSUiiaS0tJRVq1Zx6NAhevfuzXvvvcdzzz3ndayYEFXVaWadgTzgB865bR7HEZEY5Zxj3759FBQUUFlZyZw5c5g6dWpcD8qLNK/eyvoa8BOgB5BnZnudc/OB3wQGAz80sx+GV5/nnLviRU4RiT23bt0iEAhw4sQJ+vfvT05ODt27d/c6Vswx52L/cH16erorKiryOoaIeMg5x5dffsm6desAyMjIYOLEiQn/Ybb6mNlu51x6Xcui6rCSiMjTuHbtGn6/n7NnzzJ48GCysrLo3Lmz17FimspBRGJWdXU127dvZ+PGjbRu3ZpXX32VMWPGaG8hAlQOIhKTLl68iM/n49KlS4wYMYKFCxfSoUMHr2PFDZWDiMSUqqoqNm3axLZt22jXrh1vv/02w4cP9zpW3FE5iEjMOHv2LD6fj+vXrzNu3DjmzZtH27ZtvY4Vl1QOIhL1ysvLHw7K69y5M8uWLeP555/3OlZcUzmISFQ7fvw4gUCAkpISXnrpJebMmUPr1q29jhX3VA4iEpXu3btHQUEB+/btezgor1+/fl7HShgqBxGJKs65h4Py7t+/zyuvvMIrr7yiQXnNTP+1RSRq3Llzh1WrVnH48GH69OnDsmXL6N27ruHO0tRUDiLiOecce/fupaCggKqqKubOncuUKVNISkryOlrCUjmIiKdu3rxJIBDg5MmTDBgwgJycHLp16+Z1rISnchARTwSDwYeD8pKSksjKymLChAkafRElVA4i0uyuXr2K3+/n3LlzDBkyhKysLDp16uR1LKlB5SAizaa6uppt27axadMmkpOTef311xk9erT2FqKQykFEmsWFCxfw+XxcvnyZUaNGkZmZSfv27b2OJY+hchCRJlVZWcnGjRvZvn07HTp04J133uGFF17wOpY0QOUgIk3mzJkz+P1+rl+/zvjx45k3bx5t2rTxOpY0gspBRCKuvLycdevW8eWXX9KlSxeWL1/OoEGDvI4lT0DlICIR9c033xAIBLhz5w5Tpkxh1qxZGpQXg1QOIhIR9+7dY/Xq1Xz99df06NGDJUuWkJqa6nUseUoqBxF5Js45Dh48SH5+PmVlZcycOZNp06ZpUF6M07MnIk+tpKSEvLw8jh49St++fcnJyaFXr15ex5IIUDmIyBNzzrFnzx7WrFlDMBhk3rx5TJ48WYPy4ogn5WBmbwGfAMOBSc65ohrLfh/4DlANfM85V+BFRhGp240bNwgEApw6dYq0tDRycnLo2rWr17EkwrzaczgAvA78dc0rzWwE8A4wEugDrDOzoc656uaPKCI1BYNBdu7cSWFhIUlJSWRnZzN+/HiNvohTnpSDc+4wUNcv1WLgH5xz5cApMzsOTAK+aN6EIlLTlStX8Pl8nD9/nqFDh5KVlUXHjh29jiVNKNrOOfQFdtT4uTh8XS1mthJYCdC/f/+mTyaSgKqrq9myZQtbtmwhOTmZN998k5EjR2pvIQE0WTmY2Tqgru/3+9g553vW+3fOfQp8CpCenu6e9f5E5NvOnz+Pz+fjypUrjB49mszMTNq1a+d1LGkmTVYOzrmMp7jZeaBfjZ9Tw9eJSDOprKxkw4YNfPHFF6SkpPDuu+8ydOhQr2NJM4u2w0p+4P+Z2V8QOiE9BNjlbSSRxHHq1Cn8fj83b95kwoQJzJ07V4PyEpRXb2V9DfgJ0APIM7O9zrn5zrmDZvaPwCGgCvgNvVNJpOmVlZWxdu1adu/eTdeuXfnwww9JS0vzOpZ4yKt3K30OfP6YZX8M/HHzJhJJXEePHiU3N5fS0lKmTp3KrFmzaNWqldexxGPRdlhJRJrJ3bt3Wb16Nfv376dXr16888479O1b55sDJQGpHEQSjHOOAwcOkJ+fT3l5ObNmzWLatGm0aNHC62gSRVQOIgmkpKSE3Nxcjh07RmpqKjk5OfTs2dPrWBKFVA4iCcA5x+7du1m7di3BYJAFCxYwadIkDcqTx1I5iMS569evEwgEOH36NIMGDSI7O5suXbp4HUuinMpBJE4Fg0F27NhBYWEhLVu2JCcnh3Hjxmn0hTSKykEkDl2+fBmfz8eFCxd44YUXWLRoESkpKV7HkhiichCJI1VVVQ8H5bVt25a33nqLESNGaG9BnpjKQSROFBcX4/P5uHr1KmPGjGH+/PkalCdPTeUgEuMqKiooLCxk586ddOzYkffee48hQ4Z4HUtinMpBJIadPHmSQCDAzZs3mThxIhkZGSQnJ3sdS+KAykEkBpWVlbFmzRr27NlDt27dWLFiBQMGDPA6lsQRlYNIjDly5Ah5eXncvXuXadOmMWPGDA3Kk4hTOYjEiNLSUvLz8zl48CC9evVi6dKl9OnTx+tYEqdUDiJRzjnH/v37yc/Pp6KigtmzZ/Pyyy9rUJ40KZWDSBS7ffs2ubm5fPPNN/Tr14+cnBx69OjhdSxJACoHkSjknKOoqIi1a9finCMzM5OJEydqUJ40G5WDSJS5du0agUCAM2fOaFCeeEblIBIlgsEg27dvZ+PGjbRs2ZLFixczduxYjb4QT6gcRKLApUuX8Pl8XLx4keHDh7Nw4UINyhNPqRxEPFRVVcWmTZvYtm0b7dq1Y8mSJYwYMcLrWCIqBxGvnD17Fr/fz7Vr1xg7dizz58+nbdu2XscSAVQOIs2uoqKC9evXs2vXLjp16sSyZct4/vnnvY4l8i0qB5FmdOLECQKBALdv32bSpEnMmTOH1q1bex1LpJaoKwczGwv8DGgDVAG/7pzb5WkokWd0//59CgoK2Lt3L927d2fFihX079/f61gijxV15QD8GfAj51y+mS0M/zzT20giT+/QoUOsWrWKe/fuMX36dGbMmEHLltH4v57Ir9T7G2pm/vqWO+dyIhsndLdAx/DlTsCFJngMkSZXWlrKqlWrOHToEM899xzvv/8+vXv39jqWSKM09OfLFOAc8BmwE2iOT+P8NlBgZn8OJAFT61rJzFYCKwHtnktUcc6xb98+CgoKqKysJCMjgylTpmhQnsQUc849fqFZC2AusBR4EcgDPnPOHXymBzVbB9T1J9THwBxgk3PuX8xsCbDSOZdR3/2lp6e7oqKiZ4kkEhG3bt0iNzeX48eP079/f3JycujevbvXsUTqZGa7nXPpdS6rrxweuZNkQiXxY0LnBH4auYjfepzbQGfnnLPQ3IDbzrmO9d1G5SBec86xa9cu1q9fD0BGRgYTJ07U6AuJavWVQ4NnxcKlsIhQMaQBfwV8HsmAj7gAzAA2ArOBb5rwsUSe2bVr1/D7/Zw9e5bBgweTlZVF586dvY4l8kwaOiH9C2AUsIrQ3sKBZsj0a8B/M7OWQBnh8woi0aa6uvrhoLzWrVvz2muv8eKLL2pvQeJCQ3sO7wN3gd8Cvlfjl94A19DhnqfhnNsKTIj0/YpE0sWLF/H5fFy6dIkRI0awcOFCOnTo4HUskYiptxycc/pmEZEaKisr2bRpE9u3b6ddu3a8/fbbDB8+3OtYIhGnT+KINNLZs2fx+Xxcv36dcePGMW/ePA3Kk7ilchBpQHl5+cNBeZ07d2b58uUMGjTI61giTUrlIFKP48ePEwgEKCkpYfLkycyePVuD8iQhqBxE6nD//n1Wr17Nvn376NGjBx999BH9+vXzOpZIs1E5iNTgnHs4KO/+/fvMmDGD6dOna1CeJBz9xouE3blzh7y8PI4cOUKfPn1YtmyZBuVJwlI5SMJzzrF3714KCgqoqqpi7ty5TJkyhaQkvZNbEpfKQRLazZs3CQQCnDx5kgEDBpCTk0O3bt28jiXiOZWDJKRgMPhwUF5SUhJZWVlMmDBBoy9EwlQOknCuXr2Kz+ejuLiYIUOGkJWVRadOnbyOJRJVVA6SMKqrq9m6dSubN28mOTmZ119/ndGjR2tvQaQOKgdJCBcuXMDn83H58mVGjRpFZmYm7du39zqWSNRSOUhcq6ysZOPGjWzfvp0OHTqwdOlShg0b5nUskaincpC4dfr0afx+Pzdu3GDChAnMnTuXNm3aeB1LJCaoHCTulJeXs3btWoqKiujSpQsffPABAwcO9DqWSExROUhcOXbsGLm5udy5c4cpU6Ywe/ZsWrVq5XUskZijcpC4cO/ePVavXs3XX39Nz549WbJkCampqV7HEolZKgeJac45Dh48yKpVqygvL2fmzJlMnz6dFi1aeB1NJKapHCRmlZSUkJeXx9GjR+nbty+LFy+mZ8+eXscSiQsqB4k5zjn27NnDmjVrCAaDzJs3j8mTJ2tQnkgEqRwkpty4cYNAIMCpU6dIS0sjJyeHrl27eh1LJO6oHCQmBINBdu7cSWFhIUlJSWRnZzN+/HiNvhBpIioHiXpXrlzB5/Nx/vx5hg0bxqJFi+jYsaPXsUTiWlSWg5n9R+A3gGogzzn3fY8jiQeqq6vZsmULW7ZsITk5mTfffJORI0dqb0GkGURdOZjZLGAxMMY5V25mevtJAjp//jw+n48rV64wevRoMjMzadeundexRBJG1JUD8F3gT5xz5QDOuSse55FmVFlZSWFhITt27CAlJYV3332XoUOHeh1LJOFEYzkMBaab2R8DZcDvOOe+fHQlM1sJrATo379/8yaUJnHq1Cn8fj83b94kPT2duXPnkpyc7HUskYTkSTmY2Tqgdx2LPiaUqSswGZgI/KOZDXLOuZorOuc+BT4FSE9Pd4/ekcSOsrIy1q5dy+7du+natSsffvghaWlpXscSSWielINzLuNxy8zsu8C/hstgl5kFge7A1ebKJ83n6NGj5ObmUlpayssvv8zMmTM1KE8kCkTjYaV/A2YBG8xsKNAauOZpIom4u3fvkp+fz4EDB+jVqxdLly6lT58+XscSkbBoLIefAz83swNABfDBo4eUJHY559i/fz+rV6+mvLycWbNmMW3aNA3KE4kyUVcOzrkK4H2vc0jk3b59m7y8PI4dO0Zqaio5OTkalCcSpaKuHCT+OOfYvXs3a9euJRgMsmDBAiZNmqRBeSJRTOUgTer69esEAgFOnz7NoEGDyM7OpkuXLl7HEpEGqBykSQSDQb744gs2bNhAy5YtWbx4MWPHjtXoC5EYoXKQiLt06RJ+v58LFy7wwgsvsGjRIlJSUryOJSJPQOUgEVNVVcXmzZvZunUrbdu25a233mLEiBHaWxCJQSoHiYhz587h9/u5evUqY8aMYf78+RqUJxLDVA7yTCoqKigsLGTnzp107NiR9957jyFDhngdS0SekcpBntrJkyfx+/3cunWLiRMnkpGRoUF5InFC5SBPrKysjIKCAr766iu6devGihUrGDBggNexRCSCVA7yRI4cOUJeXh53795l2rRpzJgxQ4PyROKQykEapbS0lPz8fA4ePEjv3r01KE8kzqkcpF7OOb7++mtWr15NRUUFc+bMYerUqRqUJxLnVA7yWLdv3yYQCHD8+HH69etHTk4OPXr08DqWiDQDlYPU4pzjyy+/ZN26dQBkZmYyadIkfZhNJIGoHORbrl27ht/v5+zZszz//PNkZ2fTuXNnr2OJSDNTOQgQGpS3fft2Nm7cSMuWLXn11VcZM2aM9hZEEpTKQbh06RI+n4+LFy8yYsQIFi5cSIcOHbyOJSIeUjkksKqqKjZt2sS2bdto164dS5YsYcSIEV7HEpEooHJIUOfOncPn83Ht2jXGjh3L/Pnzadu2rdexRCRKqBwSTEVFBevXr2fXrl106tSJZcuW8fzzz3sdS0SijMohgRw/fpxAIEBJSQmTJk1izpw5tG7d2utYIhKFVA4J4P79+xQUFLB37166d+/ORx99RL9+/byOJSJRTOUQ5w4dOsSqVau4d+8er7zyCq+88gotW+ppF5H66VUiTpWWlpKXl8fhw4d57rnneP/99+ndu7fXsUQkRkRtOZjZfwb+HOjhnLvmdZ5Y4Zxj3759FBQUUFlZSUZGBlOnTiUpKcnraCISQ6KyHMysHzAPOOt1llhy69YtAoEAJ06cYMCAAeTk5NCtWzevY4lIDIrKcgD+Evg+4PM6SCxwzrFr1y7Wr18PwKJFi0hPT9foCxF5alFXDma2GDjvnNtX34ubma0EVgL079+/mdJFn5qD8gYPHkx2djadOnXyOpaIxDhPysHM1gF1nR39GPgDQoeU6uWc+xT4FCA9Pd1FNGAMqK6uZtu2bWzatInWrVvz2muv8eKLL2pvQUQiwpNycM5l1HW9mY0GBgIP9hpSgT1mNsk5d6kZI0a1ixcv4vP5uHTpEiNHjiQzM1OD8kQkoqLqsJJzbj/Q88HPZnYaSNe7lUIqKyvZtGkT27dvp127drz99tsMHz7c61giEoeiqhzk8c6cOYPf7+f69euMHz+euXPnalCeiDSZqC4H51ya1xm8Vl5ezrp16/jyyy/p3Lkzy5cvZ9CgQV7HEpE4F9XlkOi++eYbcnNzKSkpYfLkycyePVuD8kSkWagcotC9e/coKChg37599OjRg+985zukpqZ6HUtEEojKIYo45x4Oyrt//z4zZsxg+vTpGpQnIs1OrzpR4s6dO+Tl5XHkyBH69OnD8uXL6dWrl9exRCRBqRw85pzjq6++Ys2aNVRVVTFv3jwmT56sQXki4imVg4du3rxJIBDg5MmTpKWlkZOTQ9euXb2OJSKicvBCMBh8OCgvKSmJrKwsJkyYoNEXIhI1VA7N7OrVq/h8PoqLixk6dChZWVl07NjR61giIt+icmgm1dXVbN26lc2bN5OcnMwbb7zBqFGjtLcgIlFJ5dAMzp8/j9/v5/Lly4waNYrMzEzat2/vdSwRkcdSOTShyspKNm7cyPbt2+nQoQNLly5l2LBhXscSEWmQyqGJnD59Gr/fz40bNxg/fjzz5s2jTZs2XscSEWkUlUOElZWVsW7dOoqKiujSpQsffPABAwcO9DqWiMgTUTlE0LFjx8jNzeXOnTtMmTKF2bNn06pVK69jiYg8MZVDBNy9e5fVq1ezf/9+evbsyZIlSzQoT0RimsrhGTjnOHjwIKtWraK8vJyZM2cyffp0WrRo4XU0EZFnonJ4SiUlJeTl5XH06FH69u3L4sWL6dmzZ8M3FBGJASqHJ+ScY8+ePaxZs4ZgMMj8+fN56aWXNChPROKKyuEJ3Lhxg0AgwKlTpxg4cCDZ2dkalCcicUnl0AjBYJCdO3dSWFhIUlIS2dnZjB8/XqMvRCRuqRwacOXKFXw+H+fPn2fYsGEsWrRIg/JEJO6pHB6jurqaLVu2sGXLFpKTk3nzzTcZOXKk9hZEJCGoHOpw/vx5fD4fV65c4cUXX2TBggW0a9fO61giIs1G5VBDZWUlhYWF7Nixg5SUFN59912GDh3qdSwRkWYXdeVgZj8GsoEK4ASwwjl3q6kf99SpU/j9fm7evEl6ejpz584lOTm5qR9WRCQqRV05AGuB33fOVZnZnwK/D/xeUz1YWVkZa9asYc+ePXTt2pUPP/yQtLS0pno4EZGYEHXl4JxbU+PHHcCbTfVYFy5c4LPPPqO0tJSXX36ZmTNnalCeiAhRWA6P+Aj4ZV0LzGwlsBKgf//+T3XnXbp0oWfPnixdupQ+ffo8dUgRkXhjzrnmf1CzdUDvOhZ97Jzzhdf5GEgHXncNhExPT3dFRUWRDyoiEsfMbLdzLr2uZZ7sOTjnMupbbmYfAlnAnIaKQUREIi/qDiuZ2QLg+8AM59w9r/OIiCSiaBwl+lMgBVhrZnvN7GdeBxIRSTRRt+fgnBvsdQYRkUQXjXsOIiLiMZWDiIjUonIQEZFaVA4iIlKLJx+CizQzuwqceYa76A5ci1AcL8XLdoC2JRrFy3aAtuWBAc65HnUtiItyeFZmVvS4TwnGknjZDtC2RKN42Q7QtjSGDiuJiEgtKgcREalF5RDyqdcBIiRetgO0LdEoXrYDtC0N0jkHERGpRXsOIiJSi8pBRERqSZhyMLMFZnbUzI6b2Q/qWJ5sZr8ML99pZmkexGyURmzLh2Z2NTzVdq+Z/TsvcjbEzH5uZlfM7MBjlpuZ/VV4O782s/HNnbGxGrEtM83sdo3n5IfNnbExzKyfmW0ws0NmdtDMfquOdWLieWnktsTK89LGzHaZ2b7wtvyojnUi+xrmnIv7f0AL4AQwCGgN7ANGPLLOrwM/C19+B/il17mfYVs+BH7qddZGbMsrwHjgwGOWLwTyAQMmAzu9zvwM2zITyPU6ZyO24zlgfPhyCnCsjt+vmHheGrktsfK8GNAhfLkVsBOY/Mg6EX0NS5Q9h0nAcefcSedcBfAPwOJH1lkM/H348j8Dc8zMmjFjYzVmW2KCc24zcKOeVRYDv3AhO4DOZvZc86R7Mo3YlpjgnLvonNsTvnwHOAz0fWS1mHheGrktMSH837o0/GOr8L9H300U0dewRCmHvsC5Gj8XU/uX5OE6zrkq4DbQrVnSPZnGbAvAG+Fd/n82s37NEy3iGrutsWJK+LBAvpmN9DpMQ8KHJcYR+iu1pph7XurZFoiR58XMWpjZXuAKsNY599jnJRKvYYlSDokmAKQ5514E1vKrvybEO3sIzbEZA/wE+Ddv49TPzDoA/wL8tnOuxOs8z6KBbYmZ58U5V+2cGwukApPMbFRTPl6ilMN5oOZfz6nh6+pcx8xaAp2A682S7sk0uC3OuevOufLwj38LTGimbJHWmOctJjjnSh4cFnDOrQJamVl3j2PVycxaEXox/b/OuX+tY5WYeV4a2pZYel4ecM7dAjYACx5ZFNHXsEQphy+BIWY20MxaEzpZ439kHT/wQfjym0ChC5/ZiTINbssjx39zCB1rjUV+YHn43TGTgdvOuYteh3oaZtb7wfFfM5tE6P+9qPvjI5zxfwKHnXN/8ZjVYuJ5acy2xNDz0sPMOocvtwXmAkceWS2ir2FR9x3STcE5V2VmvwkUEHq3z8+dcwfN7L8ARc45P6Ffov9tZscJnVh8x7vEj9fIbfmemeUAVYS25UPPAtfDzD4j9G6R7mZWDPwRoRNtOOd+Bqwi9M6Y48A9YIU3SRvWiG15E/iumVUB94F3ovSPj5eBZcD+8PFtgD8A+kPMPS+N2ZZYeV6eA/7ezFoQKrB/dM7lNuVrmMZniIhILYlyWElERJ6AykFERGpROYiISC0qBxERqUXlICIitagcJG6ZWWnDaz32tr8Znm7pan4oqr6JpGb2nJnlhi/XnPZ52Mz+6JH7321myY9c96GZ/fRpM9exDaPN7O8idX+SWFQOInXbBmQAZx65PhMYEv63EvgfNZb9J+Bvavy8JTzuIB14/0GRmNlA4HyNT7E3CefcfiDVzPo35eNIfFI5SNwL/7X/YzM7YGb7zezt8PVJZvbfzeyIma01s1Vm9iaAc+4r59zpOu6uvomkbwCrH72Bc+4usBsYHL5qwYP1zGyFmR0zs12EPrT1IHO2hWbyf2Vm68ysVzjvN2bWo0b+4+FPz74V3r59Zra5xsMHiNIPdEp0UzlIIngdGAuMIbQ38OPwC/rrQBowgtAnaac04r7qnEga3hu4WdfegJl1I/S9BwfDVy0AVocz/IhQKUwL53hgK6F5/eMIjWX/vnMuCPwf4L3wOhnAPufcVeCHwPzwALmcGvdTBExvxHaJfIvKQRLBNOCz8FTLy8AmYGL4+n9yzgWdc5cIDTN7Ws8BVx+5brqZfQWsAf4kPOakNZDqnDsJvARsdM5dDX83xy9r3DYVKDCz/cDvAg9GSf8cWB6+/BHwv8KXtwF/Z2a/RmisygNXgD7PsF2SoFQOIk/mcRNJ7wNtHll3i3NunHNuQniOD4T+it/aiMf5CaFv8xsN/PsH9+2cOwdcNrPZhL74KT98/X8A/jCcbXd4b4Xw7e4/2SaKqBwkMWwB3rbQl6X0IPSVnrsI/bX9RvjYfS9Cg/Ma8riJpMcIHaJqyALCL+iEvnhmhpl1s9Bo6bdqrNeJX43B/oBv+1tCh5f+yTlXDWBmzzvndjrnfkhoD+ZBgQ0F6vxea5H6qBwkEXwOfE3o+7YLCR2/v0Rozn8xcIjQi+0eQt+ehZl9LzxdNRX42sz+Nnxfq4CThCaS/g2h7+19cNL5hJk9OOn8ODMJHdYiXCqfAF8QKqqao9U/Af7JzHYD1x65Dz/QgV8dUoLQeZT9ZnYA2B7eVoBZQF4DmURq0VRWSWhm1sE5Vxo+DLMLeDlcHE9zX68BE5xzf/iY5anA3zjnMp8+MZhZOvCXzrl6TzSHP0exCZgW/tpIkUZLiO9zEKlHbvhLVFoD//VpiwHAOfd5jWP9dS0vJvQ5iadmZj8Avsuv3rFUn/7AD1QM8jS05yAiIrXonIOIiNSichARkVpUDiIiUovKQUREalE5iIhILf8fCGp6c78pBREAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "N_sims = 250\n", "for i in range(N_sims):\n", " # to be completed...\n", " # run \"reverse\" simulation\n", " # ax.scatter(log10P, M_true, color=\"r\", alpha=0.01)\n", " pass \n", "#ax.scatter(log10P, M_obs, label=\"M_obs\", color=\"g\") # will not change per sim\n", "ax.plot(log10P_grid, alpha + beta * log10_P_grid, color=\"k\", alpha=0.5)\n", "ax.invert_yaxis() # so brighter as y-axis increases\n", "ax.legend()\n", "ax.set_xlabel(\"log10(P/days)\")\n", "ax.set_ylabel(\"M\")" ] }, { "cell_type": "markdown", "id": "b4f54740", "metadata": {}, "source": [ "Now you should see a nice distribution of possible `M_true` values for each known `M_obs`. If we do want to plot errorbars, we can think of them as marking out the standard deviation of these `M_obs` distributions." ] }, { "cell_type": "markdown", "id": "076b27ec", "metadata": {}, "source": [ "### Exploratory data analysis\n", "\n", "
\n", "\n", "Now that we have some feeling for the generative model, let's take a look at some Cepheid variable data. You can find two files in the `data/` directory:\n", "\n", "1. galaxies.dat \n", "2. cepheids.dat\n", "\n", "The first contains information on the host galaxies, and the second contains information on the individual Cepheids studied in each host galaxy.\n", "\n", "
\n", "\n", "The right time in a workflow for exploratory data analysis can be difficult to define. In general, we want to be aware of how our data looks when designing a model for it, but also not too influenced such that we get carried away and design a model that *overfits* the data we have and is uncapable of generalising to unseen data. Here, we want to see how our first effort at a generative model stacks up, and also think about directions for improving our model.\n", "\n", "**Homework exercise 1 (30 points):** Complete the following exploratory data analysis." ] }, { "cell_type": "code", "execution_count": 8, "id": "b0e75624", "metadata": { "ExecuteTime": { "end_time": "2021-09-11T11:36:21.261820Z", "start_time": "2021-09-11T11:36:21.249187Z" } }, "outputs": [], "source": [ "# read in the files\n", "\n", "# columns: gal z\n", "galaxy_info = np.loadtxt(\"data/galaxies.dat\")\n", "\n", "# columns: gal m_obs sigma_m P[days] delta_logO_H\n", "cepheid_info = np.loadtxt(\"data/cepheids.dat\")" ] }, { "cell_type": "code", "execution_count": 9, "id": "3663050b", "metadata": { "ExecuteTime": { "end_time": "2021-09-11T11:36:21.272383Z", "start_time": "2021-09-11T11:36:21.265598Z" } }, "outputs": [], "source": [ "# reorganise the data into a dictionary indexed by the galaxy number\n", "galaxies = [int(ngc_no) for ngc_no in galaxy_info[:, 0]]\n", "data = {int(x[0]):{\"z\":x[1]} for x in galaxy_info}\n", "\n", "for g in galaxies:\n", " j = np.where(cepheid_info[:, 0] == g)[0]\n", " data[g][\"gal\"] = np.array([int(i) for i in cepheid_info[j, 0]])\n", " data[g][\"Nc\"] = len(data[g][\"gal\"])\n", " data[g][\"m_obs\"] = cepheid_info[j, 1]\n", " data[g][\"sigma_m\"] = cepheid_info[j, 2]\n", " data[g][\"P\"] = cepheid_info[j, 3]\n", " data[g][\"delta_logO_H\"] = cepheid_info[j, 4]\n", " data[g][\"log10P\"] = np.log10(data[g][\"P\"])" ] }, { "cell_type": "code", "execution_count": 10, "id": "38c198ea", "metadata": { "ExecuteTime": { "end_time": "2021-09-11T11:36:21.283317Z", "start_time": "2021-09-11T11:36:21.273922Z" } }, "outputs": [ { "data": { "text/plain": [ "{'z': 0.007125,\n", " 'gal': array([1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309,\n", " 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309,\n", " 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309,\n", " 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309,\n", " 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309,\n", " 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309,\n", " 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309,\n", " 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309,\n", " 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309, 1309,\n", " 1309, 1309, 1309, 1309, 1309]),\n", " 'Nc': 104,\n", " 'm_obs': array([24.81, 26.05, 26.04, 22.8 , 21.86, 23.45, 23.85, 25.68, 24.6 ,\n", " 24.94, 21.34, 25.51, 23.45, 27.49, 24.16, 25.81, 23.9 , 26.28,\n", " 22.47, 25.13, 26.4 , 23.37, 24.78, 24.04, 23.86, 23.36, 23.68,\n", " 22.48, 22.99, 22. , 26.91, 25.79, 24.11, 23.51, 23.73, 21.48,\n", " 25.02, 25.08, 26.24, 25.71, 22.85, 21.75, 23.16, 23.74, 28.62,\n", " 26.46, 24.58, 27.17, 26.19, 24.32, 20.03, 23.12, 25.08, 23.71,\n", " 21.8 , 28.82, 23.5 , 25.2 , 22.87, 23.52, 25.4 , 23.58, 23.66,\n", " 23.02, 21.95, 23.83, 26.71, 28.23, 23.38, 23.38, 26.54, 23.67,\n", " 23.03, 24.22, 24.77, 24.19, 23.63, 24.34, 25.71, 22.09, 22.22,\n", " 25.38, 24.78, 25.57, 24.74, 23.65, 23.87, 22.16, 27.46, 22.85,\n", " 27.57, 28.2 , 24.14, 24.53, 23.56, 23.59, 22.15, 25.75, 21.87,\n", " 19.88, 24.36, 24.4 , 25.17, 26.11]),\n", " 'sigma_m': array([0.3465, 0.4568, 0.53 , 0.3921, 0.2858, 0.4465, 0.365 , 0.3158,\n", " 0.2928, 0.2249, 0.3708, 0.3951, 0.6394, 0.5376, 0.5621, 0.3253,\n", " 0.3062, 0.493 , 0.5266, 0.1681, 0.1798, 0.3736, 0.1958, 0.677 ,\n", " 0.6026, 0.4121, 0.231 , 0.181 , 0.6874, 0.5242, 0.616 , 0.3323,\n", " 0.2505, 0.2797, 0.6141, 0.3838, 0.498 , 0.5834, 0.2518, 0.1477,\n", " 0.5397, 0.6768, 0.6723, 0.3943, 0.4793, 0.5398, 0.6414, 0.1973,\n", " 0.3435, 0.3503, 0.5174, 0.3549, 0.6149, 0.6082, 0.1421, 0.2811,\n", " 0.6878, 0.1214, 0.3954, 0.6714, 0.5863, 0.2766, 0.4577, 0.3587,\n", " 0.4554, 0.6363, 0.4324, 0.3957, 0.2916, 0.258 , 0.4254, 0.1494,\n", " 0.4814, 0.5778, 0.6728, 0.5108, 0.393 , 0.3912, 0.68 , 0.2268,\n", " 0.347 , 0.6938, 0.117 , 0.5208, 0.1151, 0.2925, 0.1441, 0.1365,\n", " 0.1668, 0.2016, 0.4766, 0.363 , 0.5985, 0.2439, 0.214 , 0.5271,\n", " 0.615 , 0.4354, 0.5227, 0.4631, 0.4355, 0.6162, 0.6519, 0.6098]),\n", " 'P': array([ 40.4 , 18.37 , 26.94 , 36.51 , 60.36 , 35.8 , 21.23 ,\n", " 21.88 , 27.06 , 25.44 , 42.35 , 23.35 , 22.37 , 10.06 ,\n", " 15.77 , 22.25 , 54.26 , 20.12 , 32.54 , 27.51 , 17.33 ,\n", " 37.04 , 23.86 , 29.43 , 93.36 , 44.58 , 70.27 , 112.6 ,\n", " 91.35 , 37.71 , 17.65 , 16.04 , 25.6 , 56.44 , 9.834,\n", " 70.04 , 15.53 , 22.22 , 6.193, 33.97 , 105.1 , 74.57 ,\n", " 34.65 , 47.13 , 10.65 , 12.95 , 20.05 , 17.29 , 19.64 ,\n", " 21.85 , 90.86 , 49.45 , 19.81 , 26.33 , 52.95 , 3.637,\n", " 32.95 , 17.28 , 65.99 , 21.28 , 18.16 , 67.28 , 49.59 ,\n", " 140.7 , 20.34 , 25.11 , 23.37 , 8.477, 13.53 , 54.76 ,\n", " 14.19 , 46.11 , 70.63 , 49.85 , 45.41 , 79.09 , 68.2 ,\n", " 15.05 , 40.09 , 62.46 , 52.6 , 7.514, 25.73 , 9.577,\n", " 31.7 , 120.3 , 36.75 , 110.5 , 5.435, 27.44 , 31.83 ,\n", " 6.819, 17.39 , 29.19 , 34.22 , 30.37 , 48.6 , 10.2 ,\n", " 38.98 , 132.8 , 13.25 , 39.69 , 13.71 , 23.32 ]),\n", " 'delta_logO_H': array([ 0.3795 , -0.2468 , 1.159 , -0.3276 , -0.896 , -0.2532 ,\n", " -0.7035 , 0.5588 , 0.2014 , 0.2183 , -1.65 , 0.366 ,\n", " -0.7328 , 0.1837 , -0.4942 , 0.5304 , 0.1846 , 0.22 ,\n", " -0.7342 , 0.1816 , 0.678 , -0.5568 , -0.0891 , -0.2413 ,\n", " 0.1106 , 0.3603 , 0.4864 , 0.1157 , 0.06798 , -0.9633 ,\n", " 0.9988 , -0.01389 , -0.2523 , 0.3159 , -1.385 , -1.108 ,\n", " -0.4778 , 0.6161 , -0.4173 , 1.155 , -0.2238 , -0.2596 ,\n", " 0.6923 , -0.4224 , 1.27 , 0.4487 , -0.1107 , 1.237 ,\n", " 0.7325 , -0.2851 , -1.354 , -0.3475 , 0.1892 , -0.4236 ,\n", " -0.7808 , 0.5495 , -0.4174 , 0.1361 , -0.0877 , -0.8897 ,\n", " 0.3616 , 0.2815 , 0.1661 , 1.011 , -1.969 , -0.9261 ,\n", " 1.118 , 1.114 , -1.365 , 0.03091 , 0.5538 , 0.0539 ,\n", " -0.05804 , 0.2621 , 0.3747 , 0.8287 , 0.4081 , -0.347 ,\n", " 0.6551 , -0.5 , -0.797 , 0.01028 , 0.09176 , 0.1988 ,\n", " 0.3133 , 1.305 , 0.02101 , -0.005696, 0.3532 , -1.119 ,\n", " 2.016 , 0.4762 , -0.7656 , 0.3582 , -0.4937 , -0.3202 ,\n", " -0.5463 , -0.2144 , -1.008 , -1.058 , -0.8279 , 0.536 ,\n", " -0.4936 , 0.1985 ]),\n", " 'log10P': array([1.60638137, 1.26410916, 1.43039759, 1.56241183, 1.78074923,\n", " 1.55388303, 1.32694999, 1.34004732, 1.43232779, 1.40551711,\n", " 1.62685341, 1.36828688, 1.34966598, 1.00259798, 1.19783169,\n", " 1.34733002, 1.73447979, 1.30362798, 1.51241755, 1.43949059,\n", " 1.23879856, 1.56867098, 1.37767044, 1.46879026, 1.97016084,\n", " 1.64914006, 1.84676995, 2.05153839, 1.96070855, 1.57645653,\n", " 1.24674471, 1.20520436, 1.40823997, 1.75158701, 0.9927302 ,\n", " 1.84534614, 1.19117146, 1.34674405, 0.79190108, 1.53109555,\n", " 2.02160272, 1.87256414, 1.53970324, 1.67329744, 1.02734961,\n", " 1.11226977, 1.30211438, 1.23779499, 1.29314148, 1.33945144,\n", " 1.95837273, 1.6941663 , 1.29688448, 1.42045086, 1.72386596,\n", " 0.5607433 , 1.51785542, 1.23754374, 1.81947813, 1.32797162,\n", " 1.25911584, 1.82788598, 1.69539411, 2.1482941 , 1.30835095,\n", " 1.39984671, 1.36865871, 0.92824218, 1.1312978 , 1.73846344,\n", " 1.1519824 , 1.66379512, 1.84898921, 1.69766516, 1.6571515 ,\n", " 1.89812158, 1.83378437, 1.1775365 , 1.60303606, 1.79560198,\n", " 1.72098574, 0.87587119, 1.41043979, 0.98122949, 1.50105926,\n", " 2.08026563, 1.56525734, 2.04336228, 0.73519955, 1.43838411,\n", " 1.50283664, 0.83372069, 1.24029958, 1.46523409, 1.53428001,\n", " 1.48244479, 1.68663627, 1.00860017, 1.59084183, 2.12319808,\n", " 1.12221588, 1.5986811 , 1.13703745, 1.36772855])}" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# have a look at the data structure for the first galaxy\n", "data[galaxies[0]]" ] }, { "cell_type": "markdown", "id": "b145c33c", "metadata": {}, "source": [ "Let's plot the period vs. the apparent magnitude for a single galaxy. How does it compare to the simulated data?" ] }, { "cell_type": "code", "execution_count": 11, "id": "e4ab02b3", "metadata": { "ExecuteTime": { "end_time": "2021-09-11T11:36:21.432638Z", "start_time": "2021-09-11T11:36:21.284936Z" } }, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'm')" ] }, "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": [ "fig, ax = plt.subplots()\n", "g = galaxies[0]\n", "ax.errorbar(data[g][\"log10P\"], data[g][\"m_obs\"], yerr=data[g][\"sigma_m\"], fmt=\".\")\n", "ax.invert_yaxis()\n", "ax.set_xlabel(\"log10(P/days)\")\n", "ax.set_ylabel(\"m\")" ] }, { "cell_type": "markdown", "id": "ec2e3f9a", "metadata": {}, "source": [ "We can immediately see that here there are individual $\\sigma_m$ for each Cepheid, and a somewhat visible linear relationship. Now for all the galaxies..." ] }, { "cell_type": "code", "execution_count": 12, "id": "39fb8611", "metadata": { "ExecuteTime": { "end_time": "2021-09-11T11:36:21.670122Z", "start_time": "2021-09-11T11:36:21.434197Z" } }, "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": [ "fig, ax = plt.subplots()\n", "fig.set_size_inches((10, 7))\n", "for g in galaxies:\n", " ax.errorbar(data[g][\"log10P\"], data[g][\"m_obs\"], yerr=data[g][\"sigma_m\"], fmt=\".\",\n", " label=\"NGC %s\" % g)\n", "ax.invert_yaxis()\n", "ax.set_xlabel(\"log10(P/days)\")\n", "ax.set_ylabel(\"m\")\n", "ax.legend()" ] }, { "cell_type": "markdown", "id": "a8176992", "metadata": {}, "source": [ "We can see rough linear relationships for each galaxy, but not a universal one. To better assess this, we should convert to absolute magnitude." ] }, { "cell_type": "code", "execution_count": 13, "id": "0298d7a4", "metadata": { "ExecuteTime": { "end_time": "2021-09-11T11:36:21.674166Z", "start_time": "2021-09-11T11:36:21.671869Z" } }, "outputs": [], "source": [ "# add absolute magnitude to the data\n", "for g in galaxies:\n", " # to be completed...\n", " # data[g][\"M_obs\"] = absolute_magnitude(...)\n", " pass" ] }, { "cell_type": "code", "execution_count": 14, "id": "fdfb5059", "metadata": { "ExecuteTime": { "end_time": "2021-09-11T11:36:21.797345Z", "start_time": "2021-09-11T11:36:21.675446Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "No handles with labels found to put in legend.\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot for absolute magnitude this time \n", "fig, ax = plt.subplots()\n", "fig.set_size_inches((10, 7))\n", "for g in galaxies:\n", " # to be completed...\n", " pass\n", "ax.invert_yaxis()\n", "ax.set_xlabel(\"log10(P/days)\")\n", "ax.set_ylabel(\"M\")\n", "ax.legend()" ] }, { "cell_type": "markdown", "id": "e5a7f626", "metadata": {}, "source": [ "We should now see a stronger global relation, but still with considerable intrinsic scatter and potential differences between galaxies. \n", "\n", "
\n", "\n", "We can see other quantities in the provided files, such as a measure of the metallicity of each star, `delta_logO_H`. \n", "\n", "* What do the distributions of `delta_logO_H` look like for different galaxies? Is there any relationship between `delta_logO_H` and `M_obs`?" ] }, { "cell_type": "code", "execution_count": 15, "id": "9d63b16e", "metadata": { "ExecuteTime": { "end_time": "2021-09-11T11:36:21.800965Z", "start_time": "2021-09-11T11:36:21.798752Z" } }, "outputs": [], "source": [ "# to be completed..." ] }, { "cell_type": "markdown", "id": "1e6a79b0", "metadata": {}, "source": [ "* How about the distributions of `P` in different galaxies? Why are some values of `P` more frequently observed than others?" ] }, { "cell_type": "code", "execution_count": 16, "id": "8c874ac6", "metadata": { "ExecuteTime": { "end_time": "2021-09-11T11:36:21.804095Z", "start_time": "2021-09-11T11:36:21.802295Z" } }, "outputs": [], "source": [ "# to be completed..." ] }, { "cell_type": "markdown", "id": "d674532f", "metadata": {}, "source": [ "* In light of the data, what are some ways in which we may want to expand our model one day?" ] }, { "cell_type": "code", "execution_count": 17, "id": "336b7f5a", "metadata": { "ExecuteTime": { "end_time": "2021-09-11T11:36:21.807227Z", "start_time": "2021-09-11T11:36:21.805369Z" } }, "outputs": [], "source": [ "# to be completed... make some bullet points" ] }, { "cell_type": "markdown", "id": "b8108ab0", "metadata": {}, "source": [ "### Further reading\n", "\n", "
\n", "\n", "Model building: [Towards a principled Bayesian workflow](https://betanalpha.github.io/assets/case_studies/principled_bayesian_workflow.html) and [Falling (in love with principled modeling)](https://betanalpha.github.io/assets/case_studies/falling.html) by Michael Betancourt\n", "\n", "The dataset prepared for this course is based on that reported in [Reiss et al. 2011](https://iopscience.iop.org/article/10.1088/0004-637X/730/2/119) and used in [this example](https://kipac.github.io/StatisticalMethods/tutorials/cepheids.html) of the KIPAC Statistical Methods course." ] }, { "cell_type": "code", "execution_count": null, "id": "a2aeac4b", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "bayesian_workflow", "language": "python", "name": "bayesian_workflow" }, "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.7" } }, "nbformat": 4, "nbformat_minor": 5 }