{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#Statistical Inference for Everyone: Technical Supplement\n",
"\n",
"\n",
"\n",
"This document is the technical supplement, for instructors, for [Statistical Inference for Everyone], the introductory statistical inference textbook from the perspective of \"probability theory as logic\".\n",
"\n",
"\n",
"\n",
"[Statistical Inference for Everyone]: http://web.bryant.edu/~bblais/statistical-inference-for-everyone-sie.html\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Estimating the Ratio of Two Variances $\\kappa\\equiv \\sigma_x^2/\\sigma_y^2$\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$\\newcommand{\\bvec}[1]{\\mathbf{#1}}$\n",
"\n",
"From *Estimating the Deviation* we have\n",
"\\begin{eqnarray}\n",
"p(\\sigma_x|\\bvec{x},I)&\\propto& \\frac{1}{\\sigma_x^{n}}e^{-V_x/2\\sigma_x^2} \n",
"\\end{eqnarray}\n",
"For independent $\\bvec{x}$ and $\\bvec{y}$ we have\n",
"\\begin{eqnarray}\n",
"p(\\sigma_x,\\sigma_y|\\bvec{x},\\bvec{y},I)&\\propto& \n",
"\\frac{1}{\\sigma_x^{n}}\\frac{1}{\\sigma_y^{m}}\n",
"e^{-V_x/2\\sigma_x^2}e^{-V_y/2\\sigma_y^2}\n",
"\\end{eqnarray}\n",
"Changing variables to $\\kappa\\equiv \\sigma_x^2/\\sigma_y^2$, we have the\n",
"following definitions\n",
"\\begin{eqnarray}\n",
"\\kappa&\\equiv& \\sigma_x^2/\\sigma_y^2 \\\\\\\\\n",
"\\sigma_x&=&\\sigma_y \\kappa^{1/2} \\\\\\\\\n",
"\\sigma_y&=&\\sigma_x \\kappa^{-1/2}\n",
"\\end{eqnarray}\n",
"and then transform the posterior\n",
"\\begin{eqnarray}\n",
"p(\\kappa,\\sigma_x|\\bvec{x},\\bvec{y},I)&=&\n",
" p(\\sigma_x,\\sigma_y|\\bvec{x},\\bvec{y},I)\\times\n",
" \\left|\\frac{\\partial(\\sigma_x,\\sigma_y)}{\\partial(\\kappa,\\sigma_x)}\\right| \\\\\\\\\n",
"&=& p(\\sigma_x,\\sigma_y|\\bvec{x},\\bvec{y},I)\\times\n",
"\\left| \\begin{array}{cc}\n",
" \\frac{\\partial\\sigma_x}{\\partial \\kappa} & \\frac{\\partial\n",
"\\sigma_x}{\\partial \\sigma_x}\\\\\\\\ \n",
" \\frac{\\partial\\sigma_y}{\\partial \\kappa} & \\frac{\\partial\n",
"\\sigma_y}{\\partial \\sigma_x} \\\\\\\\\n",
" \\end{array}\n",
" \\right|\\\\\\\\\n",
"&=& p(\\sigma_x,\\sigma_y|\\bvec{x},\\bvec{y},I)\\times\n",
"\\left| \\begin{array}{cc}\n",
" \\frac{1}{2}\\sigma_y \\kappa^{-1/2} & 1 \\\\\\\\\n",
" -\\frac{1}{2}\\sigma_x \\kappa^{-3/2} & 0 \n",
" \\end{array}\n",
" \\right|\\\\\\\\\n",
"&\\propto&\\frac{1}{\\sigma_x^{n}}\\frac{\\kappa^{m/2}}{\\sigma_x^{m}}\n",
"e^{-V_x/2\\sigma_x^2}e^{-V_y\\kappa/2\\sigma_x^2} \\sigma_x \\kappa^{-3/2}\n",
"\\end{eqnarray}\n",
"Now we integrate out the nuisance parameter, $\\sigma_x$, to get\n",
"\n",
"\\begin{eqnarray}\n",
"p(\\kappa|\\bvec{x},\\bvec{y},I)&=&\\int d\\sigma_x\n",
"p(\\kappa,\\sigma_x|\\bvec{x},\\bvec{y},I) \\\\\\\\\n",
"&\\propto& \\kappa^{(m-3)/2} \\int d\\sigma_x \\frac{1}{\\sigma_x^{n+m-1}}\n",
"e^{-(V_x+V_y\\kappa)/2\\sigma_x^2}\n",
"\\end{eqnarray}\n",
"from the gaussian integral trick we get\n",
"\n",
"\\begin{eqnarray}\n",
"p(\\kappa|\\bvec{x},\\bvec{y},I)&\\propto&\\kappa^{(m-3)/2}\n",
"(V_x+V_y\\kappa)^{(n+m-2)/2}\n",
"\\end{eqnarray}\n",
"\n",
"A more common form is found with the substitutions\n",
"\\begin{eqnarray}\n",
"\\eta &\\equiv&\\kappa\\times \\frac{(V_y/f_y)}{(V_x/f_x)} \\\\\\\\\n",
"f_x&\\equiv&n-1 \\\\\\\\\n",
"f_y&\\equiv&m-1\n",
"\\end{eqnarray}\n",
"\n",
"from which it follows\n",
"\\begin{eqnarray}\n",
"p(\\eta|\\bvec{x},\\bvec{y},I)&\\propto&\n",
"\\eta^{\\frac{f_y}{2}-1} (f_x+f_y\\eta)^{(f_x+f_y)/2}\n",
"\\end{eqnarray}\n",
"which is the commonly used F distribution.\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"---------------------"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n"
],
"text/plain": [
""
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from IPython.core.display import HTML\n",
"\n",
"\n",
"def css_styling():\n",
" styles = open(\"../styles/custom.css\", \"r\").read()\n",
" return HTML(styles)\n",
"css_styling()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"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.9"
}
},
"nbformat": 4,
"nbformat_minor": 0
}