590 строки
182 KiB
Plaintext
590 строки
182 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {
|
|
"collapsed": true
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"from IPython.display import Image"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# CNTK 106: Part A - Time series prediction with LSTM (Basics)\n",
|
|
"\n",
|
|
"This tutorial demonstrates how to use CNTK to predict future values in a time series using LSTMs.\n",
|
|
"\n",
|
|
"**Goal**\n",
|
|
"\n",
|
|
"We use simulated data set of a continuous function (in our case a [sine wave](https://en.wikipedia.org/wiki/Sine)). From `N` previous values of the $y = sin(t)$ function where $y$ is the observed amplitude signal at time $t$, we will predict `M` values of $y$ for the corresponding future time points."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<img src=\"http://www.cntk.ai/jup/sinewave.jpg\"/>"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.Image object>"
|
|
]
|
|
},
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"# Figure 1\n",
|
|
"Image(url=\"http://www.cntk.ai/jup/sinewave.jpg\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"In this tutorial we will use [LSTM](https://en.wikipedia.org/wiki/Long_short-term_memory) to implement our model. LSTMs are well suited for this task because their ability to learn from experience. For details on how LSTMs work, see [this excellent post](http://colah.github.io/posts/2015-08-Understanding-LSTMs). \n",
|
|
"\n",
|
|
"In this tutorial we will have following sub-sections:\n",
|
|
"- Simulated data generation\n",
|
|
"- LSTM network modeling\n",
|
|
"- Model training and evaluation\n",
|
|
"\n",
|
|
"This model works for lots real world data. In part A of this tutorial we use a simple sin(x) function and in part B of the tutorial (currently in development) we will use real data from IOT device and try to predict daily output of solar panel. "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {
|
|
"collapsed": true
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"import math\n",
|
|
"from matplotlib import pyplot as plt\n",
|
|
"import numpy as np\n",
|
|
"import os\n",
|
|
"import pandas as pd\n",
|
|
"import time\n",
|
|
"\n",
|
|
"import cntk as C\n",
|
|
"import cntk.tests.test_utils\n",
|
|
"cntk.tests.test_utils.set_device_from_pytest_env() # (only needed for our build system)\n",
|
|
"\n",
|
|
"%matplotlib inline"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"There are two run modes:\n",
|
|
"- *Fast mode*: `isFast` is set to `True`. This is the default mode for the notebooks, which means we train for fewer iterations or train / test on limited data. This ensures functional correctness of the notebook though the models produced are far from what a completed training would produce.\n",
|
|
"\n",
|
|
"- *Slow mode*: We recommend the user to set this flag to `False` once the user has gained familiarity with the notebook content and wants to gain insight from running the notebooks for a longer period with different parameters for training. "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {
|
|
"collapsed": true
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"isFast = True"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Data generation\n",
|
|
"\n",
|
|
"We need a few helper methods to generate the simulated sine wave data. Let `N` and `M` be a ordered set of past values and future (desired predicted values) of the sine wave, respectively. \n",
|
|
"\n",
|
|
"- **`generate_data()`**\n",
|
|
"\n",
|
|
"> In this tutorial, we sample `N` consecutive values of the `sin` function as the input to the model and try to predict future values that is `M` steps away from the last observed value in the input model. We generate multiple such instances of the input signal (by sampling from `sin` function) each of size `N` and the corresponding desired output as our training data. Assuming $k$ = batch size, `generate_data` function produces the $X$ and corresponding $L$ data and returns numpy arrays of the following shape:\n",
|
|
"\n",
|
|
"> The input set ($X$) to the lstm: $$ X = [\\{y_{11}, y_{12}, \\cdots , y_{1N}\\},\n",
|
|
" \\{y_{21}, y_{22}, \\cdots, y_{2N}\\}, \\cdots,\n",
|
|
" \\{y_{k1}, y_{k2}, \\cdots, y_{kN}\\}]\n",
|
|
"$$\n",
|
|
"> In the above samples $y_{i,j}$, represents the observed function value for the $i^{th}$ batch and $j^{th}$ time point within the time window of $N$ points. \n",
|
|
"\n",
|
|
"The desired output ($L$) with `M` steps in the future: $$ L = [ \\{y_{1,N+M}\\},\n",
|
|
" \\{y_{2,N+M}\\}, \\cdots, \\{y_{k,N+M}\\}]$$\n",
|
|
"\n",
|
|
"> Note: `k` is a function of the length of the time series and the number of windows of size `N` one can have for the time series.\n",
|
|
"\n",
|
|
"- **`split_data()`**\n",
|
|
"\n",
|
|
"> As the name suggests, `split_data` function will split the data into training, validation and test sets."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {
|
|
"collapsed": true
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"def split_data(data, val_size=0.1, test_size=0.1):\n",
|
|
" \"\"\"\n",
|
|
" splits np.array into training, validation and test\n",
|
|
" \"\"\"\n",
|
|
" pos_test = int(len(data) * (1 - test_size))\n",
|
|
" pos_val = int(len(data[:pos_test]) * (1 - val_size))\n",
|
|
"\n",
|
|
" train, val, test = data[:pos_val], data[pos_val:pos_test], data[pos_test:]\n",
|
|
"\n",
|
|
" return {\"train\": train, \"val\": val, \"test\": test}"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {
|
|
"collapsed": true
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"def generate_data(fct, x, time_steps, time_shift):\n",
|
|
" \"\"\"\n",
|
|
" generate sequences to feed to rnn for fct(x)\n",
|
|
" \"\"\"\n",
|
|
" data = fct(x)\n",
|
|
" if not isinstance(data, pd.DataFrame):\n",
|
|
" data = pd.DataFrame(dict(a = data[0:len(data) - time_shift],\n",
|
|
" b = data[time_shift:]))\n",
|
|
" rnn_x = []\n",
|
|
" for i in range(len(data) - time_steps + 1):\n",
|
|
" rnn_x.append(data['a'].iloc[i: i + time_steps].as_matrix())\n",
|
|
" rnn_x = np.array(rnn_x)\n",
|
|
"\n",
|
|
" # Reshape or rearrange the data from row to columns\n",
|
|
" # to be compatible with the input needed by the LSTM model\n",
|
|
" # which expects 1 float per time point in a given batch\n",
|
|
" rnn_x = rnn_x.reshape(rnn_x.shape + (1,))\n",
|
|
" \n",
|
|
" rnn_y = data['b'].values\n",
|
|
" rnn_y = rnn_y[time_steps - 1 :]\n",
|
|
" \n",
|
|
" # Reshape or rearrange the data from row to columns\n",
|
|
" # to match the input shape\n",
|
|
" rnn_y = rnn_y.reshape(rnn_y.shape + (1,))\n",
|
|
"\n",
|
|
" return split_data(rnn_x), split_data(rnn_y)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Let us generate and visualize the generated data"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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\nPQAAAABJRU5ErkJggg==\n",
|
|
"text/plain": [
|
|
"<matplotlib.figure.Figure at 0x2d6be97c6a0>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"N = 5 # input: N subsequent values \n",
|
|
"M = 5 # output: predict 1 value M steps ahead\n",
|
|
"X, Y = generate_data(np.sin, np.linspace(0, 100, 10000, dtype=np.float32), N, M)\n",
|
|
"\n",
|
|
"f, a = plt.subplots(3, 1, figsize=(12, 8))\n",
|
|
"for j, ds in enumerate([\"train\", \"val\", \"test\"]):\n",
|
|
" a[j].plot(Y[ds], label=ds + ' raw');\n",
|
|
"[i.legend() for i in a];"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Network modeling\n",
|
|
"\n",
|
|
"We setup our network with 1 LSTM cell for each input. We have N inputs and each input is a value in our continuous function. The N outputs from the LSTM are the input into a dense layer that produces a single output. \n",
|
|
"Between LSTM and dense layer we insert a dropout layer that randomly drops 20% of the values coming the LSTM to prevent overfitting the model to the training dataset. We want use use the dropout layer during training but when using the model to make predictions we don't want to drop values.\n",
|
|
"![lstm](https://www.cntk.ai/jup/cntk106A_model_s3.png)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"metadata": {
|
|
"collapsed": true
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"def create_model(x):\n",
|
|
" \"\"\"Create the model for time series prediction\"\"\"\n",
|
|
" with C.layers.default_options(initial_state = 0.1):\n",
|
|
" m = C.layers.Recurrence(C.layers.LSTM(N))(x)\n",
|
|
" m = C.sequence.last(m)\n",
|
|
" m = C.layers.Dropout(0.2, seed=1)(m)\n",
|
|
" m = C.layers.Dense(1)(m)\n",
|
|
" return m"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Training the network"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"We define the `next_batch()` iterator that produces batches we can feed to the training function. \n",
|
|
"Note that because CNTK supports variable sequence length, we must feed the batches as list of sequences. This is a convenience function to generate small batches of data often referred to as minibatch."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"metadata": {
|
|
"collapsed": true
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"def next_batch(x, y, ds):\n",
|
|
" \"\"\"get the next batch to process\"\"\"\n",
|
|
"\n",
|
|
" def as_batch(data, start, count):\n",
|
|
" part = []\n",
|
|
" for i in range(start, start + count):\n",
|
|
" part.append(data[i])\n",
|
|
" return np.array(part)\n",
|
|
"\n",
|
|
" for i in range(0, len(x[ds])-BATCH_SIZE, BATCH_SIZE):\n",
|
|
" yield as_batch(x[ds], i, BATCH_SIZE), as_batch(y[ds], i, BATCH_SIZE)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Setup everything else we need for training the model: define user specified training parameters, define inputs, outputs, model and the optimizer."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 10,
|
|
"metadata": {
|
|
"collapsed": true
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Training parameters\n",
|
|
"\n",
|
|
"TRAINING_STEPS = 10000\n",
|
|
"BATCH_SIZE = 100\n",
|
|
"EPOCHS = 20 if isFast else 100"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"**Key Insight**\n",
|
|
"\n",
|
|
"There are some key learnings when [working with sequences](https://www.cntk.ai/pythondocs/sequence.html) in LSTM networks. A brief recap: \n",
|
|
"\n",
|
|
"CNTK inputs, outputs and parameters are organized as tensors. Each tensor has a rank: A scalar is a tensor of rank 0, a vector is a tensor of rank 1, a matrix is a tensor of rank 2, and so on. We refer to these different dimensions as axes.\n",
|
|
"\n",
|
|
"Every CNTK tensor has some static axes and some dynamic axes. The static axes have the same length throughout the life of the network. The dynamic axes are like static axes in that they define a meaningful grouping of the numbers contained in the tensor but:\n",
|
|
"- their length can vary from instance to instance,\n",
|
|
"- their length is typically not known before each minibatch is presented, and\n",
|
|
"- they may be ordered.\n",
|
|
"\n",
|
|
"In CNTK the axis over which you run a recurrence is dynamic and thus its dimensions are unknown at the time you define your variable. Thus the input variable only lists the shapes of the static axes. Since our inputs are a sequence of one dimensional numbers we specify the input as \n",
|
|
"\n",
|
|
"> `C.sequence.input_variable(1)`\n",
|
|
"\n",
|
|
"The `N` instances of the observed `sin` function output and the corresponding batch are implicitly represented in the dynamic axis as shown below in the form of defaults. \n",
|
|
"\n",
|
|
"> ```\n",
|
|
"x_axes = [C.Axis.default_batch_axis(), C.Axis.default_dynamic_axis()]\n",
|
|
"C.input_variable(1, dynamic_axes=x_axes)\n",
|
|
"```\n",
|
|
"The reader should be aware of the meaning of the default parameters. Specifiying the dynamic axes enables the recurrence engine handle the time sequence data in the expected order. Please take time to understand how to work with both static and dynamic axes in CNTK as described [here](https://www.cntk.ai/pythondocs/sequence.html)."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"metadata": {
|
|
"collapsed": true
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"# input sequences\n",
|
|
"x = C.sequence.input_variable(1)\n",
|
|
"\n",
|
|
"# create the model\n",
|
|
"z = create_model(x)\n",
|
|
"\n",
|
|
"# expected output (label), also the dynamic axes of the model output\n",
|
|
"# is specified as the model of the label input\n",
|
|
"l = C.input_variable(1, dynamic_axes=z.dynamic_axes, name=\"y\")\n",
|
|
"\n",
|
|
"# the learning rate\n",
|
|
"learning_rate = 0.001\n",
|
|
"lr_schedule = C.learning_rate_schedule(learning_rate, C.UnitType.minibatch)\n",
|
|
"\n",
|
|
"# loss function\n",
|
|
"loss = C.squared_error(z, l)\n",
|
|
"\n",
|
|
"# use squared error to determine error for now\n",
|
|
"error = C.squared_error(z, l)\n",
|
|
"\n",
|
|
"# use adam optimizer\n",
|
|
"momentum_time_constant = C.momentum_as_time_constant_schedule(BATCH_SIZE / -math.log(0.9)) \n",
|
|
"learner = C.fsadagrad(z.parameters, \n",
|
|
" lr = lr_schedule, \n",
|
|
" momentum = momentum_time_constant, \n",
|
|
" unit_gain = True)\n",
|
|
"\n",
|
|
"trainer = C.Trainer(z, (loss, error), [learner])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"We are ready to train. 100 epochs should yield acceptable results."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 12,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"epoch: 0, loss: 0.23901\n",
|
|
"epoch: 2, loss: 0.20915\n",
|
|
"epoch: 4, loss: 0.17376\n",
|
|
"epoch: 6, loss: 0.16345\n",
|
|
"epoch: 8, loss: 0.12779\n",
|
|
"epoch: 10, loss: 0.08072\n",
|
|
"epoch: 12, loss: 0.07176\n",
|
|
"epoch: 14, loss: 0.08464\n",
|
|
"epoch: 16, loss: 0.10477\n",
|
|
"epoch: 18, loss: 0.07393\n",
|
|
"training took 12.1 sec\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# train\n",
|
|
"loss_summary = []\n",
|
|
"start = time.time()\n",
|
|
"for epoch in range(0, EPOCHS):\n",
|
|
" for x1, y1 in next_batch(X, Y, \"train\"):\n",
|
|
" trainer.train_minibatch({x: x1, l: y1})\n",
|
|
" if epoch % (EPOCHS / 10) == 0:\n",
|
|
" training_loss = trainer.previous_minibatch_loss_average\n",
|
|
" loss_summary.append(training_loss)\n",
|
|
" print(\"epoch: {}, loss: {:.5f}\".format(epoch, training_loss))\n",
|
|
"\n",
|
|
"print(\"training took {0:.1f} sec\".format(time.time() - start))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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\nAw15sgmo+1u1AAAAAElFTkSuQmCC\n",
|
|
"text/plain": [
|
|
"<matplotlib.figure.Figure at 0x2d6be9826d8>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"# A look how the loss function shows how well the model is converging\n",
|
|
"plt.plot(loss_summary, label='training loss');"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Normally we would validate the training on the data that we set aside for validation but since the input data is small we can run validattion on all parts of the dataset."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 14,
|
|
"metadata": {
|
|
"collapsed": true
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"# validate\n",
|
|
"def get_mse(X,Y,labeltxt):\n",
|
|
" result = 0.0\n",
|
|
" for x1, y1 in next_batch(X, Y, labeltxt):\n",
|
|
" eval_error = trainer.test_minibatch({x : x1, l : y1})\n",
|
|
" result += eval_error\n",
|
|
" return result/len(X[labeltxt])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 15,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"mse for train: 0.000115\n",
|
|
"mse for val: 0.000097\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# Print the train and validation errors\n",
|
|
"for labeltxt in [\"train\", \"val\"]:\n",
|
|
" print(\"mse for {}: {:.6f}\".format(labeltxt, get_mse(X, Y, labeltxt)))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 16,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"mse for test: 0.000103\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# Print validate and test error\n",
|
|
"labeltxt = \"test\"\n",
|
|
"print(\"mse for {}: {:.6f}\".format(labeltxt, get_mse(X, Y, labeltxt)))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"Since we used a simple sin(x) function we should expect that the errors are the same for train, validation and test sets. For real datasets that will be different of course. We also plot the expected output (Y) and the prediction our model made to shows how well the simple LSTM approach worked."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 17,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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\ntxaLeu73fLmmr74KV18durY+65jO5ySFur0s9AIpZejLvm2b6jyfS12dWtyotNRoiXyjuFi15cbG\n83/317+q9mRiDCE6pBjP1VfDX/5y/vVXX4VrrjFeHl9JSVE35JwbGZBSlT3UB7B9+9SJeS4tLeop\nFevWBUUsn9i+fX572blT1Xko77K++mp46aXzr7/4Ymjbena2Gm3Zt+/s61K+q/dQ5aqr1MltYuLs\n62fOqNdC7Vi3uSw2Nl59dehGTGFh2V95Ba691nh5fKWgQH0hOHc1zOsN7WgvqDrfufP89LjaWjU4\nFYr7ZGbZvh1efvn866Fu60KoY/d84/pLL4X2uP5eIyCnWghxmxCiRgjhEUJsXKTdDiFEnRCiQQjx\nr4F8p1584APwzDNnRwY8Hnj2WbjhhuDJ5Qu33gpPP332tZoaNZ0lVNNWQH0huOSS8weCZ56Bm24K\nbcf0mmvUaG9399nX//AHVfZQ5tZbVR3PZWoKXngBbrklODL5ygc/eL6tHz6sLtuGsmOalaW+JL7y\nytnXn34a/vZvQ3eyBtixQ00ZOvcoxj/8AW68MTgy+crsuD6X8XH1/8OOHcGRyVfme0737FFtKZQd\nU6tVjeieG/F95hnV1kOZG29Uo+nnBnou1HF9dFRNjQt1H+a9RKCR6hPAB4AFt4MIIcKAR4DrgFXA\nR4QQlQF+r+Zs2aIeTTc3d3D3bnUJsaIiaGItyO45I9att8If/3h2ZODxx+FDHwrtyRpU2Z988uxr\njz8Ot9+uTf+751vL04DYWHVSnuvg9ferNvOBD+jylZpx6aXqy0Bd3bvXXnkFsrN3Y7UGTy5fuO02\ndeKYmwLyxBPG2vpybepcW5dSW1vXi8REuPJK+NOf3r3W1aVu9FvK0dDr+fOVK69Ul8SdznevvfCC\nmp6Vmxs0sc5jPj3deis89dTZOeEXgr2A+vKrh63rbU9paWqg57nn3r3W0qKeTx3qL2HXXKP6L21t\n6s+7d+/mz3+Gv/kbddXDxBgCcqqllPVSytPAYtPZRcBpKWWzlHIKeBwIuXiYEPCZz8D3vvfutUce\ngbvuCp5MizF3cCkpUU/4eOIJ9efxcfjpT+GTnwyObP5w++1qZGB20jt4UB0UtFqu0nMQvvtu+P73\n3530fvpTNSKQlKTbV2pCWJhq1+faenn57mCJ5DNVVWpO+B//qP48PAy//KWxz+lyberOO9UUm9lJ\n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\nfRGetDieR4pqkSZkygQDB0JQkP7mVaqU3soaE2N0srRlxw6oUwe+/14fjLhiRcpfwhRCiLQub159\nWrc1a/T30qpVYeNGvdFCvJ64OH01xJIl9W6IR4/C8OFpu4FHun+INCkoSL9M9Ndf+n+4vXvrhbd4\nvv379akKz5zRpy3s3Pn1FtoRQgjxckrBypX64Ho7O73Rws3N6FSpV3w8LFqkzzRVuDD88IP+T4kR\npPuHEEDp0noLwapVsGEDFC+uL1ISG2t0stTl0CF9Kqh339UXMjh5Ul8dUQpqIYRIGpqmv78ePaoP\nsHvvPWjYUO8bLB5JSNCL6TJl9Lm/58yBrVuNK6iTg7RUi3Rh3z69lSAoSO9z/d57STOfaFqklP5G\n9eOP+vkYOFAfsZ4li9HJhBAi/YuL07uGjBsHuXLBoEHQsmXGbcyIjtbnmJ40SV9Q7Lvv9CXgU0Of\naZn9Q4iX+OsvfTaLjRv1FtnPPtMvL2UEMTHg46OPmo6J0d/IO3XSB9YIIYRIWQkJ+tXU8eP1ua77\n94euXdN2n+H/4vp1faXkadOgVi29gadmzdRRTD8k3T+EeIkqVWDhQv0yXKZMUK2a3kKwdq3ejys9\nOnNGL6ALFIDFi2HkSH1keo8eUlALIYRRzM31hWL27oWZM8HXFwoW1Jc/P3bM6HTJw2TSFxJr00af\nUOD6db0bzKpVemGdmgrq5CAt1SJdu3tXnz5u5kw4fx66d9dbsEuXNjrZ24mI0JfPXbgQTpzQC+i+\nffXJ8oUQQqROly7pU/DNnKk3hHTrphegOXManeztnDoF3t56t5fs2fW/R506pf45vKX7hxBvKChI\nfzPz9tb7W7drB23bpp0COzwcNm3Si+mtW/X5uzt35v/t3XuMVdUVx/HvbwqG8ui0wYjIw0KUFsxA\nIZYC0kiAgoX4aCA4RPqO/aO2GNo0rfJH+2f9oymaPlJTStUIBmkakNBClRKtkUgRdAqoJFCGlzSF\nhtBRI4Orf6wzmStlgPEOzBnu75PsZM6ec+ecyV05d91z1t6bOXM884mZWU/S2prX85Urs1xx0iRo\nbITbb4eBA7v77C7O/v05LeuqVXDkSH6mLlqUAw97yh3pUiXVkuYDPwFGA5+NiFc62O82YBlZbrI8\nIh46z990Um0fsGXLFqZ14fxE77+fj+NWr84EtW9fmD07l+eeNq089W4ReRd606YsX9m+HW69NWfz\n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\n/Q9y3OlWKPVFNwAAAABJRU5ErkJggg==\n",
|
|
"text/plain": [
|
|
"<matplotlib.figure.Figure at 0x2d6bf527630>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"# predict\n",
|
|
"f, a = plt.subplots(3, 1, figsize = (12, 8))\n",
|
|
"for j, ds in enumerate([\"train\", \"val\", \"test\"]):\n",
|
|
" results = []\n",
|
|
" for x1, y1 in next_batch(X, Y, ds):\n",
|
|
" pred = z.eval({x: x1})\n",
|
|
" results.extend(pred[:, 0])\n",
|
|
" a[j].plot(Y[ds], label = ds + ' raw');\n",
|
|
" a[j].plot(results, label = ds + ' predicted');\n",
|
|
"[i.legend() for i in a];"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"collapsed": true
|
|
},
|
|
"source": [
|
|
"Not perfect but close enough, considering the simplicity of the model.\n",
|
|
"\n",
|
|
"Here we used a simple sin wave but you can tinker yourself and try other time series data. `generate_data()` allows you to pass in a dataframe with 'a' and 'b' columns instead of a function.\n",
|
|
"\n",
|
|
"To improve results, we could train with more data points, let the model train for more epochs, or improve the model itself."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {
|
|
"collapsed": true
|
|
},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"anaconda-cloud": {},
|
|
"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.5.2"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 1
|
|
}
|