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",
|
2020-12-10 22:59:55 +00:00
|
|
|
|
"execution_count": 2,
|
2020-12-10 21:43:15 +00:00
|
|
|
|
"metadata": {},
|
|
|
|
|
"outputs": [
|
|
|
|
|
{
|
|
|
|
|
"output_type": "execute_result",
|
|
|
|
|
"data": {
|
|
|
|
|
"text/plain": [
|
2020-12-10 22:59:55 +00:00
|
|
|
|
"0.92"
|
2020-12-10 21:43:15 +00:00
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"metadata": {},
|
2020-12-10 22:59:55 +00:00
|
|
|
|
"execution_count": 2
|
2020-12-10 21:43:15 +00:00
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"source": [
|
2020-12-10 22:59:55 +00:00
|
|
|
|
"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>",
|
2020-12-24 14:58:45 +00:00
|
|
|
|
"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>",
|
2020-12-24 14:58:45 +00:00
|
|
|
|
"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": "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
|
|
|
|
|
},
|
|
|
|
|
"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",
|
2020-12-10 22:59:55 +00:00
|
|
|
|
"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>",
|
2020-12-24 14:58:45 +00:00
|
|
|
|
"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",
|
2020-12-24 14:58:45 +00:00
|
|
|
|
"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",
|
2020-12-24 14:58:45 +00:00
|
|
|
|
"ax.view_init(30, -80)\n",
|
2020-12-23 20:12:08 +00:00
|
|
|
|
"# plt.zlabel(\"Forward Likelihood\")\n",
|
|
|
|
|
"fig.show()"
|
|
|
|
|
]
|
|
|
|
|
},
|
2020-12-24 14:58:45 +00:00
|
|
|
|
{
|
|
|
|
|
"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
|
|
|
|
|
}
|