{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"# 09. Estimation, Likelihood, Maximum Likelihood Estimators and Symbolic Expressions\n",
"\n",
"## [Mathematical Statistical and Computational Foundations for Data Scientists](https://lamastex.github.io/scalable-data-science/360-in-525/2018/04/)\n",
"\n",
"©2018 Raazesh Sainudiin. [Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"- Estimation and Likelihood\n",
"- Parameter, Models, and Real Life\n",
"- The Likelihood Function\n",
"- The Likelihood Function for the $Bernoulli(\\theta)$ RV\n",
"- The Log-likelihood Function\n",
"- Maximum Likelihood Estimator\n",
"- Example: New Zealand Lotto Data\n",
"- Using Sage for Basic Algebra and Calculus\n",
"- Symbolic Expressions for the Maximum Likelihood Estimator using Sage\n",
"- New Zealand Earth Quakes - Inter-occurrence times\n",
"- The Maximum Likelihood Principle\n",
"- Maximum Likelihood and the $Exponential(\\lambda)$ RV\n",
"- Inter-earthquake Times for New Zealand Earthquakes\n",
" \n",
"\n",
"## Estimation and Likelihood\n",
"\n",
"**Likelihood** is one of the most fundamental concepts in **statistical inference**. You may have already met some of its applications in other statistics courses, if not there is no sweat! We will see the ideas from scratch. The following three so-called decision problems are our main attractions in this likelihood tour.\n",
"\n",
"- **Point estimation**. A 'single best guess' at some quantity of interest.\n",
"- **Set estimation**. Guess a set that traps some quantity of interest with a high probability, for example, a confidence interval.\n",
"- **Hypothesis testing**. Attempt to reject a falsifiable null hypothesis, i.e., make scientific progress through Popper's [falsifiability](http://en.wikipedia.org/wiki/Falsifiability), an important concept in [science](http://en.wikipedia.org/wiki/Science) and the [philosophy of science](http://en.wikipedia.org/wiki/Philosophy_of_science).\n",
"\n",
"Likelihood also comes into regression, classification, risk minimisation, *all Bayesian methods*, etc. ...\n",
"\n",
"There are two types of estimation. In this worksheet we are looking at **parametric estimation**. The other kind of estimation is *non-parametric estimation*.\n",
"\n",
"## Parameters, Models and Real Life\n",
"\n",
"What do we mean by parametric estimation? In parametric estimation, we assume that the data comes from a particular type of probability distribution and we try to estimate the parameters of that distribution. What are parameters, in a statistical sense? Remember the $Bernoulli(\\theta)$ random variable? A $Bernoulli$ distribution has one parameter, usually denoted as $\\theta$. We talked about modelling events such as the outcome of a toss of a coin as using the $Bernoulli(\\theta)$ random variable. If the coin is fair then, in our model, $\\theta = \\frac{1}{2}$. If the random variable $X$ takes value 1 when the fair coin lands heads, then we model $P(X = 1) = \\frac{1}{2}$.\n",
"\n",
"When we speak about the probability of observing events such as the outcome of a toss of a coin, we are assuming some kind of model. In the case of a coin, the model is a $Bernoulli$ RV. This model would have one parameter, the probability of the coin landing heads.\n",
"\n",
"When we introduced the $Exponential$ distribution, we talked about the $Exponential(\\lambda$) RV, or the $Exponential$ parameterised by $\\lambda$. Distributions can be parameterised by more than one quantity. We have already met the $Uniform(\\theta_1, \\theta_2)$ - this has two parameters, $\\theta_1$ and $\\theta_2$. Another distribution you may be familiar with, although we have not discussed it in this course, is the Normal distribution which is parameterised by $\\mu$ and $\\sigma$. The symbols like $\\theta$, $\\lambda$, $\\mu$, $\\sigma$ are conventionally used for the parameters of these distributions. It is useful to become familiar with these conventions (see for example Wikipedia on the Exponential or Normal)\n",
"\n",
"There are many applications of computational statistics which involve models of real life events, and it is not enough to say \"this can be modeled with a $Bernoulli$ RV\", or \"Orbiter bus inter-arrival times can be modelled with an $Exponential$ RV\". We also have to choose parameters for our models.\n",
"\n",
"We also remind ourselves that the probabilty density function (probability mass function for a discrete random variable) and distribution function depend on the parameters when we write them. In the case of the $Bernoulli$, for example, the probability mass function is denoted by $f(x;\\theta)$. \n",
"\n",
"In real life, we are usually not trying to do \"textbook\" examples like calculating the probability of an event given a distribution and parameter value(s). We may be able to see the outcomes of a process, but we can never know exactly what that process is, all we can do is try to find a useful model for it. We are trying to use the information available to us in the form of observations or data to make our models, including guessing/estimating values for the model parameters. We have to turn our thinking around and focus on what the data can tell us about the model. In particular, in this course, we focus on what the data can tell us about model parameters - parametric estimation. Now is a good time to reflect on these words of the renowned Statisticians:\n",
"\n",
"> All models are wrong, but some are useful --- George Edward Pelham Box\n",
"\n",
"> The only math I did not use is the one I did not know -- Lucien Le Cam\n",
"\n",
"## The Likelihood Function\n",
"\n",
"Likelihood, as we said above, is a fundamental concept in statistical inference (\"inference\" - making inferences from observations, making guesses based on information in data).\n",
"\n",
"In informal terms, likelihood is \"the likelihood of the parameters given the data\". We can talk about a likelihood function where the domain of the likelihood function is all the possible values for the parameters (remember, a function is a mapping from a domain to a range): the likelihood function is a mapping from possible values for the parameters to the likelihood of those parameters given the data. \n",
"\n",
"The likelihood function of $\\theta$ based on $n$ observations $x_1, x_2, \\ldots, x_n$ is denoted $L_n(\\theta)$. We have said that it is a mapping from \"all possible values for the parameters\", i.e. all possible values for $\\theta$, to the likelihood of those parameters given the data $x_1, x_2, \\ldots, x_n$. In our formal notation, if we know that $\\theta$ must be somewhere in some parameter space ${\\mathbf{\\Theta}}$, then $L_n(\\theta)$ is a mapping from $\\mathbf{\\Theta}$ to the real numbers $\\mathbb{R}$:\n",
"\n",
"$$L_n(\\theta): \\mathbf{\\Theta} \\rightarrow \\mathbb{R}$$\n",
"\n",
"For example, in the case of a $Bernoulli(\\theta)$ RV, we know that the parameter $\\theta$ must be between 0 and 1, or $\\theta \\in [0,1]$. In the case of an $Exponential(\\lambda)$ random variable parameterised by $\\lambda$, we know $\\lambda > 0$, i.e., $\\lambda \\in (0,\\infty)$\n",
"\n",
"We will focus on the likelihood function for independent and identically distributed (IID) random variables.\n",
"\n",
"Suppose we have $X_1,X_2,\\ldots,X_n$ as $n$ independent random variables and they are all identically distributed with $f(x;\\theta)$. We would write this as $X_1,X_2,\\ldots,X_n \\overset{IID}{\\sim} f(x;\\theta)$. Then, \n",
"\n",
"$$X_1,X_2,\\ldots,X_n \\overset{IID}{\\sim} f(x;\\theta)$$\n",
"\n",
"implies that \n",
"$$\n",
"\\begin{array}{ll}\n",
"L_n(\\theta) &:= L_n(x_1,x_2,\\ldots,x_n;\\theta)\\\\\n",
"&= f(x_1,x_2,\\ldots,x_n; \\theta)\\\\\n",
"&= f(x_1;\\theta)\\,f(x_2;\\theta) \\ldots f(x_n;\\theta) \\\\\n",
"&=: \\prod_{i=1}^n f(x_i ; \\theta)\\\\\n",
"\\end{array}\n",
"$$\n",
"\n",
"$f(x_1,x_2,\\ldots,x_n; \\theta)$ is termed the joint density of $X_1, X_2, \\ldots, X_n$ given $\\theta$\n",
"\n",
"When $X_1,X_2,\\ldots,X_n \\overset{IID}{\\sim} f(x;\\theta)$ the joint density $f(x_1, x_2, \\ldots, x_n; \\theta)$ is the product of the individual densities $\\displaystyle \\prod_{i=1}^n f(x_i ; \\theta).$\n",
"\n",
"So when $X_1,X_2,\\ldots,X_n \\overset{IID}{\\sim} f(x;\\theta)$, \n",
"\n",
"$$L_n(\\theta) := \\prod_{i=1}^n f(x_i ; \\theta)$$\n",
" \n",
"\n",
"### The likelihood Function for the $Bernoulli(\\theta)$ RV\n",
"\n",
"We can make all this theory a little more real by considering the $Bernoulli$ RV. In the last worksheet, we wrote function to be able to simulate samples from a $Bernoulli(\\theta)$ RV given some value for the parameter $\\theta$ and the number of samples required. Suppose we used this function, with a small adaptation, to simulate some samples now using $\\theta^*$ - but there is a catch: you don't know what the value of $\\theta^*$ is. "
]
},
{
"cell_type": "code",
"execution_count": 267,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"To show/hide this cell's raw code input, click here."
],
"text/plain": [
""
]
},
"execution_count": 267,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# this needs to be hidden\n",
"def bernoulliFInverse(u, theta):\n",
" '''A function to evaluate the inverse CDF of a bernoulli.\n",
" \n",
" Param u is the value to evaluate the inverse CDF at.\n",
" Param theta is the distribution parameters.\n",
" Returns inverse CDF under theta evaluated at u'''\n",
" \n",
" return floor(u + theta)\n",
" \n",
"def bernoulliSampleSecretTheta(n, theta=0.30, mySeed=30):\n",
" '''A function to simulate samples from a bernoulli distribution.\n",
" \n",
" Param n is the number of samples to simulate.\n",
" Param theta is the bernoulli distribution parameter.\n",
" Param mySeed is a seed for the random number generator, defaulting to None.\n",
" Returns a simulated Bernoulli sample as a list.'''\n",
" set_random_seed(mySeed)\n",
" us = [random() for i in range(n)]\n",
" set_random_seed(None)\n",
" # use bernoulliFInverse in a list comprehension\n",
" return [bernoulliFInverse(u, theta) for u in us] \n",
"\n",
"from IPython.display import HTML\n",
"HTML('''\n",
"\n",
"To show/hide this cell's raw code input, click here.''')"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"[0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0]"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"n = 20\n",
"bSample = bernoulliSampleSecretTheta(n)\n",
"bSample"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"What we have is $X_1,X_2,\\ldots,X_n \\overset{IID}{\\sim} Bernoulli(\\theta^*)$ where $\\theta^* \\in [0,1]$ is the true, unknown value of the parameter $\\theta$ responsible for producing all those observations.\n",
"\n",
"Recall that the $Bernoulli(\\theta)$ RV $X$ has probability mass function (PMF), for $x \\in \\{0, 1\\}$, $f(x;\\theta)$: \n",
"\n",
"$$\n",
"f(x;\\theta)= \\theta^x (1-\\theta)^{1-x} \n",
"=\\begin{cases}\n",
"\\theta & \\text{ if } \\ x=1,\\\\\n",
"1-\\theta &\\text{ if } \\ x=0,\\\\\n",
"0 & \\text{ otherwise} \n",
"\\end{cases}\n",
"$$\n",
"\n",
"So, for $x_1, x_2, \\ldots, x_n \\in \\{0,1\\}$, the joint density of $n$ IID $Bernoulli(\\theta)$ RVs is:\n",
"\n",
"$$\n",
"\\begin{array}{lcl}\n",
"f(x_1,x_2,\\ldots,x_n; \\theta) \n",
":= \\displaystyle\\prod_{i=1}^n f(x_i ; \\theta) \n",
"& = & \\prod_{i=1}^n\\theta^{x_i}(1-\\theta)^{1-x_i}\\\\ \n",
"& = & \\theta^{\\sum_{i=1}^n x_i} (1-\\theta)^{\\left(n - \\sum_{i=1}^n x_i\\right)} \n",
"\\end{array}\n",
"$$\n",
"\n",
"$\\sum_{i=1}^n x_i$ is a bit of a mouthful, so lets summarise this as $t_n = \\displaystyle\\sum_{i=1}^n x_i$\n",
"\n",
"We can use $t_n$ to make our likelihood function a little more user-friendly:\n",
"\n",
"$$L_n(\\theta) = \\theta^{t_n}(1-\\theta)^{(n-t_n)}$$\n",
"\n",
"What we have actually done is to define a statistic of the data. Remember that a statistic is a function of the data. We will call our statistic (note the big T) $T_n$. The $n$ subscript reminds us that it is a function of $n$ observations. \n",
"\n",
"$T_n$ is a function of the data, a mapping from the data space $\\mathbb{X}$ to the space $\\mathbb{T}_n$:\n",
"\n",
"$$\n",
"T_n(X_1, \\ldots, X_n) = \\displaystyle \\sum_{i=1}^n X_i : \\mathbb{X} \\rightarrow \\mathbb{T}_n\n",
"$$\n",
"\n",
"(If you are wondering what the space $\\mathbb{T}_n$ is for the $Bernoulli$, think about the range of possible values of $\\displaystyle\\sum_{i=1}^n X_i$ when each $X_i$ can only be 0 or 1.)\n",
"\n",
"We have some actual observations $x_1, \\ldots, x_n$ so we have a realisation of our statistic $T_n(x_1, \\ldots, x_n) = t_n = \\displaystyle\\sum_{i=1}^n x_i$\n",
"\n",
"We can easily use Sage to calculate $t_n$ for us, using the sum function. For example, for the small sample of 20 simulated Bernoulli observations above:"
]
},
{
"cell_type": "code",
"execution_count": 268,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"7"
]
},
"execution_count": 268,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tn = sum(bSample)\n",
"tn"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"We can also write ourselves a Sage function to calculate the likelihood of a specified value of $\\theta$ given $n$ and $t_n$. "
]
},
{
"cell_type": "code",
"execution_count": 269,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"def likelihoodBernoulli(theta, n, tStatistic):\n",
" '''Bernoulli likelihood function.\n",
" theta in [0,1] is the theta to evaluate the likelihood at.\n",
" n is the number of observations.\n",
" tStatistic is the sum of the n Bernoulli observations.\n",
" return a value for the likelihood of theta given the n observations and tStatistic.'''\n",
" retValue = 0 # default return value\n",
" if (theta >= 0 and theta <= 1): # check on theta\n",
" mpfrTheta = RR(theta) # make sure we use a Sage mpfr \n",
" retValue = (mpfrTheta^tStatistic)*(1-mpfrTheta)^(n-tStatistic)\n",
" return retValue"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"**Note:** We use `RR(theta)` above to make sure that we use a souped-up Sage multi-precision floating-point real (mpfr) number type in our calculation, which will improve the precision of the calculation of the likelihoods."
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"### YouTry in class\n",
"\n",
"You should be able to understand what the `likelihoodBernoulli` function is doing and be able to write this kind of SageMath function for yourselves. Why do we need to check that the value for `theta` passed to the function is between 0 and 1? How does the function deal with a situation where it is asked to evaluate a likelihood for `theta < 0` or `theta > 1`?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"(end of You Try)\n",
"\n",
"---\n",
"\n",
"Let's look at a very simple situation where we have one observation ($n=1$) and it is a 0. What is the realisation of $T_1$, $t_1$?"
]
},
{
"cell_type": "code",
"execution_count": 270,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 270,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"bernoulliSample0 = [0]\n",
"tn = sum(bernoulliSample0)\n",
"tn"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"### YouTry in class\n",
"\n",
"Try going back to the $Bernoulli$ likelihood function $L_n(\\theta) = \\theta^{t_n}(1-\\theta)^{(n-t_n)}$ to calculate the likelihood of $\\theta =0$ without using the SageMath function. Think about what the likelihood function is doing. \n",
"\n",
"When you have done that, check that you get the same answer using our `likelihoodBernoulli` SageMath function:"
]
},
{
"cell_type": "code",
"execution_count": 271,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"1.00000000000000"
]
},
"execution_count": 271,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tryTheta0 = 0 # a value of theta to find the likelihood for\n",
"n = len(bernoulliSample0) # find n as the length of the sample list\n",
"tn = sum(bernoulliSample0) # find tn as the sum of the samples\n",
"# calculate the likelihood of theta=tryTheta0=0\n",
"likelihoodBernoulli(tryTheta0, n, tn)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"What about $\\theta = 1$? What is the likelihood of $\\theta = 1$ when we have observed 0? Think back to what the $\\theta$ parameter means in a $Bernoulli$ distribution:\n",
"\n",
"The $Bernoulli(\\theta)$ RV $X$ has probability mass function (PMF), for $x \\in \\{0, 1\\}$, $f(x;\\theta)$: \n",
"\n",
"$$\n",
"f(x;\\theta)= \\theta^x (1-\\theta)^{1-x} =\\begin{cases}\\theta& \\text{ if } \\ x=1,\\\\1-\\theta &\\text{ if } \\ x=0,\\\\0 & \\text{ otherwise} \\end{cases}\n",
"$$\n",
"\n",
"Remember that the idea behind the likelihood function is \"what is the likelihood of a parameter value given our data?\"\n",
"\n",
"When you have worked out the answer using $L_n(\\theta)$, check using our `likelihoodBernoulli` SageMath function:"
]
},
{
"cell_type": "code",
"execution_count": 272,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"0.000000000000000"
]
},
"execution_count": 272,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tryTheta1 = 1 # a value of theta to find the likelihood for\n",
"n = len(bernoulliSample0) # find n as the length of the sample list\n",
"tn = sum(bernoulliSample0) # find tn as the sum of the samples\n",
"# calculate the likelihood of theta=tryTheta0=0\n",
"likelihoodBernoulli(tryTheta1, n, tn)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"What about $\\theta = \\frac{1}{2}$?"
]
},
{
"cell_type": "code",
"execution_count": 273,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"0.500000000000000"
]
},
"execution_count": 273,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tryTheta1 = 0.5 # a value of theta to find the likelihood for\n",
"n = len(bernoulliSample0) # find n as the length of the sample list\n",
"tn = sum(bernoulliSample0) # find tn as the sum of the samples\n",
"# calculate the likelihood of theta=tryTheta0=0\n",
"likelihoodBernoulli(tryTheta1, n, tn)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Try to sketch the likelihood function over $\\theta \\in [0,1]$ for our one observation of 0.\n",
"\n",
"Now, what if instead of observing a 0 in our one-observation case, we had observed a 1?\n",
"\n",
"What is our realisation of $T_n$ now? What is our intuition about the likelihood of $\\theta = 0$? $\\theta = 1$? \n",
"\n",
"Again try to sketch the likelihood function for our single observation of 1.\n",
"\n",
"We could use `likelihoodBernoulli` and a for loop to calculate the likelihood for some different values of $\\theta$ without repeating code: "
]
},
{
"cell_type": "code",
"execution_count": 274,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"If we observe [1] The likelihood of theta= 0.0 is 0.000000000000000\n",
"If we observe [1] The likelihood of theta= 0.2 is 0.200000000000000\n",
"If we observe [1] The likelihood of theta= 0.4 is 0.400000000000000\n",
"If we observe [1] The likelihood of theta= 0.6 is 0.600000000000000\n",
"If we observe [1] The likelihood of theta= 0.8 is 0.800000000000000\n",
"If we observe [1] The likelihood of theta= 1.0 is 1.00000000000000\n"
]
}
],
"source": [
"bernoulliSample1 = [1]\n",
"n = len(bernoulliSample1) # find n as the length of the sample list\n",
"tn = sum(bernoulliSample1) # find tn as the sum of the samples\n",
"from pylab import arange # import arange from pylab\n",
"for t in arange(0, 1.1, 0.2):\n",
" # calculate the likelihood of theta=tryTheta0=0\n",
" print \"If we observe\", bernoulliSample1, \\\n",
" \"The likelihood of theta=\", t, \" is \", \\\n",
" likelihoodBernoulli(t, n, tn)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Or, we could use a list comprehension to get a list of likelihoods corresponding to the list of possible values of $\\theta$:"
]
},
{
"cell_type": "code",
"execution_count": 275,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"[0.000000000000000,\n",
" 0.200000000000000,\n",
" 0.400000000000000,\n",
" 0.600000000000000,\n",
" 0.800000000000000,\n",
" 1.00000000000000]"
]
},
"execution_count": 275,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ths = arange(0, 1.1, 0.2)\n",
"[likelihoodBernoulli(t,len(bernoulliSample1),sum(bernoulliSample1)) \\\n",
" for t in ths]"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"If you have forgotten about the arange function, it is a useful way of getting a sequence of values in steps. We have used the statement `from pylab import arange` because we don't want the whole of the `pylab libary`, just `arange`. Check the documentation if you need a reminder about `arange`."
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"?arange"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"You will see that the `arange` function can take values for `start`, `stop`, and `step`. You will also see that (like `range`), the list you get will go to just below the value you specifiy for `stop`. To get a list of values from 0 to 1 in steps of 0.2 our `stop` value was 1.1. 1.2 would also have worked, but a `stop` value of 1.3 or 1.4 would have given us a list from 0 to 1.2 in steps of 0.2. \n",
"\n",
"Try some different values in `arange` if you want to check how it works again. *But you should recall this from last week really!*."
]
},
{
"cell_type": "code",
"execution_count": 276,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"array([ 0. , 0.2, 0.4, 0.6, 0.8, 1. ])"
]
},
"execution_count": 276,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from pylab import arange\n",
"arange(0, 1.1, 0.2)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"(end of You Try)\n",
"\n",
"---\n",
"\n",
"Now, we look at a possible sample of $n=2$ observations from a Bernoulli process with unknown $\\theta$:"
]
},
{
"cell_type": "code",
"execution_count": 277,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"smallBSample = [0,1]"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"What is the realisation of the $T_n$ statistic?"
]
},
{
"cell_type": "code",
"execution_count": 278,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"1"
]
},
"execution_count": 278,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tn = sum(smallBSample) # what is tn\n",
"tn"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Use $L_n(\\theta) = \\theta^{t_n}(1-\\theta)^{(n-t_n)}$ to think about the likelihood of some possible values for $\\theta$ given this data. Think what the shape of the likelihood function might be. \n",
"\n",
"In the visualisation below we have used our `likelihoodBernoulli` function to plot the likelihood function for the cases where we have a single observation 0, a single observation 1, and a small sample of size two with observations: 0, 1."
]
},
{
"cell_type": "code",
"execution_count": 279,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"image/png": "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\n6+q6667Ttm3b8lx+3759atq0qTZs2KA5c+Zo9erVmjhxopKTk485PApPqVI2oD8Uktq2lTIyfCcC\nCobahGjVq5e0YoU0e7ZUoYLvNChs1CYAYecK6OKLL3Y9e/b883pmZqZLTk52Tz75ZJ7LP/fcc65a\ntWpu//79+X6NUCjkJLlQKFTQeDhG8+c7Fwg49+ijvpMABUNtQjR64QXnJOcmTvSdBEWF2gQg3Aq0\nB2/fvn1avny5rr766j9vCwQCatq0qZYsWZLnY958801dcskl6tatm0455RTVqVNHw4cPV2Zm5jG0\npSgq114rDR0qPfGE9MYbvtMA+UNtQjRatkzq3t1Oi9Cli+80KArUJgA+FOhI/23btikjI0MVK1bM\ndXvFihW1evXqPB+zbt06ffDBB2rXrp3eeecdrVmzRt26dVNGRoYeeeSRo0+OItO/v614tG9v/559\ntu9EwOFRmxBttm6VWrWS6ta1UyMgNlGbAPhQKEO5nXMKBAJ53peZmamKFStqwoQJCgQCOv/88/XT\nTz9p5MiRRyxU1atXVyAQUHJy8p/Hnqempio1NbUwYuMQAgHp5Zeliy+2SVc++UQ64QTfqYCCozYh\nEu3fL6WkSHv22Li7xETfiRBu1CYARalADV758uVVvHhxbd68OdftW7ZsOWjrVJZKlSqpZMmSuQpZ\nrVq1tGnTJu3fv18Jh5kubM2aNQoGgwWJiEISDEpz50oNGkidO0szZljjB0QiahOiyYABds67BQuk\nKlV8p0FRojYB8KFAY/BKlCih+vXra8GCBX/e5pzTggULdOmll+b5mMsuu0xr167Nddvq1atVqVKl\nwxYp+FezpjR5sjRrljRypO80wKFRmxAtZsywejpypNS4se80KGrUJgBeFHRWlrS0NHfccce5yZMn\nu2+//dZ17drVnXTSSW7Lli3OOefat2/vBgwY8OfyP/74owsGg65nz57uu+++c/PmzXMVK1Z0w4cP\nP+RrMBtUZBkwwLlixZx7/33fSYBDozYh0n31lXNlyjiXmupcZqbvNAgXahOAcCvwpqDWrVtr27Zt\nGjhwoDZv3qx69epp/vz5qvB/J+/ZuHFjri1MVapU0T//+U/df//9qlu3rpKTk3X//ffrwQcfLKQW\nFUXtiSekzz6T2rSRli+XTj/ddyLgYNQmRLIdO6SWLaUzz5QmTuSQ93hCbQIQbgHnnPMd4kDp6elK\n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\nG9MmKnINcxNzk6cwN5EnMTcxN3kKc5NruAavFurWrYt27dph8+bNZbcppbB582Y8+OCDVT7uGitT\nGgAAAklJREFUzTffxNSpU7Fx40a0bdvWF6FWyd0xtGzZEgcPHsT+/fuRlZWFrKws9O7dG48++iiy\nsrIQExPjy/AB1O59eOihh3D8+PEKtx09ehSNGzf2eZICajeGoqIiWK0VP7pWqxVKmiZ5NV4yNuYm\n5iZPYW4iT2JuYm7yFOYmF7ndloWUUkqlp6er4ODgCi1aIyIiVF5enlJKqYEDB6rXX3+97P4pKSmq\nXr16KiMjQ+Xk5JT9FBYW6hqC22O4nhG6Qbk7hjNnzqiwsDA1atQo9e2336p169apyMhINX36dF1D\ncHsMkyZNUuHh4WrFihXq5MmT6vPPP1fNmzdXdrtd1xCqVVhYqPbv36/27dunLBaLmj17ttq/f786\nffq07tBMibmJuclTmJvIk5ibmJs8hbmpZizwbkJaWppq2rSpCg4OVnFxcSozM7Ps37p166YSExPL\n/t6sWTNltVpv+Jk8ebKO0Mu4M4brGSFRKeX+GHbv3q06deqk6tevr5o3b65mzJihfe8gd8ZQWlqq\n3njjDdWiRQsVEhKimjZtqkaOHKkcDoeO0Gu0detWZbFYbvjdr+53i24OcxNzk6cwN5EnMTcxN3kK\nc1P1LEqZ9dokERERERFRYOEaPCIiIiIiIpNggUdERERERGQSLPCIiIiIiIhMggUeERERERGRSbDA\nIyIiIiIiMgkWeERERERERCbBAo+IiIiIiMgkWOARERERERGZBAs8IiIiIiIik2CBR0REREREZBIs\n8IiIiIiIiEyCBR4REREREZFJ/D9QV9Kc3kVbQgAAAABJRU5ErkJggg==\n",
"text/plain": [
"Graphics Array of size 1 x 3"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"bernoulliSample0 = [0] # make sure we know about our samples\n",
"bernoulliSample1 = [1]\n",
"smallBSample = [0,1]\n",
"from pylab import arange\n",
"ths = arange(0,1.01,0.01) # get some values to plot against\n",
"p1 = line(zip(ths, [likelihoodBernoulli(t, len(bernoulliSample0),sum(bernoulliSample0)) for t in ths]))\n",
"t1 = text(\"One observation, x1 = 0\", (0.5,1.1), fontsize=10)\n",
"p1 = p1+t1\n",
"p2 = line(zip(ths, [likelihoodBernoulli(t, len(bernoulliSample1),sum(bernoulliSample1)) for t in ths]))\n",
"t2 = text(\"One observation, x1 = 1\", (0.5,1.1), fontsize=10)\n",
"p2 = p2+t2\n",
"p3 = line(zip(ths, [likelihoodBernoulli(t, len(smallBSample),sum(smallBSample)) for t in ths]))\n",
"t3 = text(\"Two observations, x1=0, x2=1\", (0.5,1.1), fontsize=10)\n",
"p3 = p3+t3\n",
"show(graphics_array([p1, p2, p3]),figsize=[9,4])"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"There are other samples we could get if we draw a sample of size $n=2$ from a $Bernoulli$ RV. In the visualisation below we plot the likelihood functions for the four unique possible samples:"
]
},
{
"cell_type": "code",
"execution_count": 280,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA3gAAAGFCAYAAACv/VGgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3Xl4U2Xax/Ff2lIWtUUEixQXVBRwAQdHEJdRQRGXioxi\nUQEZBRcUh3FfAHFD1FHGEUXHBUQFXFBRUVEcEBVHhmHcBlkEQVSoBU3ZBfq8f9xvbQvdUpI8J8n3\nc125QkJyzn3S3Enu82wh55wTAAAAACDhpfkOAAAAAAAQHRR4AAAAAJAkKPAAAAAAIElQ4AEAAABA\nkqDAAwAAAIAkQYEHAAAAAEmCAg8AAAAAkgQFHgAAAAAkiUAWeM45FRUViTXYgfgg54D4IueA+CLn\nkEoCWeCtXbtW2dnZWrt2re9Qai0tTZoyxXcUQM2Qc0B8JUPOSeQdEkey5FwoJN1yi+8oEHSBLPBq\norBQuvxyad99pXr1pL32krp1k2bP9h1Z/PzjH9KJJ0rZ2fYlW1QUn/2OHi21aCHVry917CjNmRPd\n7f/8szRokNSqlbTLLvY3vvrq+Bzf0KFSs2ZSgwbSySdLixfHfp+Jgpzzk3OzZkl5eVJubux+TG/d\nKt1wg3T44dKuu9q++vaVfvwx+vvaXqw/TxIdecd3XbS98op06qlSkyb2en7+eWz3l2gWLJAOOUTK\nyLBiKj3dXqvHH/cdWfz06SPtvrsdfygkrVgR+30+/LDUtKm93rEqYjdtkjp0sJwu+dsecID03/9G\nf19lxePYtpewBV6PHtJnn0njx0uLFkmvvy6dcIK0erXvyOJn40b7or/lFnvDxMOkSdI110jDh0vz\n5klt20pdu9qPkGj54Qf7YfnAA9KXX0rjxklvvy1dckn09lGRkSMtCR97TPr0U/vC7dpV+vXX2O43\nUZBzfnJu/XqpXTv7sRmrfW7YYF9ww4ZZXr/yiv3IOeus2OyvRDw+TxIdecd3XbStXy8de6x958Xr\n9UwkRx0lLV8uPfig9Mkn0tNPS0ceGZ8iJyjWr5eOPtryLl5++UU66CDp+utjt4/CQumbb6Qrr5Sm\nTZOeeEJatcryIZbicWw7cAEUDoedJBcOhyv8/19+cS4Ucu6DD6rezgMPOHfYYc7tsotze+/t3BVX\nOLduXen/jx3rXMOGzr3xhnMHH+xcgwbOnXuucxs22P/tt59zu+/u3KBBzhUXlz5vv/2cu+MO53r1\nsm3n5jo3enT5fYdCzr32Wunt775zrmdP298eezh31lnOfftt5bHffrtzzZo5t2ZN6X2nnebcSSft\n+NgZM5xLS3Oukpcrqjp0sNejRHGxHf/IkTXfRiTHVuLFF52rV8+5bdsij7mm9trL3jMlwmHb56RJ\nsdtnUJBzwc25srY/xpp65hnndt3VucWLS++77DLnWrd2btOmip8zZ44d43ff1S7WmojG50miqi7n\nnCPvtsd3XXR9+639/T77LPb7CoKa5NyyZc5Jzv3971Vv66yz7O8kOZee7tyhhzq3alXp/19yib22\nw4Y5l5lpj2ve3LnVq+3/MjLs/9u2Lf+3zshwrnNn5/bd156TlubceeeV37fk3M03l97+9FPL+1DI\nLk2bOvfhh5XHftJJtt0lS0rva9LEPgO2N2qU7S+W3wMV2f4Ya+rSS+2506eX3temjf0NKvuzjxtn\nz/n009rFGqnaHlukErIFb9dd7fLqq1W3rqSnS3//u/TVV9Izz0j//Kd1QyprwwZ7zAsvSO+8Y485\n+2w7i/bWW9Kzz1qLzksvlX/e/fdLRxxhZ71vvNG6VUyfXnEcW7famb/sbOmjj+yy227WRWLr1oqf\nc8st1jWk5Eze6NHWJeeZZ2r2GlVmxAjbd2WXrKzKz1Jt2SLNnSt17lx6XygkdekSWXeh2hzbL79Y\nbGlVvGMvv7z6Y6vM0qXSypXljy0ry5ryU6krVGXIudrbmZyLlt69pdNPl84/Xyoult58Uxo7Vnr+\nealu3Yqf88svlt8NG1a+3SB8niQz8q72gvDeDOJ3HarWtKldjx0rrVtX+ePS06V77pE+/NByZOFC\ne3+U5Zz1CnruOfvbf/+9teJMmya99pr1mPjsM+naa8s/b/p06yL63nvWgj9pknTffRXHsWmTdNxx\n1uPo1Vfts71+femkk+z/KvLOO/b4klarnj2tZWvatGpfnip17VrapbOyS6y74I8ZI+29tw1r2LpV\nuu026X//s5yrLC9WrrTrvfeufLtBOLaIxb6GjFxNzrJMnmxnB+vXd+6YY6wa/vzzqrf70kt2lqLE\n2LF2FmPp0tL7LrvMznRv2FB636mnOnf55aW399vPzsKVlZ/v3Omnl94ue1Zz/Hg7U17W5s12FvXd\ndyuPd8kS57KznbvxRnvsxIkVPy6Ss5o//+zcN99UfanszOEPP9hxffJJ+fuvv965jh2r33dtjs05\n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\nSS1b+o7Kr+xsG4v3wgu2HFG7doyHrQ45F2w9etjEXePGWRdNBF9Ef6bCwkJt27ZNOTk55e7PycnR\nyp/g2aAAACAASURBVBrOzX3DDTcoNzdXXbp0iWTXiLHDD5euvrp0jS0EAzlXM87ZOJ8//EHaZx/p\nv/+1LySYOnUst99/38YKHXGEzQKIipF3NfP++zaRyjffWBf/YcOSd3xrbZx7ri2hsNde0vHHSw8/\nTJfNypBzwTVjhjR9unTUUbYGJBJDVOpw55xCNZiO7p577tELL7ygV199VZnJMpVWErntNhsIf+WV\nfAkFHTlXasMG6cILbTKRq6+2H5r77OM7qmA64QT7wdm6tXTSSdJDD5HrkSDvjHO2FMfJJ0uHHWbv\nqeOP9x1VMO23n62dd8UVNhlL377Sxo2+o0oc5JxfxcV2oiI9nYlVEk1E59oaN26s9PR0rVq1qtz9\nBQUFO5x12d7999+ve++9V9OnT9chhxxSo/21bNlSoVBIubm5ys3NlST16tVLvXr1iiRs1NBuu9kM\nfH/8o/TKK7SABAE5V7UVK+yM4tdf20RBPXv6jij4cnKkd9+16euvvtpaOx99VKpb13dkwRHPvEu0\nnNu82daTHD9euv566e677ccfKpeZKY0aJXXoYAu+z59vP5aZqKIUORdM11xja8jefLPUtKnvaBCR\nSAftVTQItnnz5u7ee++t9Dn33nuva9iwofv0009rtA8GwvpTXOzcmWc616wZk1MEBTlXsX//27m9\n9nJu772dmzfPdzSJafx45zIznTv+eOcKC31HEyyxzrtEzLmCApuQq25d5557znc0iWnuXOeaN3cu\nN9e5//zHdzTBQs4Fy7ff2sRJe+3lOxLURsQF3qRJk1y9evXcuHHj3Pz5892AAQNco0aNXEFBgXPO\nud69e7ubbrrpt8ePHDnS1a1b102ePNmtXLnyt8u6desq3QdJ6NeyZc7tsotzAwf6jgTOkXMVef11\n5xo0sNkhf/zRdzSJ7aOPnGvSxLmWLZ375hvf0QRHrPMu0XJu4ULnDjjAuT33dG72bN/RJLYffnDu\nyCPte3bqVN/RBAc5FyytW9tMsDU8T4yAibjAc8650aNHu3333dfVq1fPdezY0c2ZM+e3/zvxxBNd\nv379fru93377ubS0tB0uw4cPr3T7JKF/o0Y5FwrZjz/4R86VevxxO6vYvbtz69f7jiY5LF5sBV6T\n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\nUFCA4OCSvcVKkmXcuHHo3r37lWUF9evXR15eHvr27WvaAgwkrDljsgC+qTvWnD2Zpe5Yc8bkfSWN\nywAAAodJREFUYM2ZH2vO+ywAx5feCtg9eKVKlUKTJk2QkpJy5WtKKaSkpKBFixaF/nezZs3ClClT\nsG7dOjRu3FhLlnr16mHPnj1IS0tDeno60tPTER8fj3bt2iE9PR1VqlTxSw4AaNmyJQ4ePHjN1zIy\nMhAdHV3i4itpll9//RVO57VvaafTCSXNhEqchYzBmjMmC+CbumPN2ZNZ6o41Z0wO1pz5sea8zwJw\nfOm1YrVksZmPPvpIhYWFXdMmNTIyUmVnZyullOrWrZsaOXLklcfPmDFDhYaGqhUrVqisrKwrf+Xl\n5fk9y/WM6nRU3BzHjh1TERERatCgQWr//v3qiy++UC6XS02bNs3vWSZMmKDKlSunkpOT1ZEjR9RX\nX32latasqRISErzOUpi8vDyVlpamdu3apRwOh5ozZ45KS0tTR48e9dlzWhlrzpgsvqo71pw9maXu\nWHPe52DNWQNrzvssHF96V3cBPcFTSql58+apatWqqbCwMNW8eXOVmpp65c/atm2revbseeXf77nn\nHuV0Om/4a+LEiX7Pcj0ji7C4Ob777jsVGxurSpcurWrWrKmmT59u2DkzxcnidrtVUlKSqlWrlgoP\nD1fVqlVTL730ksrJyTEky81s2LBBORyOG94Tt/pZBTrWnDFZfFV3rDl7Mkvdsea8y8Gasw7WnPdZ\nOL4sed05lDLrvUUiIiIiIiIqjoDdg0dERERERGQ3nOARERERERHZBCd4RERERERENsEJHhERERER\nkU1wgkdERERERGQTnOARERERERHZBCd4RERERERENsEJHhERERERkU1wgkdERERERGQTnOARERER\nERHZBCd4RERERERENsEJHhERERERkU38H3pzIO6uTlzFAAAAAElFTkSuQmCC\n",
"text/plain": [
"Graphics Array of size 1 x 4"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"smallBSample1 = [0,0]\n",
"smallBSample2 = [1,0]\n",
"smallBSample3 = [0,1]\n",
"smallBSample4 = [1,1]\n",
"listOfSamples = [smallBSample1, smallBSample2, smallBSample3, smallBSample4] # a list of lists\n",
"from pylab import arange\n",
"ths = arange(0,1.01,0.01) # get some values to plot against\n",
"l_plots = [] # an empty list of plots\n",
"for sample in listOfSamples: # go through the list of samples one by one\n",
" ptitle = text(\"Sample x1 = \" + str(sample[0]) + \", x2 = \" + str(sample[1]), (0.5,1.1), fontsize=10)\n",
" l_plots.append(line(zip(ths, [likelihoodBernoulli(t, len(sample),sum(sample)) for t in ths])) + ptitle) # append plot to list of plots\n",
"show(graphics_array(l_plots),figsize=[9,4]) # show the list of plots"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"We can see that the shape of the likekihood function depends on the sample: we are looking at the likelihood for the parameter given the actual data. \n",
"\n",
"You do not have to know how to do these plots or the interactive plot below, but you should understand what a list comprehension statement like\n",
"\n",
"`[likelihoodBernoulli(t,len(smallBSample),sum(smallBSample)) for t in ths]`\n",
"\n",
"is doing, when `ths = arange(0, 1.01, 0.01)` are some possible values for $\\theta \\in [0,1]$\n",
"\n",
"What happens as we increase the sample size $n$? In the interactive plot below, we use our `bernoulliSampleSecretTheta` to simulate samples of size $n$ with an unknown $\\theta$. You can have a look at the effect of increasing $n$:"
]
},
{
"cell_type": "code",
"execution_count": 281,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "c7a23ac073224806b2e75486e5d0ba08"
}
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"@interact\n",
"def _(n=(2,(2..1000))):\n",
" '''Interactive function to plot the bernoulli likelihood for different n.'''\n",
" if n > 0:\n",
" thisBSample = bernoulliSampleSecretTheta(n) # make sample\n",
" n = len(thisBSample) # what is n\n",
" tn = sum(thisBSample)\n",
" print \"Likelihood function for n = \", n , \" and tn = \", tn\n",
" from pylab import arange\n",
" ths = arange(0,1,0.01) # get some values to plot against\n",
" p = line(zip(ths, [likelihoodBernoulli(t, n, tn) for t in ths]))\n",
" show(p, figsize=(8,4))\n",
" else:\n",
" print \"n must be greater than 0\""
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Remember that for each $n$ you try, the shape of the likelihood function will depend on the $t_n$ for the sample simulated by `bernoulliSampleSecretTheta`."
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"The Log-likelihood Function\n",
"\n",
"Working with products, as in \n",
"\n",
"$$\n",
"L_n(\\theta) = \\displaystyle \\prod_{i=1}^n f(x_i;\\theta) \\quad \\text{, where } X_1, X_2, \\ldots, X_n \\overset{IID} \\sim f(x_i;\\theta)\n",
"$$ \n",
"\n",
"(i.e., $n$ independent and identically distributed random variables), can be inconvenient. Taking logs can be useful here. The log-likelihood function for some parameter $\\theta$ is $l_n(\\theta)$ and it is literally the log of the likelihood function $L_n(\\theta)$:\n",
"\n",
"$$l_n(\\theta) := log(L_n(\\theta))$$\n",
"\n",
"You will probably recall from pre-calculus that $\\log(a \\times b) = \\log(a) + \\log(b)$.\n",
"\n",
"In SageMath, using the `log` function without specifying a base gives the natural logarithm (logarithm to base $e$) of a value."
]
},
{
"cell_type": "code",
"execution_count": 282,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"3.40119738166216"
]
},
"execution_count": 282,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"a = 5.0\n",
"b = 6.0\n",
"log(a*b)"
]
},
{
"cell_type": "code",
"execution_count": 283,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"3.40119738166216"
]
},
"execution_count": 283,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"log(a) + log(b)"
]
},
{
"cell_type": "code",
"execution_count": 284,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"?log"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"The SageMath `log` function provides a default parameter value of `None` for the base, and if the base is `None` the natural log is calculated. If you specify a value for the base when you use the `log` function, you will get the logarithm using this base (default parameter values and `Non`e were discussed in the last notebook: go back there in your own time if you need to)."
]
},
{
"cell_type": "code",
"execution_count": 285,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"0.698970004336019"
]
},
"execution_count": 285,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"log(a, 10) # log to base 10"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"We can generalise this into a useful trick: \"the log of products is the sum of logs\"\n",
"\n",
"$$\\log\\left(\\displaystyle\\prod_{j=1}^n y_j\\right) = \\displaystyle\\sum_{j=1}^n\\left(\\log(y_j)\\right)$$\n",
"\n",
"So, if we have $n$ IID (independent and identically distributed) random variables, the log-likelihood function is\n",
"\n",
"$$\n",
"X_1,X_2,\\ldots,X_n \\overset{IID}{\\sim} f(x;\\theta) \\Longrightarrow\n",
"l_n(\\theta) = \\log(L_n(\\theta)) := \\log\\left(\\prod_{i=1}^n f(x_i ; \\theta)\\right) = \\sum_{i=1}^n \\log(f(x_i; \\theta))\n",
"$$\n",
"\n",
"In the case of $X_1, X_2, \\ldots, X_n \\overset{IID}{\\sim} Bernoulli(\\theta)$, $n$ independent and identically distributed $Bernoulli$ RVs,\n",
"\n",
"$$\n",
"l_n(\\theta) = \\log(L_n(\\theta)) = \\log\\left(\\theta^{t_n}(1-\\theta)^{(n-t_n)}\\right) = t_n\\log(\\theta) + (n-t_n)\\log(1-\\theta)\n",
"$$\n",
"\n",
"Here we are using the fact that $\\log(a^c) = c\\log(a)$. \n",
"\n",
"If this is not familiar to you, consider $\\log(a^2) = \\log(a \\times a) = \\log(a) + \\log(a) = 2\\log(a)$\n",
"\n",
"and then think what happens if you have $\\log(a^3) = \\log(a \\times a^2) = \\log(a) +\\ log(a^2) = \\log(a) + 2log(a) = 3\\log(a)$, etc etc.\n",
"\n",
"### YouTry in class\n",
"\n",
"Write down for yourself the steps to prove that the log-likelihood function $l_n(\\theta) = t_n\\log(\\theta) + (n-t_n)\\log(1-\\theta)$ for $n$ IID samples from $Bernoulli$ RVs.\n",
"\n",
"(end of You Try)\n",
"\n",
"---\n",
"\n",
"Logarithm is a **monotone function** (also known as a monotonic function). What does it mean when we say that something is a monotone function? In words, it means that the function preserves the given order. For once, putting something as a formula may make it easier to understand than the words. If $f$ is some monotone function and we have two values $a$ and $b$ in the domain of $f$ (values that $f$ can be applied to) such that $a \\le b$, then $f(a) \\le f(b)$.\n",
"\n",
"So, if $a \\le b$, $\\log(a) \\le \\log(b)$: log preserves order. If we calculatete the likelihood $L_n$ for two different possible values of $\\theta$, say $\\theta_a$ and $\\theta_b$ and find that $L_n(\\theta_a) \\le L_n(\\theta_b)$, then we know that $l_n(\\theta_a) = \\log(L_n(\\theta_a)) \\le l_n(\\theta_b) = \\log(L_n(\\theta_b))$.\n",
"\n",
"We can see this if we adapt our interactive plot for the $Bernoulli$ likelihood function:"
]
},
{
"cell_type": "code",
"execution_count": 286,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "5b15ed320a6941289e1e2c31466deba0"
}
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"@interact\n",
"def _(n=(2,(2..1000))):\n",
" '''Interactive function to plot the bernoulli likelihood for different n.'''\n",
" if n > 0:\n",
" thisBSample = bernoulliSampleSecretTheta(n) # make sample\n",
" n = len(thisBSample) # what is n\n",
" tn = sum(thisBSample)\n",
" print \"n = \", n , \" and tn = \", tn\n",
" from pylab import arange\n",
" ths = arange(0,1,0.01) # get some values to plot against\n",
" liks = [likelihoodBernoulli(t,n,tn) for t in ths]\n",
" p1 = line(zip(ths, liks))\n",
" p1 += text(\"Likelihood function\", (0.5, max(liks)*1.1))\n",
" thsForLog = arange(0.01,1,0.01) # fudge to avoid log(0) get some values to plot log against\n",
" logliks = [log(likelihoodBernoulli(t,n,tn)) for t in thsForLog]\n",
" p2 = line(zip(thsForLog, logliks), rgbcolor=\"red\")\n",
" p2 += text(\"Log-likelihood function\", (0.5, max(logliks)*0.8), rgbcolor=\"red\")\n",
" show(graphics_array([p1, p2]),figsize=[8,3])\n",
" else:\n",
" print \"n must be greater than 0\""
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"# Maximum Likelihood Estimator\n",
"\n",
"So now, we know about the **likelihood function**, the function that tells us about the likelihood of parameter values given the data, and we know about the **log-likelihood function**. How do either of these help us to make an estimate of a parameter value? \n",
"\n",
"How about estimating a parameter with the value that maximises the likelihood function? This is called the **Maximum Likelihood Estimator (MLE)**.\n",
"\n",
"And, because log is a monotone function, we know that if some particular value for the unknown parameter maximises the likelihood function, then it will also maximise the log-likelihood function.\n",
"\n",
"Formally,\n",
"\n",
"Let $X_1,\\ldots,X_n \\sim f(x_1,\\ldots,x_n;\\theta^*)$ $X_1,\\ldots,X_n$ have joint density $ f(x_1,\\ldots,x_n;\\theta^*)$ where $\\theta^*$ is the true but possibly unknown parameter value.\n",
"\n",
"The maximum likelihood estimator or MLE $\\widehat{\\Theta}_n$ of the fixed and possibly unknown parameter true parameter $\\theta^* \\in \\Theta$ is a function that returns the value of $\\theta$ that maximises the likelihood function.\n",
"\n",
"As we saw when we looked at the different possible unique samples of size $n=2$ from a Bernoulli RV, the shape of the likelihood function depends on the data. The maximum likelihood estimator, the value of $\\theta$ which maximises the likelihood function (or log-likelihood function) is clearly a function of data itself. \n",
"\n",
"$$\n",
"\\widehat{\\Theta}_n := \\widehat{\\Theta}_n(X_1,X_2,\\ldots,X_n) := \\underset{\\theta \\in \\Theta}{argmax} L_n(\\theta) \n",
"$$\n",
"Equivalently, the maximum likelihood estimator is the value of $\\theta$ that maximises the log-likelihood function:\n",
"$$\n",
"\\widehat{\\Theta}_n := \\underset{\\theta \\in \\Theta}{argmax}l_n(\\theta)\n",
"$$\n",
"\n",
"$\\underset{\\theta in \\Theta}{argmax}L_n(\\theta)$ is the value of $\\theta \\in \\Theta$ that maximises $L_n(\\theta)$. $argmax$ is doing what we try to do by eye when we look at the shape of a likelihood function and try to see which value of $\\theta$ corresponds to the function's highest point. \n",
"\n",
"How do we find the value which maximises the likelihood function, or log-likelihood function? What do we usually do when we want to find the value of a parameter which maximises a function? We find the turning point(s) of the function by taking the derivative of the function with respect to the parameter (for maximums, we are looking for turning points where the slope of the function changes from positive to negative, which we could check with a second derivative, but let's just concentrate on finding the derivative for the moment).\n",
"\n",
"Consider finding the maximum likelihood estimator for $X_1, X_2, \\ldots, X_n \\overset{IID}{\\sim} Bernoulli(\\theta^*)$ ($n$ independent Bernoulli random variables, identically distributed with the same true parameter value $\\theta^*$):\n",
"\n",
"We found that the likelihood function $L_n(\\theta) = \\theta^{t_n} (1-\\theta)^{(n-t_n)}$ and the log-likelihood function $l_n(\\theta) = t_n\\log(\\theta) + (n-t_n)\\log(1-\\theta)$.\n",
"\n",
"It is much easier to work with the log-likelihood function when we are taking the derivative with respect to $\\theta$:\n",
"\n",
"$$\n",
"\\begin{eqnarray}\n",
"\\frac{\\partial}{\\partial \\theta} l_n(\\theta)\n",
"&=& \\frac{\\partial}{\\partial \\theta} t_n \\log(\\theta) + \\frac{\\partial}{\\partial \\theta} (n-t_n) \\log(1-\\theta) \\notag \\\\\n",
"&=& \\frac{t_n}{\\theta} - \\frac{n-t_n}{1-\\theta} \\notag\n",
"\\end{eqnarray}\n",
"$$\n",
"\n",
"Here, we are using the useful fact that $\\frac{\\partial \\log(\\theta)}{\\partial \\theta} = \\frac{1}{\\theta}$ (and $\\frac{\\partial \\log(1-\\theta)}{\\partial \\theta} = \\frac{-1}{1-\\theta})$\n",
"\n",
"Now, set $\\frac{\\partial}{\\partial \\theta} l_n(\\theta)=0$ and solve for $\\theta$ to obtain the maximum likelihood estimate $\\widehat{\\theta}_n$:\n",
"\n",
"$$\n",
"\\frac{\\partial}{\\partial \\theta} l_n(\\theta)) = 0 \\iff\n",
"\\frac{t_n}{\\theta} = \\frac{n-t_n}{1-\\theta} \\iff\n",
"\\frac{1-\\theta}{\\theta} = \\frac{n-t_n}{t_n} \\iff\n",
"\\frac{1}{\\theta}-1 = \\frac{n}{t_n}-1 \\iff \\widehat{\\theta}_n = \\frac{t_n}{n}\n",
"$$\n",
"\n",
"What was $t_n$? \n",
"\n",
"$t_n = \\displaystyle \\sum_{i=1}^n x_i$, so we can see that $\\widehat{\\theta}_n = \\frac{1}{n}\\displaystyle\\sum_{i=1}^n x_i$\n",
"\n",
"In general, the maximum likelihood estimator as a function of the RVs $X_1, X_2, \\ldots, X_n$ is:\n",
"\n",
"$$\n",
"\\widehat{\\Theta}_n(X_1,X_2,\\ldots,X_n) = \\frac{1}{n}T_n(X_1,X_2,\\ldots,X_n) = \\frac{1}{n} \\sum_{i=1}^n X_i = \\overline{X}_n\n",
"$$\n",
"\n",
"Now, let's look an another version of the interactive plot of the log-likelihood function for a sample of size $n$ from a $Bernoulli$ process with unknown $\\theta^*$, but this time we will show the maximum point on the function and the maximum likelihood estimator (MLE):"
]
},
{
"cell_type": "code",
"execution_count": 287,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "53fa20294f7b41bebde57c4f94bac5f8"
}
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"@interact\n",
"def _(n=(2,(2..2000))):\n",
" '''Interactive function to plot the bernoulli likelihood for different n.'''\n",
" if n > 0:\n",
" thisBSample = bernoulliSampleSecretTheta(n) # make sample\n",
" n = len(thisBSample) # what is n\n",
" tn = sum(thisBSample)\n",
" from pylab import arange\n",
" thsForLog = arange(0.01,1,0.01) # fudge to avoid log(0) get some values to plot log against\n",
" logliks = [log(likelihoodBernoulli(t,n,tn)) for t in thsForLog]\n",
" p = line(zip(thsForLog, logliks), rgbcolor=\"red\")\n",
" MLE = RR(tn/n)\n",
" MLEpt = (MLE, log(likelihoodBernoulli(MLE,n,tn)))\n",
" p += points(MLEpt,rgbcolor=\"red\", pointsize=30)\n",
" print \"Log-likelihood function for n = \", n , \" and tn = \", tn, \": MLE = \",MLE.n(digits = 3)\n",
" show(p,figsize=[8,3])\n",
" else:\n",
" print \"n must be greater than 0\""
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"### YouTry\n",
"What happens above as you gradually increase $n$? What do you think the true value $\\theta^*$ is?"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"# Example : New Zealand Lotto Data\n",
"\n",
"Now, we are going to apply what we have learned about maximum likelihood estimates to the the NZ lotto data we looked at earlier in the course. Specifically, we are interested in whether Ball One is odd or even. This can be considered as a Bernoulli random variable where the outcome is 1 if the number drawn for Ball One is odd, and 0 if the number drawn is even. The observed outcomes of the draws for Ball One are modelled as independently and identically distributed (IID) realisations of the $Bernoulli(\\theta^*)$ random variable. Thus our probability model is:\n",
"\n",
"$$X_1,X_2,\\ldots,X_n \\overset{IID}{\\sim} Bernoulli(\\theta^*), \\ \\text{where}, \\ \\theta^* \\in [0,1] $$\n",
"\n",
"We have provided the functions needed for you to access the data, so all you have to do is to evaluate the cell below to get a list of the Ball one data between 1987 and 2008:"
]
},
{
"cell_type": "code",
"execution_count": 288,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"# These lotto draws of the first ball from NZ Lotto was already downloaded and processed for you\n",
"listBallOne = [4, 3, 11, 35, 23, 12, 14, 13, 15, 19, 36, 18, 37, 39, 37, 35, 39, 1, 24, 29, 38, 18, 40, 35, \\\n",
" 12, 7, 14, 23, 21, 35, 14, 32, 19, 2, 1, 34, 39, 29, 7, 20, 2, 40, 28, 4, 30, 34, 20, 37, 9, 24,\\\n",
" 36, 4, 22, 1, 31, 12, 16, 29, 36, 5, 21, 23, 30, 39, 38, 22, 13, 6, 14, 30, 40, 21, 5, 12, 28, 27,\\\n",
" 13, 18, 19, 23, 2, 10, 37, 31, 40, 4, 25, 4, 17, 6, 34, 26, 38, 35, 3, 38, 14, 40, 3, 30, 21, 4,\\\n",
" 24, 34, 27, 14, 25, 18, 21, 1, 25, 39, 18, 40, 18, 11, 5, 37, 33, 26, 29, 26, 36, 33, 18, 32, 3, 1,\\\n",
" 5, 22, 39, 25, 12, 21, 23, 12, 31, 1, 35, 8, 32, 24, 34, 14, 26, 4, 3, 31, 17, 22, 24, 10, 29, 40,\\\n",
" 4, 8, 26, 11, 8, 18, 25, 22, 8, 30, 10, 14, 32, 14, 5, 35, 3, 32, 40, 17, 39, 7, 21, 4, 35, 9, 16,\\\n",
" 30, 30, 11, 28, 22, 38, 5, 16, 27, 16, 23, 22, 1, 27, 32, 30, 24, 32, 29, 11, 3, 26, 19, 22, 25, 3,\\\n",
" 34, 31, 17, 16, 31, 20, 29, 10, 2, 17, 36, 6, 34, 11, 7, 22, 28, 13, 15, 20, 39, 16, 10, 25, 1, 37,\\\n",
" 14, 28, 35, 20, 39, 3, 39, 20, 40, 6, 20, 17, 26, 27, 4, 24, 40, 16, 24, 7, 8, 25, 16, 15, 8, 29, 13,\\\n",
" 16, 39, 2, 24, 24, 23, 24, 37, 39, 40, 5, 11, 13, 6, 24, 1, 5, 7, 15, 38, 3, 35, 10, 22, 19, 3, 21,\\\n",
" 39, 38, 4, 30, 17, 15, 9, 32, 28, 7, 12, 6, 37, 25, 4, 8, 30, 7, 31, 12, 21, 31, 13, 2, 20, 14, 40,\\\n",
" 32, 23, 10, 1, 35, 35, 32, 16, 25, 13, 20, 33, 27, 2, 26, 12, 5, 34, 20, 7, 34, 38, 20, 8, 5, 11, 17,\\\n",
" 10, 36, 34, 1, 36, 6, 7, 37, 22, 33, 7, 32, 18, 8, 1, 37, 25, 35, 29, 23, 11, 19, 7, 21, 30, 23, 12,\\\n",
" 10, 26, 21, 9, 9, 25, 2, 14, 16, 14, 25, 40, 8, 28, 19, 8, 35, 22, 23, 27, 31, 36, 22, 33, 22, 15, 3,\\\n",
" 37, 8, 2, 22, 39, 3, 6, 13, 33, 18, 37, 28, 3, 17, 8, 2, 36, 1, 14, 38, 5, 31, 34, 16, 37, 2, 40, 14,\\\n",
" 16, 21, 40, 5, 21, 24, 24, 38, 26, 38, 33, 20, 25, 7, 33, 12, 22, 34, 34, 20, 38, 12, 20, 7, 28, 26,\\\n",
" 30, 13, 40, 36, 29, 11, 31, 15, 9, 13, 17, 32, 18, 9, 24, 6, 40, 1, 1, 9, 13, 28, 19, 5, 7, 27, 12,\\\n",
" 3, 34, 26, 20, 28, 28, 25, 21, 23, 6, 15, 19, 30, 10, 13, 8, 11, 38, 7, 33, 12, 16, 11, 40, 25, 32,\\\n",
" 34, 1, 32, 31, 33, 15, 39, 9, 25, 39, 30, 35, 20, 34, 3, 30, 17, 24, 20, 15, 10, 25, 6, 39, 19, 20,\\\n",
" 23, 16, 17, 31, 25, 8, 17, 15, 31, 20, 19, 33, 11, 37, 31, 4, 12, 37, 7, 40, 8, 22, 3, 25, 35, 8, 9,\\\n",
" 14, 13, 33, 4, 2, 1, 31, 24, 8, 13, 19, 34, 10, 32, 35, 28, 11, 10, 31, 25, 8, 6, 13, 33, 19, 35, 19,\\\n",
" 8, 21, 10, 40, 36, 16, 27, 31, 1, 18, 36, 40, 18, 37, 18, 24, 33, 34, 31, 6, 10, 24, 8, 7, 24, 27, 12,\\\n",
" 19, 23, 5, 33, 20, 2, 32, 33, 6, 13, 5, 25, 7, 31, 40, 1, 30, 37, 19, 27, 40, 28, 3, 24, 36, 7, 22,\\\n",
" 20, 21, 36, 38, 15, 11, 37, 21, 4, 13, 9, 12, 13, 34, 30, 8, 23, 40, 4, 13, 6, 4, 22, 35, 2, 35, 20,\\\n",
" 9, 28, 9, 13, 33, 19, 5, 38, 24, 18, 37, 10, 25, 25, 31, 3, 13, 25, 35, 1, 36, 21, 3, 22, 23, 7, 6,\\\n",
" 26, 11, 6, 1, 24, 2, 25, 38, 3, 16, 16, 20, 22, 12, 8, 27, 38, 10, 39, 9, 37, 30, 33, 12, 4, 32, 2,\\\n",
" 29, 6, 34, 2, 3, 12, 9, 1, 22, 40, 38, 9, 18, 40, 17, 5, 17, 26, 17, 26, 6, 7, 18, 10, 27, 24, 39, 1,\\\n",
" 3, 26, 38, 2, 12, 5, 7, 38, 2, 8, 30, 35, 18, 19, 29, 37, 5, 27, 35, 40, 14, 25, 15, 20, 32, 22, 9, 1,\\\n",
" 8, 14, 38, 27, 23, 24, 15, 29, 7, 4, 19, 6, 21, 27, 23, 21, 35, 32, 13, 27, 34, 1, 11, 36, 24, 23, 13,\\\n",
" 2, 33, 25, 18, 1, 10, 5, 27, 1, 36, 36, 11, 3, 31, 30, 31, 39, 7, 21, 25, 28, 38, 2, 3, 40, 10, 40,\\\n",
" 12, 22, 20, 16, 14, 30, 16, 19, 33, 32, 30, 19, 36, 16, 27, 7, 18, 38, 14, 14, 33, 29, 24, 21, 22, 15,\\\n",
" 25, 27, 25, 37, 35, 34, 11, 19, 35, 10, 30, 8, 11, 20, 7, 27, 19, 16, 21, 13, 6, 29, 35, 13, 31, 23,\\\n",
" 26, 10, 18, 39, 38, 5, 16, 33, 21, 31, 21, 23, 32, 35, 2, 24, 11, 25, 30, 7, 18, 32, 38, 22, 27, 2, 6,\\\n",
" 31, 24, 34, 33, 15, 39, 21, 9, 1, 8, 38, 37, 40, 14, 2, 25, 30, 16, 6, 36, 27, 28, 8, 17, 37, 15, 29,\\\n",
" 27, 30, 30, 19, 15, 13, 34, 5, 24, 18, 40, 37, 1, 28, 17, 32, 8, 34, 5, 6, 31, 8, 9, 28, 26, 40, 40,\\\n",
" 9, 23, 36, 28, 24, 33, 18, 36, 6, 22, 29, 6, 6, 25, 15, 29, 18, 38, 20, 26, 30, 17, 30, 32, 33, 19,\\\n",
" 10, 29, 25, 24, 19, 28, 38, 3, 24, 12, 28, 29, 29, 20, 12, 11, 12, 21, 11, 24, 36, 3, 3, 5, 28, 2,\\\n",
" 8, 30, 23, 4, 40, 28, 6, 31, 37, 25, 9, 23, 20, 20, 16, 38, 21, 35, 18, 3, 15, 40, 19, 33, 34, 20,\\\n",
" 3, 11, 34, 35, 10, 32, 23, 10, 29, 13, 12, 6, 30, 7, 5, 4, 29, 22, 22, 2, 26, 24, 7, 13, 26, 27, 27,\\\n",
" 15, 12, 18, 38, 33, 4, 11, 20, 33, 21, 5, 26, 10, 22, 36, 3, 4, 35, 35, 16, 32, 5, 19, 23, 24, 40,\\\n",
" 25, 30, 10, 9, 23, 12, 40, 21, 29, 18, 17, 15, 32, 2, 35, 7, 30, 4, 2, 16, 6, 8, 35]"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Remember that we can find how many observations we have using the len function:"
]
},
{
"cell_type": "code",
"execution_count": 289,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"1114"
]
},
"execution_count": 289,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(listBallOne)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Now we can get to what we are really interested in - whether the number drawn is odd or even. You'll recall that we can get a 1 to represent an odd number and a 0 to represent an even number with the modulus operator `%`."
]
},
{
"cell_type": "code",
"execution_count": 290,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"bernoulliBallOneOdd = [x % 2 for x in listBallOne]\n",
"#print(bernoulliBallOneOdd)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"We want to start our investigation of the relative number of odd and even numbers that occur in the draws for Ball one by visualising the outcome data in terms of the proportion of odd numbers that are observed in the Ball One draws. One way to find the number of occurrences of a particular value in a list is to use the list's `count(...)` method:"
]
},
{
"cell_type": "code",
"execution_count": 291,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"546"
]
},
"execution_count": 291,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"bernoulliBallOneOdd.count(1) # find how many 1s there are in the list bernoulliBallOneOdd"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"?list.count"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Note also that since our Bernoulli random variable outcomes are 1 or 0, we can also count how many odd numbers are drawn by simply adding up the outcomes: every odd number contributes 1 to the sum and the total is therefore the number of odd numbers drawn. Doing this over all 1114 observations should give us the same value as counting the number of 1s"
]
},
{
"cell_type": "code",
"execution_count": 292,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"546"
]
},
"execution_count": 292,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sum(bernoulliBallOneOdd)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"This is the equivalent of $t_n = \\displaystyle\\sum_{i=1}^n$, the realisation of the statistic $T_n(X_1, X_2, ..., X_n) = \\sum_{i=1}^n X_i$.\n",
"\n",
"We saw that the Bernoulli likelihood function is $ L_n(\\theta) = \\theta^{t_n}(1-\\theta)^{(n-t_n)} $ and the log-likelihood function is $l_n(\\theta) = log( L_n(\\theta))$ = $t_n$ $log(\\theta) $ + $(n-t_n)$ $log(1-\\theta) $\n",
"\n",
"With our Bernoulli model, our maximum likelihood estimate $\\widehat{\\theta}_n$ for the parameter $\\theta$, the probability that a ball is odd, is $\\frac{t_n}{n}$ which we can see is the same as the proportion of odd-numbered balls in the sample.\n",
"\n",
"Using the sum(...) function makes it very easy for us to explore how, as we look at more and more draws (samples), the proportion of odd-numbered balls settles down. \n",
"\n",
"Remember the `pylab` function `cumsum` which you can use to calculate the cumulative sum of an array or 'array-like object' (i.e. an object that the function can convert into an array, such as a list or tuple)? We can use this to give us the cumulative sum of the number of odd-numbered balls in the sample:"
]
},
{
"cell_type": "code",
"execution_count": 293,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"import pylab\n",
"csBernoulliBallOneOdd = list(pylab.cumsum(bernoulliBallOneOdd))\n",
"#print(csBernoulliBallOneOdd)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Note that our lotto data and counts are `sage.rings.integer.Integer` types, but the values returned by the `pylab.cumsum` function are `numpy.int64` (plain integer) types."
]
},
{
"cell_type": "code",
"execution_count": 294,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 294,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"type(bernoulliBallOneOdd[0])"
]
},
{
"cell_type": "code",
"execution_count": 295,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 295,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"type(csBernoulliBallOneOdd[0])"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"What we want to do is to visualise the changing proportion of odd numbers as we get more and more samples. The proportion of odd numbers is the number of odds (calculated as the sum of the outcomes in the samples we have so far) over the total number of samples so far. To help plotting this we make ourselves a sequence of sample sizes, going up from 1 to 1114:"
]
},
{
"cell_type": "code",
"execution_count": 296,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"sampleSize = range(1,1115,1)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Imagine you are at the end of week one of the draws (8 January 1987). You'll have seen one draw and Ball One was 4, i.e., even. The proportion of odd numbers is from this one draw is 0 ( = 0/1). Then week two comes along, there is another draw, the number is 3 (odd) and so the proportion of odds in the 2 samples so far is 1/2. Then week 3 (11, odd), so the proportion is 2/3, etc etc etc. After each draw, we are dividing the cumulative sum of the outcomes by the number of draws to date. If we kept doing this week after week we'd get something like this, ending up with 546 odds out of 1114 observations which simplifies to 273/557 (we are making the results display as rational numbers by converting the plain int types returned by the pylab.cumsum function to Sage integers using the ZZ(...) function to make the results easier to interpret)."
]
},
{
"cell_type": "code",
"execution_count": 297,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"relFreqsCsBernoulliBallOneOdd = [(i, ZZ(csBernoulliBallOneOdd[i])/sampleSize[i]) \\\n",
" for i in range(1114)]\n",
"#print(relFreqsCsBernoulliBallOneOdd)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"With a slight variation on our list comprehension, we can make a list of points out of this, plotting the proportion of odds on the y-axis against the number of observations on the x-axis:"
]
},
{
"cell_type": "code",
"execution_count": 298,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"image/png": "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\n1bbu1q3W9WTIENv+z39ugWS3blabX1Zm3eeCg+2+KC622n7HsaB06FBbb8MGC0K92zlaUZE1l/bs\naf/v3WsJZG89AAAcZ0lEQVTjgv7zHyuQPv981W4KxcW2/YYNj99Wbq4Vrr3NvIcO2T1/0UXW1cbb\nLcYbUJeUVLY8+KqgwPqJrl1r527SJGtBmT3bCusNG9p+9u+399nmzdZ6kpxcvZa49HTpV7+yQCc8\n3Arq3bvbuXroIbt23oG2sbF2Df77Xyvsd+li12brVnvft25dOajz0CE7D97+/RkZdn6bNLHgQrJt\nXXedjXGIjvb93AAAUFNcHUycSy0T/srJsRk93nrLuiy8957VtvbubTW8N99cmfbIEStUTp5srSCv\nvGIFpe3bjx8H8fbbVgi99dYzz+OGDVaQ7N7dfg8darXhJ5tV5VirVll/6wcfPPO8SFZjK1ngs2WL\nb9v9v/+zAvNFF9n5vP56O75f/MJaBM5kQOTJZGXZOJbQUAsAHcf2ffnlViP+hz9YAfbBB60L0Lx5\nVmM8ebJ0001W8HzyycppDrt0sYDScayL0B/+YDXP5eUWwD7zjBWib7rJCsX9+1vhMynJCqvvvGPr\n7t9vweyll1qNfmCgFXovvtjOS3GxBT979tg99pOf2PJf/coKuq++arXm55pDh+xcZGVZUDFtmgVf\nb79t3X0yMmzw33332es//3nV8R5bt1r/088/t/fd3r22vLTU+opv3mwF/27d7D0zbVrlLDuStaR4\n77Unn7R+rN26VXZH8ngqZ+4JDLRgLijI/k5Ptz6yISE21goAgLpGMFHHiopswOADD1gB76GHrNDw\n7bfW0rF/v9WgHjpkhZY//MEKIIGB1lJw5ZW27tn2/PPWreLAASvEREbaILpTDapdv95mMUlLs1rn\n3/3OBueGhfk3//kbb1iBa8IEK2iVllbW0q9day0MrVpZ15/bb7dl//63BQvPP2/B14svVj7oyFsY\nu+ceO+8//anVhIeEWGHyTGY++POfLVgIC7NWj+Jiu36pqZYPb9cg75iHnTtPPSf25s2W565dj39t\n2TLr7lZUZAXg0w2YP3zYgou//tUCFsexLm5XX22194cOWaE2MLCyT/0dd9j1Ky627m9H5/1889Zb\n9h5LT7cgLTCw8umzzZtb0NGxowUko0fbdXUcez/MmmXTR//qV0xcAACoHwgmXOa3v7Va85Ytrebz\n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\nSUVORK5CYII=\n",
"text/plain": [
"Graphics object consisting of 1 graphics primitive"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"show(points(relFreqsCsBernoulliBallOneOdd, size=1), figsize=[8,3])"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"We have effectively plotted the maximum likelihood estimate or MLE $\\widehat{\\theta}_n$ for $\\theta$ in our $Bernoulli$ model over increasing values of $n$.\n",
"\n",
"We can also look at the shape of the whole log-likelihood function, not just the value that maximises it.\n",
"\n",
"This interactive plot draws the log-likelihood function for samples based on for different values of $n$. Again, for $n=1$, you have only observed the first draw, for $n=2$ you have observed two draws, etc etc."
]
},
{
"cell_type": "code",
"execution_count": 300,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "f5c743656cb543b9904ad56d58a2cb40"
}
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"@interact\n",
"def _(n=(1..1114)):\n",
" '''Interactive function to plot sample-size specific log likelihood function.'''\n",
" if n == 1:\n",
" print \"Log-likelihood function based on first sample\"\n",
" else:\n",
" print \"log-likelihood function based on\", n, \"samples\" \n",
" tn = csBernoulliBallOneOdd[n-1]\n",
" theta = var('theta')\n",
" show(plot((tn * log(theta) + (n - tn) * log(1-theta)), theta,0,1),figsize=[8,3])"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Try changing $n$ to see how the shape of the log-likelihood function changes as we get more and more observations. \n",
"\n",
"We can also show the log likelihood functions for a number of different value of $n$ all on the same plot. The first cell below shows log-likelihood functions for $n = 1$ to $n = 20$. This is where the log-likelihood moves around most as $n$ changes."
]
},
{
"cell_type": "code",
"execution_count": 301,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"image/png": "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\nLPauXp2NKrduBWJjeWouMJAF5H36FNAaJhEREZH86t8f2LgRSE4GunZlw8q5c9lGICwM+O47BkwX\nLwI7d/KE3Y4dQK1afE3ZsmxREBXFIvErV3x7fwqYRERE5LpLSGAn748/5oDeu+/mbLngYGafFi7k\nqbiiRYG1a1m7tH07A6Y9e4Dy5RkwRUfz/Xy9LaeASURERK674GAO0P30UyAnhyfktm5lEXf79sCm\nTaxzataMw3UbNAD272dRuHlSLm/A5OttOQVMIiIiUiD07896pKVLgQ4dWOi9YAEH8DqdLPhu3ZoZ\nprp1OT/OnLJWpIi1JQcoYBIREZH/UbfcAtSsya24qCjWL82fzyxS5crA8uXArbcyGHI4WOh96hRf\nGxDAtgTh4XzsNpEt3xQwiYiISIFgswH33ssg6coVDuRduZLBz513AitWAI0a8bk7dgC1a7NDeOnS\nnD+XnQ1cvszrFy749t4UMImIiEiBce+9DJB++IGF4NnZwJIl3JZLTgYyMjgaZfNmbsv9+itHo2Rk\n8PXm4N1CFTAlJiYiISEBc+bMud63IiIiIv8FtWpxptzcuUDFimwfMH8+EB/P6ytWAI0bA1u2cPsu\nORmoUsUavnvqFEep3H23b+/L4du3862kpCSNRhERESlkevYEJk3i9trddwPvv88O3nFxLPhu3Bj4\n8ktg1Chmo0qUYKF4QAADpy5dfH9PBTrDJCIiIoXPvfdyi23JEo5JOX2azSpbtmSn70aNOHPObufz\ng4IYKBUrZmWafE0Bk4iIiBQosbHcmluwgHPjihYFli0DWrRgk8qKFRksHTvGYCkzk6+LigKOH/fP\nPSlgEhERkQKnc2dg0SK2D2jTxgqYAGabatfmSbnq1a1C77AwZZhERESkEOncmQXcmzYBd93F2qUy\nZYCSJbktV7cuB/LWqMHhvAEB1tacPyhgEhERkQKnWTPWJH33HeuYMjOB9euZZfrpJ6BOHbYUqFED\n2LsXuOkm9nFSwCQiIiKFht0OdOzIobu1arE55Y8/MmDauJGBUkYG65aOHWPAlJOjGiYREREpZDp3\n5rbbH38ArVoB69Yx83TpEhASwufk5PB3dDTbEFy4wC7hvqaASURERAqku+5ibdKyZQyYNm1iZgng\n3LjISCAtjY+LFLH+7evBu4ACJhERESmgIiOBJk2sobtZWaxXio3lCbm4OOD334HgYNYvnTnD15mn\n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\n+4sCJhEREblhVaoEpKezbunECf99ToEOmBITE5GQkIA5c+Zc71sRERGRAqhiRav30rFj/vucAl3D\nlJSUpNEoIiIiclUVK1qtBI4e9d/nFOgMk4iIiMhfKVuWvwMCFDCJiIiIeFWmDH9HRVlz5fxBAZOI\niIjcsMyAKSxMAZOIiIiIV9HRbFwZEqKASURERMQrm411THa7AiYRERGRqypThn2YFDCJiIiIXEWZ\nMkBuLhAe7r/PUMAkIiIiNzRzCO/Gjf77DAVMIiIickMrUwY4csS/n6GASURERG5oZcpwnlxGhv8+\nQwGTiIiI3NBKl+ZvDd/V8F0RERG5ihIl+PvUKf99hobvioiIyA2tZEn+9mfAVKAzTCIiIiLXUqwY\nfytgEhEREbmKwECOSFHAJCIiIvIXSpRQwCQiIiLylxQwiYiIiFyDAiYRERGRa1DAJCIiInINCphE\nRERErkEBk4iIiMg1lCgBXLoEXLzon/dXwCQiIiI3PLN55blz/nl/BUwiIiJywzMDprNn/fP+CphE\nRETkhhcTw9+FMmBKTExEQkIC5syZc71vRURERAowfwdMDv+8rW8kJSUhIiLiet+GiIiIFHCRkcA/\n/wlUr+6f97cZhmH4563/c+np6YiMjERaWpoCJhEREbnuCvSWnIiIiEhBoIBJRERE5BoUMImIiIhc\ngwImERERkWsokEXfhmHgwoULCA8Ph81mu963IyIiIoVcgQyYRERERAoSbcmJiIiIXIMCJhEREZFr\nUMAkIiIicg0KmERERESuQQGTiIiIyDUoYBIRERG5BgVMIiIiItfw/wBJVDyvMBK5fAAAAABJRU5E\nrkJggg==\n",
"text/plain": [
"Graphics object consisting of 19 graphics primitives"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"theta = var('theta')\n",
"n = 1\n",
"tn = csBernoulliBallOneOdd[n-1]\n",
"p = plot((tn * log(theta) + (n-tn)*log(1-theta)), theta,0,1)\n",
"for n in range(2,20,1):\n",
" Tn = csBernoulliBallOneOdd[n-1]\n",
" p += plot((tn * log(theta) + (n-tn)*log(1-theta)), theta,0,1)\n",
"show(p, figsize=[6,3])"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Looking at larger values of n, we can see the shape of the log-likelihood function settling down as n increases. Colour has been used to show the changing values of $n$ which result in each curved line on the plot: bluer shades for smaller $n$, moving to red as $n$ increases. "
]
},
{
"cell_type": "code",
"execution_count": 302,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"image/png": "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\nJ4dZs2bR2Nh43vVeeOEFysvLycnJoaKigj179lzSOMPGLicQc2aYTMUNl33fIiIiMgZ88pPA+Unf\nJhkwBWlUAVNvby9Hjx7lkUce4ciRI7z44ou0tLSwYsUK33HGGL797W/T1tZGa2sr77//Pg888IDz\neXd3NzU1NcyZM4fDhw/T2NhIQ0MDzzzzjHNMc3Mz9fX1rF27lqNHj1JbW0ttbS3Hjx8fdpwmOpDM\noren7YCqqtHcuoiIiKTa3/99MofJrfptN+CNtn0Q6KWMZQXbz/ett95i6dKlnDx5khkzEn1c5syZ\nw4MPPsj69esv+D87duxg69attLa2kpGRWCXcvHkzu3fvdgKi1atX09vby0svveT8X2VlJQsXLuSp\np5664Hm7urqIRCI0M5eZdJHHWXLpJYyFdeIEZv78IG9dRERE/pbeeQfmzCGGoY9szjGZHnI4Sx5X\n/+lXTCoLrp9c4EnfHR0dGGOYMmWK7/3HHnuM4uJiFi1axLZt24jFYs5nBw8epKqqygmWAGpqamhp\naaGzsxNIzDBVV1f7zllTU0Nzc/OwY3JLpSdYANdeO/KbExERkbFj5kwsY3y74O0SA0HvlAs06bu/\nv5+HH36Y+vp68vLynPc3bNjAokWLKCoq4je/+Q0PP/wwra2tbNu2DYDW1lbKkiXObdOnT3c+i0Qi\ntLa2Ou95j2ltbR12XHaZdGfboTFquisiIjLehUKQm4s5e9ZpfTYmcph27txJfn4++fn5FBQUcODA\nAeezwcFBVq1ahTHmvCWyr33ta1RVVXH99dfz5S9/me9973v84Ac/IBqNfuS1LMvCsizMRWolDfe5\nzV3bTLZEyZ407P+IiIjIOPB3fwfYhSuB5PN+sD3YXnIjmmFasWIFy5Ytc/4uLS0F3GDp3Xff5bXX\nXvPNLl3I0qVLGRwc5J133mHu3LmUlJTQ1tbmO+b06dMYY5xZpY86Zuis04VspJVJRMkgRhjAilO3\naxd1dXWXcNciIiIyZl17Lfzbv3mSvhNpOIOnPwz0MiOaYcrNzaWsrMz5yc7OdoKlt99+m6amJgoL\nC4c9z5EjRwiFQkybNg1IJG/v37/fl9f06quvMm/ePCKRiHNMU1OT7zz79u2jsrJy2Ov9M1fxLHn8\nbwy7gV9UVChYEhERmQgqKgB/aQGLEIPv/TXQy4wqkScWi3HnnXdy+PBhnn32WaLRKG1tbbS1tTnL\n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\n",
"text/plain": [
"Graphics object consisting of 113 graphics primitives"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"theta = var('theta')\n",
"n=1\n",
"Tn = csBernoulliBallOneOdd[n-1]\n",
"p = plot((Tn * log(theta) + (n-Tn) * log(1-theta)), theta,0,1, rgbcolor=(0,0,1))\n",
"for n in range(10,1111,10):\n",
" Tn = csBernoulliBallOneOdd[n-1]\n",
" redshade = 1*n/1114.0\n",
" blueshade = 1 - redshade\n",
" p += plot((Tn * log(theta) + (n-Tn) * log(1-theta)), theta,0,1, rgbcolor = (redshade, 0, blueshade))\n",
"n = 1114\n",
"p += plot((Tn * log(theta) + (n-Tn) * log(1-theta)), theta,0,1, rgbcolor=\"red\")\n",
"show(p,figsize=[6,3])"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"# Using Sage for Basic Algebra and Calculus\n",
"\n",
"When we wanted to differentiate the log-likelihood $l_n(\\theta)$ above, we did it for ourselves, but Sage could have helped us to do even that. \n",
"\n",
"Sage can be used to find solutions to equations and for basic calculus. The secret is to create a symbolic expression using the `var(...)` function. The details of the symbolic rings used for symbolic expressions in Sage are beyond the scope of this course, but they do offer us some useful features. It is probably easiest to think of var as a way to tell Sage that something is a variable name without having to assign that variable to an actual value. Then, using the function solve we can solve equations, i.e. use Sage to find the value(s) of a variable which would solve the equation of interest, or expressions for one variable in terms of other variables involved in the equation(s).\n",
"\n",
"The examples used here are taken from the book Sage Tutorial, The Sage Group."
]
},
{
"cell_type": "code",
"execution_count": 303,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"x=1"
]
},
{
"cell_type": "code",
"execution_count": 304,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 304,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"type(x)"
]
},
{
"cell_type": "code",
"execution_count": 305,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 305,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x = var('x') # symbolic expression\n",
"type(x)"
]
},
{
"cell_type": "code",
"execution_count": 306,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"?var"
]
},
{
"cell_type": "code",
"execution_count": 307,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"?solve"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Let's try a simple example, solving $x^2 + 3x + 2 = 0$ for $x$."
]
},
{
"cell_type": "code",
"execution_count": 308,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"[x == -2, x == -1]"
]
},
"execution_count": 308,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"solve(x^2 + 3*x + 2, x)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"We can also use `solve` if we have variables instead of known values for the coefficients."
]
},
{
"cell_type": "code",
"execution_count": 309,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"[x == -1/2*(b + sqrt(b^2 - 4*a*c))/a, x == -1/2*(b - sqrt(b^2 - 4*a*c))/a]"
]
},
"execution_count": 309,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x, a, b, c = var('x a b c')\n",
"solve([a*(x^2) + b*x + c == 0], x)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"And we can solve a system of equations for several variables."
]
},
{
"cell_type": "code",
"execution_count": 310,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"[[x == 5, y == 1]]"
]
},
"execution_count": 310,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x, y = var('x y')\n",
"solve([x+y==6, x-y==4], x, y)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Sometimes Sage cannot find an exact solution to the equation, as in the following cell:"
]
},
{
"cell_type": "code",
"execution_count": 311,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"[sin(theta) == cos(theta)]"
]
},
"execution_count": 311,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"theta = var('theta')\n",
"solve([cos(theta) == sin(theta)], theta)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Then we can try using the `find_root` function to find a numerical solution. Note that as well as the equation, you have to pass `find_root(...)` values for the end points of the interval within which you want it to search for the solution. In this case we are searching within the interval $[0, \\frac{\\pi}{2}]$."
]
},
{
"cell_type": "code",
"execution_count": 312,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"0.7853981633974484"
]
},
"execution_count": 312,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"find_root(cos (theta) == sin(theta), 0, pi/2)"
]
},
{
"cell_type": "code",
"execution_count": 313,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"?find_root"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"We can also use calculus with our symbolic expressions. We differentiate with the diff function or method."
]
},
{
"cell_type": "code",
"execution_count": 314,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"cos(u)"
]
},
"execution_count": 314,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"u = var('u')\n",
"diff(sin(u), u)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"We can also tackle higher derivatives, such as the fourth derivative of $\\sin(x^2)$ in the following cell."
]
},
{
"cell_type": "code",
"execution_count": 315,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"16*x^4*sin(x^2) - 48*x^2*cos(x^2) - 12*sin(x^2)"
]
},
"execution_count": 315,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x = var('x')\n",
"diff(sin(x^2), x, 4)"
]
},
{
"cell_type": "code",
"execution_count": 316,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"?diff"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Partial derivatives can also be found:"
]
},
{
"cell_type": "code",
"execution_count": 317,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"2*x"
]
},
"execution_count": 317,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x, y = var('x y')\n",
"f = x^2 + 17*y^2\n",
"f.diff(x) # differentiate f with respect to x"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Let's try a simple example."
]
},
{
"cell_type": "code",
"execution_count": 318,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"34*y"
]
},
"execution_count": 318,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x, y = var('x y')\n",
"f = x^2 + 17*y^2\n",
"f.diff(y) # differentiate f with respect to y"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"The `integral(...)` function does integration."
]
},
{
"cell_type": "code",
"execution_count": 319,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"-1/2*cos(x^2)"
]
},
"execution_count": 319,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x = var('x')\n",
"integral(x*sin(x^2), x)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"## Symbolic Expressions for the Maximum Likelihood Estimator\n",
"\n",
"We can use these SageMath capabilities to help us to find maximum likelihood estimators. We will first have to find an expression for the likelihood of the parameter(s) in terms of of some statistic or statistics of the observations. We then take logs to get a log-likelihood function (since logs are usually easier to work with). Then, with the Sage diff function and the solve function, we have some powerful tools to then help us to differentiate and find the value at which the differential is 0. \n",
"\n",
"Let's start with the Bernoulli log-likelihood function $l_n(\\theta) = log( L_n(\\theta))$ = $t_n$ $log(\\theta) $ + $(n-t_n)$ $log(1-\\theta)$ and first of all find an expression for the differential of this with respect to $\\theta$"
]
},
{
"cell_type": "code",
"execution_count": 320,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"(n - tn)/(theta - 1) + tn/theta"
]
},
"execution_count": 320,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"theta, n, tn = var('theta n tn')\n",
"logL = tn*log(theta) + (n-tn)*log(1-theta) # Bernoulli log likelihood\n",
"dlogL = logL.diff(theta)\n",
"dlogL"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"And then solve for $\\theta$ when the differential is zero:"
]
},
{
"cell_type": "code",
"execution_count": 321,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"[theta == tn/n]"
]
},
"execution_count": 321,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"solve([dlogL == 0], theta)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Magic! We get the expression for $\\widehat{\\theta}_n$ that we derived before!\n",
"\n",
"### YouTry later\n",
"\n",
"Try `diff`, `integral`, and `solve` on some other functions"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"(end of You Try)\n",
"\n",
"---\n",
"\n",
"# The Maximum Likelihood Principle\n",
"\n",
"Do we always use the MLE? No, not always, but we can follow the same principle of using the \"most likely\" possible value. \n",
"\n",
"## Example: The Most-Likely of Three Coins\n",
"\n",
"Suppose there are three coins in a bag, but they are not all fair coins. Using our $Bernoulli$ model for the probability of getting a head on a single toss:\n",
"\n",
"Coin 1 has $\\theta = \\frac{1}{4}$\n",
"Coin 2 has $\\theta = \\frac{3}{4}$\n",
"Coin 3 has $\\theta = \\frac{1}{2}$\n",
"The coins are otherwise identical - you can't tell by look or feel which is which.\n",
"\n",
"You have to choose a single coin from the bag and guess which one it is. To help your guess, you can toss it three times and observe the results. Then you make your 'single best guess': is it Coin 1, Coin 2, or Coin 3?\n",
"\n",
"The experiment\n",
"\n",
"$X_1, X_2, X_3 \\overset{IID}{\\sim} Bernoulli(\\theta^*)$, with $\\theta^* \\in \\{\\frac{1}{4}, \\frac{3}{4}, \\frac{1}{2}\\}$\n",
"\n",
"(i.e., our model is three $Bernoulli$ random variables, independent and identically distributed with true parameter value $\\theta^*$ which is known to be one of either $\\frac{1}{4}$, $\\frac{3}{4}$, or $\\frac{1}{2}$.)\n",
"\n",
"Suppose the results of your three tosses are $x_1 = 1$, $x_2 = 0$, $x_3 = 0$ (a head, a tail, a tail)\n",
"\n",
"According to what we have learned so far, the MLE $\\widehat{\\theta}_3 = \\frac{t_n}{n} = \\frac{1+0+0}{3} = \\frac{1}{3}$\n",
"\n",
"But now we have a problem: we know that $\\theta^* \\in \\{\\frac{1}{4}, \\frac{3}{4}, \\frac{1}{2}\\}$ and $\\widehat{\\theta}_3 \\notin \\{\\frac{1}{4}, \\frac{3}{4}, \\frac{1}{2}\\}$ ($\\notin$ means \"is not in\").\n",
"\n",
"So, the MLE $\\widehat{\\theta}_n = \\frac{t_n}{n} = \\frac{1}{n}\\displaystyle\\sum_{i=1}^n x_i$ is not a good idea if we have a finite set of possible values for $\\theta$. Remember that we derived the MLE for the $Bernoulli$ on the continuous parameter space $[0,1]$ (\"$\\theta^* \\in [0,1]$ the true but unknown value ...\"), which is rather different to a situation where $\\theta^* \\in \\{\\frac{1}{4}, \\frac{3}{4}, \\frac{1}{2}\\}$, a finite set.\n",
"\n",
"In this situation, we take each of the possible values in the set in turn and say \"if $\\theta$ was this value, what is the likelihood\":\n",
"\n",
"(Coin 1) $L_3(\\frac{1}{4} = f(x_1, x_2, x_3;\\theta = \\frac{1}{4}) = f(1,0,0; \\theta = \\frac{1}{4}) = \\frac{1}{4} \\times (1-\\frac{1}{4}) \\times (1-\\frac{1}{4}) = \\frac{1}{4} \\times \\frac{3}{4} \\times \\frac{3}{4} = \\frac{9}{64}$\n",
"\n",
"(Coin 2) $L_3(\\frac{3}{4} = f(x_1, x_2, x_3;\\theta = \\frac{3}{4}) = f(1,0,0; \\theta = \\frac{3}{4}) = \\frac{3}{4} \\times (1-\\frac{3}{4}) \\times (1-\\frac{3}{4}) = \\frac{3}{4} \\times \\frac{1}{4} \\times \\frac{1}{4} = \\frac{3}{64}$\n",
"\n",
"(Coin 3) $L_3(\\frac{1}{2} = f(x_1, x_2, x_3;\\theta = \\frac{1}{2}) = f(1,0,0; \\theta = \\frac{1}{2}) = \\frac{1}{2} \\times (1-\\frac{1}{2}) \\times (1-\\frac{1}{2}) = \\frac{1}{2} \\times \\frac{1}{2} \\times \\frac{1}{2} = \\frac{1}{8} = \\frac{8}{64}$\n",
"\n",
"So, the \"most likely\" estimate following the three tosses on the basis of the maximum likelihood principle is $\\widehat{\\theta}_3 = \\frac{1}{4}$ (Coin 1)."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"## Maximum Likelihood and the $Exponential(\\lambda)$ RV\n",
"\n",
"The $Exponential$ is parameterised by $\\lambda$. We have seen that, for a given $\\lambda \\in (0,\\infty)$, an $Exponential(\\lambda)$ random variable has the following PDF $f$ and DF $F$:\n",
"\n",
"\n",
"$$f(x;\\lambda) = \\lambda e^{-\\lambda x}$$\n",
"\n",
"\n",
"$$F(x;\\lambda) = 1 - e^{-\\lambda x}$$\n",
"\n",
" \n",
"\n",
"### YouTry in class\n",
"\n",
"On paper, try to work out $f(x_1,x_2,\\ldots,x_n; \\lambda)$, the joint density of $X_1,X_2,\\ldots,X_n \\overset{IID}{\\sim} f(x;\\lambda)$ remembering that for for $X_1, \\ldots, X_n$ IID (independent and identically distributed), the joint density is the product of the individual densities, i.e., $\\displaystyle \\prod_{i=1}^n f(x_i ; \\lambda)$.\n",
"\n",
"Here is the start:\n",
"\n",
"The joint density of $n$ IID $Exponential(\\lambda)$ RVs is:\n",
"\n",
"$$\n",
"\\begin{array}{lcl}\n",
"\n",
"f(x_1,x_2,\\ldots,x_n; \\lambda) := \\displaystyle\\prod_{i=1}^n f(x_i ; \\lambda) & = & \\prod_{i=1}^n \\lambda e^{-\\lambda x_i}\\\\ & = & ? \\end{array}\n",
"$$\n",
"\n",
" \n",
"\n",
"Hint: $\\displaystyle \\prod_{i=1}^n \\lambda e^{-\\lambda x_i} = \\left(\\displaystyle\\prod_{i=1}^n \\lambda \\right)\\left(\\displaystyle\\prod_{i=1}^n e^{-\\lambda x_i} \\right)$\n",
"\n",
"Another hint: $e^ae^b = e^{a + b}$\n",
"\n",
"When you have got the joint density, use it to get the likelihood function $L_n(\\lambda) = f(x_1, x_2, \\ldots, x_n; \\lambda)$ and then show that the log-likelihood function for the $Exponential$ is \n",
"\n",
"$$l_n(\\lambda) = \\log(L_n(\\lambda)) = n\\log(\\lambda) - \\lambda t_n$$\n",
"where $t_n = \\displaystyle\\sum_{i=1}^n x_i$\n",
"\n",
"Try differentiating $l_n(\\lambda)$ with respect to $\\lambda$.\n",
"\n",
"Compare what you have got with the answer from Sage using diff:"
]
},
{
"cell_type": "code",
"execution_count": 322,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"lam^(n - 1)*n/lam^n - tn"
]
},
"execution_count": 322,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lam, n, tn = var('lam n tn')\n",
"logL = log(lam^n) - lam*tn # Exponential log likelihood\n",
"dlogL = logL.diff(lam)\n",
"dlogL"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"(Note that we can't use a variable name lambda in Sage: in Sage \"lambda\" is reserved for a special use.)\n",
"\n",
"Can you show that the maximum likelihood estimator $\\widehat{\\lambda}_n = \\frac{n}{t_n} = \\frac{n}{\\sum_{i=1}^n x_i}$ by solving $\\frac{\\partial l_n(\\lambda)}{\\partial \\lambda} = 0$?\n",
"\n",
" \n",
"\n",
"Compare this to the answer from Sage using solve:"
]
},
{
"cell_type": "code",
"execution_count": 323,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"[lam == n/tn]"
]
},
"execution_count": 323,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"solve([dlogL == 0], lam)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"(end of YouTry)\n",
"\n",
"---"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"# Example: New Zealand Earth Quakes\n",
"\n",
"We will obtain inter-EQ times from the csv file and then obtain the MLE under an IID $Exponential$ model."
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"## Step 1: Processing Timestamps and Floats with Try-Catch and more...\n",
"\n",
"We want to get a list earthquake times as a Unix time number for earthquakes occurrence times.\n",
" \n",
"Date as `origintime` is the 2nd column of the csv file of NZ Earth Quakes we downloaded in `data/earthquakes.csv`.\n",
" \n",
"We will makw a function `makeQuakeTimes` to returns a list of occurrence times.\n",
"Next we can get the time between occurrence of earthquakes as a Unix time number.\n",
"Unix time starts at 1.1.1970; the Unix time number counts seconds since 1.1.1970.\n",
"\n",
"First let's take a look at the file: where it is, how many lies it has and the first three lines using BASH commands below, repsectively."
]
},
{
"cell_type": "code",
"execution_count": 324,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"earthquakes.csv\n",
"my_earthquakes.csv\n",
"rainfallInChristchurch.csv\n",
"21017 data/earthquakes.csv\n",
"publicid,eventtype,origintime,modificationtime,longitude, latitude, magnitude, depth,magnitudetype,depthtype,evaluationmethod,evaluationstatus,evaluationmode,earthmodel,usedphasecount,usedstationcount,magnitudestationcount,minimumdistance,azimuthalgap,originerror,magnitudeuncertainty\n",
"2018p368955,,2018-05-17T12:19:35.516Z,2018-05-17T12:21:54.953Z,178.4653957,-37.51944533,2.209351541,20.9375,M,,NonLinLoc,,automatic,nz3drx,12,12,6,0.1363924727,261.0977462,0.8209633086,0\n",
"2018p368878,,2018-05-17T11:38:24.646Z,2018-05-17T11:40:26.254Z,177.8775115,-37.46115663,2.155154561,58.4375,M,,NonLinLoc,,automatic,nz3drx,11,11,7,0.3083220739,232.7487132,0.842884174,0\n"
]
}
],
"source": [
"%%sh\n",
"ls data\n",
"wc -l data/earthquakes.csv\n",
"head -3 data/earthquakes.csv"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"### Handling time-stamps in Python - in a big hurry!\n",
"\n",
"Dive into the following for details:\n",
"- [https://docs.python.org/2/library/datetime.html](https://docs.python.org/2/library/datetime.html) \n",
"- [https://docs.python.org/2/library/time.html](https://docs.python.org/2/library/time.html)"
]
},
{
"cell_type": "code",
"execution_count": 154,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"from datetime import datetime # import datetime module\n",
"\n",
"# create some date strings that are simple\n",
"string_dates = ['7/2/2011', '8/6/2012', '11/13/2013', '5/26/2011', '5/2/2001']"
]
},
{
"cell_type": "code",
"execution_count": 325,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"[datetime.datetime(2011, 7, 2, 0, 0),\n",
" datetime.datetime(2012, 8, 6, 0, 0),\n",
" datetime.datetime(2013, 11, 13, 0, 0),\n",
" datetime.datetime(2011, 5, 26, 0, 0),\n",
" datetime.datetime(2001, 5, 2, 0, 0)]"
]
},
"execution_count": 325,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# listcomp using striptime method that takes a format string we can specify\n",
"dateTimesList = [datetime.strptime(ts, '%m/%d/%Y') for ts in string_dates]\n",
"\n",
"# this gives datetime objects with year, month, day and hour and minutes set to 0\n",
"dateTimesList"
]
},
{
"cell_type": "code",
"execution_count": 326,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"[1309557600.0, 1344204000.0, 1384297200.0, 1306360800.0, 988754400.0]"
]
},
"execution_count": 326,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# But we want to convert these datetime objects into a number - unix time number\n",
"\n",
"import time # need this for our purpose\n",
"\n",
"[time.mktime(ds.timetuple()) for ds in dateTimesList]"
]
},
{
"cell_type": "code",
"execution_count": 327,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"[1309557600.0, 1344204000.0, 1384297200.0, 1306360800.0, 988754400.0]"
]
},
"execution_count": 327,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# let's do it all at once\n",
"from datetime import datetime\n",
"import time\n",
"[time.mktime(datetime.strptime(ts, '%m/%d/%Y').timetuple()) for ts in string_dates]"
]
},
{
"cell_type": "code",
"execution_count": 328,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"[datetime.datetime(2011, 7, 2, 0, 0),\n",
" datetime.datetime(2012, 8, 6, 0, 0),\n",
" datetime.datetime(2013, 11, 13, 0, 0),\n",
" datetime.datetime(2011, 5, 26, 0, 0),\n",
" datetime.datetime(2001, 5, 2, 0, 0)]"
]
},
"execution_count": 328,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# use parse in dateutil.parser to try to auto-covert common time formats\n",
"from dateutil.parser import parse\n",
"[parse(ts) for ts in string_dates]"
]
},
{
"cell_type": "code",
"execution_count": 329,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"time.struct_time(tm_year=2018, tm_mon=5, tm_mday=17, tm_hour=12, tm_min=19, tm_sec=35, tm_wday=3, tm_yday=137, tm_isdst=0)"
]
},
"execution_count": 329,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Let's see if parse works on our EQ time stamps \n",
"parse('2018-05-17T12:19:35.516Z').timetuple()"
]
},
{
"cell_type": "code",
"execution_count": 330,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"[datetime.datetime(2018, 5, 17, 12, 19, 35, 516000, tzinfo=tzutc()),\n",
" datetime.datetime(2018, 5, 17, 11, 38, 24, 646000, tzinfo=tzutc())]"
]
},
"execution_count": 330,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# So we can just use parse in a listcomp like this\n",
"EQ_string_dates = ['2018-05-17T12:19:35.516Z','2018-05-17T11:38:24.646Z']\n",
"[parse(ts) for ts in EQ_string_dates]"
]
},
{
"cell_type": "code",
"execution_count": 331,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"[1526555975.0, 1526553504.0]"
]
},
"execution_count": 331,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#Finally all in one\n",
"from datetime import datetime\n",
"import time\n",
"from dateutil.parser import parse\n",
"\n",
"EQ_string_dates = ['2018-05-17T12:19:35.516Z','2018-05-17T11:38:24.646Z']\n",
"[time.mktime(parse(ts).timetuple()) for ts in EQ_string_dates]"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Now we need to read in the csv file and grab the fields we want.\n",
"\n",
"Here are the nuts and bots of this process - without using overly auto-magic file readers."
]
},
{
"cell_type": "code",
"execution_count": 332,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"21018"
]
},
"execution_count": 332,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"with open(\"data/earthquakes.csv\") as f:\n",
" reader = f.read()\n",
" \n",
"dataList = reader.split('\\n')\n",
"len(dataList)"
]
},
{
"cell_type": "code",
"execution_count": 333,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"'publicid,eventtype,origintime,modificationtime,longitude, latitude, magnitude, depth,magnitudetype,depthtype,evaluationmethod,evaluationstatus,evaluationmode,earthmodel,usedphasecount,usedstationcount,magnitudestationcount,minimumdistance,azimuthalgap,originerror,magnitudeuncertainty'"
]
},
"execution_count": 333,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataList[0]"
]
},
{
"cell_type": "code",
"execution_count": 334,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"'2018p368955,,2018-05-17T12:19:35.516Z,2018-05-17T12:21:54.953Z,178.4653957,-37.51944533,2.209351541,20.9375,M,,NonLinLoc,,automatic,nz3drx,12,12,6,0.1363924727,261.0977462,0.8209633086,0'"
]
},
"execution_count": 334,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataList[1]"
]
},
{
"cell_type": "code",
"execution_count": 338,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"''"
]
},
"execution_count": 338,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataList[21017] # looks like the last line is empty!"
]
},
{
"cell_type": "code",
"execution_count": 336,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"'2017p408120,earthquake,2017-06-01T00:07:04.890Z,2017-06-01T07:20:23.994Z,175.4930025,-39.31558765,1.298107247,13.5546875,M,,NonLinLoc,confirmed,manual,nz3drx,28,19,13,0.04550182409,86.69529793,0.2189521352,0'"
]
},
"execution_count": 336,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataList[-2] # but the second-last line looks okay"
]
},
{
"cell_type": "code",
"execution_count": 339,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"from datetime import datetime\n",
"import time\n",
"from dateutil.parser import parse\n",
"\n",
"myDataAccumulatorList =[]\n",
"for data in dataList[1:-1]:\n",
" dataRow = data.split(',')\n",
" myTimeString = dataRow[2] # origintime\n",
" # let's also grab longitude, latitude, magnitude, depth\n",
" myDataString = [dataRow[4],dataRow[5],dataRow[6],dataRow[7]]\n",
" try: \n",
" myTypedTime = time.mktime(parse(myTimeString).timetuple())\n",
" myFloatData = [float(x) for x in myDataString]\n",
" myFloatData.append(myTypedTime) # append the processed timestamp\n",
" myDataAccumulatorList.append(myFloatData)\n",
" except TypeError, e: # error handling for type incompatibilities\n",
" print 'Error: Error is ', e"
]
},
{
"cell_type": "code",
"execution_count": 340,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"21016"
]
},
"execution_count": 340,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(myDataAccumulatorList)"
]
},
{
"cell_type": "code",
"execution_count": 341,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"[[178.4653957, -37.51944533, 2.209351541, 20.9375, 1526555975.0],\n",
" [177.8775115, -37.46115663, 2.155154561, 58.4375, 1526553504.0],\n",
" [173.2372626, -41.23518154, 2.253095604, 84.6875, 1526550406.0],\n",
" [173.6257813, -42.31633991, 2.177032628, 10.15625, 1526547706.0],\n",
" [174.0910246, -40.24770738, 2.795031407, 79.53125, 1526546404.0]]"
]
},
"execution_count": 341,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"myDataAccumulatorList[0:5] # so all looks okay!"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Now let's be good programmers and wrap all of this bits and bobs into a function."
]
},
{
"cell_type": "code",
"execution_count": 342,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"def getLonLatMagDepTimes(NZEQCsvFileName):\n",
" '''returns longitude, latitude, magnitude, depth and the origin time as unix time\n",
" for each observed earthquake in the csv filr named NZEQCsvFileName'''\n",
" from datetime import datetime\n",
" import time\n",
" from dateutil.parser import parse\n",
" import numpy as np\n",
" \n",
" with open(NZEQCsvFileName) as f:\n",
" reader = f.read() \n",
" dataList = reader.split('\\n')\n",
" \n",
" myDataAccumulatorList =[]\n",
" for data in dataList[1:-1]:\n",
" dataRow = data.split(',')\n",
" myTimeString = dataRow[2] # origintime\n",
" # let's also grab longitude, latitude, magnitude, depth\n",
" myDataString = [dataRow[4],dataRow[5],dataRow[6],dataRow[7]]\n",
" try: \n",
" myTypedTime = time.mktime(parse(myTimeString).timetuple())\n",
" myFloatData = [float(x) for x in myDataString]\n",
" myFloatData.append(myTypedTime) # append the processed timestamp\n",
" myDataAccumulatorList.append(myFloatData)\n",
" except TypeError, e: # error handling for type incompatibilities\n",
" print 'Error: Error is ', e\n",
" return np.array(myDataAccumulatorList)"
]
},
{
"cell_type": "code",
"execution_count": 343,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"myProcessedArray = getLonLatMagDepTimes('data/earthquakes.csv')"
]
},
{
"cell_type": "code",
"execution_count": 344,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"(21016, 5)"
]
},
"execution_count": 344,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"myProcessedArray.shape"
]
},
{
"cell_type": "code",
"execution_count": 345,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 1.78465396e+02, -3.75194453e+01, 2.20935154e+00,\n",
" 2.09375000e+01, 1.52655598e+09],\n",
" [ 1.77877511e+02, -3.74611566e+01, 2.15515456e+00,\n",
" 5.84375000e+01, 1.52655350e+09],\n",
" [ 1.73237263e+02, -4.12351815e+01, 2.25309560e+00,\n",
" 8.46875000e+01, 1.52655041e+09],\n",
" [ 1.73625781e+02, -4.23163399e+01, 2.17703263e+00,\n",
" 1.01562500e+01, 1.52654771e+09],\n",
" [ 1.74091025e+02, -4.02477074e+01, 2.79503141e+00,\n",
" 7.95312500e+01, 1.52654640e+09]])"
]
},
"execution_count": 345,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"myProcessedArray[0:5,:] # so all looks okay!"
]
},
{
"cell_type": "code",
"execution_count": 346,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"def interQuakeTimes(quakeTimes):\n",
" '''Return a list inter-earthquake times in seconds from earthquake origin times\n",
" Date and time elements are expected to be in the 5th column of the array\n",
" Return a list of inter-quake times in seconds. NEEDS sorted quakeTimes Data'''\n",
" import numpy as np\n",
" retList = []\n",
" if len(quakeTimes) > 1:\n",
" retList = [quakeTimes[i]-quakeTimes[i-1] for i in range(1,len(quakeTimes))]\n",
" return np.array(retList)"
]
},
{
"cell_type": "code",
"execution_count": 347,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"[1526546404.0, 1526547706.0, 1526550406.0, 1526553504.0, 1526555975.0]"
]
},
"execution_count": 347,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sorted(myProcessedArray[0:5,4]) # the time-stamps in file are not ordered"
]
},
{
"cell_type": "code",
"execution_count": 348,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"array([ 1302., 2700., 3098., 2471.])"
]
},
"execution_count": 348,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"interQuakeTimes(sorted(myProcessedArray[0:5,4]))"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Finally we have the inter-EQ times in seconds as a numpy array `interQuakesSecs`."
]
},
{
"cell_type": "code",
"execution_count": 349,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"21015"
]
},
"execution_count": 349,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"interQuakesSecs = interQuakeTimes(sorted(myProcessedArray[:,4]))\n",
"len(interQuakesSecs)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"It is time to make a model for these inter-EQ times, i.e., go from the observed data to the best fitting parameter of a simple model!"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"## Step 2: Modeling Inter-earthquake Times for New Zealand Earthquakes\n",
"\n",
"The $Exponential$ is often suitable for modelling the time between occurences of some event, like the time between buses at a bus-stop. We could try to model the inter-earthquake times of New Zealand earthquakes as IID $Exponential(\\lambda^*)$ random variables and use our earthquakes data to calculate an MLE for $\\lambda^*$."
]
},
{
"cell_type": "code",
"execution_count": 350,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"array([ 531., 551., 764., 294., 678., 1538., 376., 364.,\n",
" 208., 242.])"
]
},
"execution_count": 350,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"interQuakesSecs[0:10] # first ten inter-EQ times"
]
},
{
"cell_type": "code",
"execution_count": 351,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"1441.0635736378777"
]
},
"execution_count": 351,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"interQuakesSecs.mean() # sample mean inter-quake times"
]
},
{
"cell_type": "code",
"execution_count": 353,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"24.01772622729796"
]
},
"execution_count": 353,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"interQuakesSecs.mean()/60.0 # sample mean in minutes"
]
},
{
"cell_type": "code",
"execution_count": 355,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"2488808.0126131633"
]
},
"execution_count": 355,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"interQuakesSecs.var() # sample variance"
]
},
{
"cell_type": "code",
"execution_count": 356,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"26.293260715613268"
]
},
"execution_count": 356,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"interQuakesSecs.std()/60.0 # sample std in seconds"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Our (very simplistic) model is:\n",
"\n",
"$X_1, X_2, \\ldots, X_n \\overset{IID}{\\sim} Exponential(\\lambda^*)$ \n",
"\n",
"with observations $x_1, x_2, \\ldots, x_n$ in the array `interQuakesSecs` and $n$ the number of elements in the list.\n",
"\n",
"The sum function can tell us $t_n = \\displaystyle\\sum_{i=1}^n x_i$"
]
},
{
"cell_type": "code",
"execution_count": 357,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"30283951.0"
]
},
"execution_count": 357,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sum(interQuakesSecs)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"We can get a quick look at the shape of the data using a histogram:"
]
},
{
"cell_type": "code",
"execution_count": 358,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"image/png": "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\n/we9Z4o1T7ul9QAAAABJRU5ErkJggg==\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"pylab.clf() # clear current figure\n",
"n, bins, patches = pylab.hist(interQuakesSecs, 50) # make the histogram (don't have to have n, bins, patches = ...)\n",
"pylab.xlabel('inter-quake time (seconds)') # use pyplot methods to set labels, titles etc similar to as in matlab\n",
"pylab.ylabel('count')\n",
"pylab.title('Count histogram for inter-quake times')\n",
"pylab.savefig('myHist') # seem to need to have this to be able to actually display the figure\n",
"pylab.show() # and finally show it"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Our 'best single guess' or point estimate $\\widehat{\\lambda}_n$ of the unknown $\\lambda^* \\in (0,\\infty)$ is $\\frac{n}{t_n}$"
]
},
{
"cell_type": "code",
"execution_count": 359,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"0.00069393191132821478"
]
},
"execution_count": 359,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"n = len(interQuakesSecs)\n",
"tn = sum(interQuakesSecs)\n",
"bestGuessSecs = n/tn\n",
"bestGuessSecs"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Can you see how $\\widehat{\\lambda}_n$ relates to the sample mean? Think about the Expectation of an $Exponential$ RV."
]
},
{
"cell_type": "code",
"execution_count": 360,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"1441.0635736378777"
]
},
"execution_count": 360,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"interQuakesSecs.mean() # mean inter-earthquake times in seconds again"
]
},
{
"cell_type": "code",
"execution_count": 361,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"1441.0635736378777"
]
},
"execution_count": 361,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"1/bestGuessSecs"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"What about converting our data to give the inter-quake times in minutes rather than seconds:"
]
},
{
"cell_type": "code",
"execution_count": 362,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"import numpy as np\n",
"interQuakesMins = np.array([t/60 for t in interQuakesSecs])"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"And getting the best guess for $\\lambda^*$ with the units as minutes:"
]
},
{
"cell_type": "code",
"execution_count": 364,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"0.041635914679692881"
]
},
"execution_count": 364,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"n = len(interQuakesMins)\n",
"tn = sum(interQuakesMins)\n",
"bestGuessMins = n/tn\n",
"bestGuessMins"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Can you see how $\\widehat{\\lambda}_n$ relates to the sample mean? Think about the Expectation of an $Exponential$ RV."
]
},
{
"cell_type": "code",
"execution_count": 365,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"24.017726227297963"
]
},
"execution_count": 365,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"interQuakesMins.mean() # mean inter-earthquake times in minutes"
]
},
{
"cell_type": "code",
"execution_count": 366,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"24.017726227297963"
]
},
"execution_count": 366,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"1/bestGuessMins"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"What about the relationship between the best guess values for $\\lambda^*$ when we are measuring time in different units. Does this fit with the idea of $\\lambda$ as a \"rate\"?"
]
},
{
"cell_type": "code",
"execution_count": 367,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"0.041635914679692888"
]
},
"execution_count": 367,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"bestGuessSecs*60"
]
},
{
"cell_type": "code",
"execution_count": 368,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"504732.51666666666"
]
},
"execution_count": 368,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"interQuakesMins.sum()"
]
},
{
"cell_type": "code",
"execution_count": 369,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"image/png": "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\n8ZTLsNdHW9SzLekXdPG4GBFtUTIKGM1Kdjw0UGuLejpzPHR7lPJwfJBOlbwAHEiaQfED0mjqV3e7\nbh3c52+TpvhtBOwIXEWKgl+Vl59GGuuwK2mA2k3ADd2ud5v2fU1SF+ibSTMEPpefvzYv/1J+/f8F\neBPwc+AvwOqFMq4AbgfeSupWnw1c0O19a1c75GUnkIK2jUgf1LcDPcBqI6wdTiPNfHgH6Rdh7TGm\nlKfh+4H0YX4XaZzQ1qRZV3OB47q9f+1sC2BT4Ghgu3xcvAf4K3DtSGoL4BukU4cbAW8kjfd6Cfjn\nlel46KsthvJ46HpDDNcH8CngIVIQcwvwlm7XqcP7O4M0HfwF0ij5HwGbFJaPJl3voZc0QOsnwPhu\n17tN+74L6ct6SelxdiHPMaReqOdJI+M3L5WxDnAh6dfDPOCHwBrd3rd2tQNpYN6VpF6ohcADwOmU\nAvoR0g712mAJcGAhT5/vB1LQdznwbP5wPh4Y1e39a2dbAK8Bfgs8ld8bs/OX2VojqS2AM/Mx/0J+\nD/yaHLisTMdDX20xlMeDb8xoZmZmleIxL2ZmZlYpDl7MzMysUhy8mJmZWaU4eDEzM7NKcfBiZmZm\nleLgxczMzCrFwYuZmZlVioMXMzMzqxQHL2ZtJOk3kk7sdj26QdIukpbWuUFdJ7bV1XaWdL2kDwyy\njOmSZrWrTp0iaTVJD0rartt1MavxFXbN2kjSOsCLEfFci/k3It0T5c0RcXdHK9dhknYBrgXWjYgF\nbSzzN8A6xTL7287tJOk9wPERMXGQ5awBjI6Iee2pWeeOJ0mfAv4tIt7VrjLNBsM9L2ZtFBFP9/ML\nVaQ7rg6apFXbUc4wU2sfFRMH0M7tdDhwzmALiYjn2xm4ZG07nkp+BOwkaVABm1m7OHgxa6Py6Yzc\n3X6UpLMkLZD0N0kfK6zyQP77h3zK5drCuh+VdK+kF/LfwwrLNsr5D5D0W0nPAx9sUq8vS5ojab6k\nMyV9U9Kdjeqd034m6ezC8w9J+n3ejyckXSTp1U22+QpJv5J0Q+1UkqTXSPofSfMk9Ur6ee4tqLf+\nRqSeHIB5kpbU6tOgnb8q6TxJz0h6SNK/SBqXt/GMpLskTSptY6d8Cuj5/Np8L/eINNqncaS7515W\nSl8q6eOS/lfSc/n1mixps1zXZyXdJGmTwjrTS6/BObnNvyDp8dw+p0hapbSd95S2PU/SgfnpQI+n\n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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"pylab.clf() # clear current figure\n",
"t = np.arange(0.0000000000001, 1000., 0.01)\n",
"n, bins, patches = pylab.hist(interQuakesMins, 50) # make the histogram (don't have to have n, bins, patches = ...)\n",
"pylab.xlabel('inter-quake time (minutes)') # use pyplot methods to set labels, titles etc similar to as in matlab\n",
"pylab.ylabel('count')\n",
"pylab.title('Count histogram for inter-quake times')\n",
"pylab.savefig('myHist') # seem to need to have this to be able to actually display the figure\n",
"pylab.show() # and finally show it"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"### Some pointers on plotting in SageMath and Python\n",
"\n",
"Here is a simple plot with three functions.\n",
"\n",
"And the following one uses the histogram above and plots another function on top of it. These and more examples are from:\n",
"\n",
"- [https://matplotlib.org/2.0.1/index.html](https://matplotlib.org/2.0.1/index.html)\n",
"- specifically from: [https://matplotlib.org/2.0.1/examples/pyplots/pyplot_three.html](https://matplotlib.org/2.0.1/examples/pyplots/pyplot_three.html)\n",
"\n",
"Check out the matplotlib gallery:\n",
"\n",
"- [https://matplotlib.org/2.0.1/gallery.html](https://matplotlib.org/2.0.1/gallery.html)"
]
},
{
"cell_type": "code",
"execution_count": 372,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# evenly sampled time at 200ms intervals\n",
"t = np.arange(0.0000000000001, 10., 1)\n",
"\n",
"# red dashes, blue squares and green triangles\n",
"plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 373,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"pylab.clf() # clear current figure\n",
"t = np.arange(0.0000000000001, 1000., 0.01)\n",
"n, bins, patches = pylab.hist(interQuakesMins, 50) # make the histogram (don't have to have n, bins, patches = ...)\n",
"pylab.xlabel('inter-quake time (minutes)') # use pyplot methods to set labels, titles etc similar to as in matlab\n",
"pylab.ylabel('count')\n",
"pylab.title('Count histogram for inter-quake times')\n",
"pylab.savefig('myHist') # seem to need to have this to be able to actually display the figure\n",
"# red dashes superimposed on histogram\n",
"pylab.plot(t, t, 'r--')\n",
"pylab.show() # and finally show it"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"## YouTry (later)\n",
"\n",
"If you have time and you want to do more with Sage symbolic expressions, have a look at this optional section. You should only start it when you are happy with the essential material above. \n",
"\n",
"Try solving a system of equations:"
]
},
{
"cell_type": "code",
"execution_count": 261,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"[[p == 1, q == 8, x == -4/3*sqrt(10) - 2/3, y == 1/6*sqrt(10) - 2/3], [p == 1, q == 8, x == 4/3*sqrt(10) - 2/3, y == -1/6*sqrt(10) - 2/3]]"
]
},
"execution_count": 261,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"var('x y p q')\n",
"eq1 = p + q == 9\n",
"eq2 = q*y + p*x == -6\n",
"eq3 = q*y^2 + p*x^2 == 24\n",
"solve([eq1, eq2, eq3, p==1], p, q, x, y)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"If you look at the documentation for the `solve(...)` function, you'll see that you have the option of returning a list of dictionaries of the solutions. \n",
"\n",
"Think about that: a list of dictionaries of the solutions. \n",
"\n",
"So, there can be more than one combination of variable values that can provide a solution, and a convenient way to indicate the values of each variable within each 'solving combination' is using a dictionary which maps a value to a variable (key). "
]
},
{
"cell_type": "code",
"execution_count": 262,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"?solve"
]
},
{
"cell_type": "code",
"execution_count": 263,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"[{x: -4/3*sqrt(10) - 2/3, q: 8, p: 1, y: 1/6*sqrt(10) - 2/3},\n",
" {x: 4/3*sqrt(10) - 2/3, q: 8, p: 1, y: -1/6*sqrt(10) - 2/3}]"
]
},
"execution_count": 263,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"solns = solve([eq1, eq2, eq3, p==1], p, q, x, y, solution_dict = true)\n",
"solns"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"When we have the list of dictionaries of the solutions, we can have a look at the values. The following cell uses a list comprehension to take each dictionary in the list and find the values mapped to each variable. "
]
},
{
"cell_type": "code",
"execution_count": 264,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"[[1.000000000, 8.000000000, -4.883036880, -0.1396203900],\n",
" [1.000000000, 8.000000000, 3.549703547, -1.193712943]]"
]
},
"execution_count": 264,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"[[s[p].n(digits=10), s[q].n(digits=10), s[x].n(digits=10), s[y].n(digits=10)] \\\n",
" for s in solns]"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"Try some other systems of equations, or other features which catch your eye in the help page. "
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"# Take the Feature Tour of SageMath Now!\n",
"\n",
"[http://www.sagemath.org/tour.html](http://www.sagemath.org/tour.html)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "SageMath 8.1",
"language": "",
"name": "sagemath"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.14"
}
},
"nbformat": 4,
"nbformat_minor": 2
}