markov-models/scratchpad.ipynb

346 lines
171 KiB
Plaintext
Raw Normal View History

2020-12-10 21:43:15 +00:00
{
"cells": [
{
2020-12-11 21:33:20 +00:00
"cell_type": "code",
"execution_count": 1,
2020-12-10 21:43:15 +00:00
"metadata": {},
2020-12-11 21:33:20 +00:00
"outputs": [],
2020-12-10 21:43:15 +00:00
"source": [
2020-12-11 21:33:20 +00:00
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
2020-12-10 21:43:15 +00:00
"\n",
2020-12-11 21:33:20 +00:00
"from constants import *\n",
"from maths import gaussian\n",
2020-12-31 19:30:39 +00:00
"from markov import MarkovModel\n",
"from markovlog import LogMarkovModel"
2020-12-11 21:33:20 +00:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Scratchpad\n",
"===================="
2020-12-10 21:43:15 +00:00
]
},
{
"cell_type": "code",
"execution_count": 2,
2020-12-10 21:43:15 +00:00
"metadata": {},
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0.92"
2020-12-10 21:43:15 +00:00
]
},
"metadata": {},
"execution_count": 2
2020-12-10 21:43:15 +00:00
}
],
"source": [
"state1.mean\n",
"state_transition[1,1]"
2020-12-10 21:43:15 +00:00
]
},
2020-12-11 21:33:20 +00:00
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0.0004984553049661319"
]
},
"metadata": {},
"execution_count": 3
}
],
"source": [
"gaussian(490, 5, 500)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n<!-- Created with matplotlib (https://matplotlib.org/) -->\r\n<svg height=\"248.518125pt\" version=\"1.1\" viewBox=\"0 0 384.828125 248.518125\" width=\"384.828125pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <metadata>\r\n <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\r\n <cc:Work>\r\n <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\r\n <dc:date>2020-12-24T14:57:48.898749</dc:date>\r\n <dc:format>image/svg+xml</dc:format>\r\n <dc:creator>\r\n <cc:Agent>\r\n <dc:title>Matplotlib v3.3.3, https://matplotlib.org/</dc:title>\r\n </cc:Agent>\r\n </dc:creator>\r\n </cc:Work>\r\n </rdf:RDF>\r\n </metadata>\r\n <defs>\r\n <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\r\n </defs>\r\n <g id=\"figure_1\">\r\n <g id=\"patch_1\">\r\n <path d=\"M 0 248.518125 \r\nL 384.828125 248.518125 \r\nL 384.828125 0 \r\nL 0 0 \r\nz\r\n\" style=\"fill:none;\"/>\r\n </g>\r\n <g id=\"axes_1\">\r\n <g id=\"patch_2\">\r\n <path d=\"M 42.828125 224.64 \r\nL 377.628125 224.64 \r\nL 377.628125 7.2 \r\nL 42.828125 7.2 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n </g>\r\n <g id=\"matplotlib.axis_1\">\r\n <g id=\"xtick_1\">\r\n <g id=\"line2d_1\">\r\n <defs>\r\n <path d=\"M 0 0 \r\nL 0 3.5 \r\n\" id=\"m49f25412fb\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n </defs>\r\n <g>\r\n <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"58.046307\" xlink:href=\"#m49f25412fb\" y=\"224.64\"/>\r\n </g>\r\n </g>\r\n <g id=\"text_1\">\r\n <!-- 0 -->\r\n <g transform=\"translate(54.865057 239.238437)scale(0.1 -0.1)\">\r\n <defs>\r\n <path d=\"M 31.78125 66.40625 \r\nQ 24.171875 66.40625 20.328125 58.90625 \r\nQ 16.5 51.421875 16.5 36.375 \r\nQ 16.5 21.390625 20.328125 13.890625 \r\nQ 24.171875 6.390625 31.78125 6.390625 \r\nQ 39.453125 6.390625 43.28125 13.890625 \r\nQ 47.125 21.390625 47.125 36.375 \r\nQ 47.125 51.421875 43.28125 58.90625 \r\nQ 39.453125 66.40625 31.78125 66.40625 \r\nz\r\nM 31.78125 74.21875 \r\nQ 44.046875 74.21875 50.515625 64.515625 \r\nQ 56.984375 54.828125 56.984375 36.375 \r\nQ 56.984375 17.96875 50.515625 8.265625 \r\nQ 44.046875 -1.421875 31.78125 -1.421875 \r\nQ 19.53125 -1.421875 13.0625 8.265625 \r\nQ 6.59375 17.96875 6.59375 36.375 \r\nQ 6.59375 54.828125 13.0625 64.515625 \r\nQ 19.53125 74.21875 31.78125 74.21875 \r\nz\r\n\" id=\"DejaVuSans-48\"/>\r\n </defs>\r\n <use xlink:href=\"#DejaVuSans-48\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"xtick_2\">\r\n <g id=\"line2d_2\">\r\n <g>\r\n <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"118.979968\" xlink:href=\"#m49f25412fb\" y=\"224.64\"/>\r\n </g>\r\n </g>\r\n <g id=\"text_2\">\r\n <!-- 200 -->\r\n <g transform=\"translate(109.436218 239.238437)scale(0.1 -0.1)\">\r\n <defs>\r\n <path d=\"M 19.1875 8.296875 \r\nL 53.609375 8.296875 \r\nL 53.609375 0 \r\nL 7.328125 0 \r\nL 7.328125 8.296875 \r\nQ 12.9375 14.109375 22.625 23.890625 \r\nQ 32.328125 33.6875 34.8125 36.53125 \r\nQ 39.546875 41.84375 41.421875 45.53125 \r\nQ 43.3125 49.21875 43.3125 52.78125 \r\nQ 43.3125 58.59375 39.234375 62.25 \r\nQ 35.15625 65.921875 28.609375 65.921875 \r\nQ 23.96875 65.921875 18.8125 64.3125 \r\nQ 13.671875 62.703125 7.8125 59.421875 \r\nL 7.8125 69.390625 \r\nQ 13.765625 71.78125 18.9375 73 \r\nQ 24.125 74.21875 28.421875 74.21875 \r\nQ 39.75 74.21875 46.484375 68.546875 \r\nQ 53.21875 62.890625 53.21875 53.421875 \r\nQ 53.21875 48.921875 51.53125 44.890625 \r\nQ 49.859375 40.875 45.40625 35.40625 \r\nQ 44.1875 33.984375 37.640625 27.21875 \r\nQ 31.109375 20.453125 19.1875 8.296875 \r\nz\r\n\" id=\"DejaVuSa
2020-12-11 21:33:20 +00:00
"image/png": "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
},
"metadata": {
"needs_background": "light"
}
}
],
"source": [
"x = list(range(0, 1000))\n",
"y = [gaussian(i, 500, 50) for i in x]\n",
"\n",
"plt.plot(x, y)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n<!-- Created with matplotlib (https://matplotlib.org/) -->\r\n<svg height=\"248.518125pt\" version=\"1.1\" viewBox=\"0 0 391.190625 248.518125\" width=\"391.190625pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <metadata>\r\n <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\r\n <cc:Work>\r\n <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\r\n <dc:date>2020-12-24T14:57:49.231735</dc:date>\r\n <dc:format>image/svg+xml</dc:format>\r\n <dc:creator>\r\n <cc:Agent>\r\n <dc:title>Matplotlib v3.3.3, https://matplotlib.org/</dc:title>\r\n </cc:Agent>\r\n </dc:creator>\r\n </cc:Work>\r\n </rdf:RDF>\r\n </metadata>\r\n <defs>\r\n <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\r\n </defs>\r\n <g id=\"figure_1\">\r\n <g id=\"patch_1\">\r\n <path d=\"M 0 248.518125 \r\nL 391.190625 248.518125 \r\nL 391.190625 0 \r\nL 0 0 \r\nz\r\n\" style=\"fill:none;\"/>\r\n </g>\r\n <g id=\"axes_1\">\r\n <g id=\"patch_2\">\r\n <path d=\"M 49.190625 224.64 \r\nL 383.990625 224.64 \r\nL 383.990625 7.2 \r\nL 49.190625 7.2 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n </g>\r\n <g id=\"matplotlib.axis_1\">\r\n <g id=\"xtick_1\">\r\n <g id=\"line2d_1\">\r\n <defs>\r\n <path d=\"M 0 0 \r\nL 0 3.5 \r\n\" id=\"mb0526685ce\" style=\"stroke:#000000;stroke-width:0.8;\"/>\r\n </defs>\r\n <g>\r\n <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"94.84517\" xlink:href=\"#mb0526685ce\" y=\"224.64\"/>\r\n </g>\r\n </g>\r\n <g id=\"text_1\">\r\n <!-- 400 -->\r\n <g transform=\"translate(81.111577 239.238437)scale(0.1 -0.1)\">\r\n <defs>\r\n <path d=\"M 10.59375 35.5 \r\nL 73.1875 35.5 \r\nL 73.1875 27.203125 \r\nL 10.59375 27.203125 \r\nz\r\n\" id=\"DejaVuSans-8722\"/>\r\n <path d=\"M 37.796875 64.3125 \r\nL 12.890625 25.390625 \r\nL 37.796875 25.390625 \r\nz\r\nM 35.203125 72.90625 \r\nL 47.609375 72.90625 \r\nL 47.609375 25.390625 \r\nL 58.015625 25.390625 \r\nL 58.015625 17.1875 \r\nL 47.609375 17.1875 \r\nL 47.609375 0 \r\nL 37.796875 0 \r\nL 37.796875 17.1875 \r\nL 4.890625 17.1875 \r\nL 4.890625 26.703125 \r\nz\r\n\" id=\"DejaVuSans-52\"/>\r\n <path d=\"M 31.78125 66.40625 \r\nQ 24.171875 66.40625 20.328125 58.90625 \r\nQ 16.5 51.421875 16.5 36.375 \r\nQ 16.5 21.390625 20.328125 13.890625 \r\nQ 24.171875 6.390625 31.78125 6.390625 \r\nQ 39.453125 6.390625 43.28125 13.890625 \r\nQ 47.125 21.390625 47.125 36.375 \r\nQ 47.125 51.421875 43.28125 58.90625 \r\nQ 39.453125 66.40625 31.78125 66.40625 \r\nz\r\nM 31.78125 74.21875 \r\nQ 44.046875 74.21875 50.515625 64.515625 \r\nQ 56.984375 54.828125 56.984375 36.375 \r\nQ 56.984375 17.96875 50.515625 8.265625 \r\nQ 44.046875 -1.421875 31.78125 -1.421875 \r\nQ 19.53125 -1.421875 13.0625 8.265625 \r\nQ 6.59375 17.96875 6.59375 36.375 \r\nQ 6.59375 54.828125 13.0625 64.515625 \r\nQ 19.53125 74.21875 31.78125 74.21875 \r\nz\r\n\" id=\"DejaVuSans-48\"/>\r\n </defs>\r\n <use xlink:href=\"#DejaVuSans-8722\"/>\r\n <use x=\"83.789062\" xlink:href=\"#DejaVuSans-52\"/>\r\n <use x=\"147.412109\" xlink:href=\"#DejaVuSans-48\"/>\r\n <use x=\"211.035156\" xlink:href=\"#DejaVuSans-48\"/>\r\n </g>\r\n </g>\r\n </g>\r\n <g id=\"xtick_2\">\r\n <g id=\"line2d_2\">\r\n <g>\r\n <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"155.717898\" xlink:href=\"#mb0526685ce\" y=\"224.64\"/>\r\n </g>\r\n </g>\r\n <g id=\"text_2\">\r\n <!-- 200 -->\r\n <g transform=\"translate(141.984304 239.238437)scale(0.1 -0.1)\">\r\n <defs>\r\n <path d=\"M 19.1875 8.296875 \r\nL 53.609375 8.296875 \r\nL 53.609375 0 \r\nL 7.328125 0 \r\nL
2020-12-11 21:33:20 +00:00
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAD4CAYAAADo30HgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAxkklEQVR4nO3deXxc1ZXg8d9RabMsWdZmWZa8yJJskI3BIOQNwmLAJgSbTEhj0mHobmbIAj2dSSYdSM9k0kzoDumZJkkHktBxEkJIjAOkYxIHB2yzebfBNl6xJO+bVsuLrKWqzvxRT6RUlKzS+lRV5/v51Efv3XffrXPtkk69d997V1QVY4wxplOC2wEYY4wZXiwxGGOM6cISgzHGmC4sMRhjjOnCEoMxxpguEt0OYCDk5ubqpEmT3A7DGGOiyrZt2+pVNS+0PCYSw6RJk9i6davbYRhjTFQRkcPhyu1UkjHGmC4sMRhjjOnCEoMxxpguLDEYY4zpIqLEICILRWS/iFSJyCNhtqeIyAvO9k0iMilo26NO+X4RWRCyn0dE3hOR3weVFTttVDltJvejf8YYY3qpx8QgIh7gKeB2oBy4V0TKQ6o9ADSpainwJPCEs285sASYBiwEnnba6/R3wN6Qtp4AnnTaanLaNsYYM0QiOWKoBKpUtUZV24FlwOKQOouBZ53lF4H5IiJO+TJVbVPVg0CV0x4iUgTcAfyksxFnn5udNnDavKsP/TLGGNNHkdzHUAgcDVo/Bszqro6qekWkGchxyjeG7FvoLH8X+HsgI2h7DnBGVb1h6hsTFVSVtftr2X7kDACehATumFFA6Zh0dwMzJkKu3OAmIp8AalV1m4jc2Mc2HgQeBJgwYcLABWdMP7x3pIl/XrmPzYcaARABVfj+mgPcc+14vnRLGWMyUl2O0phLiyQxHAfGB60XOWXh6hwTkUQgE2i4xL6LgEUi8nEgFRglIr8E7gNGi0iic9QQ7r0AUNVngGcAKioqbLYh47plm4/wyMvvk5uewrfums49144nyZNAw/k2/m1NFb/ceJg/vn+S5Z+bQ1l+Rs8NGuOSSMYYtgBlztVCyQQGk1eE1FkB3O8s3w2s0cDUcCuAJc5VS8VAGbBZVR9V1SJVneS0t0ZVP+vss9ZpA6fN3/Wjf8YMiT/sPMmjv32fG6bk8eZXb+SzsyeS5An8euWkp/DNRdN49UvXk+hJ4L6lmzna2OJyxMZ0r8fE4HxzfxhYReAKouWqultEHhORRU61pUCOiFQBXwYecfbdDSwH9gCvAg+pqq+Ht/wa8GWnrRynbWOGrbc+qONLL7zHNROy+NFnr2FkSvgD8dIxGTz3QCUt7V7uW7qJunNtQxypMZGRWJjzuaKiQu0hesYNDefbmP+vbzJ2VCovfG4OmSOSetxn2+Em/vInG5lbksvS+ysIXIxnzNATkW2qWhFabnc+G9MP3/rDXi60efn+vTMjSgoA10zM4n/cNpU1+2pZ+f6pQY7QmN6zxGBMH719oI7fvnecz99QwpReDib/1dxJTC8cxTdf2U3zxY5BitCYvrHEYEwfXGz38Q+/3UVx7kgeuqm01/snehL49n+aQcP5Np54dd8gRGhM31liMKYPfr7+EEcaW3j8k9NJTfL0vEMY0wsz+et5xfxq0xH2nzo3wBEa03eWGIzppYvtPn7ydg0fm5LH3JLcfrX18E2lpCV7ePqNqgGKzpj+s8RgTC/9evMRGi6087c39/4UUqiskcncN3sir+w4wcH6CwMQnTH9Z4nBmF5o8/r48VvVzCrO5tpJ2QPS5gPXF5PkSeCHdtRghglLDMb0wm+2HuP02Tb+9uayAWtzTEYq91ZO4OV3j9sd0WZYsMRgTIR8fuXHb1Uzc8Jo5pXmDGjbn7thMiLwk7drBrRdY/rCEoMxEXrrQB1HGy/ywHXFA363ckHmCO64ooCX3z1OS7u35x2MGUSWGIyJ0K83HSFnZDK3lY8dlPY/M2si59q8/H7nyUFp35hIWWIwJgKnz7ayel8td1cUkZw4OL82107KonRMOr/adGRQ2jcmUpYYjInA8i1H8fmVe68dvEmhRIR7Kyew/egZ9pw4O2jvY0xPLDEY0wOfX1m25SjzSnOYlDtyUN/rU1cXkpyYwK8321GDcY8lBmN68NaBOo6fuchnKicO+nuNTkvmjisK+I/3bBDauMcSgzE9ePnd42SlJXFref6QvN9fVIznXJuX1/acHpL3MyZURIlBRBaKyH4RqRKRR8JsTxGRF5ztm0RkUtC2R53y/SKywClLFZHNIrJDRHaLyD8G1f+5iBwUke3O66r+d9OYvmlp9/L6ntPcfkXBoA06h5pVnM3YUam8ssOuTjLu6PGTLiIe4CngdqAcuFdEykOqPQA0qWop8CTwhLNvOYE5nacBC4GnnfbagJtV9UrgKmChiMwOau+rqnqV89rej/4Z0y+v763lYoePRVeOG7L3TEgQPjGjgDc/qKW5xeZqMEMvkq9AlUCVqtaoajuwDFgcUmcx8Kyz/CIwXwJ3AC0Glqlqm6oeBKqASg0479RPcl7RP8eoiTkrtp8gf1TKgD0XKVJ3XjmODp/y6m47ajBDL5LEUAgcDVo/5pSFraOqXqAZyLnUviLiEZHtQC3wmqpuCqr3uIjsFJEnRSQlXFAi8qCIbBWRrXV1dRF0w5jeaW7p4M0PavnEjHF4EoZ2XuYZRZlMzEljxY4TQ/q+xoCLg8+q6lPVq4AioFJEpjubHgUuA64FsoGvdbP/M6paoaoVeXl5QxGyiTOrdp+iw6dDehqpk4iw6MpxbKhuoPZc65C/v4lvkSSG48D4oPUipyxsHRFJBDKBhkj2VdUzwFoCYxCo6knnVFMb8DMCp7KMGXIrdpxgYk4aM4oyXXn/RVeOw6+w0h6RYYZYJIlhC1AmIsUikkxgMHlFSJ0VwP3O8t3AGlVVp3yJc9VSMVAGbBaRPBEZDSAiI4BbgX3OeoHzU4C7gF19754xfdNwvo311fXcOWPcgD8wL1Jl+RlcNjbDnp1khlxiTxVU1SsiDwOrAA/wU1XdLSKPAVtVdQWwFHhORKqARgLJA6fecmAP4AUeUlWf88f/WecKpQRguar+3nnL50UkDxBgO/D5AeyvMRFZva8Wv8LC6YPzwLxILZg2lu+vOUD9+TZy08MOtxkz4HpMDACquhJYGVL2jaDlVuDT3ez7OPB4SNlOYGY39W+OJCZjBtOfdp9mXGYq08aNcjWO26bl873VB1i99zT3DOJzmowJZnc+GxPiYruPd6rquG3aWNdOI3UqLxhF4egRdhe0GVKWGIwJ8daBOlo7/EP2CIxLERFuLc/n7QP19uwkM2QsMRgT4rU9pxmVmkhl8dDe1Nad26bl0+b189YH9W6HYuKEJQZjgnh9flbvPc3Nl40hyTM8fj0qJ2WTOSKJP+055XYoJk4Mj0++McPE1sNNNLV0cNs0d69GCpboSWD+ZWNYs68Wr8/vdjgmDlhiMCbIa3tOk+xJ4GNThtfd9LdNy+dMSwdbDjW5HYqJA5YYjAmydn8ts0tySE+J6EruIXNdWR5JHuGN/bVuh2LigCUGYxxHGlqoqbvAjcPsaAEgPSWRaydl88Z+e2CkGXyWGIxxvPFB4Nv4TZeNcTmS8G6aOob9p89x4sxFt0MxMc4SgzGON/bXMTEnjeLckW6HEtaNUwNHMnbUYAabJQZjgNYOH+ur67lp6vA8WgAoHZNO4egRrLVxBjPILDEYA2w62Ehrh58bpg6/8YVOIsKNU/NYX1VPm9fndjgmhlliMAZYu6+WlMQE5kzOcTuUS7pp6hgutPvYapetmkFkicEY4I39tcwpySE1yeN2KJc0tzSHZE8Ca/fZ6SQzeCwxmLh3uOEChxpahuVlqqHSkhOZNTmbNz6wAWgzeCwxmLj31oHAw+mG293O3bm+LJeq2vOcbLbLVs3giCgxiMhCEdkvIlUi8kiY7Ski8oKzfZOITAra9qhTvl9EFjhlqSKyWUR2iMhuEfnHoPrFThtVTpvJA9BPY7r1zoE6CkePGLaXqYa6viyQwN45YE9bNYOjx8TgTL/5FHA
},
"metadata": {
"needs_background": "light"
}
}
],
"source": [
"x = np.linspace(-500, 500, 120)\n",
"y = [gaussian(i, 0, 100) for i in x]\n",
"\n",
"plt.plot(x, y)\n",
"plt.show()"
]
},
2020-12-10 21:43:15 +00:00
{
"cell_type": "code",
"execution_count": 6,
2020-12-10 21:43:15 +00:00
"metadata": {},
2020-12-11 21:33:20 +00:00
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"[0. 0.44 0.56 0. ]\n[0. 0.92 0.06 0.02]\n[0. 0.04 0.93 0.03]\n[0. 0. 0. 0.]\n0.92\n(4, 4)\n"
]
}
],
"source": [
"for i in state_transition:\n",
" print(i)\n",
" # for j in i:\n",
" # print(j)\n",
"\n",
"print(state_transition[1][1])\n",
"print(state_transition.shape)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"[[1 2 3]\n [4 5 6]\n [7 8 9]]\n[0.4 1. 1.6]\n[[1 2 3]\n [4 5 6]\n [7 8 9]]\n"
]
}
],
"source": [
"a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])\n",
"print(a)\n",
"print(a[:, 1] / 5)\n",
"a[:, 2] / 2\n",
"print(a)"
]
},
{
"cell_type": "code",
2020-12-23 20:12:08 +00:00
"execution_count": 8,
2020-12-11 21:33:20 +00:00
"metadata": {},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"[[ 1 4]\n [ 9 16]]\n[ 4 16]\n"
]
}
],
"source": [
"array1 = np.array([[1, 2], [3, 4]])\n",
"array2 = np.array([[1, 2], [3, 4]])\n",
"\n",
"print(array1 * array2)\n",
"print(array1[:, 1] * array2[:, 1])"
]
},
2020-12-23 20:12:08 +00:00
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"1"
]
},
"metadata": {},
"execution_count": 9
}
],
"source": [
"model = MarkovModel(states=[state1, state2], observations=observations, state_transitions=state_transition)\n",
"\n",
"model.get_other_state_number(2)"
]
},
{
"source": [
"# Forward Probability Surface"
],
"cell_type": "markdown",
"metadata": {}
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 1296x432 with 1 Axes>",
"image/svg+xml": "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n<!-- Created with matplotlib (https://matplotlib.org/) -->\r\n<svg height=\"341.924197pt\" version=\"1.1\" viewBox=\"0 0 340.56 341.924197\" width=\"340.56pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n <metadata>\r\n <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\r\n <cc:Work>\r\n <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\r\n <dc:date>2020-12-24T14:57:49.739735</dc:date>\r\n <dc:format>image/svg+xml</dc:format>\r\n <dc:creator>\r\n <cc:Agent>\r\n <dc:title>Matplotlib v3.3.3, https://matplotlib.org/</dc:title>\r\n </cc:Agent>\r\n </dc:creator>\r\n </cc:Work>\r\n </rdf:RDF>\r\n </metadata>\r\n <defs>\r\n <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\r\n </defs>\r\n <g id=\"figure_1\">\r\n <g id=\"patch_1\">\r\n <path d=\"M 0 341.924197 \r\nL 340.56 341.924197 \r\nL 340.56 0 \r\nL 0 0 \r\nz\r\n\" style=\"fill:none;\"/>\r\n </g>\r\n <g id=\"patch_2\">\r\n <path d=\"M 7.2 333.36 \r\nL 333.36 333.36 \r\nL 333.36 7.2 \r\nL 7.2 7.2 \r\nz\r\n\" style=\"fill:#ffffff;\"/>\r\n </g>\r\n <g id=\"pane3d_1\">\r\n <g id=\"patch_3\">\r\n <path d=\"M 50.699877 278.797979 \r\nL 96.016844 172.689649 \r\nL 92.631362 41.573439 \r\nL 44.78538 138.51857 \r\n\" style=\"fill:#f2f2f2;opacity:0.5;stroke:#f2f2f2;stroke-linejoin:miter;\"/>\r\n </g>\r\n </g>\r\n <g id=\"pane3d_2\">\r\n <g id=\"patch_4\">\r\n <path d=\"M 96.016844 172.689649 \r\nL 288.931218 189.929033 \r\nL 293.933863 57.265255 \r\nL 92.631362 41.573439 \r\n\" style=\"fill:#e6e6e6;opacity:0.5;stroke:#e6e6e6;stroke-linejoin:miter;\"/>\r\n </g>\r\n </g>\r\n <g id=\"pane3d_3\">\r\n <g id=\"patch_5\">\r\n <path d=\"M 50.699877 278.797979 \r\nL 263.119336 299.829148 \r\nL 288.931218 189.929033 \r\nL 96.016844 172.689649 \r\n\" style=\"fill:#ececec;opacity:0.5;stroke:#ececec;stroke-linejoin:miter;\"/>\r\n </g>\r\n </g>\r\n <g id=\"axis3d_1\">\r\n <g id=\"line2d_1\">\r\n <path d=\"M 50.699877 278.797979 \r\nL 263.119336 299.829148 \r\n\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-width:0.8;\"/>\r\n </g>\r\n <g id=\"text_1\">\r\n <!-- Observation -->\r\n <g transform=\"translate(119.627956 326.654856)rotate(-354.345702)scale(0.1 -0.1)\">\r\n <defs>\r\n <path d=\"M 39.40625 66.21875 \r\nQ 28.65625 66.21875 22.328125 58.203125 \r\nQ 16.015625 50.203125 16.015625 36.375 \r\nQ 16.015625 22.609375 22.328125 14.59375 \r\nQ 28.65625 6.59375 39.40625 6.59375 \r\nQ 50.140625 6.59375 56.421875 14.59375 \r\nQ 62.703125 22.609375 62.703125 36.375 \r\nQ 62.703125 50.203125 56.421875 58.203125 \r\nQ 50.140625 66.21875 39.40625 66.21875 \r\nz\r\nM 39.40625 74.21875 \r\nQ 54.734375 74.21875 63.90625 63.9375 \r\nQ 73.09375 53.65625 73.09375 36.375 \r\nQ 73.09375 19.140625 63.90625 8.859375 \r\nQ 54.734375 -1.421875 39.40625 -1.421875 \r\nQ 24.03125 -1.421875 14.8125 8.828125 \r\nQ 5.609375 19.09375 5.609375 36.375 \r\nQ 5.609375 53.65625 14.8125 63.9375 \r\nQ 24.03125 74.21875 39.40625 74.21875 \r\nz\r\n\" id=\"DejaVuSans-79\"/>\r\n <path d=\"M 48.6875 27.296875 \r\nQ 48.6875 37.203125 44.609375 42.84375 \r\nQ 40.53125 48.484375 33.40625 48.484375 \r\nQ 26.265625 48.484375 22.1875 42.84375 \r\nQ 18.109375 37.203125 18.109375 27.296875 \r\nQ 18.109375 17.390625 22.1875 11.75 \r\nQ 26.265625 6.109375 33.40625 6.109375 \r\nQ 40.53125 6.109375 44.609375 11.75 \r\nQ 48.6875 17.390625 48.6875 27.296875 \r\nz\r\nM 18.109375 46.390625 \r\nQ 20.953125 51.265625 25.265625 53.625 \r\nQ 29.59375 56 35.59375 56 \r\nQ 45.5625 56 51.78125 48.09375 \r\nQ 58.015625 40.1875 58.015625 27.296875 \r\nQ 58.015625 14.40625 51.78125 6.484375 \r\nQ 45.5625 -1.421875 35.59375 -1.421875 \r\nQ 29.59375 -1.421875 25
"image/png": "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
2020-12-23 20:12:08 +00:00
},
"metadata": {
"needs_background": "light"
}
}
],
"source": [
"model = MarkovModel(states=[state1, state2], observations=observations, state_transitions=state_transition)\n",
"model.populate_forward()\n",
"\n",
"fig = plt.figure(figsize=(18,6))\n",
"ax = fig.add_subplot(1, 1, 1, projection=\"3d\")\n",
"\n",
"y_width = 0.6\n",
2020-12-23 20:12:08 +00:00
"\n",
"X = np.arange(1, 10)\n",
"Y = np.arange(1, 3) - 0.5*y_width\n",
"X, Y = np.meshgrid(X, Y)\n",
"Z = np.zeros(model.forward.size)\n",
"\n",
"dx = np.ones(model.forward.size)\n",
"dy = y_width * np.ones(model.forward.size)\n",
"\n",
"# ax.plot_surface(X, Y, model.forward, cmap=cm.coolwarm)\n",
"ax.bar3d(X.flatten(), Y.flatten(), Z, dx, dy, model.forward.flatten(), shade=True)\n",
"\n",
"ax.set_yticks([1, 2])\n",
"\n",
"ax.set_xlabel(\"Observation\")\n",
"ax.set_ylabel(\"State\")\n",
"ax.view_init(30, -80)\n",
2020-12-23 20:12:08 +00:00
"# plt.zlabel(\"Forward Likelihood\")\n",
"fig.show()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"-0.6931471805599453"
]
},
"metadata": {},
"execution_count": 11
}
],
"source": [
"from numpy import log as ln\n",
"\n",
"ln(0.5)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"[[0. 0.44 0.56 0. ]\n [0. 0.92 0.06 0.02]\n [0. 0.04 0.93 0.03]\n [0. 0. 0. 0. ]]\n[[ -inf -0.82098055 -0.5798185 -inf]\n [ -inf -0.08338161 -2.81341072 -3.91202301]\n [ -inf -3.21887582 -0.07257069 -3.5065579 ]\n [ -inf -inf -inf -inf]]\n"
]
}
],
"source": [
"model = LogMarkovModel(states=[state1, state2], observations=observations, state_transitions=state_transition)\n",
"\n",
"print(model.state_transitions)\n",
"model.log_state_transitions()\n",
"print(model.state_transitions)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[48.59040575, 1.01024542],\n",
" [11.76531328, 2.09407832]])"
]
},
"metadata": {},
"execution_count": 13
}
],
"source": [
"model = MarkovModel(states=[state1, state2], observations=observations, state_transitions=state_transition)\n",
"model.populate()\n",
"\n",
"model.baum_welch_state_transitions()"
]
2020-12-10 21:43:15 +00:00
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
2020-12-31 19:30:39 +00:00
"version": "3.8.6-final"
2020-12-10 21:43:15 +00:00
}
},
"nbformat": 4,
"nbformat_minor": 4
}