Skip to content

Instantly share code, notes, and snippets.

@MatsuuraKentaro
Last active December 9, 2018 08:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MatsuuraKentaro/3a46542c6092ef1ac061c387830bae58 to your computer and use it in GitHub Desktop.
Save MatsuuraKentaro/3a46542c6092ef1ac061c387830bae58 to your computer and use it in GitHub Desktop.
statistical modeling with TensorFlow
Time Date Y
0 2012-03-01 28140
1 2012-03-08 28850
2 2012-03-15 34230
3 2012-03-22 29260
4 2012-03-29 29200
5 2012-04-05 33940
7 2012-04-19 24800
8 2012-04-26 26060
9 2012-05-03 26490
10 2012-05-10 31050
11 2012-05-17 28250
14 2012-06-07 25170
15 2012-06-14 31560
16 2012-06-21 27520
17 2012-06-28 21340
18 2012-07-05 27640
20 2012-07-19 22790
21 2012-07-26 24620
23 2012-08-09 23020
24 2012-08-16 23080
25 2012-08-23 20580
26 2012-08-30 26290
28 2012-09-13 21230
29 2012-09-20 26750
30 2012-09-27 24430
32 2012-10-11 25200
35 2012-11-01 24100
41 2012-12-13 21000
42 2012-12-20 18740
43 2012-12-27 26210
44 2013-01-03 23620
45 2013-01-10 18560
46 2013-01-17 19780
47 2013-01-24 19500
48 2013-01-31 21920
50 2013-02-14 20460
53 2013-03-07 22340
54 2013-03-14 18890
56 2013-03-28 16280
58 2013-04-11 18940
59 2013-04-18 18970
61 2013-05-02 17380
63 2013-05-16 16240
64 2013-05-23 16020
65 2013-05-30 18240
68 2013-06-20 18940
69 2013-06-27 21040
70 2013-07-04 16180
71 2013-07-11 13380
74 2013-08-01 15370
75 2013-08-08 18100
78 2013-08-29 16240
79 2013-09-05 15600
80 2013-09-12 15700
83 2013-10-03 16340
85 2013-10-17 15580
86 2013-10-24 16690
87 2013-10-31 15500
90 2013-11-21 16000
91 2013-11-28 15180
92 2013-12-05 14600
93 2013-12-12 13280
94 2013-12-19 16080
97 2014-01-09 15960
98 2014-01-16 13270
99 2014-01-23 12160
100 2014-01-30 12560
101 2014-02-06 13830
103 2014-02-20 13020
105 2014-03-06 13420
106 2014-03-13 12460
107 2014-03-20 11410
108 2014-03-27 12980
109 2014-04-03 14780
111 2014-04-17 14320
113 2014-05-01 13410
114 2014-05-08 14200
115 2014-05-15 13890
116 2014-05-22 13620
117 2014-05-29 12640
119 2014-06-12 12170
120 2014-06-19 13640
121 2014-06-26 12260
122 2014-07-03 12840
123 2014-07-10 13140
125 2014-07-24 12630
126 2014-07-31 13800
127 2014-08-07 13580
128 2014-08-14 12240
129 2014-08-21 13380
133 2014-09-18 12920
135 2014-10-02 15090
136 2014-10-09 11650
138 2014-10-23 16320
139 2014-10-30 11670
140 2014-11-06 14460
142 2014-11-20 11520
143 2014-11-27 11580
144 2014-12-04 11480
145 2014-12-11 12780
146 2014-12-18 11640
148 2015-01-01 16630
150 2015-01-15 14580
151 2015-01-22 14560
153 2015-02-05 12180
155 2015-02-19 13110
156 2015-02-26 14260
157 2015-03-05 12980
158 2015-03-12 14860
159 2015-03-19 12980
160 2015-03-26 14980
161 2015-04-02 12140
162 2015-04-09 11880
163 2015-04-16 18640
164 2015-04-23 12930
165 2015-04-30 13890
166 2015-05-07 14360
167 2015-05-14 12840
168 2015-05-21 14190
169 2015-05-28 13980
170 2015-06-04 13190
172 2015-06-18 13440
173 2015-06-25 16680
174 2015-07-02 12520
175 2015-07-09 12080
176 2015-07-16 13530
177 2015-07-23 13910
178 2015-07-30 14080
181 2015-08-20 15290
182 2015-08-27 13020
183 2015-09-03 12360
184 2015-09-10 13160
186 2015-09-24 15060
187 2015-10-01 13590
189 2015-10-15 12820
190 2015-10-22 13770
192 2015-11-05 13610
193 2015-11-12 12320
194 2015-11-19 11820
195 2015-11-26 16460
196 2015-12-03 14320
197 2015-12-10 11900
198 2015-12-17 12680
202 2016-01-14 12820
204 2016-01-28 12420
205 2016-02-04 12250
206 2016-02-11 11780
208 2016-02-25 14790
209 2016-03-03 12380
210 2016-03-10 12490
214 2016-04-07 10820
215 2016-04-14 14020
216 2016-04-21 11260
217 2016-04-28 10860
218 2016-05-05 10240
219 2016-05-12 10100
220 2016-05-19 10760
222 2016-06-02 12530
223 2016-06-09 11940
224 2016-06-16 10640
226 2016-06-30 10120
227 2016-07-07 10030
229 2016-07-21 9580
230 2016-07-28 12790
233 2016-08-18 9540
236 2016-09-08 9840
237 2016-09-15 10370
238 2016-09-22 10190
239 2016-09-29 9060
240 2016-10-06 8980
241 2016-10-13 9160
242 2016-10-20 11100
243 2016-10-27 8460
245 2016-11-10 11280
246 2016-11-17 9160
247 2016-11-24 8020
249 2016-12-08 9480
250 2016-12-15 8640
251 2016-12-22 8400
252 2016-12-29 8520
253 2017-01-05 8830
254 2017-01-12 10180
255 2017-01-19 8540
256 2017-01-26 9520
258 2017-02-09 8320
259 2017-02-16 7160
260 2017-02-23 7860
261 2017-03-02 7820
263 2017-03-16 9200
264 2017-03-23 10080
265 2017-03-30 9280
266 2017-04-06 7780
267 2017-04-13 6570
269 2017-04-27 7770
270 2017-05-04 8310
271 2017-05-11 8340
272 2017-05-18 8050
273 2017-05-25 6480
274 2017-06-01 8060
275 2017-06-08 7020
277 2017-06-22 7280
279 2017-07-06 7120
280 2017-07-13 5970
282 2017-07-27 7210
283 2017-08-03 6700
284 2017-08-10 6910
285 2017-08-17 6870
286 2017-08-24 6870
288 2017-09-07 6470
290 2017-09-21 7320
291 2017-09-28 7180
292 2017-10-05 7180
293 2017-10-12 6000
294 2017-10-19 7700
295 2017-10-26 6300
297 2017-11-09 5380
298 2017-11-16 6120
299 2017-11-23 6870
300 2017-11-30 5640
301 2017-12-07 5620
302 2017-12-14 5520
304 2017-12-28 5800
305 2018-01-04 6260
306 2018-01-11 4950
307 2018-01-18 6180
309 2018-02-01 7420
310 2018-02-08 6900
311 2018-02-15 6530
313 2018-03-01 5700
314 2018-03-08 5840
316 2018-03-22 6000
317 2018-03-29 5340
320 2018-04-19 6200
321 2018-04-26 6840
323 2018-05-10 6470
326 2018-05-31 6020
327 2018-06-07 6460
329 2018-06-21 6060
330 2018-06-28 6700
331 2018-07-05 5380
332 2018-07-12 5640
333 2018-07-19 7050
335 2018-08-02 4940
336 2018-08-09 5280
340 2018-09-06 6440
342 2018-09-20 7160
343 2018-09-27 6090
347 2018-10-25 5720
348 2018-11-01 5500
349 2018-11-08 5950
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import tensorflow as tf\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"data = pd.read_csv('data.csv', sep=',')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# まずは可視化"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x1f531cad908>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.scatter(data['Time'], data['Y'], alpha=0.5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Model 1\n",
"- 物の価値は指数関数的に減少する\n",
"\n",
"という知識がこの業界にあるとし, 以下の指数関数でフィッティングする:\n",
"$$ y_0 \\exp(- \\lambda \\ T) $$\n",
"\n",
"ただし, \n",
"\n",
"- $Y$ の値が高い時のほうが低い時よりもバラツキが大きい\n",
"\n",
"という傾向があるので, 上記の両辺の対数を取ってからフィッティングして元に戻す. すなわち,\n",
"\n",
"$$ Y = log(y_0) - \\lambda \\ T + \\epsilon$$\n",
"$$ \\epsilon \\sim Normal(0, \\sigma^2)$$\n",
"というモデルを考えていることに相当する。\n",
"\n",
"そして, $y_0$, $\\lambda$, $\\sigma$ を最尤推定する."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### モデルの定義"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"tf.reset_default_graph()\n",
"\n",
"## データの型定義\n",
"T = tf.placeholder(tf.float32, shape=[None])\n",
"Y = tf.placeholder(tf.float32, shape=[None])\n",
"T_pred = tf.placeholder(tf.float32, shape=[None])\n",
"\n",
"## 確率変数の型定義および初期化\n",
"# 制約のないraw変数\n",
"y0_raw = tf.Variable(tf.log(30000.0), dtype=tf.float32)\n",
"lam_raw = tf.Variable(tf.log(0.005), dtype=tf.float32)\n",
"sigma_raw = tf.Variable(0.2, dtype=tf.float32)\n",
"\n",
"# raw変数から推定に使うparametersを作る\n",
"y0 = tf.exp(y0_raw)\n",
"lam = tf.exp(lam_raw)\n",
"sigma = tf.exp(sigma_raw)\n",
"log_mu = tf.log(y0) - lam*T\n",
"\n",
"# 計算しておくと後で便利なparameters\n",
"log_mu_pred = tf.log(y0) - lam*T_pred\n",
"mu_pred = tf.exp(log_mu_pred)\n",
"mu_upper = tf.exp(log_mu_pred + 1.96*sigma)\n",
"mu_lower = tf.exp(log_mu_pred - 1.96*sigma)\n",
"\n",
"\n",
"## Cost(Loss, 目的関数)の定義\n",
"cost_func = - tf.reduce_sum(tf.distributions.Normal(loc=log_mu, scale=sigma)\\\n",
" .log_prob(tf.log(Y)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 最適化"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"EPOCH: 100, cost: -124.505\n",
"EPOCH: 200, cost: -125.018\n",
"EPOCH: 300, cost: -125.015\n",
"EPOCH: 400, cost: -125.018\n",
"EPOCH: 500, cost: -125.018\n",
"EPOCH: 600, cost: -125.016\n",
"EPOCH: 700, cost: -125.018\n",
"EPOCH: 800, cost: -125.018\n",
"EPOCH: 900, cost: -124.956\n",
"EPOCH: 1000, cost: -125.018\n",
"y0: 25568.550781, lam: 0.004328, sigma: 0.146752\n"
]
}
],
"source": [
"n_epochs = 1000\n",
"n_epochs_report = n_epochs // 10\n",
"\n",
"train = tf.train.AdamOptimizer(0.03).minimize(cost_func)\n",
"sess = tf.Session()\n",
"sess.run(tf.global_variables_initializer())\n",
"\n",
"d_T = data['Time']\n",
"d_Y = data['Y']\n",
"\n",
"for epoch in range(n_epochs):\n",
" cost_val, _ = sess.run([cost_func, train], feed_dict={T: d_T, Y: d_Y})\n",
" if (epoch+1) % n_epochs_report == 0:\n",
" print('EPOCH: %d, cost: %.3f' % (epoch+1, cost_val))\n",
"\n",
"y0_est, lam_est, sigma_est = sess.run([y0, lam, sigma])\n",
"print('y0: %f, lam: %f, sigma: %f' % (y0_est, lam_est, sigma_est))\n",
"\n",
"# prediction\n",
"n_T_pred = 450\n",
"d_T_pred = np.arange(n_T_pred)\n",
"mu_est, mu_upper_est, mu_lower_est = sess.run([mu_pred, mu_upper, mu_lower], \n",
" feed_dict={T_pred: d_T_pred})\n",
"sess.close()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 結果の可視化"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x1f532efb7b8>"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.fill_between(d_T_pred, mu_lower_est, mu_upper_est, color='b', alpha=0.2)\n",
"plt.plot(d_T_pred, mu_est)\n",
"plt.scatter(data['Time'], data['Y'], alpha=0.5)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Model 2\n",
"新機種の発表時期などの関係から, 下げ止まる期間があると考えられる。\n",
"\n",
"- 下げ止まる = 時の流れが止まる\n",
"\n",
"と考えて, 実質的な経過時間を返す関数 $f$ を導入した:\n",
"$$ y_0 \\exp(- \\lambda \\ f \\left(T \\right)) $$\n",
"\n",
"$f$ を作る方法は複数あるが, ここではすべての時刻で独立に $\\left[0,1\\right]$ の範囲をとるような時の流れの傾きを表す変数 `slope` を定義して, その累積で作ることにした。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### モデルの定義"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"tf.reset_default_graph()\n",
"n_T = 350\n",
"n_T_pred = 450\n",
"n_pred_only = n_T_pred - n_T\n",
"\n",
"## データの型定義\n",
"T = tf.placeholder(tf.int32, shape=[None])\n",
"Y = tf.placeholder(tf.float32, shape=[None])\n",
"\n",
"## 確率変数の型定義および初期化\n",
"# 制約のないraw変数\n",
"y0_raw = tf.Variable(tf.log(30000.0), dtype=tf.float32)\n",
"lam_raw = tf.Variable(tf.log(0.005), dtype=tf.float32)\n",
"sigma_raw = tf.Variable(0.2, dtype=tf.float32)\n",
"slope_raw0 = tf.Variable(np.ones(n_T), dtype=tf.float32)\n",
"# fの予測をするために, f_raw0の最後の値がそのまま n_Time_pred まで続くとした.\n",
"rep_last = tf.tile([slope_raw0[-1]], [n_pred_only]) \n",
"slope_raw = tf.concat([slope_raw0, rep_last], axis=0)\n",
"\n",
"# raw変数から推定に使うparametersを作る\n",
"y0 = tf.exp(y0_raw)\n",
"lam = tf.exp(lam_raw)\n",
"sigma = tf.exp(sigma_raw)\n",
"slope = tf.sigmoid(slope_raw)\n",
"f = tf.cumsum(slope)\n",
"log_mu = tf.log(y0) - lam*tf.gather(f, T)\n",
"\n",
"# 計算しておくと後で便利なparameters\n",
"log_mu_pred = tf.log(y0) - lam*f\n",
"mu_pred = tf.exp(log_mu_pred)\n",
"mu_upper = tf.exp(log_mu_pred + 1.96*sigma)\n",
"mu_lower = tf.exp(log_mu_pred - 1.96*sigma)\n",
"\n",
"\n",
"## Cost(Loss, 目的関数)の定義\n",
"cost_func = - tf.reduce_sum(tf.distributions.Normal(loc=log_mu, scale=sigma)\\\n",
" .log_prob(tf.log(Y)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 最適化"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"EPOCH: 500, cost: -236.015\n",
"EPOCH: 1000, cost: -240.098\n",
"EPOCH: 1500, cost: -244.143\n",
"EPOCH: 2000, cost: -246.461\n",
"EPOCH: 2500, cost: -247.781\n",
"EPOCH: 3000, cost: -248.305\n",
"EPOCH: 3500, cost: -248.657\n",
"EPOCH: 4000, cost: -248.910\n",
"EPOCH: 4500, cost: -249.072\n",
"EPOCH: 5000, cost: -249.238\n",
"y0: 32000.185547, lam: 0.067082, sigma: 0.089217\n"
]
}
],
"source": [
"n_epochs = 5000\n",
"n_epochs_report = n_epochs // 10\n",
"\n",
"train = tf.train.AdamOptimizer(0.03).minimize(cost_func)\n",
"sess = tf.Session()\n",
"sess.run(tf.global_variables_initializer())\n",
"\n",
"d_T = data['Time']\n",
"d_Y = data['Y']\n",
"\n",
"for epoch in range(n_epochs):\n",
" cost_val, _ = sess.run([cost_func, train], feed_dict={T: d_T, Y: d_Y})\n",
" if (epoch+1) % n_epochs_report == 0:\n",
" print('EPOCH: %d, cost: %.3f' % (epoch+1, cost_val))\n",
"\n",
"y0_est, lam_est, sigma_est, slope_est = sess.run([y0, lam, sigma, slope])\n",
"print('y0: %f, lam: %f, sigma: %f' % (y0_est, lam_est, sigma_est))\n",
"\n",
"# prediction\n",
"mu_est, mu_upper_est, mu_lower_est = sess.run([mu_pred, mu_upper, mu_lower])\n",
"\n",
"sess.close()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 結果の可視化"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x1f5332b1b38>"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"d_T_pred = np.arange(n_T_pred)\n",
"\n",
"plt.fill_between(d_T_pred, mu_lower_est, mu_upper_est, color='b', alpha=0.2)\n",
"plt.plot(d_T_pred, mu_est)\n",
"plt.scatter(data['Time'], data['Y'], alpha=0.5)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x1f53330d3c8>]"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD8CAYAAACMwORRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4xLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvDW2N/gAAIABJREFUeJztfXnU5UZ15+++9/rrdi/GW9sYd0MbbBaHsHYcCCTYASaGMHZOtsGTbYDgkxkIzIFJxhxyPMEhZ7IdSJgQJg4QQ4aBGMhiTDOOYxtCCF7aGBu7bdNNe2u66d29f/197707f0gllUolqSTV+96TdH/nvCM9qVQqSVW3bv3urVvEzBAIBAJBu9CbdgEEAoFA4B8i3AUCgaCFEOEuEAgELYQId4FAIGghRLgLBAJBCyHCXSAQCFoIEe4CgUDQQohwFwgEghZChLtAIBC0EINp3fiss87iDRs2TOv2AoFA0Ejcc889+5h5bVG6qQn3DRs2YPPmzdO6vUAgEDQSRPS4SzqhZQQCgaCFEOEuEAgELYQId4FAIGghRLgLBAJBCyHCXSAQCFqIQuFORJ8koj1E9EDGeSKijxDRNiK6n4he5r+YAoFAICgDF839egCX5Zx/A4ALw99VAD5Wv1gCgUAgqINC4c7M/wLgQE6SKwB8mgPcAeA0IjrXVwHr4utb9+LJA8e95HX7I3uw42A6r3seP4hH9x1zyuPWh3Zjz5F5L+W57eHd2H/0pJe8uohbtkz//TEz/u5bO3B8YRgdOzy/iBvv21kpvz1H5nHLlt2+iidoMHxw7ucBeFL7vyM8lgIRXUVEm4lo8969ez3cuhi/8om78NoPfc1LXm/567vxhj/9eur4z33s33Dpn3y18PrRmPG2T23Gm6+7o3ZZFoZj/PqnNuML9+yonVcXcWR+EW//9Ga85fq7p1qOux49gPfccB+u/dKW6Nh7b7gP7/rsvdi6+0jp/H7pr+7E2z+9GQvDsc9iChoIH8KdLMesq24z83XMvJGZN65dWzh71ht8VvQjJ4fFiTKgFiPfvtdNy8/DmBljBhZH0oirYDQOvsVjjiOuSeFYqLH/4HA8mtt16AQAYH6x/Ld9fH8wshzLwvedhw/hvgPAeu3/OgDVxpQth8/mptruWNpwJVCok0z79ZFVN6qVoUAAwI9wvxHAr4ZeM68AcIiZd3nIt3XwqUxxKJZEQasIJQTl/QlaisLAYUT0WQCXADiLiHYA+B8AlgEAM/9vAJsAvBHANgDHAbxlUoVtOtijJIk1d5FOVUChcJe3J2grCoU7M19ZcJ4BvMNbiVoMv5q7ylPEUx3MyvvzXYwZeSzBFCEzVBsO4dzrYeqvz/MIQrFNMqITiHBvKJTG6ZPq6RKU7Ju2DPRt/xS6SaDQauE+njG1dhK0zIw9YnOghHtLxeCs0E2C6aHdwn3GKrgYVGcHs+Zt5FsYz8hjCaaIlgv3aZcgCa/td0ZohaYiomWmWwwQ+SVmIv99mdvWebRcuE+76SbhV7YrzXO2nrEp4NROu9BWukngjlYL91mTez4FscxQrYe2G6Rnre4Llh6tFu4+NXcfgnkCrMzMjU6agniewFSLMTG09LEEJdBq4T6agKY8a5jVcjUF0359URQETwVRFL50+oJWC3efRiUfTcWrKyQL514Hs+Jt5Nme6r2zEDQXrRbus0bL+FQTxc+9HmbNFdI32mpLELhDhLsjvGju4uc+O2j7a2v78wkK0XLhPu0SJDGJkL+z9oxNway9Nt+a9qw9n2Dp0WrhPgnXw1p51M/Ckpk04yqYlQGP78U61KQoGdEJWi3cvXrLeBCiXjubcDuWmYiV0HZOWmS7oNXC3SdlMWuau3Du9dD219byxxM4oN3CvQOEdAcecSKYldcWhej1vljHrDyhYFpotXD361c+G3lEeSlXvpkRU9PFhqu/jN/87L3TLkZpeJ/E5Dk/QXPRauHu1xXSR/gB/wZeacQxvnTfTue0rdVsJzQSEDQPItwd4SWriUxiklZcBW1/bTKiE4hwd8SMyfZI8xTOvR3w7ucu9aLzaLlwD7Y+4nd4iQrJ+n69/MRbph5m5rVNKLaM1AtBy4V7UMF9L0JcFbp25k3jljZcCW2nLdr9dAIXtFu4hxN8fCxl5jsq5OKo3uwj0dzroQmvrU4H1ITnE0wW7RbuHjV3341l6El1F+FeDbP21myfsd6nnbUnFCw1Wi3cVePoeSHd/WYxrKu5S+CwVsHXZ4xjy3jKUNBYtFq4q9gyfmS739gydTV38XOvh5nxc88pRpUSTmrGq6B5aLVwH/sU7p5nqA5HNYV7lKe04iqYlbeWV44637btBmNBMVot3Dni3GfDoKqjvkFV0TLSiKtgVl5bVA4b5+4jX0Fn0WrhPst+7rVpmXAr3GpVzMaLy9Owq1Q58XMXKDgJdyK6jIgeIaJtRHS15fwzieh2IrqXiO4nojf6L2p5qKiQXrxlvOQR5zKqGYg94txr5dJdzIrsyy+HuEIKqqNQuBNRH8BHAbwBwEUAriSii4xkvwPgBmZ+KYA3A/gL3wWtglhz90DL+Obca6vcYVRIacWVMCtvLZ9zX7JiCFoIF839YgDbmHk7My8A+ByAK4w0DODUcP9pANzD800QPg2qvuGr4crwuxpm5bWpztlGzwjnLqiDgUOa8wA8qf3fAeBHjTS/C+CfiOg3AawC8DovpasJr5OYvIT81fZrZhfNUJVl9loBb/HcZQ1VQQgXzd0mG82acyWA65l5HYA3AvgbIkrlTURXEdFmItq8d+/e8qUtCcV89HozMolJa3B1O4vYyUIacRXMynvzTctEi3VUKYygVXAR7jsArNf+r0OadnkbgBsAgJm/CWAFgLPMjJj5OmbeyMwb165dW63EJeBXc/ebhzfNXVpxJcyMYps3iamOn/vMPKBgWnAR7ncDuJCIzieiOQQG0xuNNE8AeC0AENELEAj3yavmBYj83GfQoFo7LzGo1sKsvLZcV8ha+Qq6jkLhzsxDAO8EcDOAhxB4xTxIRNcS0eVhsvcCeDsR3QfgswD+E8+A1FHzhCbJuZd7TI2WEc19qpgELfODQ/N4Yv/xcuXIcWmtU0em3/oE04aLQRXMvAnAJuPYNdr+FgCv8ls0N8wvjnD7w3vw/HNPxflnrUqcGy+B5l6mESUW66jLuUexZaQVV3kHk3htv/flLdhzeB6f/40f81KOKnUkji0j9aLraPwM1a88sAv/+TPfwn/5zLdS52Japv59sppKNb3dg+YuUSEjzIocO35yiGMnR6WumdAcJqFlBM0X7icWAu5l/9GTqXPRJCYP98nShKpqSL4an2ho1d7lJF4bo7wLYuTnbrlO/NwFddB44a40WJt2vhRRIUtp7jot420N1VrZtAKVaJkJ6LbM1f3L/XPuUjG6juYL95w6HPm5z8gUVV2geNPcZQA+M29gzFy6s/VfdlmsQxCgBcI9uxarwGGTFO6VDaoyQ9UbqrzLSSm25WmZnHN1DKoz0+UJpoXmC/eccz6nYGfTMu73SOZRd4aqMqhKI64iyCbx1pirdBo5fu7i6C6ogeYLdwdaZpLL7JXS3LU86g6bZZm9GNU09wlw7mCMSn7YvO8osl1QBy0Q7jm0zAwvs1ffFVJtpRlXwaQ099K0TG5+FWiZcCsjOkHzhXveuSVYZq9qG6rvLSN+7gqzwrlXoWXyOfd6ZRF0G80X7ktFy2T5uVdsgnXbnrpeNLSq32BGaBkVI8h+skZZBF1H84V7zrmRR28ZF829SBv3Scv4zqfJmBXNfVzDz91WoDqUm/i5C5ov3HMqsdfwAw5tpShN0s/dzyQmacQzpKVyeZrM9+eLY8v4zVfQPLRAuGef8xl+IEuEcGEK7XyZxI7lEc696gzVCZQDXLos+Taj8mVQ9iUxtAuaL9xzKrHPqJCZ99daYNGQ3Kdsj8MPSCOuxLhPyKA6qhhbJiu/OmURdBvNF+5LpLm7xJYppGW0BN5cIaURz5Cfezwr2ld+la+VetF5NE6433T/TvzSx+/A/GIQWtXJFXKSIX+1E+U0dz+cu2juqCQFJ+PnzpVdIW2XVfJzD+u61AtB44T79w+ewDe27Y8qb14d9uotkyndHdJYztePLVP8/F1BpfADk6BlUGUSUw4tU7Msgm6jccI91kyCbT7n7u++meEHKnrAiJ+7P1SiZSYU8rc8557c2s5VLYug22iecFfeAA6a61Ivs1fcmbgbX10h3jIVO8qJGFQrhPzNTS+6u6A6mifco5Cm4dbFz93DfV1kcSHn7tFdRvzcY8yOK2T172EbSYjmLqiDBgr3UHMP45i7eMv0PDxlNi2j7Rdx7g75lS2PtOHZeQdB4LCS13guQxw4zHPGgsahecI93LoIt4iW8RE4LJOWYet+UR61NSvxlokwK+EHqoX89WtQjZSfmenyBNNC84S7Mb06V3NfAvVl2n7uS/GMs45qi3VMxqAabP0Y1oWWEdRB44R7L9JMEG6LvWV8NGQ3g2qB5p6xX6c80ohRzc99IgbVYFuqv83zlqkTOKzylYK2oHHC3Zyk4eItM0kBWGZ1pTIRJF3vK4242juYlEEVKEeV5fq519LcpWZ0Hc0T7uHWnNlnq8tjj9ptZiNkhzT5l1Urj3DuEWYm/ECYZxnePdfPvVZZalwsaAUaJ9xhGIzyViSKfOE93NZLbBl9wpOnxifCvSrnru17eodVqLJ8zr0OLSP1outonHDvxe4ywSaqw+nKHNMyHjj3rOMlOPdkJnVpGXXPWtm0ApU+r0/PpShLpWjU62y8lEXqRefROOGu3BpNY6mtMo/G/u7r0kGU8nOv6y2TF3GqY6j7CnyNfqpQZb6FsBmeQ9BdNE+4RzNUk0LdVpd9UhaZmnuJkAIJg6qn8ggtU21klowJ5Kkc4XZcQqnwbVCNXYWlXnQdjRPuPdPPHep/ujL7jJzo4gpZhnOvLZTFoBqh7iQmf5p7eVomL6m4QgrqwEm4E9FlRPQIEW0joqsz0vwiEW0hogeJ6P/6LaZ2n4iWcdHc1TkvJtXCo8WTmNzTFpcm25AsKIbX2cIqn3BbzhVSlcGmnHgojKCzGBQlIKI+gI8CeD2AHQDuJqIbmXmLluZCAO8D8CpmPkhEZ0+qwEhp7tnauU8/d5fwA9OYxKTKMMmlBGcdlTR3bd/b6CcaTZW5xjMtYyg/gu7CRXO/GMA2Zt7OzAsAPgfgCiPN2wF8lJkPAgAz7/FbzBimCMszYkXC3cN9XbxlyrXpmt4yE9A8m4pqi3XonbKfcqj6VkVzL3uuTr6CbsBFuJ8H4Ent/47wmI7nAnguEX2DiO4gostsGRHRVUS0mYg27927t1qBlZ+70txzeJnx2EgzYRQbVCdTjq5rabOiuVeiZfI49zp+7t2uEgK4CXfbeN+sOgMAFwK4BMCVAD5ORKelLmK+jpk3MvPGtWvXli1rUJiM8AN53jJeNHcng2oJWsaPPRWA8O5VHj/x3Ty5zFaKLZOXX61rO14pBE7CfQeA9dr/dQB2WtL8IzMvMvOjAB5BIOy9I7VYh9raDFKpnerw4edeNVRBUXm63pDrjoj8ae4hLVMq/IA/uxAgfu6CGC7C/W4AFxLR+UQ0B+DNAG400vwDgEsBgIjOQkDTbPdZUIWsZfbyNHcfyOTcywQO8xh+wOcooOmo9vjuhnDnHHPsP8WlKHvSjmiY3fVKISgW7sw8BPBOADcDeAjADcz8IBFdS0SXh8luBrCfiLYAuB3AbzHz/kkUOK2552g+OYK/LFxomVKTmOoK9xL3bTvq+7n7LUeZ/MTPXTApFLpCAgAzbwKwyTh2jbbPAN4T/iaKaKWZlOae4y3jJbaMPY8yGrTPGaooMWJoPyp4y+j7njtHb94yNYrV8f5egAbOUDVD/iLjP5Dm5WshU3N3H977FChlDLltx6xo7pErZBXO3VLBahlUO14nBE0U7gYtkzdRKXaXrH/fbM49fb86+VW5XjT38vAaCkLlWcNbJq/+AsAtW3bjr7/xaGE+amQrdULQOOHeo6zwAzm0jA8SxIFzL7oP++Vl7Pl2EFWePutTfObOx/Gev/12xXKEmvsEYsu8/dOb8YEvbclOnLpW0HU0TrinV2LK0dyNtHWQLbjLeMvEqKstToJWaCpqT2LSXuD7//4B/N293y+8/vpvPIoNV38Z84ujVDl8jwSqXdvxSiFooHA3Y8vkeMT49iEuQuEkJo+Ke9KtstsNuW74gSqv72Nf+x4A4Knji1o5AlQJ+Wutv+WLJRBEaKBwN5bZC497j6rnmFc5DbqeQKl+33aj7rscTdPP3fO3UyPbrrvHCpoo3MOti+a+NJOYtP1SmntNWqbEfduO+h2lr/dXgXPPPVmhXMbIVtBdNE+4G4HDkMe5Rx2AD4OqPY8yVEtVz5qi8nRec69Ey8T7szuJqUZZalwraAeaJ9zDbRzHIz5nCuB4sY76yNbcNSFb0Kon5CzT+SF4NYNqoqv1Uo5qIX+VcuKXVux4lRCggcK9F5bY5gKZrtAeDapeOPeMCx3woVu+i4/evs16ubTj8qirued5Z5WbxJS8NnmufMGEcxcoOIUfmCVkLbMHpBuIz2X2MsMPlODR6yzK/JFbtwIA3nHpBalzZYRJG1F3hqovOVhnEpM1Pz/ZCDqKxmnuyAj5C6Q1nSVZILuEB4xPgeIzwmTTUYlz1/araLm2VQ3j+lZGc89OK37ugjponHDP8pYB8jT3+nCaoVok3BPX1fSWSdAK3W7I1TR33SBd/f3ZRmOVXCtzaJ4q6HiVEKCBwr1nRoXM0WB91m+XvMoss1e3bMK5x/D5Lmtd69lbpgoktoxAoXHC3QwchoSQmxwt44KlnLxSl1ZoE6qMgpKjqCr3DLZjS4ftL+RvdYNq11fnEjRRuMNYIFs7l9LcbT1ARXjxc/dIpSSnz3e7IVd6ek/fwvZNy3HulW89lXwFzUHjhHsvmoEX1N6E5mRU6LxwwGWRlUWZGC8+tamk5u4t20airp97lddnxjjS90cVYstYz9Wg7jteJQRooHCHsQBwniting9xWbgYVIsCRnl1v/OZV+NRgZbxpLknaZm0wuFaDtsVdQKidX00J2igcI9oGUs0vWzN3Yt4Lzxa5i4+tXjh3CtcU/P6vHxK0TLRtelramnu3a4SAjRRuMcWo2CT44Hic4iarbnHJ5Z0gWy437ftqPL0yW9RXfO3GVTL0DIqI7vmXgHRSKDbdULQQOEeuUKG/5Oa0+S8ZbI59xifu+sJ5zxqszJCy0Soy7nbbBauAt/uClmPJso7VphPjWsF7ULjhDtFnHuarExp7hWGyVlwyeL2R/bmhgKou0BEIq9EvvXyajrqTwhLX+9qpE6OHCtw7sa1vtB1I7ugicI93MayPVtg+qzfRbFlNj7r9MJ7JpW8aqUbjdOjEaFlKlyTeH+282656tfaZk27lsNmjK9lUBVapvNonnA3JjHlh/zN5jPLIrvBBid6vWRAs5ykBfnlYzEkdIVzj1HfoFpec4/rYfo7jMpEhZyQK6TIdkEDhXuJ8AM+LaoZUPfomXSRLa2Hgiwo4V6geXYJld5rQSgIV+N4QrlwvNaWjy/XRZ/uv4Jmo3nCPdzahsBpzt2j5l5wvN8zV4iypK3poQEAi0OlubuUriOoqbl7CxxWhZaxlCfOrwIto1yEOz6aEzRRuGcskA1YvGUyjldBUfiBHjnQMpbrymJoUdNFc69wTQFFVuc7VtHcbddUomWi/MpfK2gXGifce8a07zzN3SfnngUl9HsO0fg4Y78MFkLNXX9wWayjyjX5Ngt3b5l0fmVC/saatu2c7X5udJEo7oLGCfd4JSZ1pJhz9+LnnpFHmpZxM5BVpQJig6qeV6WsWoO6i3VU0b5Nl9y6NhC7IHc7Zs+v45VC0EDhbgQOS2ruyQq9FMvsKbhp7tkdkSsWR8XP3TXUoS8A+/srytOkU/LowfyMsu9nK5frmgGiuQuchDsRXUZEjxDRNiK6OifdzxMRE9FGf0W0w+aZkNbc/dXwTM09PN6PFu5209yrlizS3D1OiGo66j6+1cfclXNXeVSkycrahVxzFoOqoFC4E1EfwEcBvAHARQCuJKKLLOnWAHgXgDt9F1JHvBJT8D9veL00tExwot8rx7lXLZSdlul2Q667WEc9zj2tKY/KKO45dqEqdBEbW0F34aK5XwxgGzNvZ+YFAJ8DcIUl3e8B+CMA8x7Ll0IZWsbmUVMVmXmwKpfLJCZN265YDhstI5x7hWsKvkXZ2DJl4vpbr7eMxFwFvj0/5yIIWgoX4X4egCe1/zvCYxGI6KUA1jPzTR7LZoU5QzVPcx97VGMyXSHDbd9BuBcZ8Vxg09w7PwSv+fh1Zqja1hWoFltGL4+5YzmXmR8ntoLuwkW4k+VYVHOIqAfgwwDeW5gR0VVEtJmINu/du9e9lInCGLRMjga2FHE2Ys69eBJT4rqKZRLOPY1qMVjs+/GxIsNlsK1D6STyGafrsVVzL3hW8XMXKLgI9x0A1mv/1wHYqf1fA+CFAL5KRI8BeAWAG21GVWa+jpk3MvPGtWvXViuwJaaHlr/xP7mtg6wsVDlcJjEVCRQXLFoIXeHcK1yTiAmTPl/ezz0+ViW2jG0kZufci/JLl0fQTbgI97sBXEhE5xPRHIA3A7hRnWTmQ8x8FjNvYOYNAO4AcDkzb55EgfOGwymDqrGthSyDaqS5J8tlT+uDc0+7dnRdS6vrCmmdHer4hewxjir1Nk5lcF8QpuOVQlAs3Jl5COCdAG4G8BCAG5j5QSK6logun3QB03APHOZzmb3MkL/hNtLc8+K56/t1OfdEp9bthlzJoFpwvbPmrraJzqJEOUoaT4s/dbbWL+gWBi6JmHkTgE3GsWsy0l5Sv1jZ6BkWgGRUvgxaxsN9ixpLzyxYQR5VOfeFoS3kb6WsWoOJLNbh+FKVApHwc6/imuloQ3GPM9/xSiFo4gzVJLftorn7QCbnHt6jrLdM1R7HOkO14w25kuZeaFAtl4+evNQkpqhz0I7luPCKK6TAFc0T7uHWVonN+rw0k5gC9AxbgD2PetodEAelSgiTjjfk+gbV6px73dgysV0oraTIJCZBHTRPuJtRIbVzk9RgMxt7eNhpJSb9sopFVVphVb/qdqIKDRLv+/CWQcH32H/0JH7lE3fiA1960Hq9TUmxeoQVlkc4d0GAxgn3KPyAOpCjuSfjztTlZTOOq/ADVBwVMnldNVjpqIp5tQV1BZl9EpPrd0x/D1vI30d2H8HXt+7DX3/jsYzrLeWpo7mLdO88GifcFVw4dx9+5dH1WcfDE06xZTyUx+ZD3fWGXI1zzzdgur7ScTq8fqn8Ys093VnX4tzzkwk6gMYJd4pI93CTY6UcWxpMZWS0KnXYhZaJJzyV85axxh0RWibCRPzcS47AEjYQSwecNbEp1rTTB21lKBbunNgKuosGCvfkMntJF7Rk2qXg41WukbeMJXxsXIZg2yMqJZD0tLYhf949u4Dai3VYzrvHlimuh+Z51/KIQVVQB40T7qll9rRzaVrGn+ZedL2b5h6mpWKfeB02H2qfz9Z01HULtceHKRCihnZdNBLIys9Gy+Te1ymVGFQFDRTu5jJ7SS+DZI32WcGzOdOYanHNg6icENI1QfGWSSOvg8+8piJHnpWuyLUye3SlNH89T9bOmPkU8TLZZRB0C80T7kbgsLyGnbdKU1kkee+01uw2iUl1BFRK27bNRl0KyqkpqDKKKYoF4yocbWGlbddmLZpt7VhyzhVBaBmBQnOFu6UFpGiZxH696p7ViaQNqjl5RJx7uYZr09KL/LS7irKLbAD29+esuVuUDHt+GcqBTWO3jAbivIvoIkvvL+gkmifcU4HDYqQWyB7bG1EVJOmfxBkAbiF/FQLNvQwto2nuipbJcQHtGrK/Tc41ievTV7nPUE2Xwe4to+/rI430d4w6jAqdTqy5d7xSCBoo3M2VmHK4U5/VO0sYxH7u6XNZoJKae4Jzt1zXdX61UkdX6N3imk26sy0yqI4z6qxtVJaXj708YbqOe1AJmijcw21UifNomRzBXxZZvK7ajzX34jx6PSoZFjZOPLIIAOHctX3HLj1Jo1Tn3GNvF/3adLqsqJG2upTnQVNsT013NoJuonHCvWdM82dOG1kVkgLZX2W3dRrRDNW8eO4R504oM65Iau5uHG+XUKUTL6Q3nA2qnNia+7ZjRW6R0X97qtzy2DobQTfROOGeWokJusBPps0a/lZBkXboFH4g3JY3qKY596QhudstucrTF0aFLNlJFHHu4yzOPade2crguszeP23ZjS07D+cnFrQazRPuyqAa/mdmbV3VJBgcdQY33b8T+46e9F4ecw3VPEGrTlGNGao2V0jR3Ctw7onr08dc36nrAtmjhOau3dtmUHWoQy54YOch98SC1qFxwh2RK2RcyylDsI45Frr//YvfwZ/ftq3ybbOMdkmqpUhzVx1BOZpIFyBK67MZ4rqKJG9djisHijny4WiMQycWrevXmjy5eW18v4yRVg7lFnvNFFM6en4/85JnBGm73ut3HE7L7M0SzJmgzMjU3BGeG4V/jy8MK983q03pVEvw341zr+ot47J2bOdQhXPX9otomV/+xJ24Y/sBrD/jFHz9t3/SSOf2PbJdIdPHTaqnjE2Bwej3Ap0ta+KUoBtonOZuW2Yvm3PnRBwXi+LljIR2aBG2LpOYFMqZUx28ZTruGVEltr1uiLefj3N6Yv9xAMCTB05YR4cqPwVbBMhsV0jdnhIeMyZGlVmflRkYOBj362Dr7iPRWr6C2UXzhHu41bWarIUyGDCEe/UKWWhQLbGGamnOXduv45PdVlRxC9WVAqsBVBfWGYJZv3fxSMAuoBOau9Fxq20ZxwAG0O8Hz5UVZrgOdh+ex+s//C/4XWNFKcHsoXHC3VyJacwcac1mVR4zR14sADCqUdeLOHd1n1zhUtE10z5D1X6+i+CM/aKL+jl2kqSdA9q+qblzKr3VoDrOEO4Wjd8U/cmRSZHmzpHmXqe+Z+HQiUUAwN2PHvCfucArGifczTjagXYeHEv5CRtD7zrD1AwbWGwkjYbCOXkgKE9JN3e7nztb4ux0FJX83AFsvT2BAAAgAElEQVT01Kxiy8fI6jzNjlT9Kxo9jC1CPJ2mmHN3cYV0mXMhaD8aJ9wVogrPdjfEOBSvTsv4qezW8AMutAwHtFLpqJAWLTJpa+h2I04IZ1fhzpwKH63D5qFk7qt8zBtbF1TJ0NYTtEwqb0v6Epy7GFS7jcYJd9MIFmjDaVrGpEuAepW9KKysii1T5ApJRKXjuVsbN8cjlq4raFWNy/EoqoAjH2cLbnt8/fS9sjoLth63Uz9ZeZtQo8hJcO6C5qBxwj0dfoCttAxH6eNjvmgZ23HXSUyE8t4yCcGQoKPcI1G2GbZOvfAa7bsVhfwdMWNZ30512MSxrQ7ovH2WQdWkZW68byf2HjlpfN/iB5y0t4ygGWiccFey2hp+wDKlnMiP5q7D1om4hh8ItMWygcPi/dj1jp0mTnUCBaMq6yVQFJkuVO0a8nDMWBYOzdIG1VQRHFwh7byMaVA9sTjCW6+/23k2siq/+LkLgCYKd8OnnVmjXhL0RbDVNfc6w1TO+GNy+0VaNIVMb7ll9tKCQRlUs2iFLqFIa7Zew0FdIsT2j2QnmqRlsoS7c8jfhLeMXnbbt42P7Tp0Aqxp/S7OWBFdN4Fev+ujxCahecI93KpGEbhCItyP06lK2Nc09zoVM4vXVXtmnPncPKgsLaPta3+UcbbrmnuWgTL3GnBAkWmae9LomaTC5gZ2bdjVoyXLWyap8dufwXUSU1y9CP0eTURzFx6/OWiecDf4dWY7LROn9+Mtkzm9PNx38XNnBKQ7adc53dumuSN4Np1W6CqqBA7jkJfRQ0HYJgsxM5iBuSzNXVMybOVRyIznnqB/xtZnSNIyOfUroiIDpabOjOwsyCIgzUEDhXtaiNrCD0Sau8bL1KmYWdqhatwurpChbA9mqJaQ7nrKSLvT8uq6MmX7Hi5QmrudWgm2Spgrzd2sQ1U496wqEoUfMD1yHIcm2sAQvd5kOv2hSPfGwEm4E9FlRPQIEW0joqst599DRFuI6H4iupWInuW/qPr9NC8FZislYuXc69AyibzTDbXUJCZkN3AbbFqhGgX0SrpVthElnUnCazgc+ZBVQKt3ruqM8pZJuUJatfT0/TJdIQv845mLKR89LaBr7sK5dxmFwp2I+gA+CuANAC4CcCURXWQkuxfARmZ+EYAvAPgj3wXVoQ+lGXY3RFUJe5p0H9ap7AUeGbG3TP6wmaD83N1vnVjowXCX0w2CXUUF2Q4g3dHaFGT17rMNqpZry7hCWjR+8+qyK4qpTmsSwn0SVI9gMnDR3C8GsI2ZtzPzAoDPAbhCT8DMtzPz8fDvHQDW+S1mEoSk14gt5K/a12eo1vJzLzieFZkykZaVQClLy6TpAkBz5es4L1OJcw+3RQZVRUMo4Z4KP5BD6WSVscjPXT8YlE9Pk/dMGlXZo4lo2WJQbQ5chPt5AJ7U/u8Ij2XhbQC+YjtBRFcR0WYi2rx37173Uqby0WgZbRp+wkUx1DC8uUJy/r6T5g6d561273hGZJpWELhz7spm0etRJHhtRk+luSuD6nBkCvfktkf2epYMHJa+Xk9j0otJY37eyDDe74tw7zxcFuuwRb22fmEi+mUAGwG8xnaema8DcB0AbNy4sXItIVCiUdl8zM3l78zzWRiOxviZv/gGdhw8ER37dxedg7VrlqfyTt5H3aOg7EShQdUdVj93xH7uXedBszpeHScWRiACVizrB+nCUBBg1hSFGEqoR5z7wN55m8seZgnV7MBh2rfVOu6sa10+NYVeQJOgUGRiVHPgornvALBe+78OwE4zERG9DsD7AVzOzP4XK03cS3dB090Q4zSqQZQNHHb05BAPfP8wnnv2Glzx4mfg9JVz2PzYwWQiS2NzmcQU8+RlDarxvv4Mylum63BZrOMF1/w/XPz7/xynU5o7xcI4MVko3EbeMpkzVJNaf9YqWy6ukHpoCQUyaDeXlb4CP/cJTWISzb0xcBHudwO4kIjOJ6I5AG8GcKOegIheCuAvEQj2Pf6LmUSS1rAvkB2vkBQfc9E6FsNh95tefC4+cMUL8eJ1T8PieJzjChnA1c9d0TJlTH82Tjng78XPHSg2Ziocno+XWYxHPpq3jGW2qNqak5hMbV+n5+yau66ha+XV0tjWxzWzyvfGChJH3jJCy3QahcKdmYcA3gngZgAPAbiBmR8komuJ6PIw2R8DWA3g80T0bSK6MSM7Lwhombgh2HzfVR1MzFB1qJiq8g7CXmHQ72E0YqPjSP8xFxGxgRnBJCYqpm902FYFUh2Frnl2FZnfJu8aBmB4LtmWv1P1ITKoGtSJGfI3a2ZotuZuo9zsowNz38Rn7ngCwVOFBtVJeMt0vK41CU4LZDPzJgCbjGPXaPuv81yuXOgNkpHlLaO0mHKBw9QK94PQr3lZn7A45sLwA1HI34IGFUSFpFwN04RVALAaAYhBtZq84ZCbtgnqOM8sWsY0pKrtoGenZUYWd1YFVZ/1CWo6krFosvH7mx6K8pPwA4LGzVAFkotd6NER87xYALcZqsNIc6fo+tGYs8MPaGUCiqP2RfHci4sSXxduB5o2po6V9bxpI4q+jfUa1hZOsWju5gzVyM/doGt0AzeQTcvYFpJR10WLa2RUnqxrs0CgiU1iEuHeHDRSuCf83KEbTdONvKwrpFpEexA25kGvF2jzGdpTaVfIKjNUx/GQPzmbkmSGKpA5qiqC+hb2kL8hLWN4y5juiubs1iyaLOEKaUR5NOuOeXUlb5kJuUJ2nQJsEhop3KHTMgxrVMjqtEzYmHsxLRNo7naYIX/zbqG0RZR2hQy2g56ujXHk8iYNLkY5zt00qOrnQ83c1NzHyeOqZqj0wegqfT+b3UTdU9mFRraCGAdcFWfR3AWNFO6m73q+K6R2rIRBtR/RMj0MR5w7rNbTF8Zzp/Lx3KPgZJo2lnTlc86qlShaAtF6DbRQEJFbbTofJYijwGHa+09sw/RZGnOWEZW1+pttUE2W2wW93mT83GuF8BAsKRop3BMTd9ge8te2QLZLxVQGVaWpBQZVwxXSsu/EuWuuamWg7rGs30sICTWJqeuKu6srpHmNGvmYghqIFQHV2S+PNPcwrXE/PQppkXA3he4gw1hru9ZFthKFfu6ToGVEuDcGzRTuSGpM5upM+n7SoFpcMYcpzT1o/FmUTqyxhffI49xZW0O1RBtJCg49r/KLbbcRnLFfdE0Um8cQ0MF+uM0IHBZfk7yx/o102BaSAZKce3bgMH2/+AkJE6RlOl7XmgQnV8hZgx4PPbFAtpZG51QVXCqmih0Su0KmY4rYGls/6mByhDviiTNlDH86564P3YVzD5A1qiq6JgoFYdHc1W4UOMyRltE9mnSMxxx2JOkwGQOTljEewiUWvI6JGlQdO4wj84tYGI6xfFkfq5c3Usw0Ho18672Un7ttEpMSuvF1LpqMGQVQNTx9kQKbYHZaIJsBRGuoFhZFuy58lr7mCsnCuStwBd1dp8hMgR3sJzX0bM09eW1WZztmxqDfw8JwnDofa+72J0jakuzPZy6/OCnN3YXafGjXYbzpf/0rRuPAnvDld70az3/6qd7LIshHI2kZfeIOc9JoqhDRJaUDh6VpGSD2olH3NPdt1JCtVCbP6wKVdtDrpTw7yvrMtxFFmrt1NMUa5x4ess0EHUVRIQ3qJKp/8UgKyKZlRmOOPLBGhitk5OeeRf05jEwWNeWDiEKD6gRoGYc8dx06gdGY8dMvOhejMWPXU/PeyyEoRiOFux6bRQ/5a9Nw9MU63DT3UFPrKYNqsF0c6Zp7Gm6LdShXSHevBz3PvtZgI1qh4J5dQJHenqVtxnMO0lx35iQm0wVS3Venzmy0DMeG0yzOfWx0HPG16U4n9Yya8qFiy0zLz31hGLSVS593dvBfVviYCpop3BE3AD0qpI2bTLhCcrFBamiEH1B5m3G8o/uo4T1QaNxUHhrlaZlgO9Bij+shjbtuUIXlu+uwfTt9ZKeUXlv9yQocNjbOR/nleMuopfrMKI+mQTWrrOa+DvMZ+xPT3IvTnAyFu+LalbAXLC0aKdwTtAbbJxDZXCGBYlcyM/yAapC69mGLQRIbN/Pzr7TMXph40NfihWi0QtfXLE4Kv/SLTdhLNKOl6eduG/mlF8hmI59k+n5GHRgzR8HozBmn/V6s0ds66iwfeR0JWgahn/sE+vyRQ2VTFKYI9+mikcI9YQRDxgLZWlodRdrM0BJ+AMimZfT9ovC7sZZfzVumr3HugObn3nHWvYiT1rXaYUSrWEL+WoRovEB2luauLgg2WX7uozFHo0FzhqoeW6bIZpBVvRKaOxH6NBmfdBfNXQnzVcuDhVEWhZaZCpop3JHkOvO8ZUwUcYZK61ANTjXIbFdIVSZKCAobIlqmpOaenNquCSeHe3YBRYHDdK1WfcfY20j3jImviTj3MP2cFvLX1gmoMgz6WYHD4g4ioX1rtOKI7d00W8qVesZRUnOfGC1jeAnZsDAcAdA0dxHuU0Ezhbvum4yMkL8Zda+owkfx3EOhrjT3ZAVNcqZBmZKCwoZAIJf3cFFpE37unA5Z21UkZaVda1ZQI7NAc09SZLZOIqW5m+GfObnNoub0MBkm5z7QjttpmWQ+NuhG40nOf1Blz2tGES2zQmiZaaKhwj3JndoWyLb5LgPFE5kig2oo1GODqs7bwrpf1KBiD5dyRlCrtwzEz12hqFNP0DKjuN7E7y8UWJoMio8p4a7mO7DVe0UdyqVlIg09eU73czevZBice/rxwufSNXeamOauOpG8vJUitEo096miucI93FcaWLBfzE2OCqxMJi2jN+oo74wyFQlaXcsv0+zGmuBIa4qiuRc9vv7tFjXNHdFs4TAfS2yiOOSvZvTU721s++Go0vwmWbQMG7RM0fNlGlQNV8jehBbrMA3NNkSc+5xo7tNEM4W7scxetApSznBZoajCp2iZyM89v+MgOPicc2zgrcK5L+v3Emt4qunzornnfxtdq420eI7j/IwtdUXtpldisvudR7OIM2Yqj1gzqBqKgqLXxhaDqu6Hn/V8QNIjaDjmwGtngpOYcjn30RjL+sHoYdAjEe5TQiOFey/UfM0GZeNeU+FTCyr8Ykb4gSyLvyqDi6GUo3Tl4rnbhvyKVkhEyOwqLN9dx6KFlgHiBcbNUAP6vtou1zV3i+oeae4Zk9nGzNHEuKQSwhGNMhxzur4yO3Hu+jOORuOJL7OXF4ZgYTiOOsO5QU+E+5TQSOGutNXIU8VCy9i0McBBczfCD9iEu01TVL7FRRSJ0vDLqO6Rn7u2EISiFcqGMmgjErLW8i7sBtXgWGbI33BfdQZZBtVszT2tVCjN3cahK+4/VV8NgZ+puY+Smvuk5j+Yi5XYsDgaR/MClvV74go5JTQycJgaqsYNI9jmcZPKwFRkZFo0JjEVukKqMhEVc+6sBEpJbxmL5q5ohZ74uSdpC8t53RXyH769E88+axX+des+nHPqisTIJ09z1ykVW2hg/Rvp//V0g35yIpRKR5TtuhhEkdT/27+1rkkHAbsms2qSUo6GY8YHb9qC44sjXHv5D0XPBgSa+zJdcxfhPhU0UrjDoGXixTpimAG21BJ1RdrMcDTGoEfRaMDmCpntLVM0iUmjZUq0Oz0yoT7yiDj3jredIoOj3jF/5Nat0f6gv4DTV82lQgjof9RnH/R6UUdgYWVStIwpWJPeMunOSEVxNIs/HI+dOPdFQ3OfFC2jOqZDJxbx8X99FADw1ledjwvOXh2lWRjGmvtcvxeFIxAsLRpJy/RCdxN9SAvAqPmcOGTOMMyCClOqEGvuGbRMNOsUhcZNZm2xDgdte35xhMf2HUtohcoTI1gmDsVG3A7AJmx1DI3e75o3XQQAeOr4QnLhF4vmrupLrxcI4EJXSMqgZZjtxlbmKIrjmC2c+9huS0o9o865R7TMBDR3S57HTg4T/xdGMee+fNBL2AMES4dGCncl0GLOPdjaudf0sDoPiyOOOgJADz+QQctoZVDGuXseP4CPf307Dh1fTOQdaO7BxBkXbfu9N9yHS/7kqzgZzvgbaEN+NZwXzj17JKVgBtV69tpVAAIhm8W5HzgWfDslIPsUGD3HYwZb5rPpIX9V3mYZ+6EB1xS6+oxSm+bussye3oGNJqi5Own3YZJzVzNWBUuLZgr30CslalBKWxqnG4GpuRdpucPx2Kq5Z3rLRGWiyCj2W1+4Hx/88kO46Ts7k2lDDxfAzVvmlod2AwCeCjuJxDT1MIPehNbKbBKKFuswNfc1K2I2steLr9fl1he/tQPf3X0ksWB6JIAThvuk5t6LOmCDlmEOtH9jkpOi6iKDqlF2k3PPpmXSmvtSLbN3xBDuukFVvGWmh0YK9164TF3KiKWlMRvXsgwu1MRwHIdmDa6zBA7LyEIZVI/OB5V9/9GFxHkGwokz2ZNRdKhSHDge5KMvxxbQMpRYbKKrKKu5r16+LNonbeEXJXRff9E5AIDH9x9PzA7uU6AN2wyc6tAgo56NORC4REmNWlF1gwyDalD+uO5lG1TTnPs0aRkxqE4fjRTugIrNHuzbVkFKGVSNxRayEBhU49fS76eH2Qn9iuOolMrgpir7gWNJ4a5PnHGBsiUcDPOJQsOOY1omKFvXxXsMO+duCHdNc09EGA2TKeF+8PhCYsH0nqJlLAbOoklM41Cb1peIDMobcO7BqMDe6bsIx6Qv/+T83G117aiNlukrWoawOJT6OQ00Urgrb5PYVzk4nhycqwYbbJdZfIxtUFqPwrJevihmxMKaKFio4NhCwDE+dXwhld4MVpUHdeuDIS2jPwNHaWSGapE3iUmprZ7TaJkE5x7snLlqDkDw/ZQy0FMCOKW5J++btVD6mGPt33SFBGJ6zdo5aYI7Sxs3wxpPys/dtvBJSriPWKNl+jgpmvtU0EzhDgAaLWML+au5gwOIOfeiBX6HoyQt07cId5MGUCOHHlFCoB9IGVQ5LL9bPHeV78HjSnNPcu7mDMuuIo+OA5KjtVOW9aM444ARhC48tnr5AIMe4eDxxdig2qOQxzbvoa7N19xH43j9XBstk+UKCcTf33xWHWmDarFnWBVYNff5tOYe0TJ94dynhUYK915PGVTD/xbl2qyDyywTSGwYjseJCRn6fpR3Yj/+1yNK8OwHDVomcoV01Nwjzv1YknNX3hoE8ZYBTJojDV3bXDnXT3xTfeSjr7t72sq5QHNXdAtRODFobJ9PYdh/TMHKHMR76fUoVd5EoC/LA3zwyw9p97N/7EVDc1edhW+Yea5ZPrB4y4yicA1zA5IZqlOCk3AnosuI6BEi2kZEV1vOLyeivw3P30lEG3wXNHE/EHYemscnw0kUds49yaO6ukIOR/FkEwAJLf68004J80xrXkE5Yi3r7DXLExpXlFYZVB2eUz2DybkHgoO1lYS6Ld3LLNZxylw/cU6fc6CqRo+A01cuw1Oa5t7rEQa9Xk7gsOC/LWa7yltx7onAYRwQe4quyRrR/cxLnpEoownd6DoajyOvHd9GVZOVOfWUZRZvmXj0K5r79FAo3ImoD+CjAN4A4CIAVxLRRUaytwE4yMwXAPgwgD/0XdBkmYCHdh3Gh275LgB9hqrWaIxrlNfLf7juDvz5bVuRhaEWAwRI0jKRcNfSK81LlUNp2eeftSqtuYceLi7x3IejmLtXW2UIPHBsIdFRCOeu7VuEoy5MV5rCXeOm4yBwhNNXzuFgqLmrOhDx4gYtF9w3gG09XyDbFTK4X7afu8Kv//izg3qW6S2T1tzVfX1C7yyWD3pYbdXcxRVyFuCiuV8MYBszb2fmBQCfA3CFkeYKAJ8K978A4LWk1OkJwMxYD/l7eH4R/3Dv9/H5zU8C0Bqd9qTX/9tjCU0HCATAF+/Zgcf2HYs0ZCDuFADgvNMD4X7s5BDziyM8eeA49h89qUKBoUfx8PjZa1fh2MIIN4TlAOya+/ziCPuOnsQ/b9mN7XuPRmkPGzwmAPzo+WcAAH7xL7+JLbsOh66QwrmPzd7WgE5ZXPbCcxPnegQcWxgGs37DZATgtFBz1w3siuowNff5xRFOLAYdcFbgMLWojG2kpei1LIMqADxn7epEeOL0MyY5d6W5/87fP4AHvn8oI9fyGBqjoNUrBimDqunnPi+TmKYCl9gy5wF4Uvu/A8CPZqVh5iERHQJwJoB9PgpZhOWDQBv7g688jD/7561RQwOC4TUArDt9JYADeNkzT8O3nngKr/yD27B6+QAcej/ML46w58hJAPEQGIgnpQDAT/3QOfiX7+7Fr37yroQCdWqoUSutjSgQIpu+8wP89hfux0du3Yp+j/D4/uO46NxT0SPCE/uP45I/vh07D81Hms0g5HqZGU+dCIyx6884Bacs62P96Stx0bmnAgg096efugKvfM6Z+P7BE9i65yhe/Ye3WY2/NpTpdV376FI9uWNi1zy/t/dYtP8fP34nzl6zPPJu6fVig9/t/+0SPOuMlYlrX/O8tfinLbvxqj+4DQthJ9Ajwhmr5nDrw3vw8A+ORDRdv0e4+cEf4JYtu6Pr73r0AF567S1RnVOjvkv+5Ks4Y9UcTjtlGU4Ox9h3dAE9Isz1e/jsXU/im9/bjxEzdj01j2eduRL9HuEb2/bjjX/29dTzrZzr45S5PnpE+D93Po5N39kVx7QJOwR9lDjo9aK68Lebn8QXvrUDzzoz+dy2d+vyrXccPB7tr5obYNXyAe7cvh+v+9DXouMHjy9ENq61q1fgqeOLeN2HvlaujrQc73rthfj3L35GccIacBHutm9i6g8uaUBEVwG4CgCe+cxnOtzajndcegFuf2QPfv7l6/HgzkP46R8+F09/2gp89ZG9WLNigDe96FzMDXr4ygM/wDsvvQCvePaZ+MWN6/GOSy/A+tNPwV99/VFs33sUJ4dj9EIPBhDwY885C2944dNTQ/frfuXluOvRA7j0+WfjU2+9GJ+58wmsXbMcTz91Bc5YtQzrQ4Hx7tdeiG9u349XX3AWXvPctbjr/a/FR27dil1PzWPEjB/ZcAaueMkz4mnoDFz6/DlsOHMVBn3CY/uO4ejJEQDG006ZA4PxGz/xHJweuuYBwPVv+REcXxjhjT8caKD3PnEQZ66ew5H5oZMGX0bHdx0QlMvTLXWZPF+8/jT8wsvX43t7j2LLrsMYh9q14sdHY8b6M07BhjNXRgLsU2+9GPOLI7z+Befg4LEFbA87iDUrBnje09fgl1/xLBABx06O8Pxz1wAA3v265+Lftu3DcMx43jlrcO5pK3D7w3vRC0djK+cG+NmXrsNj+45h+aCPETMOn1jEoEe4ZPla/NzL1+E1z12LTd/ZFY0IehsIP/uy87DnyDxue3gv+gT82AVnYe2a5dh7+CT2HJnHi9efFtz/tRfikd1HAKjlGhHuBw3wgrNXY35xjF//8fOx7+gCHt51GM88YyV2PHUiGr1kRtB0fOHPO2cNfnjd0/DwrsO45HlnY9XyAVYv74M0EfD8p6/B5aHgevtPnI/F0Rjb9x3NyrKTeNopy4oT1QQVxh8neiWA32Xmnwr/vw8AmPl/amluDtN8k4gGAH4AYC3nZL5x40bevHmzh0cQCASC7oCI7mHmjUXpXDj3uwFcSETnE9EcgDcDuNFIcyOAXwv3fx7AbXmCXSAQCASTRSEtE3Lo7wRwM4A+gE8y84NEdC2Azcx8I4BPAPgbItoG4ACCDkAgEAgEU4LTYh3MvAnAJuPYNdr+PIBf8Fs0gUAgEFRFI2eoCgQCgSAfItwFAoGghRDhLhAIBC2ECHeBQCBoIUS4CwQCQQtROIlpYjcm2gvg8YqXn4UlCm3QEMj7SELeRxLyPmK04V08i5nXFiWamnCvAyLa7DJDqyuQ95GEvI8k5H3E6NK7EFpGIBAIWggR7gKBQNBCNFW4XzftAswY5H0kIe8jCXkfMTrzLhrJuQsEAoEgH03V3AUCgUCQg8YJ96LFutsIIvokEe0hoge0Y2cQ0S1EtDXcnh4eJyL6SPh+7ieil02v5P5BROuJ6HYieoiIHiSid4fHu/o+VhDRXUR0X/g+PhAePz9crH5ruHj9XHh8SReznxaIqE9E9xLRTeH/zr2PRgl3x8W624jrAVxmHLsawK3MfCGAW8P/QPBuLgx/VwH42BKVcakwBPBeZn4BgFcAeEdYB7r6Pk4C+ElmfjGAlwC4jIhegWCR+g+H7+MggkXsgSVezH6KeDeAh7T/3XsfwcLAzfgBeCWAm7X/7wPwvmmXa4mefQOAB7T/jwA4N9w/F8Aj4f5fArjSlq6NPwD/COD18j4YAFYC+BaCNY73ARiEx6N2g2BdhleG+4MwHU277J7fwzoEHfxPArgJwSqEnXsfjdLcYV+s+7wplWXaOIeZdwFAuD07PN6ZdxQOoV8K4E50+H2EFMS3AewBcAuA7wF4ipmHYRL9mROL2QNQi9m3CX8K4LcBjMP/Z6KD76Npwt1pIe6OoxPviIhWA/gigP/KzIfzklqOtep9MPOImV+CQGO9GMALbMnCbavfBxG9CcAeZr5HP2xJ2vr30TThvgPAeu3/OgA7p1SWaWM3EZ0LAOF2T3i89e+IiJYhEOyfYea/Cw939n0oMPNTAL6KwBZxWrhYPZB85uh9hOefhmBpzLbgVQAuJ6LHAHwOATXzp+jg+2iacHdZrLsr0Bcl/zUE3LM6/quhl8grABxSdEUbQESEYM3eh5j5Q9qprr6PtUR0Wrh/CoDXITAk3o5gsXog/T5au5g9M7+Pmdcx8wYE8uE2Zv4ldPF9TJv0r2AseSOA7yLgFd8/7fIs0TN/FsAuAIsINI23IeAFbwWwNdyeEaYlBB5F3wPwHQAbp11+z+/i1QiGzfcD+Hb4e2OH38eLANwbvo8HAFwTHn82gLsAbAPweQDLw+Mrwv/bwvPPnvYzTPDdXALgpq6+D5mhKhAIBC1E02gZgUAgEDhAhLtAIBC0ECLcBQKBoM18HaMAAAAsSURBVIUQ4S4QCAQthAh3gUAgaCFEuAsEAkELIcJdIBAIWggR7gKBQNBC/H+2RMy3AHOtNAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(d_T_pred, slope_est)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Model 3\n",
"各時刻において時の流れの傾き `slope` を独立としたために, 時の流れが細かく変動するような結果となった。そこで、\n",
"- 時の流れはゆっくり変わる\n",
"\n",
"という仮定を入れたい. 具体的には, `slope_raw0` を2次のトレンドモデルに従うとする。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### モデルの定義"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"tf.reset_default_graph()\n",
"n_T = 350\n",
"n_T_pred = 450\n",
"n_pred_only = n_T_pred - n_T\n",
"\n",
"## データの型定義\n",
"T = tf.placeholder(tf.int32, shape=[None])\n",
"Y = tf.placeholder(tf.float32, shape=[None])\n",
"\n",
"## 確率変数の型定義および初期化\n",
"# 制約のないraw変数\n",
"y0_raw = tf.Variable(tf.log(30000.0), dtype=tf.float32)\n",
"lam_raw = tf.Variable(tf.log(0.005), dtype=tf.float32)\n",
"sigma_raw = tf.Variable(0.2, dtype=tf.float32)\n",
"slope_raw0 = tf.Variable(np.ones(n_T), dtype=tf.float32)\n",
"# fの予測をするために, f_raw0の最後の「傾き」がそのまま n_Time_pred まで続くとした. # 変化した箇所\n",
"rep_last = slope_raw0[-1] + tf.cumsum(tf.tile([slope_raw0[-1] - slope_raw0[-2]], [n_pred_only]))\n",
"slope_raw = tf.concat([slope_raw0, rep_last], axis=0)\n",
"\n",
"# raw変数から推定に使うparametersを作る\n",
"y0 = tf.exp(y0_raw)\n",
"lam = tf.exp(lam_raw)\n",
"sigma = tf.exp(sigma_raw)\n",
"slope = tf.sigmoid(slope_raw)\n",
"f = tf.cumsum(slope)\n",
"log_mu = tf.log(y0) - lam*tf.gather(f, T)\n",
"\n",
"# 計算しておくと後で便利なparameters\n",
"log_mu_pred = tf.log(y0) - lam*f\n",
"mu_pred = tf.exp(log_mu_pred)\n",
"mu_upper = tf.exp(log_mu_pred + 1.96*sigma)\n",
"mu_lower = tf.exp(log_mu_pred - 1.96*sigma)\n",
"\n",
"\n",
"## Cost(Loss, 目的関数)の定義 # 変化した箇所\n",
"slope_raw0_diff = 2*slope_raw0[1:(n_T-1)] - slope_raw0[0:(n_T-2)]\n",
"cost_func = - tf.reduce_sum(tf.distributions.Normal(loc=log_mu, scale=sigma)\n",
" .log_prob(tf.log(Y))) \\\n",
" - tf.reduce_sum(tf.distributions.Normal(loc=slope_raw0_diff, scale=0.1)\n",
" .log_prob(slope_raw0[2:n_T]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 最適化"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"EPOCH: 500, cost: -659.254\n",
"EPOCH: 1000, cost: -698.340\n",
"EPOCH: 1500, cost: -703.854\n",
"EPOCH: 2000, cost: -704.869\n",
"EPOCH: 2500, cost: -705.395\n",
"EPOCH: 3000, cost: -705.462\n",
"EPOCH: 3500, cost: -705.963\n",
"EPOCH: 4000, cost: -705.923\n",
"EPOCH: 4500, cost: -705.773\n",
"EPOCH: 5000, cost: -706.231\n",
"y0: 30226.402344, lam: 0.008898, sigma: 0.098220\n"
]
}
],
"source": [
"n_epochs = 5000\n",
"n_epochs_report = n_epochs // 10\n",
"\n",
"train = tf.train.AdamOptimizer(0.03).minimize(cost_func)\n",
"sess = tf.Session()\n",
"sess.run(tf.global_variables_initializer())\n",
"\n",
"d_T = data['Time']\n",
"d_Y = data['Y']\n",
"\n",
"for epoch in range(n_epochs):\n",
" cost_val, _ = sess.run([cost_func, train], feed_dict={T: d_T, Y: d_Y})\n",
" if (epoch+1) % n_epochs_report == 0:\n",
" print('EPOCH: %d, cost: %.3f' % (epoch+1, cost_val))\n",
"\n",
"y0_est, lam_est, sigma_est, slope_est = sess.run([y0, lam, sigma, slope])\n",
"print('y0: %f, lam: %f, sigma: %f' % (y0_est, lam_est, sigma_est))\n",
"\n",
"# prediction\n",
"mu_est, mu_upper_est, mu_lower_est = sess.run([mu_pred, mu_upper, mu_lower]) \n",
"\n",
"sess.close()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 結果の可視化"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.collections.PathCollection at 0x1f5336cfbe0>"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"d_T_pred = np.arange(n_T_pred)\n",
"\n",
"plt.fill_between(d_T_pred, mu_lower_est, mu_upper_est, color='b', alpha=0.2)\n",
"plt.plot(d_T_pred, mu_est)\n",
"plt.scatter(data['Time'], data['Y'], alpha=0.5)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x1f5330fcdd8>]"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.plot(d_T_pred, slope_est)"
]
}
],
"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",
"version": "3.6.7"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment