Series temporales: temperaturas en Melbourne
(SPANISH) Análisis de la serie temporal de temperaturas en Melbourse de MachineLearningMastery.com
• 19 min read
Introducción
Se analizará la serie temporal de temperaturas mínimas en Melbourne con el dataset disponible en MachineLearningMastery.com de Jason Brownlee.
import tensorflow as tf
print(tf.__version__)
import numpy as np
import matplotlib.pyplot as plt
def plot_series(time, series, format="-", start=0, end=None):
plt.plot(time[start:end], series[start:end], format)
plt.xlabel("Time")
plt.ylabel("Value")
plt.grid(True)
!wget --no-check-certificate \
https://raw.githubusercontent.com/jbrownlee/Datasets/master/daily-min-temperatures.csv \
-O /tmp/daily-min-temperatures.csv
import csv
time_step = []
temps = []
with open('/tmp/daily-min-temperatures.csv') as csvfile:
time_steps=
series = np.array(temps)
time = np.array(time_step)
plt.figure(figsize=(10, 6))
plot_series(time, series)
split_time = 2500
time_train = # YOUR CODE HERE
x_train = # YOUR CODE HERE
time_valid = # YOUR CODE HERE
x_valid = # YOUR CODE HERE
window_size = 30
batch_size = 32
shuffle_buffer_size = 1000
def windowed_dataset(series, window_size, batch_size, shuffle_buffer):
# YOUR CODE HERE
def model_forecast(model, series, window_size):
# YOUR CODE HERE
tf.keras.backend.clear_session()
tf.random.set_seed(51)
np.random.seed(51)
window_size = 64
batch_size = 256
train_set = windowed_dataset(x_train, window_size, batch_size, shuffle_buffer_size)
print(train_set)
print(x_train.shape)
model = tf.keras.models.Sequential([
# YOUR CODE HERE
])
lr_schedule = tf.keras.callbacks.LearningRateScheduler(
lambda epoch: 1e-8 * 10**(epoch / 20))
optimizer = tf.keras.optimizers.SGD(lr=1e-8, momentum=0.9)
model.compile(loss=tf.keras.losses.Huber(),
optimizer=optimizer,
metrics=["mae"])
history = model.fit(train_set, epochs=100, callbacks=[lr_schedule])
WARNING: Logging before flag parsing goes to stderr. W0719 05:10:05.389573 140234944071552 deprecation.py:323] From /usr/local/lib/python3.6/dist-packages/tensorflow/python/data/util/random_seed.py:58: add_dispatch_support.<locals>.wrapper (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version. Instructions for updating: Use tf.where in 2.0, which has the same broadcast rule as np.where
<PrefetchDataset shapes: ((None, None, 1), (None, None, 1)), types: (tf.float64, tf.float64)> (2500,) Epoch 1/100 10/10 [==============================] - 6s 624ms/step - loss: 31.1549 - mae: 31.6551 Epoch 2/100 10/10 [==============================] - 4s 364ms/step - loss: 30.5696 - mae: 31.0771 Epoch 3/100 10/10 [==============================] - 4s 358ms/step - loss: 29.6691 - mae: 30.1811 Epoch 4/100 10/10 [==============================] - 4s 366ms/step - loss: 28.5431 - mae: 29.0596 Epoch 5/100 10/10 [==============================] - 4s 361ms/step - loss: 27.1744 - mae: 27.6976 Epoch 6/100 10/10 [==============================] - 4s 367ms/step - loss: 25.4676 - mae: 26.0015 Epoch 7/100 10/10 [==============================] - 4s 375ms/step - loss: 23.2987 - mae: 23.8487 Epoch 8/100 10/10 [==============================] - 4s 369ms/step - loss: 20.5506 - mae: 21.1192 Epoch 9/100 10/10 [==============================] - 4s 372ms/step - loss: 17.2408 - mae: 17.8223 Epoch 10/100 10/10 [==============================] - 4s 365ms/step - loss: 13.5549 - mae: 14.1350 Epoch 11/100 10/10 [==============================] - 4s 370ms/step - loss: 10.0753 - mae: 10.6367 Epoch 12/100 10/10 [==============================] - 4s 365ms/step - loss: 7.5638 - mae: 8.0985 Epoch 13/100 10/10 [==============================] - 4s 363ms/step - loss: 6.2445 - mae: 6.7619 Epoch 14/100 10/10 [==============================] - 4s 374ms/step - loss: 5.6749 - mae: 6.1854 Epoch 15/100 10/10 [==============================] - 4s 363ms/step - loss: 5.3090 - mae: 5.8168 Epoch 16/100 10/10 [==============================] - 4s 361ms/step - loss: 4.9122 - mae: 5.4169 Epoch 17/100 10/10 [==============================] - 4s 356ms/step - loss: 4.5318 - mae: 5.0305 Epoch 18/100 10/10 [==============================] - 4s 367ms/step - loss: 4.2115 - mae: 4.7068 Epoch 19/100 10/10 [==============================] - 4s 374ms/step - loss: 3.9429 - mae: 4.4360 Epoch 20/100 10/10 [==============================] - 4s 358ms/step - loss: 3.7309 - mae: 4.2194 Epoch 21/100 10/10 [==============================] - 4s 363ms/step - loss: 3.5706 - mae: 4.0551 Epoch 22/100 10/10 [==============================] - 4s 366ms/step - loss: 3.4527 - mae: 3.9344 Epoch 23/100 10/10 [==============================] - 4s 362ms/step - loss: 3.3617 - mae: 3.8423 Epoch 24/100 10/10 [==============================] - 4s 358ms/step - loss: 3.2876 - mae: 3.7666 Epoch 25/100 10/10 [==============================] - 3s 344ms/step - loss: 3.2224 - mae: 3.6997 Epoch 26/100 10/10 [==============================] - 4s 360ms/step - loss: 3.1596 - mae: 3.6359 Epoch 27/100 10/10 [==============================] - 4s 360ms/step - loss: 3.0964 - mae: 3.5717 Epoch 28/100 10/10 [==============================] - 4s 362ms/step - loss: 3.0322 - mae: 3.5064 Epoch 29/100 10/10 [==============================] - 4s 352ms/step - loss: 2.9662 - mae: 3.4392 Epoch 30/100 10/10 [==============================] - 4s 359ms/step - loss: 2.9004 - mae: 3.3720 Epoch 31/100 10/10 [==============================] - 4s 361ms/step - loss: 2.8376 - mae: 3.3081 Epoch 32/100 10/10 [==============================] - 4s 375ms/step - loss: 2.7775 - mae: 3.2475 Epoch 33/100 10/10 [==============================] - 4s 360ms/step - loss: 2.7202 - mae: 3.1899 Epoch 34/100 10/10 [==============================] - 4s 367ms/step - loss: 2.6662 - mae: 3.1360 Epoch 35/100 10/10 [==============================] - 4s 379ms/step - loss: 2.6152 - mae: 3.0848 Epoch 36/100 10/10 [==============================] - 4s 357ms/step - loss: 2.5663 - mae: 3.0353 Epoch 37/100 10/10 [==============================] - 4s 366ms/step - loss: 2.5192 - mae: 2.9872 Epoch 38/100 10/10 [==============================] - 4s 367ms/step - loss: 2.4735 - mae: 2.9408 Epoch 39/100 10/10 [==============================] - 4s 372ms/step - loss: 2.4296 - mae: 2.8964 Epoch 40/100 10/10 [==============================] - 4s 371ms/step - loss: 2.3873 - mae: 2.8534 Epoch 41/100 10/10 [==============================] - 4s 361ms/step - loss: 2.3463 - mae: 2.8119 Epoch 42/100 10/10 [==============================] - 4s 354ms/step - loss: 2.3060 - mae: 2.7707 Epoch 43/100 10/10 [==============================] - 4s 375ms/step - loss: 2.2663 - mae: 2.7301 Epoch 44/100 10/10 [==============================] - 4s 359ms/step - loss: 2.2269 - mae: 2.6899 Epoch 45/100 10/10 [==============================] - 4s 366ms/step - loss: 2.1898 - mae: 2.6519 Epoch 46/100 10/10 [==============================] - 4s 367ms/step - loss: 2.1563 - mae: 2.6181 Epoch 47/100 10/10 [==============================] - 4s 363ms/step - loss: 2.1248 - mae: 2.5861 Epoch 48/100 10/10 [==============================] - 4s 367ms/step - loss: 2.0958 - mae: 2.5568 Epoch 49/100 10/10 [==============================] - 4s 363ms/step - loss: 2.0688 - mae: 2.5296 Epoch 50/100 10/10 [==============================] - 4s 370ms/step - loss: 2.0442 - mae: 2.5045 Epoch 51/100 10/10 [==============================] - 4s 371ms/step - loss: 2.0220 - mae: 2.4818 Epoch 52/100 10/10 [==============================] - 4s 362ms/step - loss: 2.0018 - mae: 2.4611 Epoch 53/100 10/10 [==============================] - 4s 361ms/step - loss: 1.9801 - mae: 2.4393 Epoch 54/100 10/10 [==============================] - 4s 369ms/step - loss: 1.9586 - mae: 2.4171 Epoch 55/100 10/10 [==============================] - 4s 358ms/step - loss: 1.9390 - mae: 2.3972 Epoch 56/100 10/10 [==============================] - 4s 366ms/step - loss: 1.9186 - mae: 2.3763 Epoch 57/100 10/10 [==============================] - 4s 366ms/step - loss: 1.8975 - mae: 2.3550 Epoch 58/100 10/10 [==============================] - 4s 359ms/step - loss: 1.8743 - mae: 2.3320 Epoch 59/100 10/10 [==============================] - 4s 363ms/step - loss: 1.8738 - mae: 2.3310 Epoch 60/100 10/10 [==============================] - 4s 354ms/step - loss: 2.1527 - mae: 2.6201 Epoch 61/100 10/10 [==============================] - 4s 357ms/step - loss: 2.6764 - mae: 3.1247 Epoch 62/100 10/10 [==============================] - 4s 360ms/step - loss: 2.9935 - mae: 3.4806 Epoch 63/100 10/10 [==============================] - 4s 360ms/step - loss: 3.5219 - mae: 3.9875 Epoch 64/100 10/10 [==============================] - 4s 361ms/step - loss: 3.8284 - mae: 4.2965 Epoch 65/100 10/10 [==============================] - 4s 357ms/step - loss: 4.1265 - mae: 4.5856 Epoch 66/100 10/10 [==============================] - 4s 359ms/step - loss: 4.3062 - mae: 4.7664 Epoch 67/100 10/10 [==============================] - 4s 358ms/step - loss: 4.3039 - mae: 4.6838 Epoch 68/100 10/10 [==============================] - 4s 363ms/step - loss: 4.8341 - mae: 5.2257 Epoch 69/100 10/10 [==============================] - 4s 370ms/step - loss: 10.3352 - mae: 10.7649 Epoch 70/100 10/10 [==============================] - 4s 367ms/step - loss: 5.4020 - mae: 5.8328 Epoch 71/100 10/10 [==============================] - 4s 363ms/step - loss: 5.9798 - mae: 6.4835 Epoch 72/100 10/10 [==============================] - 4s 356ms/step - loss: 5.4958 - mae: 6.0146 Epoch 73/100 10/10 [==============================] - 4s 362ms/step - loss: 4.4955 - mae: 5.0201 Epoch 74/100 10/10 [==============================] - 4s 370ms/step - loss: 4.4764 - mae: 5.0171 Epoch 75/100 10/10 [==============================] - 4s 380ms/step - loss: 4.2825 - mae: 4.7287 Epoch 76/100 10/10 [==============================] - 4s 361ms/step - loss: 4.2044 - mae: 4.6470 Epoch 77/100 10/10 [==============================] - 4s 370ms/step - loss: 4.4160 - mae: 4.9125 Epoch 78/100 10/10 [==============================] - 4s 361ms/step - loss: 4.3770 - mae: 4.8831 Epoch 79/100 10/10 [==============================] - 4s 361ms/step - loss: 5.0487 - mae: 5.5839 Epoch 80/100 10/10 [==============================] - 4s 390ms/step - loss: 10.0358 - mae: 10.8604 Epoch 81/100 10/10 [==============================] - 4s 370ms/step - loss: 3.1176 - mae: 3.6060 Epoch 82/100 10/10 [==============================] - 4s 371ms/step - loss: 3.0097 - mae: 3.4891 Epoch 83/100 10/10 [==============================] - 4s 361ms/step - loss: 2.7912 - mae: 3.2609 Epoch 84/100 10/10 [==============================] - 4s 357ms/step - loss: 4.3135 - mae: 4.7803 Epoch 85/100 10/10 [==============================] - 4s 357ms/step - loss: 5.3703 - mae: 5.8508 Epoch 86/100 10/10 [==============================] - 4s 360ms/step - loss: 6.5221 - mae: 7.0175 Epoch 87/100 10/10 [==============================] - 4s 361ms/step - loss: 7.1154 - mae: 7.7249 Epoch 88/100 10/10 [==============================] - 4s 368ms/step - loss: 8.9975 - mae: 9.4580 Epoch 89/100 10/10 [==============================] - 4s 360ms/step - loss: 9.8069 - mae: 10.1397 Epoch 90/100 10/10 [==============================] - 4s 354ms/step - loss: 11.1364 - mae: 11.6797 Epoch 91/100 10/10 [==============================] - 4s 356ms/step - loss: 12.5922 - mae: 13.2602 Epoch 92/100 10/10 [==============================] - 4s 357ms/step - loss: 14.2512 - mae: 14.8289 Epoch 93/100 10/10 [==============================] - 4s 358ms/step - loss: 13.0192 - mae: 13.8809 Epoch 94/100 10/10 [==============================] - 4s 356ms/step - loss: 61.8923 - mae: 63.5737 Epoch 95/100 10/10 [==============================] - 4s 366ms/step - loss: 30.5821 - mae: 31.4688 Epoch 96/100 10/10 [==============================] - 4s 357ms/step - loss: 45.9889 - mae: 46.9740 Epoch 97/100 10/10 [==============================] - 4s 355ms/step - loss: 51.7050 - mae: 51.8100 Epoch 98/100 10/10 [==============================] - 4s 361ms/step - loss: 59.1678 - mae: 57.9463 Epoch 99/100 10/10 [==============================] - 4s 373ms/step - loss: 66.1686 - mae: 68.4903 Epoch 100/100 10/10 [==============================] - 4s 360ms/step - loss: 74.1415 - mae: 72.0624
plt.semilogx(history.history["lr"], history.history["loss"])
plt.axis([1e-8, 1e-4, 0, 60])
[1e-08, 0.0001, 0, 60]
tf.keras.backend.clear_session()
tf.random.set_seed(51)
np.random.seed(51)
train_set = windowed_dataset(x_train, window_size=60, batch_size=100, shuffle_buffer=shuffle_buffer_size)
model = tf.keras.models.Sequential([
# YOUR CODE HERE
])
optimizer = tf.keras.optimizers.SGD(lr=# YOUR CODE HERE, momentum=0.9)
model.compile(loss=tf.keras.losses.Huber(),
optimizer=optimizer,
metrics=["mae"])
history = model.fit(train_set,epochs=# YOUR CODE HERE)
# EXPECTED OUTPUT SHOULD SEE AN MAE OF <2 WITHIN ABOUT 30 EPOCHS
Epoch 1/150 25/25 [==============================] - 6s 243ms/step - loss: 9.9624 - mae: 10.5789 Epoch 2/150 25/25 [==============================] - 3s 136ms/step - loss: 2.5390 - mae: 3.0130 Epoch 3/150 25/25 [==============================] - 3s 131ms/step - loss: 1.9265 - mae: 2.3815 Epoch 4/150 25/25 [==============================] - 3s 137ms/step - loss: 1.8597 - mae: 2.3125 Epoch 5/150 25/25 [==============================] - 3s 139ms/step - loss: 1.8181 - mae: 2.2696 Epoch 6/150 25/25 [==============================] - 3s 140ms/step - loss: 1.7882 - mae: 2.2385 Epoch 7/150 25/25 [==============================] - 4s 141ms/step - loss: 1.7618 - mae: 2.2112 Epoch 8/150 25/25 [==============================] - 3s 135ms/step - loss: 1.7382 - mae: 2.1870 Epoch 9/150 25/25 [==============================] - 3s 136ms/step - loss: 1.7167 - mae: 2.1650 Epoch 10/150 25/25 [==============================] - 3s 136ms/step - loss: 1.6976 - mae: 2.1454 Epoch 11/150 25/25 [==============================] - 3s 138ms/step - loss: 1.6808 - mae: 2.1281 Epoch 12/150 25/25 [==============================] - 3s 138ms/step - loss: 1.6661 - mae: 2.1128 Epoch 13/150 25/25 [==============================] - 4s 142ms/step - loss: 1.6531 - mae: 2.0993 Epoch 14/150 25/25 [==============================] - 4s 142ms/step - loss: 1.6417 - mae: 2.0872 Epoch 15/150 25/25 [==============================] - 3s 135ms/step - loss: 1.6315 - mae: 2.0764 Epoch 16/150 25/25 [==============================] - 3s 128ms/step - loss: 1.6223 - mae: 2.0667 Epoch 17/150 25/25 [==============================] - 3s 132ms/step - loss: 1.6141 - mae: 2.0579 Epoch 18/150 25/25 [==============================] - 3s 130ms/step - loss: 1.6067 - mae: 2.0500 Epoch 19/150 25/25 [==============================] - 3s 133ms/step - loss: 1.6000 - mae: 2.0429 Epoch 20/150 25/25 [==============================] - 3s 138ms/step - loss: 1.5939 - mae: 2.0364 Epoch 21/150 25/25 [==============================] - 3s 137ms/step - loss: 1.5883 - mae: 2.0306 Epoch 22/150 25/25 [==============================] - 3s 136ms/step - loss: 1.5833 - mae: 2.0254 Epoch 23/150 25/25 [==============================] - 4s 141ms/step - loss: 1.5787 - mae: 2.0207 Epoch 24/150 25/25 [==============================] - 3s 140ms/step - loss: 1.5745 - mae: 2.0163 Epoch 25/150 25/25 [==============================] - 4s 141ms/step - loss: 1.5707 - mae: 2.0124 Epoch 26/150 25/25 [==============================] - 3s 132ms/step - loss: 1.5672 - mae: 2.0089 Epoch 27/150 25/25 [==============================] - 3s 133ms/step - loss: 1.5640 - mae: 2.0056 Epoch 28/150 25/25 [==============================] - 3s 135ms/step - loss: 1.5610 - mae: 2.0026 Epoch 29/150 25/25 [==============================] - 3s 136ms/step - loss: 1.5583 - mae: 1.9998 Epoch 30/150 25/25 [==============================] - 3s 133ms/step - loss: 1.5558 - mae: 1.9973 Epoch 31/150 25/25 [==============================] - 3s 132ms/step - loss: 1.5534 - mae: 1.9949 Epoch 32/150 25/25 [==============================] - 3s 139ms/step - loss: 1.5512 - mae: 1.9927 Epoch 33/150 25/25 [==============================] - 3s 139ms/step - loss: 1.5491 - mae: 1.9906 Epoch 34/150 25/25 [==============================] - 3s 138ms/step - loss: 1.5472 - mae: 1.9886 Epoch 35/150 25/25 [==============================] - 4s 140ms/step - loss: 1.5453 - mae: 1.9868 Epoch 36/150 25/25 [==============================] - 4s 141ms/step - loss: 1.5436 - mae: 1.9850 Epoch 37/150 25/25 [==============================] - 3s 132ms/step - loss: 1.5419 - mae: 1.9833 Epoch 38/150 25/25 [==============================] - 3s 130ms/step - loss: 1.5404 - mae: 1.9817 Epoch 39/150 25/25 [==============================] - 3s 130ms/step - loss: 1.5389 - mae: 1.9803 Epoch 40/150 25/25 [==============================] - 3s 133ms/step - loss: 1.5376 - mae: 1.9789 Epoch 41/150 25/25 [==============================] - 3s 132ms/step - loss: 1.5363 - mae: 1.9776 Epoch 42/150 25/25 [==============================] - 3s 129ms/step - loss: 1.5350 - mae: 1.9764 Epoch 43/150 25/25 [==============================] - 3s 132ms/step - loss: 1.5338 - mae: 1.9752 Epoch 44/150 25/25 [==============================] - 4s 140ms/step - loss: 1.5327 - mae: 1.9741 Epoch 45/150 25/25 [==============================] - 4s 141ms/step - loss: 1.5316 - mae: 1.9730 Epoch 46/150 25/25 [==============================] - 3s 133ms/step - loss: 1.5305 - mae: 1.9719 Epoch 47/150 25/25 [==============================] - 3s 135ms/step - loss: 1.5295 - mae: 1.9708 Epoch 48/150 25/25 [==============================] - 3s 138ms/step - loss: 1.5286 - mae: 1.9698 Epoch 49/150 25/25 [==============================] - 3s 136ms/step - loss: 1.5276 - mae: 1.9689 Epoch 50/150 25/25 [==============================] - 3s 136ms/step - loss: 1.5267 - mae: 1.9680 Epoch 51/150 25/25 [==============================] - 3s 139ms/step - loss: 1.5259 - mae: 1.9672 Epoch 52/150 25/25 [==============================] - 3s 134ms/step - loss: 1.5251 - mae: 1.9664 Epoch 53/150 25/25 [==============================] - 3s 135ms/step - loss: 1.5243 - mae: 1.9656 Epoch 54/150 25/25 [==============================] - 3s 137ms/step - loss: 1.5235 - mae: 1.9648 Epoch 55/150 25/25 [==============================] - 3s 137ms/step - loss: 1.5228 - mae: 1.9640 Epoch 56/150 25/25 [==============================] - 3s 136ms/step - loss: 1.5221 - mae: 1.9633 Epoch 57/150 25/25 [==============================] - 3s 136ms/step - loss: 1.5213 - mae: 1.9626 Epoch 58/150 25/25 [==============================] - 3s 137ms/step - loss: 1.5206 - mae: 1.9619 Epoch 59/150 25/25 [==============================] - 3s 135ms/step - loss: 1.5199 - mae: 1.9611 Epoch 60/150 25/25 [==============================] - 3s 133ms/step - loss: 1.5193 - mae: 1.9604 Epoch 61/150 25/25 [==============================] - 3s 133ms/step - loss: 1.5186 - mae: 1.9597 Epoch 62/150 25/25 [==============================] - 3s 131ms/step - loss: 1.5179 - mae: 1.9589 Epoch 63/150 25/25 [==============================] - 3s 131ms/step - loss: 1.5173 - mae: 1.9582 Epoch 64/150 25/25 [==============================] - 3s 135ms/step - loss: 1.5166 - mae: 1.9576 Epoch 65/150 25/25 [==============================] - 3s 133ms/step - loss: 1.5161 - mae: 1.9570 Epoch 66/150 25/25 [==============================] - 3s 138ms/step - loss: 1.5155 - mae: 1.9564 Epoch 67/150 25/25 [==============================] - 3s 140ms/step - loss: 1.5149 - mae: 1.9557 Epoch 68/150 25/25 [==============================] - 4s 141ms/step - loss: 1.5142 - mae: 1.9550 Epoch 69/150 25/25 [==============================] - 3s 133ms/step - loss: 1.5136 - mae: 1.9543 Epoch 70/150 25/25 [==============================] - 3s 130ms/step - loss: 1.5129 - mae: 1.9536 Epoch 71/150 25/25 [==============================] - 3s 132ms/step - loss: 1.5122 - mae: 1.9528 Epoch 72/150 25/25 [==============================] - 3s 132ms/step - loss: 1.5115 - mae: 1.9521 Epoch 73/150 25/25 [==============================] - 3s 133ms/step - loss: 1.5108 - mae: 1.9514 Epoch 74/150 25/25 [==============================] - 3s 135ms/step - loss: 1.5102 - mae: 1.9508 Epoch 75/150 25/25 [==============================] - 3s 133ms/step - loss: 1.5097 - mae: 1.9503 Epoch 76/150 25/25 [==============================] - 3s 134ms/step - loss: 1.5091 - mae: 1.9497 Epoch 77/150 25/25 [==============================] - 3s 137ms/step - loss: 1.5084 - mae: 1.9491 Epoch 78/150 25/25 [==============================] - 3s 128ms/step - loss: 1.5078 - mae: 1.9485 Epoch 79/150 25/25 [==============================] - 3s 129ms/step - loss: 1.5072 - mae: 1.9478 Epoch 80/150 25/25 [==============================] - 3s 134ms/step - loss: 1.5065 - mae: 1.9471 Epoch 81/150 25/25 [==============================] - 3s 136ms/step - loss: 1.5059 - mae: 1.9465 Epoch 82/150 25/25 [==============================] - 3s 134ms/step - loss: 1.5053 - mae: 1.9459 Epoch 83/150 25/25 [==============================] - 3s 132ms/step - loss: 1.5048 - mae: 1.9454 Epoch 84/150 25/25 [==============================] - 3s 134ms/step - loss: 1.5043 - mae: 1.9448 Epoch 85/150 25/25 [==============================] - 3s 132ms/step - loss: 1.5038 - mae: 1.9443 Epoch 86/150 25/25 [==============================] - 3s 131ms/step - loss: 1.5033 - mae: 1.9438 Epoch 87/150 25/25 [==============================] - 3s 132ms/step - loss: 1.5028 - mae: 1.9433 Epoch 88/150 25/25 [==============================] - 3s 130ms/step - loss: 1.5023 - mae: 1.9428 Epoch 89/150 25/25 [==============================] - 3s 134ms/step - loss: 1.5017 - mae: 1.9422 Epoch 90/150 25/25 [==============================] - 3s 132ms/step - loss: 1.5012 - mae: 1.9416 Epoch 91/150 25/25 [==============================] - 3s 131ms/step - loss: 1.5004 - mae: 1.9408 Epoch 92/150 25/25 [==============================] - 3s 132ms/step - loss: 1.4992 - mae: 1.9396 Epoch 93/150 25/25 [==============================] - 3s 132ms/step - loss: 1.4982 - mae: 1.9386 Epoch 94/150 25/25 [==============================] - 3s 136ms/step - loss: 1.4975 - mae: 1.9378 Epoch 95/150 25/25 [==============================] - 3s 134ms/step - loss: 1.4968 - mae: 1.9371 Epoch 96/150 25/25 [==============================] - 3s 136ms/step - loss: 1.4962 - mae: 1.9364 Epoch 97/150 25/25 [==============================] - 3s 137ms/step - loss: 1.4955 - mae: 1.9358 Epoch 98/150 25/25 [==============================] - 3s 140ms/step - loss: 1.4949 - mae: 1.9351 Epoch 99/150 25/25 [==============================] - 3s 134ms/step - loss: 1.4942 - mae: 1.9344 Epoch 100/150 25/25 [==============================] - 3s 134ms/step - loss: 1.4934 - mae: 1.9336 Epoch 101/150 25/25 [==============================] - 3s 135ms/step - loss: 1.4927 - mae: 1.9328 Epoch 102/150 25/25 [==============================] - 3s 132ms/step - loss: 1.4919 - mae: 1.9319 Epoch 103/150 25/25 [==============================] - 3s 131ms/step - loss: 1.4913 - mae: 1.9313 Epoch 104/150 25/25 [==============================] - 3s 132ms/step - loss: 1.4908 - mae: 1.9307 Epoch 105/150 25/25 [==============================] - 3s 133ms/step - loss: 1.4903 - mae: 1.9302 Epoch 106/150 25/25 [==============================] - 3s 131ms/step - loss: 1.4899 - mae: 1.9298 Epoch 107/150 25/25 [==============================] - 3s 130ms/step - loss: 1.4895 - mae: 1.9293 Epoch 108/150 25/25 [==============================] - 3s 130ms/step - loss: 1.4892 - mae: 1.9289 Epoch 109/150 25/25 [==============================] - 3s 132ms/step - loss: 1.4888 - mae: 1.9285 Epoch 110/150 25/25 [==============================] - 3s 131ms/step - loss: 1.4884 - mae: 1.9282 Epoch 111/150 25/25 [==============================] - 3s 133ms/step - loss: 1.4881 - mae: 1.9278 Epoch 112/150 25/25 [==============================] - 3s 130ms/step - loss: 1.4878 - mae: 1.9275 Epoch 113/150 25/25 [==============================] - 3s 131ms/step - loss: 1.4874 - mae: 1.9271 Epoch 114/150 25/25 [==============================] - 3s 136ms/step - loss: 1.4871 - mae: 1.9268 Epoch 115/150 25/25 [==============================] - 3s 130ms/step - loss: 1.4868 - mae: 1.9265 Epoch 116/150 25/25 [==============================] - 3s 132ms/step - loss: 1.4865 - mae: 1.9262 Epoch 117/150 25/25 [==============================] - 3s 134ms/step - loss: 1.4862 - mae: 1.9258 Epoch 118/150 25/25 [==============================] - 3s 132ms/step - loss: 1.4859 - mae: 1.9255 Epoch 119/150 25/25 [==============================] - 3s 130ms/step - loss: 1.4856 - mae: 1.9252 Epoch 120/150 25/25 [==============================] - 3s 134ms/step - loss: 1.4853 - mae: 1.9249 Epoch 121/150 25/25 [==============================] - 3s 134ms/step - loss: 1.4851 - mae: 1.9247 Epoch 122/150 25/25 [==============================] - 3s 135ms/step - loss: 1.4848 - mae: 1.9243 Epoch 123/150 25/25 [==============================] - 3s 131ms/step - loss: 1.4845 - mae: 1.9240 Epoch 124/150 25/25 [==============================] - 3s 134ms/step - loss: 1.4842 - mae: 1.9238 Epoch 125/150 25/25 [==============================] - 3s 133ms/step - loss: 1.4840 - mae: 1.9235 Epoch 126/150 25/25 [==============================] - 3s 131ms/step - loss: 1.4838 - mae: 1.9232 Epoch 127/150 25/25 [==============================] - 3s 129ms/step - loss: 1.4835 - mae: 1.9230 Epoch 128/150 25/25 [==============================] - 3s 132ms/step - loss: 1.4833 - mae: 1.9228 Epoch 129/150 25/25 [==============================] - 3s 131ms/step - loss: 1.4831 - mae: 1.9225 Epoch 130/150 25/25 [==============================] - 3s 129ms/step - loss: 1.4828 - mae: 1.9222 Epoch 131/150 25/25 [==============================] - 3s 128ms/step - loss: 1.4826 - mae: 1.9220 Epoch 132/150 25/25 [==============================] - 3s 127ms/step - loss: 1.4823 - mae: 1.9217 Epoch 133/150 25/25 [==============================] - 3s 129ms/step - loss: 1.4821 - mae: 1.9214 Epoch 134/150 25/25 [==============================] - 3s 129ms/step - loss: 1.4818 - mae: 1.9212 Epoch 135/150 25/25 [==============================] - 3s 132ms/step - loss: 1.4815 - mae: 1.9209 Epoch 136/150 25/25 [==============================] - 3s 131ms/step - loss: 1.4813 - mae: 1.9206 Epoch 137/150 25/25 [==============================] - 3s 127ms/step - loss: 1.4811 - mae: 1.9204 Epoch 138/150 25/25 [==============================] - 3s 131ms/step - loss: 1.4808 - mae: 1.9201 Epoch 139/150 25/25 [==============================] - 3s 130ms/step - loss: 1.4806 - mae: 1.9199 Epoch 140/150 25/25 [==============================] - 3s 130ms/step - loss: 1.4804 - mae: 1.9197 Epoch 141/150 25/25 [==============================] - 3s 132ms/step - loss: 1.4802 - mae: 1.9194 Epoch 142/150 25/25 [==============================] - 3s 129ms/step - loss: 1.4799 - mae: 1.9192 Epoch 143/150 25/25 [==============================] - 3s 134ms/step - loss: 1.4797 - mae: 1.9189 Epoch 144/150 25/25 [==============================] - 3s 135ms/step - loss: 1.4795 - mae: 1.9187 Epoch 145/150 25/25 [==============================] - 3s 131ms/step - loss: 1.4794 - mae: 1.9185 Epoch 146/150 25/25 [==============================] - 3s 131ms/step - loss: 1.4791 - mae: 1.9183 Epoch 147/150 25/25 [==============================] - 3s 130ms/step - loss: 1.4789 - mae: 1.9180 Epoch 148/150 25/25 [==============================] - 3s 136ms/step - loss: 1.4787 - mae: 1.9178 Epoch 149/150 25/25 [==============================] - 3s 137ms/step - loss: 1.4784 - mae: 1.9175 Epoch 150/150 25/25 [==============================] - 4s 143ms/step - loss: 1.4782 - mae: 1.9173
rnn_forecast = model_forecast(model, series[..., np.newaxis], window_size)
rnn_forecast = rnn_forecast[split_time - window_size:-1, -1, 0]
plt.figure(figsize=(10, 6))
plot_series(time_valid, x_valid)
plot_series(time_valid, rnn_forecast)
# EXPECTED OUTPUT. PLOT SHOULD SHOW PROJECTIONS FOLLOWING ORIGINAL DATA CLOSELY
tf.keras.metrics.mean_absolute_error(x_valid, rnn_forecast).numpy()
# EXPECTED OUTPUT MAE < 2 -- I GOT 1.789626
1.780626
print(rnn_forecast)
# EXPECTED OUTPUT -- ARRAY OF VALUES IN THE LOW TEENS
[11.636601 10.97607 12.159701 ... 13.589686 13.726407 14.940471]