V0.1.6 - Building NARX Neural Network using Sysidentpy

Example created by Wilson Rocha Lacerda Junior

Series-Parallen Training and Parallel prediction

Currently SysIdentPy support a Series-Parallel (open-loop) Feedforward Network training process, which make the training process easier. We convert the NARX network from Series-Parallel to the Parallel (closed-loop) configuration for prediction.

Series-Parallel allows us to use Pytorch directly for training, so we can use all the power of the Pytorch library to build our NARX Neural Network model!

The reader is referred to the following paper for a more in depth discussion about Series-Parallel and Parallel configurations regarding NARX neural network:

Parallel Training Considered Harmful?: Comparing series-parallel and parallel feedforward network training

Building a NARX Neural Network

First, just import the necessary packages

pip install sysidentpy
Requirement already satisfied: sysidentpy in c:\users\wilso\miniconda3\envs\sysidentpy\lib\site-packages (0.1.6)
Requirement already satisfied: matplotlib>=3.3.2 in c:\users\wilso\miniconda3\envs\sysidentpy\lib\site-packages (from sysidentpy) (3.4.3)
Requirement already satisfied: scipy>=1.7.0 in c:\users\wilso\miniconda3\envs\sysidentpy\lib\site-packages (from sysidentpy) (1.7.1)
Requirement already satisfied: numpy>=1.19.2 in c:\users\wilso\miniconda3\envs\sysidentpy\lib\site-packages (from sysidentpy) (1.20.3)
Requirement already satisfied: pyparsing>=2.2.1 in c:\users\wilso\miniconda3\envs\sysidentpy\lib\site-packages (from matplotlib>=3.3.2->sysidentpy) (2.4.7)
Requirement already satisfied: cycler>=0.10 in c:\users\wilso\miniconda3\envs\sysidentpy\lib\site-packages (from matplotlib>=3.3.2->sysidentpy) (0.10.0)
Requirement already satisfied: pillow>=6.2.0 in c:\users\wilso\miniconda3\envs\sysidentpy\lib\site-packages (from matplotlib>=3.3.2->sysidentpy) (8.3.2)
Requirement already satisfied: kiwisolver>=1.0.1 in c:\users\wilso\miniconda3\envs\sysidentpy\lib\site-packages (from matplotlib>=3.3.2->sysidentpy) (1.3.2)
Requirement already satisfied: python-dateutil>=2.7 in c:\users\wilso\miniconda3\envs\sysidentpy\lib\site-packages (from matplotlib>=3.3.2->sysidentpy) (2.8.2)
Requirement already satisfied: six in c:\users\wilso\miniconda3\envs\sysidentpy\lib\site-packages (from cycler>=0.10->matplotlib>=3.3.2->sysidentpy) (1.16.0)
Note: you may need to restart the kernel to use updated packages.
from torch import nn
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sysidentpy.metrics import mean_squared_error
from sysidentpy.utils.generate_data import get_siso_data
from sysidentpy.neural_network import NARXNN

Getting the data

The data is generated by simulating the following model:

\(y_k = 0.2y_{k-1} + 0.1y_{k-1}x_{k-1} + 0.9x_{k-1} + e_{k}\).

If colored_noise is set to True:

\(e_{k} = 0.8\nu_{k-1} + \nu_{k}\),

where \(x\) is a uniformly distributed random variable and \(\nu\) is a gaussian distributed variable with \(\mu=0\) and \(\sigma=0.1\)

x_train, x_valid, y_train, y_valid = get_siso_data(n=1000,
                                                   colored_noise=False,
                                                   sigma=0.01,
                                                   train_percentage=80)

Choosing the NARX parameters, loss function and optmizer

One can create a NARXNN object and choose the maximum lag of both input and output for building the regressor matrix to serve as input of the network.

In addition, you can choose the loss function, the optmizer, the optinional parameters of the optmizer, the number of epochs.

Because we built this feature on top of Pytorch, you can choose any of the loss function of the torch.nn.functional. Click here for a list of the loss functions you can use. You just need to pass the name of the loss function you want.

Similarly, you can choose any of the optimizers of the torch.optim. Click here for a list of optimizers available.

narx_net = NARXNN(ylag=2,
                  xlag=2,
                  loss_func='mse_loss',
                  optimizer='Adam',
                  epochs=200,
                  verbose=True,
                  optim_params={'betas': (0.9, 0.999), 'eps': 1e-05} # optional parameters of the optimizer
)

Since we have defined our NARXNN using \(ylag=2\) and \(xlag=2\), we have a regressor matrix with 4 features. We need the size of the regressor matrix to build the layers of our network. Our input data(x_train) have only one feature, but since we are creating an NARX network, a regressor matrix is built behind the scenes with new features based on the xlag and ylag.

You can check the size the of the regressor matrix by using the following line of code:

len(narx_net.regressor_code) # the number of features of the NARX net
4

Building the NARX Neural Network

The configuration of your network follows exactly the same pattern of a network defined in Pytorch. The following representing our NARX neural network.

class NARX(nn.Module):
    def __init__(self):
        super().__init__()
        self.lin = nn.Linear(4, 10)
        self.lin2 = nn.Linear(10, 10)
        self.lin3 = nn.Linear(10, 1)
        self.tanh = nn.Tanh()

    def forward(self, xb):
        z = self.lin(xb)
        z = self.tanh(z)
        z = self.lin2(z)
        z = self.tanh(z)
        z = self.lin3(z)
        return z

We have to pass the defined network to our NARXNN estimator.

narx_net.net = NARX() 

Numpy array to Tensor

If your inputs are numpy array, you can transform them to tensor using our data_transform method. Our function return a Dataloader object that we use to iterate on our training function. You can transform your inputs mannualy using TensorDataset and Dataloader using Pytorch.

Since our inputs are numpy arrays, we transform them using the following:

train_dl = narx_net.data_transform(x_train, y_train)
valid_dl = narx_net.data_transform(x_valid, y_valid)

Fit and Predict

Because we have a fit (for training) and predict function for Polynomial NARMAX, we create the same pattern for the NARX net. So, you only have to fit and predict using the following:

narx_net.fit(train_dl, valid_dl)
yhat = narx_net.predict(x_valid, y_valid)
10-16 17:13:33 - INFO - Train metrics: 0.08682712882682495 | Validation metrics: 0.09158786709862526
10-16 17:13:33 - INFO - Train metrics: 0.005846870190144183 | Validation metrics: 0.007490905213423751
10-16 17:13:33 - INFO - Train metrics: 0.015140613634372713 | Validation metrics: 0.018370155376767873
10-16 17:13:33 - INFO - Train metrics: 0.0037261983799867166 | Validation metrics: 0.0027909994482843564
10-16 17:13:33 - INFO - Train metrics: 0.005312439414875624 | Validation metrics: 0.003649093991502969
10-16 17:13:33 - INFO - Train metrics: 0.0024608997995720096 | Validation metrics: 0.0023719746492464433
10-16 17:13:33 - INFO - Train metrics: 0.0026429478589090564 | Validation metrics: 0.0029134590489168963
10-16 17:13:33 - INFO - Train metrics: 0.002096074045096573 | Validation metrics: 0.0016092248966522288
10-16 17:13:33 - INFO - Train metrics: 0.0019127934582340053 | Validation metrics: 0.0015238240394139229
10-16 17:13:33 - INFO - Train metrics: 0.001765507234279113 | Validation metrics: 0.0016579926766530431
10-16 17:13:33 - INFO - Train metrics: 0.0016064754212251806 | Validation metrics: 0.0014044055879831013
10-16 17:13:33 - INFO - Train metrics: 0.0015129634336145936 | Validation metrics: 0.0012789113244813198
10-16 17:13:33 - INFO - Train metrics: 0.0014068437022458117 | Validation metrics: 0.0012586929404995208
10-16 17:13:33 - INFO - Train metrics: 0.001317715445617424 | Validation metrics: 0.0011780774679430056
10-16 17:13:33 - INFO - Train metrics: 0.0012405064151876776 | Validation metrics: 0.00109475932432094
10-16 17:13:33 - INFO - Train metrics: 0.0011661113610369781 | Validation metrics: 0.0010558543056531837
10-16 17:13:33 - INFO - Train metrics: 0.0010993338276382378 | Validation metrics: 0.0009967979652844745
10-16 17:13:33 - INFO - Train metrics: 0.0010382090682072803 | Validation metrics: 0.0009441021841602645
10-16 17:13:33 - INFO - Train metrics: 0.0009811001507107888 | Validation metrics: 0.0009023506203760403
10-16 17:13:33 - INFO - Train metrics: 0.0009282931850588225 | Validation metrics: 0.0008558170291397607
10-16 17:13:33 - INFO - Train metrics: 0.0008802459594784281 | Validation metrics: 0.0008154906170216925
10-16 17:13:33 - INFO - Train metrics: 0.000835909394525169 | Validation metrics: 0.0007782891843082252
10-16 17:13:33 - INFO - Train metrics: 0.0007950579906571049 | Validation metrics: 0.0007417020817155564
10-16 17:13:33 - INFO - Train metrics: 0.0007579581485827801 | Validation metrics: 0.0007092947277917781
10-16 17:13:33 - INFO - Train metrics: 0.0007242747845961467 | Validation metrics: 0.0006790091771623026
10-16 17:13:33 - INFO - Train metrics: 0.0006936116126263258 | Validation metrics: 0.0006510891694095776
10-16 17:13:33 - INFO - Train metrics: 0.0006658029396794177 | Validation metrics: 0.0006258744356043712
10-16 17:13:33 - INFO - Train metrics: 0.0006405423963699201 | Validation metrics: 0.0006025468735400625
10-16 17:13:33 - INFO - Train metrics: 0.000617680660936804 | Validation metrics: 0.0005816198159902912
10-16 17:13:33 - INFO - Train metrics: 0.0005969438825285804 | Validation metrics: 0.0005625478495288678
10-16 17:13:33 - INFO - Train metrics: 0.0005781447383887917 | Validation metrics: 0.0005453527273582013
10-16 17:13:33 - INFO - Train metrics: 0.0005611216724980949 | Validation metrics: 0.0005298917131225645
10-16 17:13:33 - INFO - Train metrics: 0.0005457374153636573 | Validation metrics: 0.0005160046816624776
10-16 17:13:33 - INFO - Train metrics: 0.000531895618572397 | Validation metrics: 0.0005036675938019398
10-16 17:13:33 - INFO - Train metrics: 0.0005194948023193303 | Validation metrics: 0.0004927283699737128
10-16 17:13:33 - INFO - Train metrics: 0.000508428295157537 | Validation metrics: 0.00048309738743071906
10-16 17:13:33 - INFO - Train metrics: 0.0004985490937852639 | Validation metrics: 0.00047459442173177846
10-16 17:13:33 - INFO - Train metrics: 0.0004896408711083906 | Validation metrics: 0.00046697476257880527
10-16 17:13:33 - INFO - Train metrics: 0.0004813864362953618 | Validation metrics: 0.00045987869956239005
10-16 17:13:33 - INFO - Train metrics: 0.00047334271146423347 | Validation metrics: 0.0004528189316683571
10-16 17:13:33 - INFO - Train metrics: 0.0004649393169009792 | Validation metrics: 0.00044517502167516136
10-16 17:13:33 - INFO - Train metrics: 0.0004555165809538346 | Validation metrics: 0.0004362498581729302
10-16 17:13:33 - INFO - Train metrics: 0.00044443046174917774 | Validation metrics: 0.0004253797450648489
10-16 17:13:33 - INFO - Train metrics: 0.0004312116107850903 | Validation metrics: 0.0004121100746396214
10-16 17:13:33 - INFO - Train metrics: 0.00041576077933143125 | Validation metrics: 0.0003963918222297886
10-16 17:13:33 - INFO - Train metrics: 0.0003985132895005087 | Validation metrics: 0.0003787502649386009
10-16 17:13:33 - INFO - Train metrics: 0.00038045775807605013 | Validation metrics: 0.00036028377721180217
10-16 17:13:33 - INFO - Train metrics: 0.00036294713985749095 | Validation metrics: 0.0003424559830396314
10-16 17:13:33 - INFO - Train metrics: 0.00034729890602075946 | Validation metrics: 0.0003266723584289653
10-16 17:13:33 - INFO - Train metrics: 0.0003343340594299315 | Validation metrics: 0.0003138085094638018
10-16 17:13:33 - INFO - Train metrics: 0.0003241002810582108 | Validation metrics: 0.0003039382093567213
10-16 17:13:33 - INFO - Train metrics: 0.000315959088374186 | Validation metrics: 0.0002964262902322743
10-16 17:13:33 - INFO - Train metrics: 0.0003090091833796931 | Validation metrics: 0.0002903483571094282
10-16 17:13:33 - INFO - Train metrics: 0.0003025503583307282 | Validation metrics: 0.0002849337626060452
10-16 17:13:33 - INFO - Train metrics: 0.00029627666581085973 | Validation metrics: 0.00027975377995953564
10-16 17:13:33 - INFO - Train metrics: 0.0002901521416551394 | Validation metrics: 0.00027463452025043843
10-16 17:13:33 - INFO - Train metrics: 0.0002842105466716066 | Validation metrics: 0.0002695318206208711
10-16 17:13:33 - INFO - Train metrics: 0.00027847594236091416 | Validation metrics: 0.00026449739681368677
10-16 17:13:33 - INFO - Train metrics: 0.00027296345731719657 | Validation metrics: 0.0002596462868633821
10-16 17:13:33 - INFO - Train metrics: 0.00026766821405941384 | Validation metrics: 0.00025505721545543035
10-16 17:13:33 - INFO - Train metrics: 0.0002625640551734688 | Validation metrics: 0.00025070950916893027
10-16 17:13:33 - INFO - Train metrics: 0.00025762742807456106 | Validation metrics: 0.0002465228464294488
10-16 17:13:33 - INFO - Train metrics: 0.000252854251661653 | Validation metrics: 0.000242453874582707
10-16 17:13:33 - INFO - Train metrics: 0.00024825993564708116 | Validation metrics: 0.00023854350185520344
10-16 17:13:33 - INFO - Train metrics: 0.0002438531797055393 | Validation metrics: 0.00023484594015771467
10-16 17:13:34 - INFO - Train metrics: 0.00023961788661052056 | Validation metrics: 0.00023134323948232287
10-16 17:13:34 - INFO - Train metrics: 0.00023552691791542713 | Validation metrics: 0.00022796419304513344
10-16 17:13:34 - INFO - Train metrics: 0.0002315749368603507 | Validation metrics: 0.00022469320883645178
10-16 17:13:34 - INFO - Train metrics: 0.00022777815796242313 | Validation metrics: 0.00022158507555205788
10-16 17:13:34 - INFO - Train metrics: 0.00022413830334416365 | Validation metrics: 0.00021865769322359501
10-16 17:13:34 - INFO - Train metrics: 0.00022063268106261544 | Validation metrics: 0.0002158571051132649
10-16 17:13:34 - INFO - Train metrics: 0.00021724656509016093 | Validation metrics: 0.0002131501052204068
10-16 17:13:34 - INFO - Train metrics: 0.0002139906327395973 | Validation metrics: 0.00021057237131342368
10-16 17:13:34 - INFO - Train metrics: 0.0002108687341413379 | Validation metrics: 0.00020813928226789816
10-16 17:13:34 - INFO - Train metrics: 0.00020786707655977188 | Validation metrics: 0.00020582191064022481
10-16 17:13:34 - INFO - Train metrics: 0.00020497511729643562 | Validation metrics: 0.0002036001374521716
10-16 17:13:34 - INFO - Train metrics: 0.0002021966027583166 | Validation metrics: 0.0002014893154152716
10-16 17:13:34 - INFO - Train metrics: 0.0001995297866426455 | Validation metrics: 0.0001994884888067691
10-16 17:13:34 - INFO - Train metrics: 0.00019696833802746578 | Validation metrics: 0.00019758648263770297
10-16 17:13:34 - INFO - Train metrics: 0.00019450954759416445 | Validation metrics: 0.00019578228503550318
10-16 17:13:34 - INFO - Train metrics: 0.0001921501183674617 | Validation metrics: 0.00019407166947723564
10-16 17:13:34 - INFO - Train metrics: 0.00018988627684244275 | Validation metrics: 0.00019244944210507615
10-16 17:13:34 - INFO - Train metrics: 0.00018771653584254798 | Validation metrics: 0.00019091609739016441
10-16 17:13:34 - INFO - Train metrics: 0.00018563800726849165 | Validation metrics: 0.00018946724770957547
10-16 17:13:34 - INFO - Train metrics: 0.00018364742069585684 | Validation metrics: 0.00018809923480001437
10-16 17:13:34 - INFO - Train metrics: 0.00018174260537277785 | Validation metrics: 0.00018680984030284854
10-16 17:13:34 - INFO - Train metrics: 0.00017992091445540566 | Validation metrics: 0.000185595953341978
10-16 17:13:34 - INFO - Train metrics: 0.0001781798088351232 | Validation metrics: 0.00018445470645515755
10-16 17:13:34 - INFO - Train metrics: 0.00017651724901906958 | Validation metrics: 0.00018338377897938093
10-16 17:13:34 - INFO - Train metrics: 0.00017493060202236266 | Validation metrics: 0.00018237974195425973
10-16 17:13:34 - INFO - Train metrics: 0.00017341816530739166 | Validation metrics: 0.0001814412123598911
10-16 17:13:34 - INFO - Train metrics: 0.00017197733152836308 | Validation metrics: 0.00018056435128344656
10-16 17:13:34 - INFO - Train metrics: 0.00017060580520270938 | Validation metrics: 0.00017974695109649363
10-16 17:13:34 - INFO - Train metrics: 0.00016930192974623628 | Validation metrics: 0.0001789873098129068
10-16 17:13:34 - INFO - Train metrics: 0.00016806333797445805 | Validation metrics: 0.00017828226613934443
10-16 17:13:34 - INFO - Train metrics: 0.00016688773684836176 | Validation metrics: 0.0001776283872937031
10-16 17:13:34 - INFO - Train metrics: 0.000165773518581905 | Validation metrics: 0.00017702465023224553
10-16 17:13:34 - INFO - Train metrics: 0.00016471895164305947 | Validation metrics: 0.00017646909338619673
10-16 17:13:34 - INFO - Train metrics: 0.00016372126318079028 | Validation metrics: 0.00017595790018506272
10-16 17:13:34 - INFO - Train metrics: 0.000162779187871421 | Validation metrics: 0.00017548991691184728
10-16 17:13:34 - INFO - Train metrics: 0.00016188990822345493 | Validation metrics: 0.00017506082120676046
10-16 17:13:34 - INFO - Train metrics: 0.00016105246366460326 | Validation metrics: 0.00017467105242005088
10-16 17:13:34 - INFO - Train metrics: 0.00016026389811370047 | Validation metrics: 0.0001743154572628702
10-16 17:13:34 - INFO - Train metrics: 0.0001595225535641847 | Validation metrics: 0.00017399239710137022
10-16 17:13:34 - INFO - Train metrics: 0.00015882769074958554 | Validation metrics: 0.0001737026425991019
10-16 17:13:34 - INFO - Train metrics: 0.00015817558667727543 | Validation metrics: 0.00017343927380591254
10-16 17:13:34 - INFO - Train metrics: 0.00015756601041310087 | Validation metrics: 0.00017320479321025425
10-16 17:13:34 - INFO - Train metrics: 0.00015699518268973449 | Validation metrics: 0.00017299160926903813
10-16 17:13:34 - INFO - Train metrics: 0.0001564628064511624 | Validation metrics: 0.0001728026048783589
10-16 17:13:34 - INFO - Train metrics: 0.00015596562629900546 | Validation metrics: 0.0001726308245167155
10-16 17:13:34 - INFO - Train metrics: 0.00015550322628190232 | Validation metrics: 0.00017247902805037383
10-16 17:13:34 - INFO - Train metrics: 0.00015507205266897616 | Validation metrics: 0.00017234004388394004
10-16 17:13:34 - INFO - Train metrics: 0.0001546720787999512 | Validation metrics: 0.0001722172793704132
10-16 17:13:34 - INFO - Train metrics: 0.00015430018068133693 | Validation metrics: 0.0001721053039996104
10-16 17:13:34 - INFO - Train metrics: 0.00015395443129673003 | Validation metrics: 0.00017200150592323166
10-16 17:13:34 - INFO - Train metrics: 0.0001536336125523543 | Validation metrics: 0.00017190625511269753
10-16 17:13:34 - INFO - Train metrics: 0.00015333521768933904 | Validation metrics: 0.00017181556272635593
10-16 17:13:34 - INFO - Train metrics: 0.00015305791482449576 | Validation metrics: 0.0001717287701063065
10-16 17:13:34 - INFO - Train metrics: 0.0001528002883008282 | Validation metrics: 0.0001716450191305179
10-16 17:13:34 - INFO - Train metrics: 0.00015256009201745604 | Validation metrics: 0.000171561181137216
10-16 17:13:34 - INFO - Train metrics: 0.00015233611141828667 | Validation metrics: 0.00017147764476542973
10-16 17:13:34 - INFO - Train metrics: 0.00015212586035054495 | Validation metrics: 0.0001713900878023582
10-16 17:13:34 - INFO - Train metrics: 0.00015192834118744102 | Validation metrics: 0.0001712999814613299
10-16 17:13:34 - INFO - Train metrics: 0.00015174164055271265 | Validation metrics: 0.00017120392647374308
10-16 17:13:34 - INFO - Train metrics: 0.00015156481012831534 | Validation metrics: 0.0001711021880078308
10-16 17:13:34 - INFO - Train metrics: 0.00015139672084609957 | Validation metrics: 0.00017099504181503723
10-16 17:13:34 - INFO - Train metrics: 0.00015123521366137966 | Validation metrics: 0.00017087922106388806
10-16 17:13:34 - INFO - Train metrics: 0.00015107892357533036 | Validation metrics: 0.00017075391378691137
10-16 17:13:34 - INFO - Train metrics: 0.0001509270065768685 | Validation metrics: 0.00017062062162416752
10-16 17:13:34 - INFO - Train metrics: 0.00015077849027711227 | Validation metrics: 0.00017047753293570508
10-16 17:13:34 - INFO - Train metrics: 0.00015063232310871385 | Validation metrics: 0.00017032478412735567
10-16 17:13:34 - INFO - Train metrics: 0.00015048735397506067 | Validation metrics: 0.00017016204226893758
10-16 17:13:34 - INFO - Train metrics: 0.00015034262737332794 | Validation metrics: 0.00016998868074616174
10-16 17:13:34 - INFO - Train metrics: 0.00015019828451909404 | Validation metrics: 0.0001698067138968694
10-16 17:13:34 - INFO - Train metrics: 0.000150052996118609 | Validation metrics: 0.00016961466551010469
10-16 17:13:34 - INFO - Train metrics: 0.0001499056765771142 | Validation metrics: 0.0001694122555717412
10-16 17:13:34 - INFO - Train metrics: 0.00014975676558856948 | Validation metrics: 0.00016920093015998112
10-16 17:13:34 - INFO - Train metrics: 0.000149605564588102 | Validation metrics: 0.0001689809639973453
10-16 17:13:34 - INFO - Train metrics: 0.00014945168205989727 | Validation metrics: 0.00016875311628223932
10-16 17:13:34 - INFO - Train metrics: 0.0001492948360469211 | Validation metrics: 0.00016851729838027044
10-16 17:13:34 - INFO - Train metrics: 0.00014913498573816315 | Validation metrics: 0.00016827367021551712
10-16 17:13:34 - INFO - Train metrics: 0.00014897267396747366 | Validation metrics: 0.00016802500076756597
10-16 17:13:34 - INFO - Train metrics: 0.00014880749357299399 | Validation metrics: 0.00016777129767984715
10-16 17:13:35 - INFO - Train metrics: 0.00014863878887970663 | Validation metrics: 0.00016751118131320584
10-16 17:13:35 - INFO - Train metrics: 0.00014846744310498275 | Validation metrics: 0.00016724743417022053
10-16 17:13:35 - INFO - Train metrics: 0.00014829366989573814 | Validation metrics: 0.0001669807534199208
10-16 17:13:35 - INFO - Train metrics: 0.00014811749295810036 | Validation metrics: 0.00016671123122443643
10-16 17:13:35 - INFO - Train metrics: 0.0001479390940633614 | Validation metrics: 0.00016643947332561243
10-16 17:13:35 - INFO - Train metrics: 0.00014775888259810883 | Validation metrics: 0.00016616763531776012
10-16 17:13:35 - INFO - Train metrics: 0.00014757666103559357 | Validation metrics: 0.00016589430052048592
10-16 17:13:35 - INFO - Train metrics: 0.00014739318994132984 | Validation metrics: 0.0001656206186820819
10-16 17:13:35 - INFO - Train metrics: 0.00014720911357492294 | Validation metrics: 0.0001653489104655543
10-16 17:13:35 - INFO - Train metrics: 0.00014702453420096005 | Validation metrics: 0.00016507980674787453
10-16 17:13:35 - INFO - Train metrics: 0.00014683914987631796 | Validation metrics: 0.0001648113364059798
10-16 17:13:35 - INFO - Train metrics: 0.0001466537623422309 | Validation metrics: 0.00016454484306670952
10-16 17:13:35 - INFO - Train metrics: 0.00014646798945592253 | Validation metrics: 0.00016428154012461128
10-16 17:13:35 - INFO - Train metrics: 0.00014628300904722318 | Validation metrics: 0.00016402147608606918
10-16 17:13:35 - INFO - Train metrics: 0.00014609906773280148 | Validation metrics: 0.00016376590006396814
10-16 17:13:35 - INFO - Train metrics: 0.00014591610362142893 | Validation metrics: 0.00016351418617896436
10-16 17:13:35 - INFO - Train metrics: 0.00014573437055102537 | Validation metrics: 0.00016326771612805926
10-16 17:13:35 - INFO - Train metrics: 0.0001455543550807413 | Validation metrics: 0.0001630261183229529
10-16 17:13:35 - INFO - Train metrics: 0.00014537543301000247 | Validation metrics: 0.00016278811351800657
10-16 17:13:35 - INFO - Train metrics: 0.0001451987794333168 | Validation metrics: 0.00016255599635916603
10-16 17:13:35 - INFO - Train metrics: 0.00014502440303077404 | Validation metrics: 0.00016233003083875196
10-16 17:13:35 - INFO - Train metrics: 0.00014485218363054293 | Validation metrics: 0.0001621091490813691
10-16 17:13:35 - INFO - Train metrics: 0.00014468204044943493 | Validation metrics: 0.00016189314353848912
10-16 17:13:35 - INFO - Train metrics: 0.00014451482811158426 | Validation metrics: 0.00016168349997535574
10-16 17:13:35 - INFO - Train metrics: 0.00014435002263862975 | Validation metrics: 0.0001614798072636165
10-16 17:13:35 - INFO - Train metrics: 0.00014418856983211938 | Validation metrics: 0.00016128242876018502
10-16 17:13:35 - INFO - Train metrics: 0.00014402990286030754 | Validation metrics: 0.00016109101610103002
10-16 17:13:35 - INFO - Train metrics: 0.00014387423981956782 | Validation metrics: 0.0001609051885845309
10-16 17:13:35 - INFO - Train metrics: 0.00014372166411899832 | Validation metrics: 0.00016072595073380556
10-16 17:13:35 - INFO - Train metrics: 0.0001435721580337098 | Validation metrics: 0.00016055253644196336
10-16 17:13:35 - INFO - Train metrics: 0.0001434257094918127 | Validation metrics: 0.00016038484913720325
10-16 17:13:35 - INFO - Train metrics: 0.00014328234070412496 | Validation metrics: 0.00016022268083002982
10-16 17:13:35 - INFO - Train metrics: 0.00014314267645475635 | Validation metrics: 0.000160067339134967
10-16 17:13:35 - INFO - Train metrics: 0.0001430067361097895 | Validation metrics: 0.00015991847201325752
10-16 17:13:35 - INFO - Train metrics: 0.0001428740151298879 | Validation metrics: 0.00015977510478055914
10-16 17:13:35 - INFO - Train metrics: 0.00014274468806509236 | Validation metrics: 0.0001596367547248556
10-16 17:13:35 - INFO - Train metrics: 0.00014261917542563495 | Validation metrics: 0.00015950570708479393
10-16 17:13:35 - INFO - Train metrics: 0.00014249689973024814 | Validation metrics: 0.0001593807296512291
10-16 17:13:35 - INFO - Train metrics: 0.00014237753241200392 | Validation metrics: 0.0001592598254310268
10-16 17:13:35 - INFO - Train metrics: 0.00014226189344761924 | Validation metrics: 0.00015914447210503346
10-16 17:13:35 - INFO - Train metrics: 0.00014215020505468687 | Validation metrics: 0.00015903619512553431
10-16 17:13:35 - INFO - Train metrics: 0.00014204201302380257 | Validation metrics: 0.0001589329137156407
10-16 17:13:35 - INFO - Train metrics: 0.0001419373467140936 | Validation metrics: 0.00015883513645744045
10-16 17:13:35 - INFO - Train metrics: 0.00014183630470657969 | Validation metrics: 0.00015874350833885295
10-16 17:13:35 - INFO - Train metrics: 0.00014173881263696217 | Validation metrics: 0.00015865704129953314
10-16 17:13:35 - INFO - Train metrics: 0.0001416448793676857 | Validation metrics: 0.00015857591334321168
10-16 17:13:35 - INFO - Train metrics: 0.00014155365158757078 | Validation metrics: 0.00015849894517679897
10-16 17:13:35 - INFO - Train metrics: 0.00014146640756748674 | Validation metrics: 0.0001584271226558044
10-16 17:13:35 - INFO - Train metrics: 0.00014138277450122434 | Validation metrics: 0.00015836112795637524
10-16 17:13:35 - INFO - Train metrics: 0.00014130317917202171 | Validation metrics: 0.00015830121140085124
10-16 17:13:35 - INFO - Train metrics: 0.00014122660480583212 | Validation metrics: 0.00015824610917744312
10-16 17:13:35 - INFO - Train metrics: 0.00014115311015738095 | Validation metrics: 0.00015819545351956603
10-16 17:13:35 - INFO - Train metrics: 0.0001410833321556094 | Validation metrics: 0.0001581491993015839
10-16 17:13:35 - INFO - Train metrics: 0.00014101741755968264 | Validation metrics: 0.00015810842806887295
10-16 17:13:35 - INFO - Train metrics: 0.00014095494775585876 | Validation metrics: 0.00015807306779680227
10-16 17:13:35 - INFO - Train metrics: 0.0001408953576629986 | Validation metrics: 0.0001580411823457013
10-16 17:13:35 - INFO - Train metrics: 0.00014083948002265706 | Validation metrics: 0.00015801444665571168
print(mean_squared_error(y_valid, yhat))

ee, ex, extras, lam = narx_net.residuals(x_valid, y_valid, yhat)
narx_net.plot_result(y_valid, yhat, ee, ex)
0.0001897040325221036
../_images/narx_neural_network_20_1.png

Note

If you built the net configuration before calling the NARXNN, you can just pass the model to the NARXNN as follows:

class NARX(nn.Module):
    def __init__(self):
        super().__init__()
        self.lin = nn.Linear(4, 10)
        self.lin2 = nn.Linear(10, 10)
        self.lin3 = nn.Linear(10, 1)
        self.tanh = nn.Tanh()

    def forward(self, xb):
        z = self.lin(xb)
        z = self.tanh(z)
        z = self.lin2(z)
        z = self.tanh(z)
        z = self.lin3(z)
        return z

narx_net2 = NARXNN(net=NARX(),
                   ylag=2,
                   xlag=2,
                   loss_func='mse_loss',
                   optimizer='Adam',
                   epochs=200,
                   verbose=True,
                   optim_params={'betas': (0.9, 0.999), 'eps': 1e-05} # optional parameters of the optimizer
)

narx_net2.fit(train_dl, valid_dl)
yhat = narx_net2.predict(x_valid, y_valid)

ee, ex, extras, lam = narx_net2.residuals(x_valid, y_valid, yhat)
narx_net2.plot_result(y_valid, yhat, ee, ex)
10-16 17:13:36 - INFO - Train metrics: 0.05652633656684617 | Validation metrics: 0.05203881874831036
10-16 17:13:36 - INFO - Train metrics: 0.01693735653557873 | Validation metrics: 0.019539524528263796
10-16 17:13:36 - INFO - Train metrics: 0.006971188538467376 | Validation metrics: 0.005636222985093341
10-16 17:13:36 - INFO - Train metrics: 0.007608490282982439 | Validation metrics: 0.007107029951205759
10-16 17:13:36 - INFO - Train metrics: 0.0031389114546139063 | Validation metrics: 0.003096873693243422
10-16 17:13:36 - INFO - Train metrics: 0.0035768438849532814 | Validation metrics: 0.004052909495628843
10-16 17:13:36 - INFO - Train metrics: 0.002573253347347012 | Validation metrics: 0.002658253829606404
10-16 17:13:36 - INFO - Train metrics: 0.002467854655718893 | Validation metrics: 0.0022129227308499994
10-16 17:13:36 - INFO - Train metrics: 0.0023338160930402147 | Validation metrics: 0.002064210898948438
10-16 17:13:36 - INFO - Train metrics: 0.0021568029917038998 | Validation metrics: 0.0020308613546681825
10-16 17:13:36 - INFO - Train metrics: 0.0020708789407651415 | Validation metrics: 0.0019082308728059735
10-16 17:13:36 - INFO - Train metrics: 0.0019864840479684354 | Validation metrics: 0.0017681226741071
10-16 17:13:36 - INFO - Train metrics: 0.0018899403874269851 | Validation metrics: 0.0016581406040738027
10-16 17:13:36 - INFO - Train metrics: 0.0018144746574766952 | Validation metrics: 0.0015969512175128917
10-16 17:13:36 - INFO - Train metrics: 0.0017486277983446879 | Validation metrics: 0.00152981367357301
10-16 17:13:36 - INFO - Train metrics: 0.0016796606958127186 | Validation metrics: 0.0014452436195705274
10-16 17:13:36 - INFO - Train metrics: 0.0016157413852683508 | Validation metrics: 0.0013842279093829219
10-16 17:13:36 - INFO - Train metrics: 0.0015543584226348198 | Validation metrics: 0.00132340768874256
10-16 17:13:36 - INFO - Train metrics: 0.0014960180111999687 | Validation metrics: 0.001264805602135532
10-16 17:13:36 - INFO - Train metrics: 0.001440475767777117 | Validation metrics: 0.0012101437167424446
10-16 17:13:36 - INFO - Train metrics: 0.0013858747191815859 | Validation metrics: 0.0011570379337897958
10-16 17:13:36 - INFO - Train metrics: 0.0013325146730886516 | Validation metrics: 0.0011070051049399707
10-16 17:13:36 - INFO - Train metrics: 0.0012793580296549731 | Validation metrics: 0.0010557669800508654
10-16 17:13:36 - INFO - Train metrics: 0.0012263504480172817 | Validation metrics: 0.0010061042566755505
10-16 17:13:36 - INFO - Train metrics: 0.0011738096401772292 | Validation metrics: 0.0009571308119579999
10-16 17:13:36 - INFO - Train metrics: 0.0011232472256813338 | Validation metrics: 0.0009102188262411139
10-16 17:13:36 - INFO - Train metrics: 0.001077051346690947 | Validation metrics: 0.000868283910676837
10-16 17:13:36 - INFO - Train metrics: 0.0010367119273422916 | Validation metrics: 0.000832480357282541
10-16 17:13:36 - INFO - Train metrics: 0.001000015397835056 | Validation metrics: 0.0008003522978267736
10-16 17:13:36 - INFO - Train metrics: 0.0009603692824954638 | Validation metrics: 0.0007651724753844919
10-16 17:13:36 - INFO - Train metrics: 0.0009124978520746406 | Validation metrics: 0.0007220357280186933
10-16 17:13:36 - INFO - Train metrics: 0.0008592578752566231 | Validation metrics: 0.0006746780873991248
10-16 17:13:36 - INFO - Train metrics: 0.0008085539895938453 | Validation metrics: 0.0006312252459765384
10-16 17:13:36 - INFO - Train metrics: 0.0007632905468554761 | Validation metrics: 0.0005935188788553756
10-16 17:13:36 - INFO - Train metrics: 0.0007213430936077147 | Validation metrics: 0.0005586788110021087
10-16 17:13:36 - INFO - Train metrics: 0.0006811232020130806 | Validation metrics: 0.0005258126437165445
10-16 17:13:36 - INFO - Train metrics: 0.000642322817581582 | Validation metrics: 0.0004955065410791172
10-16 17:13:36 - INFO - Train metrics: 0.0006057994989013034 | Validation metrics: 0.0004681051923949836
10-16 17:13:36 - INFO - Train metrics: 0.0005717419098390449 | Validation metrics: 0.0004427667308570535
10-16 17:13:36 - INFO - Train metrics: 0.0005402511463064075 | Validation metrics: 0.00042003921334246043
10-16 17:13:36 - INFO - Train metrics: 0.0005116320497013236 | Validation metrics: 0.00040039777546424906
10-16 17:13:36 - INFO - Train metrics: 0.00048558867090372343 | Validation metrics: 0.00038259263524334085
10-16 17:13:36 - INFO - Train metrics: 0.0004620917670558298 | Validation metrics: 0.00036684162103373444
10-16 17:13:36 - INFO - Train metrics: 0.0004411376365734717 | Validation metrics: 0.0003533013384892709
10-16 17:13:36 - INFO - Train metrics: 0.00042220170326346534 | Validation metrics: 0.00034090888338408085
10-16 17:13:36 - INFO - Train metrics: 0.0004052370336615156 | Validation metrics: 0.00032999494225915635
10-16 17:13:36 - INFO - Train metrics: 0.00038988033479095944 | Validation metrics: 0.0003200209431463119
10-16 17:13:36 - INFO - Train metrics: 0.00037592087062962706 | Validation metrics: 0.0003109199751634151
10-16 17:13:36 - INFO - Train metrics: 0.00036318069634629985 | Validation metrics: 0.0003025889737094103
10-16 17:13:36 - INFO - Train metrics: 0.0003514219551606286 | Validation metrics: 0.00029474917141899393
10-16 17:13:36 - INFO - Train metrics: 0.0003405695607947573 | Validation metrics: 0.0002875246061717696
10-16 17:13:36 - INFO - Train metrics: 0.000330443122674522 | Validation metrics: 0.00028068554320730116
10-16 17:13:36 - INFO - Train metrics: 0.0003209930096512525 | Validation metrics: 0.0002743102274388263
10-16 17:13:36 - INFO - Train metrics: 0.00031210321640971593 | Validation metrics: 0.0002682784427018516
10-16 17:13:36 - INFO - Train metrics: 0.0003037385908474814 | Validation metrics: 0.0002626186554823447
10-16 17:13:36 - INFO - Train metrics: 0.0002958238654259947 | Validation metrics: 0.0002572577992910425
10-16 17:13:36 - INFO - Train metrics: 0.0002883346800203377 | Validation metrics: 0.0002522122395939824
10-16 17:13:36 - INFO - Train metrics: 0.00028122275918056924 | Validation metrics: 0.00024742852970534426
10-16 17:13:36 - INFO - Train metrics: 0.00027446701772858794 | Validation metrics: 0.00024290614575617995
10-16 17:13:36 - INFO - Train metrics: 0.0002680375367443294 | Validation metrics: 0.0002386157228634928
10-16 17:13:36 - INFO - Train metrics: 0.00026191252023057503 | Validation metrics: 0.0002345391672640813
10-16 17:13:36 - INFO - Train metrics: 0.00025607385962354227 | Validation metrics: 0.00023066181944673787
10-16 17:13:36 - INFO - Train metrics: 0.0002505011370908562 | Validation metrics: 0.0002269611092439542
10-16 17:13:36 - INFO - Train metrics: 0.00024518169195567464 | Validation metrics: 0.0002234272480674201
10-16 17:13:36 - INFO - Train metrics: 0.00024009895520308113 | Validation metrics: 0.00022004145248134555
10-16 17:13:36 - INFO - Train metrics: 0.00023523906527675296 | Validation metrics: 0.0002167876204240578
10-16 17:13:36 - INFO - Train metrics: 0.0002305927644232825 | Validation metrics: 0.0002136578503525769
10-16 17:13:36 - INFO - Train metrics: 0.0002261483991844813 | Validation metrics: 0.00021063893383152483
10-16 17:13:36 - INFO - Train metrics: 0.000221896622781315 | Validation metrics: 0.00020772003130093593
10-16 17:13:37 - INFO - Train metrics: 0.00021783029310461273 | Validation metrics: 0.0002048958035308228
10-16 17:13:37 - INFO - Train metrics: 0.00021394228201358344 | Validation metrics: 0.00020215889166175116
10-16 17:13:37 - INFO - Train metrics: 0.00021022697254189087 | Validation metrics: 0.00019950557216729103
10-16 17:13:37 - INFO - Train metrics: 0.0002066790971879901 | Validation metrics: 0.00019693356289556533
10-16 17:13:37 - INFO - Train metrics: 0.00020329330434828977 | Validation metrics: 0.0001944400995706368
10-16 17:13:37 - INFO - Train metrics: 0.0002000668897371702 | Validation metrics: 0.00019202866039422312
10-16 17:13:37 - INFO - Train metrics: 0.0001969944427410178 | Validation metrics: 0.00018969758468411976
10-16 17:13:37 - INFO - Train metrics: 0.00019407161875606928 | Validation metrics: 0.00018744870936239345
10-16 17:13:37 - INFO - Train metrics: 0.0001912937278349891 | Validation metrics: 0.00018528315522049489
10-16 17:13:37 - INFO - Train metrics: 0.00018865645214370254 | Validation metrics: 0.00018320401079218948
10-16 17:13:37 - INFO - Train metrics: 0.00018615343223995806 | Validation metrics: 0.00018120970197181885
10-16 17:13:37 - INFO - Train metrics: 0.00018377973323741595 | Validation metrics: 0.0001793022677913835
10-16 17:13:37 - INFO - Train metrics: 0.0001815301178324907 | Validation metrics: 0.00017748204985341867
10-16 17:13:37 - INFO - Train metrics: 0.00017939801545251152 | Validation metrics: 0.0001757469100553091
10-16 17:13:37 - INFO - Train metrics: 0.0001773779235770319 | Validation metrics: 0.00017409617768605288
10-16 17:13:37 - INFO - Train metrics: 0.00017546485283208968 | Validation metrics: 0.00017252957023270992
10-16 17:13:37 - INFO - Train metrics: 0.00017365241259275783 | Validation metrics: 0.0001710429790575584
10-16 17:13:37 - INFO - Train metrics: 0.00017193633145250073 | Validation metrics: 0.00016963555250608484
10-16 17:13:37 - INFO - Train metrics: 0.00017031153615413555 | Validation metrics: 0.00016830559697053913
10-16 17:13:37 - INFO - Train metrics: 0.00016877269365779242 | Validation metrics: 0.0001670482959139697
10-16 17:13:37 - INFO - Train metrics: 0.0001673156921174097 | Validation metrics: 0.00016586178566230404
10-16 17:13:37 - INFO - Train metrics: 0.0001659364768004577 | Validation metrics: 0.00016474460705531518
10-16 17:13:37 - INFO - Train metrics: 0.00016463055627106602 | Validation metrics: 0.00016369272568474778
10-16 17:13:37 - INFO - Train metrics: 0.00016339428868450523 | Validation metrics: 0.0001627029458618243
10-16 17:13:37 - INFO - Train metrics: 0.00016222390440178284 | Validation metrics: 0.0001617731116982553
10-16 17:13:37 - INFO - Train metrics: 0.0001611158271164944 | Validation metrics: 0.0001609001130528861
10-16 17:13:37 - INFO - Train metrics: 0.0001600667426755353 | Validation metrics: 0.00016008160986015667
10-16 17:13:37 - INFO - Train metrics: 0.00015907344673987814 | Validation metrics: 0.00015931485107314368
10-16 17:13:37 - INFO - Train metrics: 0.0001581325533450873 | Validation metrics: 0.00015859761377655423
10-16 17:13:37 - INFO - Train metrics: 0.0001572414536500597 | Validation metrics: 0.00015792666524037192
10-16 17:13:37 - INFO - Train metrics: 0.00015639743549144712 | Validation metrics: 0.00015730069299943445
10-16 17:13:37 - INFO - Train metrics: 0.00015559743833523898 | Validation metrics: 0.00015671560914147495
10-16 17:13:37 - INFO - Train metrics: 0.0001548392370148891 | Validation metrics: 0.0001561710081237246
10-16 17:13:37 - INFO - Train metrics: 0.00015412047784016899 | Validation metrics: 0.00015566498776098167
10-16 17:13:37 - INFO - Train metrics: 0.00015343870463743712 | Validation metrics: 0.00015519413952433476
10-16 17:13:37 - INFO - Train metrics: 0.00015279153545146672 | Validation metrics: 0.00015475664398341318
10-16 17:13:37 - INFO - Train metrics: 0.0001521774459417844 | Validation metrics: 0.00015435024794318122
10-16 17:13:37 - INFO - Train metrics: 0.00015159430944992178 | Validation metrics: 0.00015397517100526866
10-16 17:13:37 - INFO - Train metrics: 0.00015104116139178373 | Validation metrics: 0.00015362986919677092
10-16 17:13:37 - INFO - Train metrics: 0.00015051499229271133 | Validation metrics: 0.0001533107824430735
10-16 17:13:37 - INFO - Train metrics: 0.00015001434586705282 | Validation metrics: 0.00015301672762937167
10-16 17:13:37 - INFO - Train metrics: 0.0001495385029073688 | Validation metrics: 0.00015274705565205277
10-16 17:13:37 - INFO - Train metrics: 0.00014908606675803605 | Validation metrics: 0.0001525000659948817
10-16 17:13:37 - INFO - Train metrics: 0.00014865580787339522 | Validation metrics: 0.0001522758434705361
10-16 17:13:37 - INFO - Train metrics: 0.00014824595051860778 | Validation metrics: 0.00015207178093436542
10-16 17:13:37 - INFO - Train metrics: 0.0001478556234387793 | Validation metrics: 0.00015188801552714647
10-16 17:13:37 - INFO - Train metrics: 0.00014748334489152404 | Validation metrics: 0.0001517218573493977
10-16 17:13:37 - INFO - Train metrics: 0.00014712870523495773 | Validation metrics: 0.00015157282030835484
10-16 17:13:37 - INFO - Train metrics: 0.00014679037123646607 | Validation metrics: 0.00015144014329475472
10-16 17:13:37 - INFO - Train metrics: 0.00014646811652076628 | Validation metrics: 0.0001513236843171821
10-16 17:13:37 - INFO - Train metrics: 0.0001461608720873891 | Validation metrics: 0.00015122197275026466
10-16 17:13:37 - INFO - Train metrics: 0.00014586771084439186 | Validation metrics: 0.0001511346606709383
10-16 17:13:37 - INFO - Train metrics: 0.00014558826917624872 | Validation metrics: 0.00015106140559473347
10-16 17:13:37 - INFO - Train metrics: 0.00014532129569119192 | Validation metrics: 0.0001510001342412028
10-16 17:13:37 - INFO - Train metrics: 0.00014506649862149762 | Validation metrics: 0.00015095042137104565
10-16 17:13:37 - INFO - Train metrics: 0.00014482365950608256 | Validation metrics: 0.00015091294754352984
10-16 17:13:37 - INFO - Train metrics: 0.00014459158709380113 | Validation metrics: 0.00015088630136986724
10-16 17:13:37 - INFO - Train metrics: 0.00014437051432470986 | Validation metrics: 0.000150869736586688
10-16 17:13:37 - INFO - Train metrics: 0.00014415973931507798 | Validation metrics: 0.00015086305916845572
10-16 17:13:37 - INFO - Train metrics: 0.0001439590835030585 | Validation metrics: 0.00015086687691486206
10-16 17:13:37 - INFO - Train metrics: 0.00014376789522544016 | Validation metrics: 0.00015087995879267427
10-16 17:13:37 - INFO - Train metrics: 0.00014358529914258034 | Validation metrics: 0.00015090076450371382
10-16 17:13:37 - INFO - Train metrics: 0.0001434115622948883 | Validation metrics: 0.00015093008837676749
10-16 17:13:37 - INFO - Train metrics: 0.00014324598954576197 | Validation metrics: 0.00015096694808406285
10-16 17:13:37 - INFO - Train metrics: 0.00014308879034795604 | Validation metrics: 0.0001510113728764194
10-16 17:13:37 - INFO - Train metrics: 0.0001429396073224798 | Validation metrics: 0.0001510632207624219
10-16 17:13:37 - INFO - Train metrics: 0.00014279825552506722 | Validation metrics: 0.00015112249629873066
10-16 17:13:37 - INFO - Train metrics: 0.00014266407399241086 | Validation metrics: 0.0001511884774751679
10-16 17:13:37 - INFO - Train metrics: 0.00014253695057629185 | Validation metrics: 0.00015126065276986495
10-16 17:13:37 - INFO - Train metrics: 0.0001424165222811907 | Validation metrics: 0.0001513387349662324
10-16 17:13:37 - INFO - Train metrics: 0.00014230307037119326 | Validation metrics: 0.00015142297512155516
10-16 17:13:37 - INFO - Train metrics: 0.00014219641803505883 | Validation metrics: 0.00015151337632260314
10-16 17:13:37 - INFO - Train metrics: 0.00014209558011906776 | Validation metrics: 0.00015160836666855358
10-16 17:13:37 - INFO - Train metrics: 0.00014200178026058303 | Validation metrics: 0.00015170961654288788
10-16 17:13:37 - INFO - Train metrics: 0.00014191391346229235 | Validation metrics: 0.0001518160091228595
10-16 17:13:37 - INFO - Train metrics: 0.00014183194044496594 | Validation metrics: 0.00015192695116069205
10-16 17:13:37 - INFO - Train metrics: 0.00014175548205644657 | Validation metrics: 0.00015204327314447688
10-16 17:13:37 - INFO - Train metrics: 0.00014168512026393052 | Validation metrics: 0.00015216405609871892
10-16 17:13:37 - INFO - Train metrics: 0.00014162061184254897 | Validation metrics: 0.00015228987607347657
10-16 17:13:38 - INFO - Train metrics: 0.000141561437883405 | Validation metrics: 0.00015242045334860156
10-16 17:13:38 - INFO - Train metrics: 0.0001415076256303098 | Validation metrics: 0.00015255515778206779
10-16 17:13:38 - INFO - Train metrics: 0.00014145937107823192 | Validation metrics: 0.00015269405963463765
10-16 17:13:38 - INFO - Train metrics: 0.00014141636473455823 | Validation metrics: 0.000152837557540595
10-16 17:13:38 - INFO - Train metrics: 0.0001413788587595441 | Validation metrics: 0.00015298571793898714
10-16 17:13:38 - INFO - Train metrics: 0.00014134644869018235 | Validation metrics: 0.00015313739696108368
10-16 17:13:38 - INFO - Train metrics: 0.00014131908926600474 | Validation metrics: 0.00015329307805384614
10-16 17:13:38 - INFO - Train metrics: 0.00014129690558242292 | Validation metrics: 0.00015345372164367953
10-16 17:13:38 - INFO - Train metrics: 0.0001412796195118541 | Validation metrics: 0.00015361770291370575
10-16 17:13:38 - INFO - Train metrics: 0.00014126718783620418 | Validation metrics: 0.00015378559468022426
10-16 17:13:38 - INFO - Train metrics: 0.00014126013150674415 | Validation metrics: 0.00015395728508457355
10-16 17:13:38 - INFO - Train metrics: 0.0001412578794975674 | Validation metrics: 0.00015413364709467825
10-16 17:13:38 - INFO - Train metrics: 0.00014126046222545917 | Validation metrics: 0.0001543141001038197
10-16 17:13:38 - INFO - Train metrics: 0.00014126799781987663 | Validation metrics: 0.00015449755242437764
10-16 17:13:38 - INFO - Train metrics: 0.00014128061414802478 | Validation metrics: 0.0001546853795798138
10-16 17:13:38 - INFO - Train metrics: 0.0001412977410957712 | Validation metrics: 0.00015487774943161493
10-16 17:13:38 - INFO - Train metrics: 0.00014132010779065784 | Validation metrics: 0.00015507405844277167
10-16 17:13:38 - INFO - Train metrics: 0.00014134685391907983 | Validation metrics: 0.00015527305441362916
10-16 17:13:38 - INFO - Train metrics: 0.0001413789385580166 | Validation metrics: 0.000155476405081866
10-16 17:13:38 - INFO - Train metrics: 0.0001414161603147967 | Validation metrics: 0.00015568456831835023
10-16 17:13:38 - INFO - Train metrics: 0.00014145823187115405 | Validation metrics: 0.00015589698394784007
10-16 17:13:38 - INFO - Train metrics: 0.00014150498403827974 | Validation metrics: 0.0001561130725395292
10-16 17:13:38 - INFO - Train metrics: 0.00014155629536785876 | Validation metrics: 0.00015633253908640883
10-16 17:13:38 - INFO - Train metrics: 0.0001416126962936131 | Validation metrics: 0.00015655678895071639
10-16 17:13:38 - INFO - Train metrics: 0.0001416743032673355 | Validation metrics: 0.00015678539718712935
10-16 17:13:38 - INFO - Train metrics: 0.0001417406400146878 | Validation metrics: 0.000157018168594199
10-16 17:13:38 - INFO - Train metrics: 0.0001418123394528049 | Validation metrics: 0.00015725502600267793
10-16 17:13:38 - INFO - Train metrics: 0.00014188916966281737 | Validation metrics: 0.00015749656868689326
10-16 17:13:38 - INFO - Train metrics: 0.00014197059200503595 | Validation metrics: 0.00015774186267846762
10-16 17:13:38 - INFO - Train metrics: 0.0001420573802839353 | Validation metrics: 0.00015799226057057204
10-16 17:13:38 - INFO - Train metrics: 0.00014214920596905838 | Validation metrics: 0.00015824736343494458
10-16 17:13:38 - INFO - Train metrics: 0.00014224603164119455 | Validation metrics: 0.00015850592936116336
10-16 17:13:38 - INFO - Train metrics: 0.00014234820220626441 | Validation metrics: 0.000158770603417052
10-16 17:13:38 - INFO - Train metrics: 0.00014245538654437237 | Validation metrics: 0.00015903883960540171
10-16 17:13:38 - INFO - Train metrics: 0.00014256768538832505 | Validation metrics: 0.00015931156983674326
10-16 17:13:38 - INFO - Train metrics: 0.0001426853659244156 | Validation metrics: 0.00015958904840212052
10-16 17:13:38 - INFO - Train metrics: 0.0001428086423830953 | Validation metrics: 0.0001598727399003551
10-16 17:13:38 - INFO - Train metrics: 0.0001429373464873294 | Validation metrics: 0.0001601608748773508
10-16 17:13:38 - INFO - Train metrics: 0.00014307115831380864 | Validation metrics: 0.00016045383741547625
10-16 17:13:38 - INFO - Train metrics: 0.0001432106768251992 | Validation metrics: 0.0001607512346130203
10-16 17:13:38 - INFO - Train metrics: 0.00014335543563079444 | Validation metrics: 0.00016105422077493535
10-16 17:13:38 - INFO - Train metrics: 0.00014350541777159544 | Validation metrics: 0.0001613625126533361
10-16 17:13:38 - INFO - Train metrics: 0.00014366075647603908 | Validation metrics: 0.00016167527035283245
10-16 17:13:38 - INFO - Train metrics: 0.0001438217869852401 | Validation metrics: 0.0001619937945794634
10-16 17:13:38 - INFO - Train metrics: 0.00014398849806614118 | Validation metrics: 0.00016231792011754494
10-16 17:13:38 - INFO - Train metrics: 0.00014416080342843793 | Validation metrics: 0.00016264691657852381
10-16 17:13:38 - INFO - Train metrics: 0.00014433853107505713 | Validation metrics: 0.0001629818042133455
10-16 17:13:38 - INFO - Train metrics: 0.00014452172167112533 | Validation metrics: 0.00016332103111169706
10-16 17:13:38 - INFO - Train metrics: 0.0001447106929516938 | Validation metrics: 0.00016366557519167962
10-16 17:13:38 - INFO - Train metrics: 0.00014490555155786562 | Validation metrics: 0.00016401742021741365
10-16 17:13:38 - INFO - Train metrics: 0.00014510612286665805 | Validation metrics: 0.0001643742400872982
10-16 17:13:38 - INFO - Train metrics: 0.00014531129345596584 | Validation metrics: 0.00016473501249254126
../_images/narx_neural_network_22_200.png