Skip to content

Instantly share code, notes, and snippets.

@knedlsepp
Last active January 24, 2016 16:32
Show Gist options
  • Select an option

  • Save knedlsepp/4d251848fe1506aececb to your computer and use it in GitHub Desktop.

Select an option

Save knedlsepp/4d251848fe1506aececb to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 42,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Wenn das Radium perfekt einem exponentiellen Zerfall genügen würde, dann würde es folgendem Gesetz gehorchen:\n",
"$$m = d \\cdot e^{kt}$$\n",
"Wenn wir beide Seiten logarithmieren, dann erhalten wir:\n",
"$$ log(m) = log(d) + kt$$\n",
"Da wir aber sowohl Messfehler als auch Modellfehler berücksichtigen müssen, wird diese Gleichung niemals exakt erfüllt sein. Stattdessen suchen wir nun bestmögliche $k$ und $d$ finden. In unserem Fall verwenden wir als Maß für \"bestmöglich\" die Summe der Abstandsquadrate, die wir minimieren wollen.\n",
"\n",
"$$V(k,d) = \\sum_{i=1}^{n} [log(m_i) - (log(d) + kt_i)]^2$$\n",
"\n",
"Mit etwas anderer Notation: $\\hat{m}_i := log(m_i)$ und $\\hat{d} := log(d_i)$ können wir die Formel etwas einfacher hinschreiben.\n",
"$$V(k,\\hat{d}) = \\sum_{i=1}^{n} [\\hat{m}_i - (\\hat{d} + kt_i)]^2$$\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Die Funktion $V$, die von $k$ und $\\hat{d}$ abhängt, wird minimiert indem wir die Nullstellen ihrer Ableitung finden.\n",
"Die Ableitung von $V$ an einer Stelle $(k, \\hat{d})$ ist folgender $1 \\times 2$ Vektor:\n",
"\n",
"$$dV = (\\partial_k V, \\partial_\\hat{d} V) = \\left(\\sum_{i=1}^n 2\\cdot[\\hat{m}_i - (\\hat{d} + kt_i)]\\cdot(-t_i), \\sum_{i=1}^n 2\\cdot[\\hat{m}_i - (\\hat{d} + kt_i)]\\cdot(-1)\\right)$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Wir setzen diesen Vektor also gleich $(0,0)$:\n",
"\n",
"$$dV = 2 \\cdot \\left(\\sum_{i=1}^n [\\hat{m}_i - (\\hat{d} + kt_i)]\\cdot(-t_i), \\sum_{i=1}^n [\\hat{m}_i - (\\hat{d} + kt_i)]\\cdot(-1)\\right) = (0,0)$$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Die zwei Gleichungen die sich aus den Komponenten ergeben kann man nun wie folgt umformen um schlussendlich ein linear Gleichungssystem zu erhalten.\n",
"\n",
"#### Erste Gleichung:\n",
"\n",
"\n",
"$$\\sum_{i=1}^n (\\hat{m}_i - (\\hat{d} + kt_i))(-t_i) = 0$$\n",
"$$\\sum_{i=1}^n -t_i\\hat{m}_i + \\sum_{i=1}^n t_i\\hat{d} + \\sum_{i=1}^n k t_i^2 = 0$$\n",
"$$\\hat{d} \\sum_{i=1}^n t_i + k \\sum_{i=1}^n t_i^2 = \\sum_{i=1}^n t_i \\hat{m}_i$$\n",
"\n",
"#### Zweite Gleichung:\n",
"\n",
"$$ \\sum_{i=1}^n -(\\hat{m}_i - (\\hat{d} + kt_i)) = 0$$\n",
"$$ -\\sum_{i=1}^n \\hat{m}_i + \\sum_{i=1}^n \\hat{d} + k\\sum_{i=1}^n t_i = 0$$\n",
"$$ \\hat{d} \\sum_{i=1}^n (1) + k\\sum_{i=1}^n t_i = \\sum_{i=1}^n \\hat{m}_i$$\n",
"\n",
"\n",
"#### Beide Gleichungen in Matrix-Darstellung:\n",
"\n",
"$$ \\begin{pmatrix}\n",
" \\sum_{i=1}^n t_i & \\sum_{i=1}^n t_i^2 \\\\\n",
" \\sum_{i=1}^n (1) & \\sum_{i=1}^n t_i \\\\ \n",
" \\end{pmatrix}\n",
" \\cdot\n",
" \\begin{pmatrix}\n",
" \\hat{d} \\\\\n",
" k\n",
" \\end{pmatrix}\n",
" = \n",
" \\begin{pmatrix}\n",
" \\sum_{i=1}^n t_i \\hat{m}_i \\\\\n",
" \\sum_{i=1}^n \\hat{m}_i\n",
" \\end{pmatrix}\n",
"$$\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Nun können wir unsere echten Daten, die $t_i$ und $\\hat{m}_i$ in die Gleichung einsetzen und erhalten folgende Lösung:"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"t = [ 0.322 1.184 2.321 3.165 5.43 ]\n",
"m = [ 2.133 1.811 1.457 1.242 0.808]\n",
"mhat = [ 0.75752944 0.59387918 0.37637953 0.21672298 -0.21319322]\n"
]
}
],
"source": [
"t = np.asarray([0.322, 1.184, 2.321, 3.165, 5.430])\n",
"m = np.asarray([2.133, 1.811, 1.457, 1.242, 0.808])\n",
"mhat = np.log(m)\n",
"print \"t = \", t\n",
"print \"m = \", m\n",
"print \"mhat = \", mhat"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"A = \n",
"[[ 12.422 46.394706]\n",
" [ 5. 12.422 ]]\n"
]
}
],
"source": [
"A = np.matrix([[np.sum(t), np.sum(t**2)], [len(t), np.sum(t)]])\n",
"print \"A = \"\n",
"print A"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"b = \n",
"[[ 1.34894337]\n",
" [ 1.73131791]]\n"
]
}
],
"source": [
"b = np.matrix([[np.sum(t*mhat)],[np.sum(mhat)]])\n",
"print \"b = \"\n",
"print b"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"dhat, k = [ 0.81845631] [-0.19006308]\n",
"d, k = [ 2.26699758] [-0.19006308]\n"
]
}
],
"source": [
"x = np.linalg.solve(A,b)\n",
"dhat, k = np.asarray(x)\n",
"print \"dhat, k = \", dhat, k\n",
"\n",
"d, k = np.exp(dhat), k\n",
"print \"d, k = \", d, k"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7f8230477b50>]"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f8230477510>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(t, m,'x')\n",
"t_fine = np.linspace(0, 6, 100)\n",
"plt.plot(t_fine, d*np.exp(k*t_fine))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"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.10"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment