pyFTS/pyFTS/notebooks/Severiano et al - HighOrderFTS.ipynb
2018-05-15 22:59:30 -03:00

941 KiB

High Order Fuzzy Time Series

Severiano, S. A. Jr; Silva, P. C. L.; Sadaei, H. J.; Guimarães, F. G. Very Short-term Solar Forecasting using Fuzzy Time Series. 2017 IEEE International Conference on Fuzzy Systems. DOI10.1109/FUZZ-IEEE.2017.8015732

Environment Setup

Library install/update

In [ ]:
!pip3 install -U git+https://github.com/petroniocandido/pyFTS

External libraries import

In [1]:
import warnings
warnings.filterwarnings('ignore')

import numpy as np
import pandas as pd
import matplotlib.pylab as plt
import seaborn as sns

%pylab inline
Populating the interactive namespace from numpy and matplotlib

Common pyFTS imports

In [3]:
from pyFTS.common import Util as cUtil
from pyFTS.benchmarks import benchmarks as bchmk, Util as bUtil
from pyFTS.partitioners import Util as pUtil

from pyFTS.models import hofts

Common data transformations

In [4]:
from pyFTS.common import Transformations

tdiff = Transformations.Differential(1)

boxcox = Transformations.BoxCox(0)

Datasets

Data Loading

In [5]:
from pyFTS.data import TAIEX, NASDAQ, SP500

dataset_names = ["TAIEX", "SP500","NASDAQ"]

def get_dataset(name):
    if dataset_name == "TAIEX":
        return TAIEX.get_data()
    elif dataset_name == "SP500":
        return SP500.get_data()[11500:16000]
    elif dataset_name == "NASDAQ":
        return NASDAQ.get_data()


train_split = 2000
test_length = 200

Visualization

In [6]:
fig, ax = plt.subplots(nrows=2, ncols=3, figsize=[10,5])

for count,dataset_name in enumerate(dataset_names):
    dataset = get_dataset(dataset_name)
    dataset_diff = tdiff.apply(dataset)

    ax[0][count].plot(dataset)
    ax[1][count].plot(dataset_diff)
    ax[0][count].set_title(dataset_name)

Statistics

In [7]:
from statsmodels.tsa.stattools import adfuller

rows =[]

for count,dataset_name in enumerate(dataset_names):
    row = [dataset_name]
    dataset = get_dataset(dataset_name)
    result = adfuller(dataset)
    row.extend([result[0],result[1]])
    row.extend([value for key, value in result[4].items()])
    rows.append(row)
    
pd.DataFrame(rows,columns=['Dataset','ADF Statistic','p-value','Cr. Val. 1%','Cr. Val. 5%','Cr. Val. 10%'])
Out[7]:
Dataset ADF Statistic p-value Cr. Val. 1% Cr. Val. 5% Cr. Val. 10%
0 TAIEX -2.656728 0.081830 -3.431601 -2.862093 -2.567064
1 SP500 -1.747171 0.406987 -3.431811 -2.862186 -2.567114
2 NASDAQ 0.476224 0.984132 -3.432022 -2.862279 -2.567163

Partitioning

The best number of partitions of the Universe of Discourse is an optimization problem. The know more about partitioning schemes please look on the Partitioners notebook. To know more about benchmarking look on the Benchmarks notebook.

In [ ]:
from pyFTS.partitioners import Grid, Util as pUtil
from pyFTS.benchmarks import benchmarks as bchmk
from pyFTS.models import chen

tag = 'chen_partitioning'
_type = 'point'

for dataset_name in dataset_names:
    dataset = get_dataset(dataset_name)

    bchmk.sliding_window_benchmarks(dataset, 1000, train=0.8, inc=0.2,
                                    methods=[hofts.HighOrderFTS],
                                    benchmark_models=False,
                                    transformations=[None],
                                    order=[1,2,3],
                                    partitions=np.arange(10,100,2), 
                                    progress=False, type=_type,
                                    distributed=True, nodes=['192.168.0.110', '192.168.0.107','192.168.0.106'],
                                    file="benchmarks.db", dataset=dataset_name, tag=tag)

    bchmk.sliding_window_benchmarks(dataset, 1000, train=0.8, inc=0.2,
                                    methods=[hofts.HighOrderFTS],
                                    benchmark_models=False,
                                    transformations=[tdiff],
                                    order=[1,2,3],
                                    partitions=np.arange(3,30,1), 
                                    progress=False, type=_type,
                                    distributed=True, nodes=['192.168.0.110', '192.168.0.107', '192.168.0.106'],
                                    file="benchmarks.db", dataset=dataset_name, tag=tag)
In [ ]:
from pyFTS.benchmarks import Util as bUtil

df1 = bUtil.get_dataframe_from_bd("benchmarks.db",
                                  "tag = 'chen_partitioning' and measure = 'rmse'and transformation is null")

df2 = bUtil.get_dataframe_from_bd("benchmarks.db",
                                  "tag = 'chen_partitioning' and measure = 'rmse' and transformation is not null")

fig, ax = plt.subplots(nrows=2, ncols=1, figsize=[15,7])

g1 = sns.boxplot(x='Partitions', y='Value', hue='Dataset', data=df1, showfliers=False, ax=ax[0], 
                 palette="Set3")
box = g1.get_position()
g1.set_position([box.x0, box.y0, box.width * 0.85, box.height]) 
g1.legend(loc='right', bbox_to_anchor=(1.15, 0.5), ncol=1)
ax[0].set_title("Original data")
ax[0].set_ylabel("RMSE")
ax[0].set_xlabel("")

g2 = sns.boxplot(x='Partitions', y='Value', hue='Dataset', data=df2, showfliers=False, ax=ax[1], 
                 palette="Set3")
box = g2.get_position()
g2.set_position([box.x0, box.y0, box.width * 0.85, box.height]) 
g2.legend(loc='right', bbox_to_anchor=(1.15, 0.5), ncol=1)
ax[1].set_title("Differentiated data")
ax[1].set_ylabel("RMSE")
ax[1].set_xlabel("Number of partitions of the UoD")

Comparing the partitioning schemas

In [10]:
from pyFTS.partitioners import Grid, Util as pUtil

fig, ax = plt.subplots(nrows=2, ncols=3, figsize=[20,5])


partitioners = {}
partitioners_diff = {}

for count,dataset_name in enumerate(dataset_names):
    dataset = get_dataset(dataset_name)

    partitioner = Grid.GridPartitioner(data=dataset, npart=30)
    partitioners[dataset_name] = partitioner
    partitioner_diff = Grid.GridPartitioner(data=dataset, npart=10, transformation=tdiff)
    partitioners_diff[dataset_name] = partitioner_diff

    pUtil.plot_sets(dataset, [partitioner.sets], titles=[dataset_name], axis=ax[0][count])
    pUtil.plot_sets(dataset, [partitioner_diff.sets], titles=[''], axis=ax[1][count])

Fitting models

With original data

In [13]:
for count,dataset_name in enumerate(dataset_names):
    dataset = get_dataset(dataset_name)
    
    for order in [2,3]:

        model1 = hofts.HighOrderFTS(partitioner=partitioners[dataset_name], order=order)
        model1.name=dataset_name +str(order)
        model1.fit(dataset[:train_split], save_model=True, file_path='model1'+dataset_name+str(order))

        print(model1)
TAIEX2:
A1,A1 -> A1,A2,A3
A1,A2 -> A1,A2,A3
A1,A3 -> A2,A3
A10,A10 -> A10,A11,A12,A8,A9
A10,A11 -> A10,A11,A12,A9
A10,A12 -> A10,A11,A12
A10,A8 -> A10,A7,A8,A9
A10,A9 -> A10,A11,A12,A7,A8,A9
A11,A10 -> A10,A11,A12,A8,A9
A11,A11 -> A10,A11,A12,A13,A14,A9
A11,A12 -> A10,A11,A12,A13,A14
A11,A13 -> A11,A12,A13,A14
A11,A14 -> A13,A14
A11,A9 -> A10,A11,A8,A9
A12,A10 -> A10,A11,A12,A9
A12,A11 -> A10,A11,A12,A13,A14,A9
A12,A12 -> A10,A11,A12,A13,A14
A12,A13 -> A11,A12,A13,A14,A15
A12,A14 -> A13,A14,A15
A13,A11 -> A10,A11,A12,A13
A13,A12 -> A10,A11,A12,A13,A14
A13,A13 -> A11,A12,A13,A14,A15
A13,A14 -> A11,A12,A13,A14,A15
A13,A15 -> A13,A14,A15
A14,A11 -> A12,A13
A14,A12 -> A11,A12,A13,A14
A14,A13 -> A11,A12,A13,A14,A15
A14,A14 -> A11,A12,A13,A14,A15,A16
A14,A15 -> A13,A14,A15,A16
A14,A16 -> A14,A15,A16,A17,A18
A14,A17 -> A17,A18
A15,A13 -> A13,A14,A15
A15,A14 -> A13,A14,A15,A16,A17
A15,A15 -> A13,A14,A15,A16,A17
A15,A16 -> A14,A15,A16,A17,A18
A15,A17 -> A15,A16,A17,A18
A16,A14 -> A13,A14,A15,A16,A17
A16,A15 -> A13,A14,A15,A16,A17
A16,A16 -> A14,A15,A16,A17,A18
A16,A17 -> A15,A16,A17,A18,A19
A16,A18 -> A15,A16,A17,A18,A19
A17,A15 -> A14,A15,A16,A17
A17,A16 -> A14,A15,A16,A17,A18
A17,A17 -> A15,A16,A17,A18,A19
A17,A18 -> A15,A16,A17,A18,A19,A20
A17,A19 -> A17,A18,A19,A20
A18,A15 -> A16,A17
A18,A16 -> A15,A16,A17,A18
A18,A17 -> A15,A16,A17,A18,A19
A18,A18 -> A15,A16,A17,A18,A19,A20
A18,A19 -> A16,A17,A18,A19,A20,A21
A18,A20 -> A18,A19,A20,A21
A19,A16 -> A16,A17
A19,A17 -> A15,A16,A17,A18,A19
A19,A18 -> A15,A16,A17,A18,A19,A20
A19,A19 -> A16,A17,A18,A19,A20,A21
A19,A20 -> A18,A19,A20,A21,A22
A19,A21 -> A19,A20,A21,A22
A2,A1 -> A1,A2,A3
A2,A2 -> A1,A2,A3,A4
A2,A3 -> A1,A2,A3,A4
A2,A4 -> A3,A4
A20,A18 -> A17,A18,A19,A20
A20,A19 -> A17,A18,A19,A20,A21
A20,A20 -> A18,A19,A20,A21,A22
A20,A21 -> A19,A20,A21,A22,A23,A24
A20,A22 -> A20,A21,A22,A23,A24
A21,A19 -> A18,A19,A20,A21
A21,A20 -> A18,A19,A20,A21,A22
A21,A21 -> A19,A20,A21,A22,A23,A24
A21,A22 -> A20,A21,A22,A23,A24
A21,A23 -> A21,A22,A23,A24
A21,A24 -> A23,A24
A22,A20 -> A20,A21,A22
A22,A21 -> A20,A21,A22,A23
A22,A22 -> A20,A21,A22,A23,A24
A22,A23 -> A21,A22,A23,A24
A22,A24 -> A23,A24
A23,A21 -> A20,A21,A22,A23
A23,A22 -> A20,A21,A22,A23,A24
A23,A23 -> A21,A22,A23,A24,A25
A23,A24 -> A21,A22,A23,A24,A25,A26
A23,A25 -> A23,A24,A25,A26
A24,A21 -> A20,A21,A22,A23
A24,A22 -> A20,A21,A22,A23
A24,A23 -> A21,A22,A23,A24,A25
A24,A24 -> A21,A22,A23,A24,A25,A26
A24,A25 -> A23,A24,A25,A26
A24,A26 -> A24,A25,A26
A25,A23 -> A21,A22,A23,A24,A25
A25,A24 -> A21,A22,A23,A24,A25,A26
A25,A25 -> A23,A24,A25,A26,A27
A25,A26 -> A24,A25,A26,A27
A25,A27 -> A26,A27
A26,A24 -> A23,A24,A25
A26,A25 -> A23,A24,A25,A26,A27
A26,A26 -> A24,A25,A26,A27
A26,A27 -> A25,A26,A27
A27,A25 -> A24,A25
A27,A26 -> A24,A25,A26
A27,A27 -> A25,A26
A3,A1 -> A1,A2
A3,A2 -> A1,A2,A3,A4
A3,A3 -> A1,A2,A3,A4,A5
A3,A4 -> A2,A3,A4,A5
A3,A5 -> A3,A4,A5
A4,A2 -> A2,A3
A4,A3 -> A2,A3,A4,A5
A4,A4 -> A2,A3,A4,A5,A6
A4,A5 -> A2,A3,A4,A5,A6
A4,A6 -> A4,A5,A6
A5,A2 -> A2,A3
A5,A3 -> A2,A3,A4,A5
A5,A4 -> A2,A3,A4,A5,A6
A5,A5 -> A2,A3,A4,A5,A6,A7
A5,A6 -> A4,A5,A6,A7,A8
A5,A7 -> A6,A7,A8
A6,A4 -> A4,A5,A6
A6,A5 -> A4,A5,A6,A7
A6,A6 -> A4,A5,A6,A7,A8
A6,A7 -> A5,A6,A7,A8,A9
A6,A8 -> A6,A7,A8,A9
A7,A5 -> A5,A6,A7
A7,A6 -> A5,A6,A7,A8
A7,A7 -> A5,A6,A7,A8,A9
A7,A8 -> A10,A6,A7,A8,A9
A7,A9 -> A10,A7,A8,A9
A8,A10 -> A10,A8,A9
A8,A6 -> A6,A7,A8
A8,A7 -> A6,A7,A8,A9
A8,A8 -> A10,A6,A7,A8,A9
A8,A9 -> A10,A7,A8,A9
A9,A10 -> A10,A11,A12,A8,A9
A9,A11 -> A10,A11,A12,A9
A9,A12 -> A11,A12
A9,A7 -> A6,A7,A8,A9
A9,A8 -> A10,A6,A7,A8,A9
A9,A9 -> A10,A11,A12,A7,A8,A9

TAIEX3:
A1,A1,A1 -> A1,A2,A3
A1,A1,A2 -> A1,A2,A3
A1,A1,A3 -> A2,A3
A1,A2,A1 -> A1,A2,A3
A1,A2,A2 -> A1,A2,A3
A1,A2,A3 -> A2,A3
A1,A3,A2 -> A2,A3
A1,A3,A3 -> A2,A3
A10,A10,A10 -> A10,A11,A12,A8,A9
A10,A10,A11 -> A10,A11,A12,A9
A10,A10,A12 -> A10,A11,A12
A10,A10,A8 -> A10,A7,A8,A9
A10,A10,A9 -> A10,A11,A12,A7,A8,A9
A10,A11,A10 -> A10,A11,A12,A8,A9
A10,A11,A11 -> A10,A11,A12,A13,A9
A10,A11,A12 -> A10,A11,A12,A13
A10,A11,A9 -> A10,A11,A8,A9
A10,A12,A10 -> A10,A11,A12
A10,A12,A11 -> A10,A11,A12,A13
A10,A12,A12 -> A10,A11,A12,A13
A10,A8,A10 -> A10,A8,A9
A10,A8,A7 -> A6,A7,A8,A9
A10,A8,A8 -> A10,A6,A7,A8,A9
A10,A8,A9 -> A10,A8,A9
A10,A9,A10 -> A10,A11,A12,A8,A9
A10,A9,A11 -> A10,A11,A12,A9
A10,A9,A12 -> A11,A12
A10,A9,A7 -> A6,A7,A8,A9
A10,A9,A8 -> A10,A6,A7,A8,A9
A10,A9,A9 -> A10,A11,A12,A7,A8,A9
A11,A10,A10 -> A10,A11,A12,A8,A9
A11,A10,A11 -> A10,A11,A12,A9
A11,A10,A12 -> A10,A11,A12
A11,A10,A8 -> A7,A8
A11,A10,A9 -> A10,A11,A7,A8,A9
A11,A11,A10 -> A10,A11,A12,A9
A11,A11,A11 -> A10,A11,A12,A13,A9
A11,A11,A12 -> A10,A11,A12,A13
A11,A11,A13 -> A11,A12,A13,A14
A11,A11,A14 -> A13,A14
A11,A11,A9 -> A10,A11,A9
A11,A12,A10 -> A10,A11,A12,A9
A11,A12,A11 -> A10,A11,A12,A13,A9
A11,A12,A12 -> A10,A11,A12,A13
A11,A12,A13 -> A11,A12,A13,A14
A11,A12,A14 -> A13,A14
A11,A13,A11 -> A10,A11,A12,A13
A11,A13,A12 -> A10,A11,A12,A13
A11,A13,A13 -> A12,A13,A14,A15
A11,A13,A14 -> A14,A15
A11,A14,A13 -> A14,A15
A11,A14,A14 -> A14,A15
A11,A9,A10 -> A10,A11,A8,A9
A11,A9,A11 -> A10,A11,A9
A11,A9,A8 -> A7,A8
A11,A9,A9 -> A10,A7,A8,A9
A12,A10,A10 -> A10,A11,A12,A9
A12,A10,A11 -> A10,A11,A12,A9
A12,A10,A12 -> A10,A11,A12
A12,A10,A9 -> A10,A9
A12,A11,A10 -> A10,A11,A12,A9
A12,A11,A11 -> A10,A11,A12,A13,A14,A9
A12,A11,A12 -> A10,A11,A12,A13,A14
A12,A11,A13 -> A11,A12,A13,A14
A12,A11,A14 -> A13,A14
A12,A11,A9 -> A10,A9
A12,A12,A10 -> A10,A11,A12,A9
A12,A12,A11 -> A10,A11,A12,A13,A14,A9
A12,A12,A12 -> A10,A11,A12,A13,A14
A12,A12,A13 -> A11,A12,A13,A14,A15
A12,A12,A14 -> A13,A14,A15
A12,A13,A11 -> A10,A11,A12,A13
A12,A13,A12 -> A10,A11,A12,A13,A14
A12,A13,A13 -> A11,A12,A13,A14,A15
A12,A13,A14 -> A12,A13,A14,A15
A12,A13,A15 -> A14,A15
A12,A14,A13 -> A12,A13,A14,A15
A12,A14,A14 -> A12,A13,A14,A15
A12,A14,A15 -> A14,A15
A13,A11,A10 -> A10,A11
A13,A11,A11 -> A10,A11,A12,A13,A14
A13,A11,A12 -> A11,A12,A13,A14
A13,A11,A13 -> A11,A12,A13
A13,A12,A10 -> A10,A11
A13,A12,A11 -> A10,A11,A12,A13,A14
A13,A12,A12 -> A10,A11,A12,A13,A14
A13,A12,A13 -> A11,A12,A13,A14,A15
A13,A12,A14 -> A13,A14,A15
A13,A13,A11 -> A10,A11,A12,A13
A13,A13,A12 -> A10,A11,A12,A13,A14
A13,A13,A13 -> A11,A12,A13,A14,A15
A13,A13,A14 -> A11,A12,A13,A14,A15
A13,A13,A15 -> A13,A14,A15
A13,A14,A11 -> A12,A13
A13,A14,A12 -> A11,A12,A13,A14
A13,A14,A13 -> A11,A12,A13,A14,A15
A13,A14,A14 -> A11,A12,A13,A14,A15,A16
A13,A14,A15 -> A13,A14,A15,A16
A13,A15,A13 -> A13,A14
A13,A15,A14 -> A13,A14,A15,A16
A13,A15,A15 -> A13,A14,A15,A16
A14,A11,A12 -> A11,A12
A14,A11,A13 -> A11,A12
A14,A12,A11 -> A10,A11
A14,A12,A12 -> A10,A11,A12,A13,A14
A14,A12,A13 -> A11,A12,A13,A14
A14,A12,A14 -> A13,A14
A14,A13,A11 -> A10,A11,A12,A13
A14,A13,A12 -> A10,A11,A12,A13,A14
A14,A13,A13 -> A11,A12,A13,A14,A15
A14,A13,A14 -> A11,A12,A13,A14,A15
A14,A13,A15 -> A13,A14,A15
A14,A14,A11 -> A12,A13
A14,A14,A12 -> A11,A12,A13,A14
A14,A14,A13 -> A11,A12,A13,A14,A15
A14,A14,A14 -> A11,A12,A13,A14,A15,A16
A14,A14,A15 -> A13,A14,A15,A16
A14,A14,A16 -> A14,A15,A16
A14,A15,A13 -> A13,A14,A15
A14,A15,A14 -> A13,A14,A15,A16
A14,A15,A15 -> A13,A14,A15,A16,A17
A14,A15,A16 -> A14,A15,A16,A17
A14,A16,A14 -> A14,A15,A16
A14,A16,A15 -> A14,A15,A16,A17
A14,A16,A16 -> A14,A15,A16,A17
A14,A16,A17 -> A17,A18
A14,A16,A18 -> A17,A18
A14,A17,A17 -> A17,A18
A14,A17,A18 -> A17,A18
A15,A13,A13 -> A13,A14,A15
A15,A13,A14 -> A13,A14,A15
A15,A13,A15 -> A14,A15
A15,A14,A13 -> A13,A14,A15
A15,A14,A14 -> A13,A14,A15,A16
A15,A14,A15 -> A13,A14,A15,A16
A15,A14,A16 -> A14,A15,A16,A17,A18
A15,A14,A17 -> A17,A18
A15,A15,A13 -> A13,A14,A15
A15,A15,A14 -> A13,A14,A15,A16,A17
A15,A15,A15 -> A13,A14,A15,A16,A17
A15,A15,A16 -> A14,A15,A16,A17,A18
A15,A15,A17 -> A16,A17,A18
A15,A16,A14 -> A13,A14,A15,A16,A17
A15,A16,A15 -> A13,A14,A15,A16,A17
A15,A16,A16 -> A14,A15,A16,A17,A18
A15,A16,A17 -> A15,A16,A17,A18,A19
A15,A16,A18 -> A17,A18,A19
A15,A17,A15 -> A15,A16
A15,A17,A16 -> A15,A16,A17,A18
A15,A17,A17 -> A15,A16,A17,A18,A19
A15,A17,A18 -> A17,A18,A19
A16,A14,A13 -> A13,A14
A16,A14,A14 -> A13,A14,A15,A16
A16,A14,A15 -> A13,A14,A15,A16
A16,A14,A16 -> A14,A15,A16,A17,A18
A16,A14,A17 -> A17,A18
A16,A15,A13 -> A13,A14
A16,A15,A14 -> A13,A14,A15,A16,A17
A16,A15,A15 -> A13,A14,A15,A16,A17
A16,A15,A16 -> A14,A15,A16,A17,A18
A16,A15,A17 -> A15,A16,A17,A18
A16,A16,A14 -> A13,A14,A15,A16,A17
A16,A16,A15 -> A13,A14,A15,A16,A17
A16,A16,A16 -> A14,A15,A16,A17,A18
A16,A16,A17 -> A15,A16,A17,A18,A19
A16,A16,A18 -> A16,A17,A18,A19
A16,A17,A15 -> A14,A15,A16,A17
A16,A17,A16 -> A14,A15,A16,A17,A18
A16,A17,A17 -> A15,A16,A17,A18,A19
A16,A17,A18 -> A16,A17,A18,A19
A16,A17,A19 -> A18,A19
A16,A18,A15 -> A16,A17
A16,A18,A16 -> A16,A17,A18
A16,A18,A17 -> A16,A17,A18,A19
A16,A18,A18 -> A16,A17,A18,A19
A16,A18,A19 -> A18,A19
A17,A15,A14 -> A14,A15
A17,A15,A15 -> A14,A15,A16
A17,A15,A16 -> A14,A15,A16,A17,A18
A17,A15,A17 -> A15,A16,A17,A18
A17,A16,A14 -> A14,A15
A17,A16,A15 -> A14,A15,A16,A17
A17,A16,A16 -> A14,A15,A16,A17,A18
A17,A16,A17 -> A15,A16,A17,A18,A19
A17,A16,A18 -> A15,A16,A17,A18,A19
A17,A17,A15 -> A14,A15,A16,A17
A17,A17,A16 -> A14,A15,A16,A17,A18
A17,A17,A17 -> A15,A16,A17,A18,A19
A17,A17,A18 -> A15,A16,A17,A18,A19,A20
A17,A17,A19 -> A17,A18,A19,A20
A17,A18,A15 -> A16,A17
A17,A18,A16 -> A15,A16,A17,A18
A17,A18,A17 -> A15,A16,A17,A18,A19
A17,A18,A18 -> A16,A17,A18,A19,A20
A17,A18,A19 -> A17,A18,A19,A20,A21
A17,A18,A20 -> A19,A20,A21
A17,A19,A17 -> A16,A17,A18,A19
A17,A19,A18 -> A16,A17,A18,A19,A20
A17,A19,A19 -> A17,A18,A19,A20,A21
A17,A19,A20 -> A19,A20,A21
A18,A15,A16 -> A16,A17,A18
A18,A15,A17 -> A16,A17,A18
A18,A16,A15 -> A16,A17
A18,A16,A16 -> A15,A16,A17,A18
A18,A16,A17 -> A15,A16,A17,A18
A18,A16,A18 -> A15,A16,A17,A18
A18,A17,A15 -> A16,A17
A18,A17,A16 -> A15,A16,A17,A18
A18,A17,A17 -> A15,A16,A17,A18,A19
A18,A17,A18 -> A15,A16,A17,A18,A19,A20
A18,A17,A19 -> A17,A18,A19,A20
A18,A18,A15 -> A16,A17
A18,A18,A16 -> A15,A16,A17,A18
A18,A18,A17 -> A15,A16,A17,A18,A19
A18,A18,A18 -> A16,A17,A18,A19,A20
A18,A18,A19 -> A16,A17,A18,A19,A20,A21
A18,A18,A20 -> A18,A19,A20,A21
A18,A19,A16 -> A16,A17
A18,A19,A17 -> A16,A17,A18,A19
A18,A19,A18 -> A16,A17,A18,A19,A20
A18,A19,A19 -> A16,A17,A18,A19,A20,A21
A18,A19,A20 -> A18,A19,A20,A21
A18,A19,A21 -> A19,A20,A21
A18,A20,A18 -> A17,A18,A19,A20
A18,A20,A19 -> A17,A18,A19,A20,A21
A18,A20,A20 -> A18,A19,A20,A21
A18,A20,A21 -> A19,A20,A21
A19,A16,A16 -> A16,A17
A19,A16,A17 -> A16,A17
A19,A17,A15 -> A16,A17
A19,A17,A16 -> A15,A16,A17,A18
A19,A17,A17 -> A15,A16,A17,A18,A19
A19,A17,A18 -> A17,A18,A19,A20
A19,A17,A19 -> A18,A19,A20
A19,A18,A15 -> A16,A17
A19,A18,A16 -> A15,A16,A17,A18
A19,A18,A17 -> A15,A16,A17,A18,A19
A19,A18,A18 -> A15,A16,A17,A18,A19,A20
A19,A18,A19 -> A16,A17,A18,A19,A20,A21
A19,A18,A20 -> A18,A19,A20,A21
A19,A19,A16 -> A16,A17
A19,A19,A17 -> A15,A16,A17,A18,A19
A19,A19,A18 -> A15,A16,A17,A18,A19,A20
A19,A19,A19 -> A16,A17,A18,A19,A20,A21
A19,A19,A20 -> A18,A19,A20,A21
A19,A19,A21 -> A19,A20,A21
A19,A20,A18 -> A17,A18,A19,A20
A19,A20,A19 -> A17,A18,A19,A20,A21
A19,A20,A20 -> A18,A19,A20,A21,A22
A19,A20,A21 -> A19,A20,A21,A22,A23,A24
A19,A20,A22 -> A23,A24
A19,A21,A19 -> A19,A20,A21
A19,A21,A20 -> A19,A20,A21,A22
A19,A21,A21 -> A19,A20,A21,A22,A23,A24
A19,A21,A22 -> A23,A24
A2,A1,A1 -> A1,A2,A3
A2,A1,A2 -> A1,A2,A3
A2,A1,A3 -> A2,A3
A2,A2,A1 -> A1,A2,A3
A2,A2,A2 -> A1,A2,A3,A4
A2,A2,A3 -> A1,A2,A3,A4
A2,A2,A4 -> A3,A4
A2,A3,A1 -> A1,A2
A2,A3,A2 -> A1,A2,A3,A4
A2,A3,A3 -> A1,A2,A3,A4
A2,A3,A4 -> A3,A4
A2,A4,A3 -> A3,A4
A2,A4,A4 -> A3,A4
A20,A18,A17 -> A15,A16,A17,A18,A19
A20,A18,A18 -> A15,A16,A17,A18,A19,A20
A20,A18,A19 -> A17,A18,A19,A20
A20,A18,A20 -> A18,A19,A20
A20,A19,A17 -> A15,A16,A17,A18,A19
A20,A19,A18 -> A15,A16,A17,A18,A19,A20
A20,A19,A19 -> A17,A18,A19,A20,A21
A20,A19,A20 -> A18,A19,A20,A21,A22
A20,A19,A21 -> A19,A20,A21,A22
A20,A20,A18 -> A17,A18,A19,A20
A20,A20,A19 -> A17,A18,A19,A20,A21
A20,A20,A20 -> A18,A19,A20,A21,A22
A20,A20,A21 -> A19,A20,A21,A22,A23,A24
A20,A20,A22 -> A21,A22,A23,A24
A20,A21,A19 -> A18,A19,A20,A21
A20,A21,A20 -> A18,A19,A20,A21,A22
A20,A21,A21 -> A19,A20,A21,A22,A23,A24
A20,A21,A22 -> A21,A22,A23,A24
A20,A21,A23 -> A23,A24
A20,A21,A24 -> A23,A24
A20,A22,A20 -> A20,A21
A20,A22,A21 -> A20,A21,A22,A23
A20,A22,A22 -> A21,A22,A23
A20,A22,A23 -> A23,A24
A20,A22,A24 -> A23,A24
A21,A19,A18 -> A18,A19
A21,A19,A19 -> A18,A19,A20,A21
A21,A19,A20 -> A18,A19,A20,A21,A22
A21,A19,A21 -> A19,A20,A21,A22
A21,A20,A18 -> A18,A19
A21,A20,A19 -> A18,A19,A20,A21
A21,A20,A20 -> A18,A19,A20,A21,A22
A21,A20,A21 -> A19,A20,A21,A22
A21,A20,A22 -> A20,A21,A22
A21,A21,A19 -> A18,A19,A20,A21
A21,A21,A20 -> A18,A19,A20,A21,A22
A21,A21,A21 -> A19,A20,A21,A22,A23
A21,A21,A22 -> A20,A21,A22,A23
A21,A21,A23 -> A21,A22,A23,A24
A21,A21,A24 -> A23,A24
A21,A22,A20 -> A20,A21,A22
A21,A22,A21 -> A20,A21,A22,A23
A21,A22,A22 -> A20,A21,A22,A23
A21,A22,A23 -> A21,A22,A23,A24
A21,A22,A24 -> A23,A24
A21,A23,A21 -> A20,A21,A22,A23
A21,A23,A22 -> A20,A21,A22,A23
A21,A23,A23 -> A21,A22,A23,A24,A25
A21,A23,A24 -> A24,A25
A21,A24,A23 -> A24,A25
A21,A24,A24 -> A24,A25
A22,A20,A20 -> A19,A20,A21,A22
A22,A20,A21 -> A19,A20,A21,A22
A22,A20,A22 -> A20,A21,A22
A22,A21,A20 -> A19,A20,A21,A22
A22,A21,A21 -> A19,A20,A21,A22,A23
A22,A21,A22 -> A20,A21,A22,A23
A22,A21,A23 -> A21,A22,A23
A22,A22,A20 -> A20,A21,A22
A22,A22,A21 -> A20,A21,A22,A23
A22,A22,A22 -> A20,A21,A22,A23,A24
A22,A22,A23 -> A21,A22,A23,A24
A22,A22,A24 -> A23,A24
A22,A23,A21 -> A20,A21,A22,A23
A22,A23,A22 -> A20,A21,A22,A23,A24
A22,A23,A23 -> A21,A22,A23,A24,A25
A22,A23,A24 -> A23,A24,A25
A22,A24,A23 -> A23,A24,A25
A22,A24,A24 -> A23,A24,A25
A23,A21,A20 -> A20,A21,A22
A23,A21,A21 -> A20,A21,A22,A23
A23,A21,A22 -> A20,A21,A22,A23
A23,A21,A23 -> A21,A22,A23
A23,A22,A20 -> A20,A21,A22
A23,A22,A21 -> A20,A21,A22,A23
A23,A22,A22 -> A20,A21,A22,A23,A24
A23,A22,A23 -> A21,A22,A23,A24
A23,A22,A24 -> A23,A24
A23,A23,A21 -> A20,A21,A22,A23
A23,A23,A22 -> A20,A21,A22,A23,A24
A23,A23,A23 -> A21,A22,A23,A24,A25
A23,A23,A24 -> A21,A22,A23,A24,A25,A26
A23,A23,A25 -> A23,A24,A25,A26
A23,A24,A21 -> A20,A21
A23,A24,A22 -> A20,A21,A22,A23
A23,A24,A23 -> A21,A22,A23,A24,A25
A23,A24,A24 -> A21,A22,A23,A24,A25,A26
A23,A24,A25 -> A23,A24,A25,A26
A23,A24,A26 -> A25,A26
A23,A25,A23 -> A24,A25
A23,A25,A24 -> A23,A24,A25
A23,A25,A25 -> A23,A24,A25,A26
A23,A25,A26 -> A25,A26
A24,A21,A20 -> A20,A21
A24,A21,A21 -> A20,A21
A24,A21,A22 -> A22,A23
A24,A21,A23 -> A22,A23
A24,A22,A20 -> A20,A21
A24,A22,A21 -> A20,A21
A24,A22,A22 -> A22,A23
A24,A22,A23 -> A22,A23
A24,A23,A21 -> A20,A21,A22,A23
A24,A23,A22 -> A20,A21,A22,A23
A24,A23,A23 -> A21,A22,A23,A24,A25
A24,A23,A24 -> A21,A22,A23,A24,A25,A26
A24,A23,A25 -> A23,A24,A25,A26
A24,A24,A21 -> A20,A21,A22,A23
A24,A24,A22 -> A20,A21,A22,A23
A24,A24,A23 -> A21,A22,A23,A24,A25
A24,A24,A24 -> A21,A22,A23,A24,A25,A26
A24,A24,A25 -> A23,A24,A25,A26
A24,A24,A26 -> A24,A25,A26
A24,A25,A23 -> A23,A24,A25
A24,A25,A24 -> A23,A24,A25,A26
A24,A25,A25 -> A23,A24,A25,A26
A24,A25,A26 -> A24,A25,A26
A24,A26,A24 -> A24,A25
A24,A26,A25 -> A24,A25,A26
A24,A26,A26 -> A25,A26
A25,A23,A21 -> A22,A23
A25,A23,A22 -> A22,A23
A25,A23,A23 -> A22,A23,A24,A25
A25,A23,A24 -> A22,A23,A24,A25
A25,A23,A25 -> A24,A25
A25,A24,A21 -> A22,A23
A25,A24,A22 -> A22,A23
A25,A24,A23 -> A21,A22,A23,A24,A25
A25,A24,A24 -> A21,A22,A23,A24,A25,A26
A25,A24,A25 -> A23,A24,A25,A26
A25,A24,A26 -> A24,A25,A26
A25,A25,A23 -> A21,A22,A23,A24,A25
A25,A25,A24 -> A21,A22,A23,A24,A25,A26
A25,A25,A25 -> A23,A24,A25,A26,A27
A25,A25,A26 -> A24,A25,A26,A27
A25,A25,A27 -> A26,A27
A25,A26,A24 -> A23,A24,A25
A25,A26,A25 -> A23,A24,A25,A26,A27
A25,A26,A26 -> A24,A25,A26,A27
A25,A26,A27 -> A25,A26,A27
A25,A27,A26 -> A25,A26
A25,A27,A27 -> A25,A26
A26,A24,A23 -> A21,A22,A23,A24
A26,A24,A24 -> A21,A22,A23,A24,A25,A26
A26,A24,A25 -> A23,A24,A25,A26
A26,A25,A23 -> A21,A22,A23,A24
A26,A25,A24 -> A21,A22,A23,A24,A25,A26
A26,A25,A25 -> A23,A24,A25,A26,A27
A26,A25,A26 -> A24,A25,A26,A27
A26,A25,A27 -> A26,A27
A26,A26,A24 -> A23,A24,A25
A26,A26,A25 -> A23,A24,A25,A26,A27
A26,A26,A26 -> A24,A25,A26,A27
A26,A26,A27 -> A25,A26,A27
A26,A27,A25 -> A24,A25
A26,A27,A26 -> A24,A25,A26
A26,A27,A27 -> A25,A26
A27,A25,A24 -> A24,A25
A27,A25,A25 -> A24,A25
A27,A26,A24 -> A24,A25
A27,A26,A25 -> A24,A25
A27,A26,A26 -> A24,A25
A27,A27,A25 -> A24,A25
A27,A27,A26 -> A24,A25
A3,A1,A1 -> A1,A2
A3,A1,A2 -> A1,A2
A3,A2,A1 -> A1,A2
A3,A2,A2 -> A1,A2,A3,A4
A3,A2,A3 -> A1,A2,A3,A4
A3,A2,A4 -> A3,A4
A3,A3,A1 -> A1,A2
A3,A3,A2 -> A1,A2,A3,A4
A3,A3,A3 -> A1,A2,A3,A4,A5
A3,A3,A4 -> A2,A3,A4,A5
A3,A3,A5 -> A4,A5
A3,A4,A2 -> A2,A3
A3,A4,A3 -> A2,A3,A4,A5
A3,A4,A4 -> A2,A3,A4,A5
A3,A4,A5 -> A4,A5
A3,A5,A3 -> A3,A4
A3,A5,A4 -> A3,A4,A5
A3,A5,A5 -> A4,A5
A4,A2,A2 -> A2,A3,A4
A4,A2,A3 -> A2,A3,A4
A4,A3,A2 -> A2,A3,A4
A4,A3,A3 -> A2,A3,A4,A5
A4,A3,A4 -> A2,A3,A4,A5
A4,A3,A5 -> A3,A4,A5
A4,A4,A2 -> A2,A3
A4,A4,A3 -> A2,A3,A4,A5
A4,A4,A4 -> A2,A3,A4,A5,A6
A4,A4,A5 -> A2,A3,A4,A5,A6
A4,A4,A6 -> A4,A5,A6
A4,A5,A2 -> A2,A3
A4,A5,A3 -> A2,A3,A4,A5
A4,A5,A4 -> A2,A3,A4,A5,A6
A4,A5,A5 -> A2,A3,A4,A5,A6,A7
A4,A5,A6 -> A4,A5,A6,A7
A4,A6,A4 -> A4,A5,A6
A4,A6,A5 -> A4,A5,A6,A7
A4,A6,A6 -> A4,A5,A6,A7
A5,A2,A2 -> A2,A3
A5,A2,A3 -> A2,A3
A5,A3,A2 -> A2,A3
A5,A3,A3 -> A2,A3,A4
A5,A3,A4 -> A3,A4,A5
A5,A3,A5 -> A3,A4,A5
A5,A4,A2 -> A2,A3
A5,A4,A3 -> A2,A3,A4,A5
A5,A4,A4 -> A2,A3,A4,A5,A6
A5,A4,A5 -> A2,A3,A4,A5,A6
A5,A4,A6 -> A4,A5,A6
A5,A5,A2 -> A2,A3
A5,A5,A3 -> A2,A3,A4,A5
A5,A5,A4 -> A2,A3,A4,A5,A6
A5,A5,A5 -> A2,A3,A4,A5,A6,A7
A5,A5,A6 -> A4,A5,A6,A7,A8
A5,A5,A7 -> A6,A7,A8
A5,A6,A4 -> A4,A5,A6
A5,A6,A5 -> A4,A5,A6,A7
A5,A6,A6 -> A4,A5,A6,A7,A8
A5,A6,A7 -> A5,A6,A7,A8
A5,A6,A8 -> A7,A8
A5,A7,A6 -> A5,A6,A7
A5,A7,A7 -> A5,A6,A7,A8
A5,A7,A8 -> A7,A8
A6,A4,A4 -> A4,A5,A6
A6,A4,A5 -> A4,A5,A6
A6,A4,A6 -> A4,A5,A6
A6,A5,A4 -> A4,A5,A6
A6,A5,A5 -> A4,A5,A6,A7
A6,A5,A6 -> A4,A5,A6,A7,A8
A6,A5,A7 -> A6,A7,A8
A6,A6,A4 -> A4,A5,A6
A6,A6,A5 -> A4,A5,A6,A7
A6,A6,A6 -> A4,A5,A6,A7,A8
A6,A6,A7 -> A5,A6,A7,A8
A6,A6,A8 -> A6,A7,A8
A6,A7,A5 -> A5,A6,A7
A6,A7,A6 -> A5,A6,A7,A8
A6,A7,A7 -> A5,A6,A7,A8,A9
A6,A7,A8 -> A6,A7,A8,A9
A6,A7,A9 -> A7,A8
A6,A8,A6 -> A6,A7
A6,A8,A7 -> A6,A7,A8,A9
A6,A8,A8 -> A7,A8,A9
A6,A8,A9 -> A7,A8
A7,A5,A5 -> A5,A6,A7
A7,A5,A6 -> A5,A6,A7
A7,A5,A7 -> A6,A7
A7,A6,A5 -> A5,A6,A7
A7,A6,A6 -> A5,A6,A7,A8
A7,A6,A7 -> A5,A6,A7,A8,A9
A7,A6,A8 -> A6,A7,A8,A9
A7,A7,A5 -> A5,A6,A7
A7,A7,A6 -> A5,A6,A7,A8
A7,A7,A7 -> A5,A6,A7,A8,A9
A7,A7,A8 -> A10,A6,A7,A8,A9
A7,A7,A9 -> A10,A7,A8,A9
A7,A8,A10 -> A10,A9
A7,A8,A6 -> A6,A7,A8
A7,A8,A7 -> A6,A7,A8,A9
A7,A8,A8 -> A10,A6,A7,A8,A9
A7,A8,A9 -> A10,A7,A8,A9
A7,A9,A10 -> A10,A9
A7,A9,A7 -> A7,A8,A9
A7,A9,A8 -> A10,A7,A8,A9
A7,A9,A9 -> A10,A7,A8,A9
A8,A10,A10 -> A10,A11,A8,A9
A8,A10,A8 -> A10,A9
A8,A10,A9 -> A10,A11,A8,A9
A8,A6,A6 -> A6,A7,A8
A8,A6,A7 -> A6,A7,A8,A9
A8,A6,A8 -> A6,A7,A8,A9
A8,A7,A6 -> A6,A7,A8
A8,A7,A7 -> A6,A7,A8,A9
A8,A7,A8 -> A10,A6,A7,A8,A9
A8,A7,A9 -> A10,A7,A8,A9
A8,A8,A10 -> A10,A9
A8,A8,A6 -> A6,A7,A8
A8,A8,A7 -> A6,A7,A8,A9
A8,A8,A8 -> A10,A6,A7,A8,A9
A8,A8,A9 -> A10,A7,A8,A9
A8,A9,A10 -> A10,A11,A8,A9
A8,A9,A7 -> A7,A8,A9
A8,A9,A8 -> A10,A7,A8,A9
A8,A9,A9 -> A10,A11,A7,A8,A9
A9,A10,A10 -> A10,A11,A12,A8,A9
A9,A10,A11 -> A10,A11,A12,A9
A9,A10,A12 -> A11,A12
A9,A10,A8 -> A10,A7,A8,A9
A9,A10,A9 -> A10,A11,A12,A7,A8,A9
A9,A11,A10 -> A10,A11,A8,A9
A9,A11,A11 -> A10,A11,A12,A9
A9,A11,A12 -> A11,A12
A9,A11,A9 -> A10,A11,A8,A9
A9,A12,A11 -> A11,A12
A9,A12,A12 -> A11,A12
A9,A7,A6 -> A6,A7
A9,A7,A7 -> A6,A7,A8,A9
A9,A7,A8 -> A10,A6,A7,A8,A9
A9,A7,A9 -> A10,A8,A9
A9,A8,A10 -> A10,A8,A9
A9,A8,A6 -> A6,A7
A9,A8,A7 -> A6,A7,A8,A9
A9,A8,A8 -> A10,A6,A7,A8,A9
A9,A8,A9 -> A10,A7,A8,A9
A9,A9,A10 -> A10,A11,A12,A8,A9
A9,A9,A11 -> A10,A11,A12,A9
A9,A9,A12 -> A11,A12
A9,A9,A7 -> A6,A7,A8,A9
A9,A9,A8 -> A10,A6,A7,A8,A9
A9,A9,A9 -> A10,A11,A12,A7,A8,A9

SP5002:
A1,A1 -> A1,A2,A3
A1,A2 -> A1,A2,A3
A1,A3 -> A1,A2,A3
A10,A10 -> A10,A11,A12,A8,A9
A10,A11 -> A10,A11,A12,A9
A10,A12 -> A11,A12
A10,A8 -> A10,A8,A9
A10,A9 -> A10,A11,A8,A9
A11,A10 -> A10,A11,A12,A9
A11,A11 -> A10,A11,A12,A13,A9
A11,A12 -> A10,A11,A12,A13
A11,A13 -> A12,A13
A11,A9 -> A10,A11,A9
A12,A10 -> A10,A11,A12,A9
A12,A11 -> A10,A11,A12,A13,A9
A12,A12 -> A10,A11,A12,A13,A14
A12,A13 -> A11,A12,A13,A14
A12,A14 -> A13,A14
A13,A11 -> A11,A12,A13
A13,A12 -> A11,A12,A13,A14
A13,A13 -> A11,A12,A13,A14,A15
A13,A14 -> A12,A13,A14,A15
A13,A15 -> A13,A14,A15
A14,A12 -> A12,A13,A14
A14,A13 -> A12,A13,A14,A15
A14,A14 -> A12,A13,A14,A15,A16
A14,A15 -> A13,A14,A15,A16,A17
A14,A16 -> A15,A16,A17
A15,A13 -> A12,A13,A14,A15
A15,A14 -> A12,A13,A14,A15,A16
A15,A15 -> A13,A14,A15,A16,A17
A15,A16 -> A14,A15,A16,A17
A15,A17 -> A16,A17
A16,A14 -> A14,A15
A16,A15 -> A14,A15,A16,A17
A16,A16 -> A14,A15,A16,A17,A18
A16,A17 -> A15,A16,A17,A18
A16,A18 -> A17,A18
A17,A15 -> A14,A15,A16,A17
A17,A16 -> A14,A15,A16,A17,A18
A17,A17 -> A15,A16,A17,A18,A19
A17,A18 -> A16,A17,A18,A19
A17,A19 -> A17,A18,A19
A18,A16 -> A16,A17,A18
A18,A17 -> A16,A17,A18,A19
A18,A18 -> A16,A17,A18,A19,A20,A21
A18,A19 -> A17,A18,A19,A20,A21
A18,A20 -> A19,A20,A21
A18,A21 -> A20,A21
A19,A17 -> A17,A18,A19
A19,A18 -> A17,A18,A19,A20,A21
A19,A19 -> A17,A18,A19,A20,A21
A19,A20 -> A18,A19,A20,A21
A19,A21 -> A19,A20,A21
A2,A1 -> A1,A2,A3
A2,A2 -> A1,A2,A3,A4
A2,A3 -> A1,A2,A3,A4
A2,A4 -> A2,A3,A4
A20,A18 -> A18,A19,A20
A20,A19 -> A18,A19,A20,A21
A20,A20 -> A18,A19,A20,A21,A22
A20,A21 -> A19,A20,A21,A22
A20,A22 -> A20,A21,A22
A21,A19 -> A18,A19,A20,A21
A21,A20 -> A18,A19,A20,A21,A22
A21,A21 -> A19,A20,A21,A22,A23
A21,A22 -> A20,A21,A22,A23
A21,A23 -> A21,A22,A23
A22,A20 -> A19,A20,A21
A22,A21 -> A19,A20,A21,A22,A23
A22,A22 -> A20,A21,A22,A23
A22,A23 -> A21,A22,A23
A23,A21 -> A21,A22
A23,A22 -> A21,A22,A23
A23,A23 -> A21,A22,A23
A3,A1 -> A1,A2,A3
A3,A2 -> A1,A2,A3,A4
A3,A3 -> A1,A2,A3,A4,A5
A3,A4 -> A2,A3,A4,A5
A3,A5 -> A4,A5
A4,A2 -> A2,A3
A4,A3 -> A2,A3,A4,A5
A4,A4 -> A2,A3,A4,A5,A6
A4,A5 -> A3,A4,A5,A6
A4,A6 -> A4,A5,A6
A5,A3 -> A3,A4,A5
A5,A4 -> A3,A4,A5,A6
A5,A5 -> A3,A4,A5,A6,A7
A5,A6 -> A4,A5,A6,A7,A8
A5,A7 -> A5,A6,A7,A8
A6,A4 -> A4,A5,A6
A6,A5 -> A4,A5,A6,A7
A6,A6 -> A4,A5,A6,A7,A8
A6,A7 -> A5,A6,A7,A8
A6,A8 -> A6,A7,A8
A7,A5 -> A5,A6
A7,A6 -> A5,A6,A7,A8
A7,A7 -> A5,A6,A7,A8,A9
A7,A8 -> A6,A7,A8,A9
A7,A9 -> A7,A8,A9
A8,A10 -> A10,A9
A8,A6 -> A6,A7
A8,A7 -> A6,A7,A8,A9
A8,A8 -> A10,A6,A7,A8,A9
A8,A9 -> A10,A7,A8,A9
A9,A10 -> A10,A11,A8,A9
A9,A11 -> A10,A11,A9
A9,A7 -> A6,A7,A8
A9,A8 -> A10,A6,A7,A8,A9
A9,A9 -> A10,A11,A7,A8,A9

SP5003:
A1,A1,A1 -> A1,A2,A3
A1,A1,A2 -> A1,A2,A3
A1,A1,A3 -> A2,A3
A1,A2,A1 -> A1,A2,A3
A1,A2,A2 -> A1,A2,A3
A1,A2,A3 -> A2,A3
A1,A3,A1 -> A2,A3
A1,A3,A2 -> A2,A3
A1,A3,A3 -> A2,A3
A10,A10,A10 -> A10,A11,A12,A8,A9
A10,A10,A11 -> A10,A11,A12,A9
A10,A10,A12 -> A11,A12
A10,A10,A8 -> A10,A8,A9
A10,A10,A9 -> A10,A11,A8,A9
A10,A11,A10 -> A10,A11,A12,A9
A10,A11,A11 -> A10,A11,A12,A9
A10,A11,A12 -> A11,A12
A10,A11,A9 -> A10,A11,A9
A10,A12,A11 -> A11,A12
A10,A12,A12 -> A11,A12
A10,A8,A10 -> A10,A9
A10,A8,A8 -> A10,A8,A9
A10,A8,A9 -> A10,A8,A9
A10,A9,A10 -> A10,A11,A8,A9
A10,A9,A11 -> A10,A11,A9
A10,A9,A8 -> A10,A8,A9
A10,A9,A9 -> A10,A11,A8,A9
A11,A10,A10 -> A10,A11,A12,A8,A9
A11,A10,A11 -> A10,A11,A12,A9
A11,A10,A12 -> A11,A12
A11,A10,A9 -> A10,A11,A8,A9
A11,A11,A10 -> A10,A11,A12,A9
A11,A11,A11 -> A10,A11,A12,A13,A9
A11,A11,A12 -> A10,A11,A12,A13
A11,A11,A13 -> A12,A13
A11,A11,A9 -> A10,A11,A9
A11,A12,A10 -> A10,A11,A12,A9
A11,A12,A11 -> A10,A11,A12,A13,A9
A11,A12,A12 -> A10,A11,A12,A13
A11,A12,A13 -> A12,A13
A11,A13,A12 -> A12,A13
A11,A13,A13 -> A12,A13
A11,A9,A10 -> A10,A11,A8,A9
A11,A9,A11 -> A10,A11
A11,A9,A9 -> A10,A11,A8,A9
A12,A10,A10 -> A10,A11
A12,A10,A11 -> A10,A11,A12
A12,A10,A12 -> A11,A12
A12,A10,A9 -> A10,A11
A12,A11,A10 -> A10,A11,A12,A9
A12,A11,A11 -> A10,A11,A12,A13,A9
A12,A11,A12 -> A10,A11,A12,A13
A12,A11,A13 -> A12,A13
A12,A11,A9 -> A10,A11
A12,A12,A10 -> A10,A11,A12,A9
A12,A12,A11 -> A10,A11,A12,A13,A9
A12,A12,A12 -> A10,A11,A12,A13,A14
A12,A12,A13 -> A11,A12,A13,A14
A12,A12,A14 -> A13,A14
A12,A13,A11 -> A11,A12,A13
A12,A13,A12 -> A11,A12,A13,A14
A12,A13,A13 -> A11,A12,A13,A14
A12,A13,A14 -> A13,A14
A12,A14,A13 -> A13,A14
A12,A14,A14 -> A13,A14
A13,A11,A11 -> A10,A11,A12
A13,A11,A12 -> A10,A11,A12,A13
A13,A11,A13 -> A12,A13
A13,A12,A11 -> A10,A11,A12,A13
A13,A12,A12 -> A10,A11,A12,A13,A14
A13,A12,A13 -> A11,A12,A13,A14
A13,A12,A14 -> A13,A14
A13,A13,A11 -> A11,A12,A13
A13,A13,A12 -> A11,A12,A13,A14
A13,A13,A13 -> A11,A12,A13,A14,A15
A13,A13,A14 -> A12,A13,A14,A15
A13,A13,A15 -> A13,A14,A15
A13,A14,A12 -> A12,A13,A14
A13,A14,A13 -> A12,A13,A14,A15
A13,A14,A14 -> A12,A13,A14,A15
A13,A14,A15 -> A13,A14,A15
A13,A15,A13 -> A13,A14
A13,A15,A14 -> A13,A14,A15
A13,A15,A15 -> A13,A14,A15
A14,A12,A12 -> A12,A13,A14
A14,A12,A13 -> A12,A13,A14
A14,A12,A14 -> A13,A14
A14,A13,A12 -> A12,A13,A14
A14,A13,A13 -> A12,A13,A14,A15
A14,A13,A14 -> A12,A13,A14,A15
A14,A13,A15 -> A13,A14,A15
A14,A14,A12 -> A12,A13,A14
A14,A14,A13 -> A12,A13,A14,A15
A14,A14,A14 -> A12,A13,A14,A15,A16
A14,A14,A15 -> A13,A14,A15,A16,A17
A14,A14,A16 -> A15,A16,A17
A14,A15,A13 -> A12,A13,A14,A15
A14,A15,A14 -> A12,A13,A14,A15,A16
A14,A15,A15 -> A13,A14,A15,A16,A17
A14,A15,A16 -> A15,A16,A17
A14,A15,A17 -> A16,A17
A14,A16,A15 -> A15,A16
A14,A16,A16 -> A15,A16,A17
A14,A16,A17 -> A16,A17
A15,A13,A12 -> A13,A14
A15,A13,A13 -> A13,A14,A15
A15,A13,A14 -> A13,A14,A15
A15,A13,A15 -> A14,A15
A15,A14,A12 -> A13,A14
A15,A14,A13 -> A12,A13,A14,A15
A15,A14,A14 -> A12,A13,A14,A15,A16
A15,A14,A15 -> A13,A14,A15,A16,A17
A15,A14,A16 -> A15,A16,A17
A15,A15,A13 -> A12,A13,A14,A15
A15,A15,A14 -> A12,A13,A14,A15,A16
A15,A15,A15 -> A13,A14,A15,A16,A17
A15,A15,A16 -> A14,A15,A16,A17
A15,A15,A17 -> A16,A17
A15,A16,A14 -> A14,A15
A15,A16,A15 -> A14,A15,A16,A17
A15,A16,A16 -> A14,A15,A16,A17
A15,A16,A17 -> A15,A16,A17
A15,A17,A16 -> A15,A16,A17
A15,A17,A17 -> A15,A16,A17
A16,A14,A14 -> A14,A15
A16,A14,A15 -> A14,A15
A16,A15,A14 -> A14,A15
A16,A15,A15 -> A14,A15,A16,A17
A16,A15,A16 -> A14,A15,A16,A17
A16,A15,A17 -> A16,A17
A16,A16,A14 -> A14,A15
A16,A16,A15 -> A14,A15,A16,A17
A16,A16,A16 -> A14,A15,A16,A17,A18
A16,A16,A17 -> A15,A16,A17,A18
A16,A16,A18 -> A17,A18
A16,A17,A15 -> A14,A15,A16,A17
A16,A17,A16 -> A14,A15,A16,A17,A18
A16,A17,A17 -> A15,A16,A17,A18
A16,A17,A18 -> A17,A18
A16,A18,A17 -> A17,A18
A16,A18,A18 -> A17,A18
A17,A15,A14 -> A14,A15
A17,A15,A15 -> A14,A15,A16
A17,A15,A16 -> A15,A16,A17
A17,A15,A17 -> A16,A17
A17,A16,A14 -> A14,A15
A17,A16,A15 -> A14,A15,A16,A17
A17,A16,A16 -> A14,A15,A16,A17,A18
A17,A16,A17 -> A15,A16,A17,A18
A17,A16,A18 -> A17,A18
A17,A17,A15 -> A14,A15,A16,A17
A17,A17,A16 -> A14,A15,A16,A17,A18
A17,A17,A17 -> A15,A16,A17,A18,A19
A17,A17,A18 -> A16,A17,A18,A19
A17,A17,A19 -> A17,A18,A19
A17,A18,A16 -> A16,A17,A18
A17,A18,A17 -> A16,A17,A18,A19
A17,A18,A18 -> A16,A17,A18,A19
A17,A18,A19 -> A17,A18,A19
A17,A19,A17 -> A17,A18
A17,A19,A18 -> A17,A18,A19
A17,A19,A19 -> A17,A18,A19
A18,A16,A16 -> A15,A16,A17,A18
A18,A16,A17 -> A15,A16,A17,A18
A18,A16,A18 -> A17,A18
A18,A17,A16 -> A15,A16,A17,A18
A18,A17,A17 -> A15,A16,A17,A18,A19
A18,A17,A18 -> A16,A17,A18,A19
A18,A17,A19 -> A17,A18,A19
A18,A18,A16 -> A16,A17,A18
A18,A18,A17 -> A16,A17,A18,A19
A18,A18,A18 -> A16,A17,A18,A19,A20
A18,A18,A19 -> A17,A18,A19,A20
A18,A18,A20 -> A19,A20,A21
A18,A18,A21 -> A20,A21
A18,A19,A17 -> A17,A18,A19
A18,A19,A18 -> A17,A18,A19,A20
A18,A19,A19 -> A17,A18,A19,A20
A18,A19,A20 -> A18,A19,A20,A21
A18,A19,A21 -> A20,A21
A18,A20,A19 -> A18,A19,A20
A18,A20,A20 -> A18,A19,A20,A21
A18,A20,A21 -> A20,A21
A18,A21,A20 -> A20,A21
A18,A21,A21 -> A20,A21
A19,A17,A17 -> A16,A17,A18,A19
A19,A17,A18 -> A16,A17,A18,A19
A19,A17,A19 -> A18,A19
A19,A18,A17 -> A16,A17,A18,A19
A19,A18,A18 -> A16,A17,A18,A19,A20,A21
A19,A18,A19 -> A17,A18,A19,A20,A21
A19,A18,A20 -> A19,A20,A21
A19,A18,A21 -> A20,A21
A19,A19,A17 -> A17,A18,A19
A19,A19,A18 -> A17,A18,A19,A20,A21
A19,A19,A19 -> A17,A18,A19,A20,A21
A19,A19,A20 -> A18,A19,A20,A21
A19,A19,A21 -> A19,A20,A21
A19,A20,A18 -> A18,A19
A19,A20,A19 -> A18,A19,A20,A21
A19,A20,A20 -> A18,A19,A20,A21,A22
A19,A20,A21 -> A19,A20,A21,A22
A19,A21,A19 -> A19,A20,A21
A19,A21,A20 -> A19,A20,A21,A22
A19,A21,A21 -> A19,A20,A21,A22
A2,A1,A1 -> A1,A2,A3
A2,A1,A2 -> A1,A2,A3
A2,A1,A3 -> A1,A2,A3
A2,A2,A1 -> A1,A2,A3
A2,A2,A2 -> A1,A2,A3,A4
A2,A2,A3 -> A1,A2,A3,A4
A2,A2,A4 -> A2,A3,A4
A2,A3,A1 -> A1,A2,A3
A2,A3,A2 -> A1,A2,A3,A4
A2,A3,A3 -> A1,A2,A3,A4
A2,A3,A4 -> A2,A3,A4
A2,A4,A2 -> A2,A3
A2,A4,A3 -> A2,A3,A4
A2,A4,A4 -> A2,A3,A4
A20,A18,A18 -> A18,A19,A20,A21
A20,A18,A19 -> A18,A19,A20,A21
A20,A18,A20 -> A20,A21
A20,A19,A18 -> A18,A19,A20,A21
A20,A19,A19 -> A18,A19,A20,A21
A20,A19,A20 -> A18,A19,A20,A21
A20,A19,A21 -> A19,A20,A21
A20,A20,A18 -> A18,A19,A20
A20,A20,A19 -> A18,A19,A20,A21
A20,A20,A20 -> A18,A19,A20,A21,A22
A20,A20,A21 -> A19,A20,A21,A22
A20,A20,A22 -> A20,A21,A22
A20,A21,A19 -> A19,A20,A21
A20,A21,A20 -> A19,A20,A21,A22
A20,A21,A21 -> A19,A20,A21,A22
A20,A21,A22 -> A20,A21,A22
A20,A22,A20 -> A20,A21
A20,A22,A21 -> A20,A21,A22
A20,A22,A22 -> A21,A22
A21,A19,A18 -> A19,A20
A21,A19,A19 -> A19,A20,A21
A21,A19,A20 -> A19,A20,A21
A21,A19,A21 -> A20,A21
A21,A20,A18 -> A19,A20
A21,A20,A19 -> A18,A19,A20,A21
A21,A20,A20 -> A18,A19,A20,A21,A22
A21,A20,A21 -> A19,A20,A21,A22
A21,A20,A22 -> A20,A21,A22
A21,A21,A19 -> A18,A19,A20
A21,A21,A20 -> A18,A19,A20,A21,A22
A21,A21,A21 -> A19,A20,A21,A22,A23
A21,A21,A22 -> A20,A21,A22,A23
A21,A21,A23 -> A21,A22,A23
A21,A22,A20 -> A19,A20,A21
A21,A22,A21 -> A19,A20,A21,A22,A23
A21,A22,A22 -> A20,A21,A22,A23
A21,A22,A23 -> A21,A22,A23
A21,A23,A21 -> A21,A22
A21,A23,A22 -> A21,A22,A23
A21,A23,A23 -> A22,A23
A22,A20,A19 -> A18,A19
A22,A20,A20 -> A18,A19,A20,A21,A22
A22,A20,A21 -> A20,A21,A22
A22,A21,A19 -> A18,A19
A22,A21,A20 -> A18,A19,A20,A21,A22
A22,A21,A21 -> A19,A20,A21,A22,A23
A22,A21,A22 -> A20,A21,A22,A23
A22,A21,A23 -> A21,A22,A23
A22,A22,A20 -> A19,A20,A21
A22,A22,A21 -> A19,A20,A21,A22,A23
A22,A22,A22 -> A20,A21,A22,A23
A22,A22,A23 -> A21,A22,A23
A22,A23,A21 -> A21,A22
A22,A23,A22 -> A21,A22,A23
A22,A23,A23 -> A21,A22,A23
A23,A21,A21 -> A21,A22
A23,A21,A22 -> A21,A22
A23,A22,A21 -> A21,A22
A23,A22,A22 -> A21,A22
A23,A22,A23 -> A21,A22
A23,A23,A21 -> A21,A22
A23,A23,A22 -> A21,A22
A23,A23,A23 -> A21,A22
A3,A1,A1 -> A1,A2
A3,A1,A2 -> A1,A2,A3
A3,A1,A3 -> A1,A2,A3
A3,A2,A1 -> A1,A2,A3
A3,A2,A2 -> A1,A2,A3,A4
A3,A2,A3 -> A1,A2,A3,A4
A3,A2,A4 -> A2,A3,A4
A3,A3,A1 -> A1,A2,A3
A3,A3,A2 -> A1,A2,A3,A4
A3,A3,A3 -> A1,A2,A3,A4,A5
A3,A3,A4 -> A2,A3,A4,A5
A3,A3,A5 -> A4,A5
A3,A4,A2 -> A2,A3
A3,A4,A3 -> A2,A3,A4,A5
A3,A4,A4 -> A2,A3,A4,A5
A3,A4,A5 -> A3,A4,A5
A3,A5,A4 -> A3,A4,A5
A3,A5,A5 -> A3,A4,A5
A4,A2,A2 -> A2,A3,A4
A4,A2,A3 -> A2,A3,A4
A4,A3,A2 -> A2,A3,A4
A4,A3,A3 -> A2,A3,A4,A5
A4,A3,A4 -> A2,A3,A4,A5
A4,A3,A5 -> A4,A5
A4,A4,A2 -> A2,A3
A4,A4,A3 -> A2,A3,A4,A5
A4,A4,A4 -> A2,A3,A4,A5,A6
A4,A4,A5 -> A3,A4,A5,A6
A4,A4,A6 -> A4,A5,A6
A4,A5,A3 -> A3,A4,A5
A4,A5,A4 -> A3,A4,A5,A6
A4,A5,A5 -> A3,A4,A5,A6
A4,A5,A6 -> A4,A5,A6
A4,A6,A4 -> A4,A5
A4,A6,A5 -> A4,A5,A6
A4,A6,A6 -> A5,A6
A5,A3,A3 -> A3,A4
A5,A3,A4 -> A3,A4,A5
A5,A3,A5 -> A4,A5
A5,A4,A3 -> A3,A4,A5
A5,A4,A4 -> A3,A4,A5,A6
A5,A4,A5 -> A3,A4,A5,A6
A5,A4,A6 -> A4,A5,A6
A5,A5,A3 -> A3,A4,A5
A5,A5,A4 -> A3,A4,A5,A6
A5,A5,A5 -> A3,A4,A5,A6,A7
A5,A5,A6 -> A4,A5,A6,A7,A8
A5,A5,A7 -> A5,A6,A7,A8
A5,A6,A4 -> A4,A5,A6
A5,A6,A5 -> A4,A5,A6,A7
A5,A6,A6 -> A4,A5,A6,A7,A8
A5,A6,A7 -> A5,A6,A7,A8
A5,A6,A8 -> A7,A8
A5,A7,A5 -> A5,A6
A5,A7,A6 -> A5,A6,A7
A5,A7,A7 -> A6,A7,A8
A5,A7,A8 -> A7,A8
A6,A4,A4 -> A4,A5,A6
A6,A4,A5 -> A4,A5,A6
A6,A4,A6 -> A5,A6
A6,A5,A4 -> A4,A5,A6
A6,A5,A5 -> A4,A5,A6,A7
A6,A5,A6 -> A4,A5,A6,A7,A8
A6,A5,A7 -> A5,A6,A7,A8
A6,A6,A4 -> A4,A5,A6
A6,A6,A5 -> A4,A5,A6,A7
A6,A6,A6 -> A4,A5,A6,A7,A8
A6,A6,A7 -> A5,A6,A7,A8
A6,A6,A8 -> A6,A7,A8
A6,A7,A5 -> A5,A6
A6,A7,A6 -> A5,A6,A7,A8
A6,A7,A7 -> A5,A6,A7,A8
A6,A7,A8 -> A6,A7,A8
A6,A8,A6 -> A6,A7
A6,A8,A7 -> A6,A7,A8
A6,A8,A8 -> A6,A7,A8
A7,A5,A5 -> A5,A6,A7
A7,A5,A6 -> A5,A6,A7
A7,A6,A5 -> A5,A6,A7
A7,A6,A6 -> A5,A6,A7,A8
A7,A6,A7 -> A5,A6,A7,A8
A7,A6,A8 -> A6,A7,A8
A7,A7,A5 -> A5,A6
A7,A7,A6 -> A5,A6,A7,A8
A7,A7,A7 -> A5,A6,A7,A8,A9
A7,A7,A8 -> A6,A7,A8,A9
A7,A7,A9 -> A7,A8,A9
A7,A8,A6 -> A6,A7
A7,A8,A7 -> A6,A7,A8,A9
A7,A8,A8 -> A6,A7,A8,A9
A7,A8,A9 -> A7,A8,A9
A7,A9,A7 -> A7,A8
A7,A9,A8 -> A7,A8,A9
A7,A9,A9 -> A8,A9
A8,A10,A10 -> A10,A8,A9
A8,A10,A9 -> A10,A8,A9
A8,A6,A6 -> A6,A7,A8
A8,A6,A7 -> A6,A7,A8
A8,A7,A6 -> A6,A7,A8
A8,A7,A7 -> A6,A7,A8,A9
A8,A7,A8 -> A6,A7,A8,A9
A8,A7,A9 -> A7,A8,A9
A8,A8,A10 -> A10,A9
A8,A8,A6 -> A6,A7
A8,A8,A7 -> A6,A7,A8,A9
A8,A8,A8 -> A10,A6,A7,A8,A9
A8,A8,A9 -> A10,A7,A8,A9
A8,A9,A10 -> A10,A8,A9
A8,A9,A7 -> A6,A7,A8
A8,A9,A8 -> A10,A6,A7,A8,A9
A8,A9,A9 -> A10,A7,A8,A9
A9,A10,A10 -> A10,A11,A8,A9
A9,A10,A11 -> A10,A11,A9
A9,A10,A8 -> A10,A8,A9
A9,A10,A9 -> A10,A11,A8,A9
A9,A11,A10 -> A10,A11,A9
A9,A11,A11 -> A10,A11,A9
A9,A11,A9 -> A10,A9
A9,A7,A6 -> A6,A7
A9,A7,A7 -> A6,A7,A8,A9
A9,A7,A8 -> A7,A8,A9
A9,A8,A10 -> A10,A9
A9,A8,A6 -> A6,A7
A9,A8,A7 -> A6,A7,A8,A9
A9,A8,A8 -> A10,A6,A7,A8,A9
A9,A8,A9 -> A10,A7,A8,A9
A9,A9,A10 -> A10,A11,A8,A9
A9,A9,A11 -> A10,A11,A9
A9,A9,A7 -> A6,A7,A8
A9,A9,A8 -> A10,A6,A7,A8,A9
A9,A9,A9 -> A10,A11,A7,A8,A9

NASDAQ2:
A0,A0 -> A0,A1,A2
A0,A1 -> A0,A1,A2
A0,A2 -> A1,A2
A1,A0 -> A0,A1,A2
A1,A1 -> A0,A1,A2,A3
A1,A2 -> A0,A1,A2,A3
A1,A3 -> A1,A2,A3
A10,A10 -> A10,A11,A12,A8,A9
A10,A11 -> A10,A11,A12,A9
A10,A12 -> A11,A12
A10,A8 -> A10,A8,A9
A10,A9 -> A10,A11,A8,A9
A11,A10 -> A10,A11,A12,A8,A9
A11,A11 -> A10,A11,A12,A9
A11,A12 -> A10,A11,A12
A11,A9 -> A10,A11,A8,A9
A12,A10 -> A10,A11,A12
A12,A11 -> A10,A11,A12
A12,A12 -> A10,A11,A12
A2,A0 -> A0,A1
A2,A1 -> A0,A1,A2,A3
A2,A2 -> A0,A1,A2,A3,A4
A2,A3 -> A1,A2,A3,A4
A2,A4 -> A3,A4
A3,A1 -> A1,A2
A3,A2 -> A1,A2,A3,A4
A3,A3 -> A1,A2,A3,A4,A5
A3,A4 -> A2,A3,A4,A5,A6
A3,A5 -> A3,A4,A5,A6
A4,A2 -> A2,A3,A4
A4,A3 -> A2,A3,A4,A5
A4,A4 -> A2,A3,A4,A5,A6
A4,A5 -> A3,A4,A5,A6
A4,A6 -> A4,A5,A6
A5,A3 -> A3,A4,A5
A5,A4 -> A3,A4,A5,A6
A5,A5 -> A3,A4,A5,A6,A7
A5,A6 -> A4,A5,A6,A7,A8
A5,A7 -> A5,A6,A7,A8
A6,A4 -> A3,A4,A5,A6
A6,A5 -> A3,A4,A5,A6,A7
A6,A6 -> A4,A5,A6,A7,A8
A6,A7 -> A5,A6,A7,A8
A6,A8 -> A7,A8
A7,A5 -> A5,A6,A7
A7,A6 -> A5,A6,A7,A8
A7,A7 -> A5,A6,A7,A8,A9
A7,A8 -> A6,A7,A8,A9
A7,A9 -> A7,A8,A9
A8,A10 -> A10,A11,A8,A9
A8,A6 -> A6,A7,A8
A8,A7 -> A6,A7,A8,A9
A8,A8 -> A10,A6,A7,A8,A9
A8,A9 -> A10,A11,A7,A8,A9
A9,A10 -> A10,A11,A8,A9
A9,A11 -> A10,A11,A9
A9,A7 -> A7,A8
A9,A8 -> A10,A7,A8,A9
A9,A9 -> A10,A11,A7,A8,A9

NASDAQ3:
A0,A0,A0 -> A0,A1,A2
A0,A0,A1 -> A0,A1,A2
A0,A0,A2 -> A1,A2
A0,A1,A0 -> A0,A1,A2
A0,A1,A1 -> A0,A1,A2
A0,A1,A2 -> A1,A2
A0,A2,A1 -> A1,A2
A0,A2,A2 -> A1,A2
A1,A0,A0 -> A0,A1,A2
A1,A0,A1 -> A0,A1,A2
A1,A0,A2 -> A1,A2
A1,A1,A0 -> A0,A1,A2
A1,A1,A1 -> A0,A1,A2,A3
A1,A1,A2 -> A0,A1,A2,A3
A1,A1,A3 -> A1,A2,A3
A1,A2,A0 -> A0,A1
A1,A2,A1 -> A0,A1,A2,A3
A1,A2,A2 -> A0,A1,A2,A3
A1,A2,A3 -> A1,A2,A3
A1,A3,A1 -> A1,A2
A1,A3,A2 -> A1,A2,A3
A1,A3,A3 -> A1,A2,A3
A10,A10,A10 -> A10,A11,A12,A8,A9
A10,A10,A11 -> A10,A11,A12,A9
A10,A10,A12 -> A11,A12
A10,A10,A8 -> A10,A8,A9
A10,A10,A9 -> A10,A11,A8,A9
A10,A11,A10 -> A10,A11,A12,A8,A9
A10,A11,A11 -> A10,A11,A12,A9
A10,A11,A12 -> A11,A12
A10,A11,A9 -> A10,A11,A8,A9
A10,A12,A11 -> A11,A12
A10,A12,A12 -> A11,A12
A10,A8,A10 -> A10,A8,A9
A10,A8,A8 -> A10,A8,A9
A10,A8,A9 -> A10,A8,A9
A10,A9,A10 -> A10,A11,A8,A9
A10,A9,A11 -> A10,A11,A9
A10,A9,A8 -> A10,A8,A9
A10,A9,A9 -> A10,A11,A8,A9
A11,A10,A10 -> A10,A11,A12,A9
A11,A10,A11 -> A10,A11,A12,A9
A11,A10,A12 -> A11,A12
A11,A10,A8 -> A10,A9
A11,A10,A9 -> A10,A11,A9
A11,A11,A10 -> A10,A11,A12,A9
A11,A11,A11 -> A10,A11,A12,A9
A11,A11,A12 -> A10,A11,A12
A11,A11,A9 -> A10,A11,A9
A11,A12,A10 -> A10,A11,A12
A11,A12,A11 -> A10,A11,A12
A11,A12,A12 -> A10,A11,A12
A11,A9,A10 -> A10,A11,A9
A11,A9,A11 -> A10,A11
A11,A9,A8 -> A10,A9
A11,A9,A9 -> A10,A11,A9
A12,A10,A10 -> A10,A11
A12,A10,A11 -> A10,A11,A12
A12,A10,A12 -> A11,A12
A12,A11,A10 -> A10,A11,A12
A12,A11,A11 -> A10,A11,A12
A12,A11,A12 -> A10,A11,A12
A12,A12,A10 -> A10,A11,A12
A12,A12,A11 -> A10,A11,A12
A12,A12,A12 -> A10,A11,A12
A2,A0,A0 -> A0,A1
A2,A0,A1 -> A0,A1
A2,A1,A0 -> A0,A1
A2,A1,A1 -> A0,A1,A2,A3
A2,A1,A2 -> A0,A1,A2,A3
A2,A1,A3 -> A1,A2,A3
A2,A2,A0 -> A0,A1
A2,A2,A1 -> A0,A1,A2,A3
A2,A2,A2 -> A0,A1,A2,A3,A4
A2,A2,A3 -> A1,A2,A3,A4
A2,A2,A4 -> A3,A4
A2,A3,A1 -> A1,A2
A2,A3,A2 -> A1,A2,A3,A4
A2,A3,A3 -> A1,A2,A3,A4
A2,A3,A4 -> A2,A3,A4
A2,A4,A3 -> A2,A3,A4
A2,A4,A4 -> A2,A3,A4
A3,A1,A1 -> A1,A2,A3
A3,A1,A2 -> A1,A2,A3
A3,A2,A1 -> A1,A2,A3
A3,A2,A2 -> A1,A2,A3,A4
A3,A2,A3 -> A1,A2,A3,A4
A3,A2,A4 -> A3,A4
A3,A3,A1 -> A1,A2
A3,A3,A2 -> A1,A2,A3,A4
A3,A3,A3 -> A1,A2,A3,A4,A5
A3,A3,A4 -> A2,A3,A4,A5
A3,A3,A5 -> A3,A4,A5
A3,A4,A2 -> A2,A3,A4
A3,A4,A3 -> A2,A3,A4,A5
A3,A4,A4 -> A2,A3,A4,A5
A3,A4,A5 -> A3,A4,A5
A3,A4,A6 -> A4,A5
A3,A5,A3 -> A3,A4,A5
A3,A5,A4 -> A3,A4,A5
A3,A5,A5 -> A3,A4,A5
A3,A5,A6 -> A4,A5
A4,A2,A2 -> A2,A3,A4
A4,A2,A3 -> A2,A3,A4
A4,A2,A4 -> A3,A4
A4,A3,A2 -> A2,A3,A4
A4,A3,A3 -> A2,A3,A4,A5
A4,A3,A4 -> A2,A3,A4,A5,A6
A4,A3,A5 -> A3,A4,A5,A6
A4,A4,A2 -> A2,A3,A4
A4,A4,A3 -> A2,A3,A4,A5
A4,A4,A4 -> A2,A3,A4,A5,A6
A4,A4,A5 -> A3,A4,A5,A6
A4,A4,A6 -> A4,A5,A6
A4,A5,A3 -> A3,A4,A5
A4,A5,A4 -> A3,A4,A5,A6
A4,A5,A5 -> A3,A4,A5,A6
A4,A5,A6 -> A4,A5,A6
A4,A6,A4 -> A3,A4,A5,A6
A4,A6,A5 -> A3,A4,A5,A6
A4,A6,A6 -> A5,A6
A5,A3,A3 -> A3,A4,A5
A5,A3,A4 -> A3,A4,A5,A6
A5,A3,A5 -> A4,A5,A6
A5,A4,A3 -> A3,A4,A5
A5,A4,A4 -> A3,A4,A5,A6
A5,A4,A5 -> A3,A4,A5,A6
A5,A4,A6 -> A4,A5,A6
A5,A5,A3 -> A3,A4,A5
A5,A5,A4 -> A3,A4,A5,A6
A5,A5,A5 -> A3,A4,A5,A6,A7
A5,A5,A6 -> A4,A5,A6,A7,A8
A5,A5,A7 -> A5,A6,A7,A8
A5,A6,A4 -> A3,A4,A5,A6
A5,A6,A5 -> A3,A4,A5,A6,A7
A5,A6,A6 -> A4,A5,A6,A7,A8
A5,A6,A7 -> A5,A6,A7,A8
A5,A6,A8 -> A7,A8
A5,A7,A5 -> A5,A6,A7
A5,A7,A6 -> A5,A6,A7
A5,A7,A7 -> A5,A6,A7,A8
A5,A7,A8 -> A7,A8
A6,A4,A3 -> A4,A5
A6,A4,A4 -> A3,A4,A5
A6,A4,A5 -> A3,A4,A5,A6
A6,A4,A6 -> A4,A5,A6
A6,A5,A3 -> A4,A5
A6,A5,A4 -> A3,A4,A5,A6
A6,A5,A5 -> A3,A4,A5,A6,A7
A6,A5,A6 -> A4,A5,A6,A7,A8
A6,A5,A7 -> A5,A6,A7,A8
A6,A6,A4 -> A4,A5,A6
A6,A6,A5 -> A4,A5,A6,A7
A6,A6,A6 -> A4,A5,A6,A7,A8
A6,A6,A7 -> A5,A6,A7,A8
A6,A6,A8 -> A7,A8
A6,A7,A5 -> A5,A6,A7
A6,A7,A6 -> A5,A6,A7,A8
A6,A7,A7 -> A5,A6,A7,A8
A6,A7,A8 -> A6,A7,A8
A6,A8,A7 -> A6,A7,A8
A6,A8,A8 -> A6,A7,A8
A7,A5,A5 -> A4,A5,A6,A7
A7,A5,A6 -> A4,A5,A6,A7
A7,A5,A7 -> A6,A7
A7,A6,A5 -> A4,A5,A6,A7
A7,A6,A6 -> A4,A5,A6,A7,A8
A7,A6,A7 -> A5,A6,A7,A8
A7,A6,A8 -> A7,A8
A7,A7,A5 -> A5,A6,A7
A7,A7,A6 -> A5,A6,A7,A8
A7,A7,A7 -> A5,A6,A7,A8,A9
A7,A7,A8 -> A6,A7,A8,A9
A7,A7,A9 -> A7,A8,A9
A7,A8,A6 -> A6,A7,A8
A7,A8,A7 -> A6,A7,A8,A9
A7,A8,A8 -> A6,A7,A8,A9
A7,A8,A9 -> A7,A8,A9
A7,A9,A7 -> A7,A8
A7,A9,A8 -> A7,A8,A9
A7,A9,A9 -> A7,A8,A9
A8,A10,A10 -> A10,A8,A9
A8,A10,A11 -> A10,A9
A8,A10,A8 -> A10,A8,A9
A8,A10,A9 -> A10,A8,A9
A8,A6,A6 -> A6,A7,A8
A8,A6,A7 -> A6,A7,A8
A8,A6,A8 -> A7,A8
A8,A7,A6 -> A6,A7,A8
A8,A7,A7 -> A6,A7,A8,A9
A8,A7,A8 -> A6,A7,A8,A9
A8,A7,A9 -> A7,A8,A9
A8,A8,A10 -> A10,A8,A9
A8,A8,A6 -> A6,A7,A8
A8,A8,A7 -> A6,A7,A8,A9
A8,A8,A8 -> A10,A6,A7,A8,A9
A8,A8,A9 -> A10,A7,A8,A9
A8,A9,A10 -> A10,A8,A9
A8,A9,A11 -> A10,A9
A8,A9,A7 -> A7,A8
A8,A9,A8 -> A10,A7,A8,A9
A8,A9,A9 -> A10,A7,A8,A9
A9,A10,A10 -> A10,A11,A8,A9
A9,A10,A11 -> A10,A11,A9
A9,A10,A8 -> A10,A8,A9
A9,A10,A9 -> A10,A11,A8,A9
A9,A11,A10 -> A10,A11,A8,A9
A9,A11,A11 -> A10,A11,A9
A9,A11,A9 -> A10,A8,A9
A9,A7,A7 -> A7,A8,A9
A9,A7,A8 -> A7,A8,A9
A9,A8,A10 -> A10,A8,A9
A9,A8,A7 -> A7,A8,A9
A9,A8,A8 -> A10,A7,A8,A9
A9,A8,A9 -> A10,A7,A8,A9
A9,A9,A10 -> A10,A11,A8,A9
A9,A9,A11 -> A10,A11,A9
A9,A9,A7 -> A7,A8
A9,A9,A8 -> A10,A7,A8,A9
A9,A9,A9 -> A10,A11,A7,A8,A9

With transformed data

In [15]:
for count,dataset_name in enumerate(dataset_names):
    dataset = get_dataset(dataset_name)

    for order in [2,3]:

        model2 = hofts.HighOrderFTS(partitioner=partitioners_diff[dataset_name], order=order)
        model2.name=dataset_name +str(order)
        model2.append_transformation(tdiff)
        model2.fit(dataset[:train_split], save_model=True, file_path='model2'+dataset_name+str(order))

        print(model2)
TAIEX2:
A0,A4 -> A5,A6
A0,A5 -> A5,A6
A1,A1 -> A3,A4,A5
A1,A2 -> A3,A4,A5
A1,A3 -> A2,A3,A4,A5
A1,A4 -> A2,A3,A4,A5,A6,A7
A1,A5 -> A2,A3,A4,A5,A6,A7
A2,A1 -> A3,A4,A5
A2,A2 -> A2,A3,A4,A5
A2,A3 -> A2,A3,A4,A5,A6
A2,A4 -> A2,A3,A4,A5,A6,A7
A2,A5 -> A2,A3,A4,A5,A6,A7
A2,A6 -> A2,A3,A4,A5,A6,A7
A2,A7 -> A3,A4,A5,A6
A3,A1 -> A1,A2
A3,A2 -> A1,A2,A3,A4,A5
A3,A3 -> A2,A3,A4,A5,A6
A3,A4 -> A2,A3,A4,A5,A6,A7,A9
A3,A5 -> A2,A3,A4,A5,A6,A7,A9
A3,A6 -> A2,A3,A4,A5,A6,A7
A3,A7 -> A3,A4,A5,A6
A3,A8 -> A3,A4,A5
A3,A9 -> A3,A4,A5
A4,A0 -> A4,A5
A4,A1 -> A1,A2,A3,A4,A5
A4,A2 -> A1,A2,A3,A4,A5,A6
A4,A3 -> A2,A3,A4,A5,A6,A7,A8,A9
A4,A4 -> A0,A1,A2,A3,A4,A5,A6,A7,A8,A9
A4,A5 -> A0,A1,A2,A3,A4,A5,A6,A7,A8,A9
A4,A6 -> A1,A2,A3,A4,A5,A6,A7,A8
A4,A7 -> A2,A3,A4,A5,A6,A7
A4,A8 -> A3,A4,A5,A6,A7
A4,A9 -> A3,A4,A5,A6,A7
A5,A0 -> A4,A5
A5,A1 -> A1,A2,A3,A4,A5
A5,A2 -> A1,A2,A3,A4,A5,A6
A5,A3 -> A2,A3,A4,A5,A6,A7,A8,A9
A5,A4 -> A0,A1,A2,A3,A4,A5,A6,A7,A8,A9
A5,A5 -> A0,A1,A2,A3,A4,A5,A6,A7,A8
A5,A6 -> A1,A2,A3,A4,A5,A6,A7,A8
A5,A7 -> A1,A2,A3,A4,A5,A6,A7
A5,A8 -> A1,A2,A3,A4,A5,A6,A7
A5,A9 -> A1,A2,A6,A7
A6,A1 -> A1,A2
A6,A2 -> A1,A2,A3,A4,A5,A6,A7
A6,A3 -> A1,A2,A3,A4,A5,A6,A7,A8,A9
A6,A4 -> A1,A2,A3,A4,A5,A6,A7,A8,A9
A6,A5 -> A1,A2,A3,A4,A5,A6,A7,A8
A6,A6 -> A2,A3,A4,A5,A6,A7,A8,A9
A6,A7 -> A1,A2,A3,A4,A5,A6,A7,A8,A9
A6,A8 -> A1,A2,A3,A4,A5,A6
A6,A9 -> A1,A2,A3,A4
A7,A1 -> A4,A5
A7,A2 -> A4,A5,A6,A7
A7,A3 -> A1,A2,A3,A4,A5,A6,A7
A7,A4 -> A1,A2,A3,A4,A5,A6,A7
A7,A5 -> A2,A3,A4,A5,A6,A7,A8,A9
A7,A6 -> A3,A4,A5,A6,A7,A8,A9
A7,A7 -> A4,A5,A6,A7,A8,A9
A7,A8 -> A3,A4,A5
A7,A9 -> A3,A4
A8,A1 -> A4,A5
A8,A2 -> A4,A5
A8,A3 -> A2,A3,A4,A5,A6
A8,A4 -> A2,A3,A4,A5,A6
A8,A5 -> A2,A3,A4,A5,A6,A9
A8,A6 -> A5,A6,A7,A8,A9
A8,A7 -> A7,A8
A9,A1 -> A4,A5
A9,A2 -> A4,A5
A9,A3 -> A2,A3,A4
A9,A4 -> A2,A3,A4,A5,A6
A9,A5 -> A5,A6
A9,A6 -> A4,A5
A9,A7 -> A4,A5

TAIEX3:
A0,A4,A5 -> A3,A4
A0,A4,A6 -> A3,A4
A0,A5,A5 -> A3,A4
A0,A5,A6 -> A3,A4
A1,A1,A3 -> A2,A3
A1,A1,A4 -> A2,A3
A1,A1,A5 -> A2,A3
A1,A2,A3 -> A2,A3
A1,A2,A4 -> A2,A3
A1,A2,A5 -> A2,A3
A1,A3,A2 -> A3,A4
A1,A3,A3 -> A3,A4
A1,A3,A4 -> A5,A6
A1,A3,A5 -> A5,A6
A1,A4,A2 -> A3,A4,A5,A6
A1,A4,A3 -> A3,A4,A5,A6
A1,A4,A4 -> A5,A6,A7
A1,A4,A5 -> A3,A4,A5,A6,A7
A1,A4,A6 -> A3,A4
A1,A4,A7 -> A3,A4
A1,A5,A2 -> A5,A6
A1,A5,A3 -> A5,A6
A1,A5,A4 -> A5,A6,A7
A1,A5,A5 -> A3,A4,A5,A6,A7
A1,A5,A6 -> A3,A4
A1,A5,A7 -> A3,A4
A2,A1,A3 -> A2,A3
A2,A1,A4 -> A2,A3
A2,A1,A5 -> A2,A3
A2,A2,A2 -> A3,A4
A2,A2,A3 -> A2,A3,A4,A5
A2,A2,A4 -> A2,A3,A4,A5
A2,A2,A5 -> A2,A3,A4,A5
A2,A3,A2 -> A3,A4
A2,A3,A3 -> A3,A4,A5,A6
A2,A3,A4 -> A3,A4,A5,A6
A2,A3,A5 -> A3,A4,A5,A6
A2,A3,A6 -> A4,A5,A6
A2,A4,A2 -> A3,A4,A5,A6
A2,A4,A3 -> A3,A4,A5,A6
A2,A4,A4 -> A0,A1,A3,A4,A5,A6,A7
A2,A4,A5 -> A0,A1,A3,A4,A5,A6,A7
A2,A4,A6 -> A3,A4,A5,A6,A7
A2,A4,A7 -> A3,A4,A5,A6
A2,A5,A2 -> A3,A4,A5,A6
A2,A5,A3 -> A2,A3,A4,A5,A6
A2,A5,A4 -> A0,A1,A2,A3,A4,A5,A6,A7
A2,A5,A5 -> A0,A1,A3,A4,A5,A6,A7
A2,A5,A6 -> A3,A4,A5,A6,A7
A2,A5,A7 -> A3,A4,A5,A6
A2,A6,A2 -> A3,A4
A2,A6,A3 -> A1,A2,A3,A4
A2,A6,A4 -> A1,A2,A3
A2,A6,A5 -> A7,A8
A2,A6,A6 -> A4,A5,A7,A8
A2,A6,A7 -> A4,A5
A2,A7,A3 -> A1,A2
A2,A7,A4 -> A1,A2
A2,A7,A5 -> A7,A8
A2,A7,A6 -> A7,A8
A3,A1,A1 -> A3,A4
A3,A1,A2 -> A3,A4
A3,A2,A1 -> A3,A4
A3,A2,A2 -> A2,A3,A4
A3,A2,A3 -> A2,A3,A4,A5,A6
A3,A2,A4 -> A3,A4,A5,A6
A3,A2,A5 -> A3,A4,A5,A6
A3,A3,A2 -> A2,A3,A4,A5
A3,A3,A3 -> A2,A3,A4,A5,A6
A3,A3,A4 -> A2,A3,A4,A5,A6
A3,A3,A5 -> A2,A3,A4,A5,A6
A3,A3,A6 -> A3,A4,A5,A6
A3,A4,A2 -> A2,A3,A4,A5
A3,A4,A3 -> A2,A3,A4,A5,A6,A7
A3,A4,A4 -> A0,A1,A2,A3,A4,A5,A6,A7
A3,A4,A5 -> A0,A1,A2,A3,A4,A5,A6,A7,A8
A3,A4,A6 -> A2,A3,A4,A5,A6,A7,A8
A3,A4,A7 -> A4,A5,A6,A7
A3,A4,A9 -> A6,A7
A3,A5,A2 -> A2,A3,A4,A5,A6
A3,A5,A3 -> A2,A3,A4,A5,A6,A7,A8,A9
A3,A5,A4 -> A0,A1,A2,A3,A4,A5,A6,A7,A8,A9
A3,A5,A5 -> A0,A1,A2,A3,A4,A5,A6,A7,A8
A3,A5,A6 -> A2,A3,A4,A5,A6,A7,A8
A3,A5,A7 -> A3,A4,A5,A6,A7
A3,A5,A9 -> A6,A7
A3,A6,A2 -> A3,A4,A5,A6
A3,A6,A3 -> A1,A2,A3,A4,A5,A6,A7,A8,A9
A3,A6,A4 -> A1,A2,A3,A4,A5,A6,A7,A8,A9
A3,A6,A5 -> A1,A2,A3,A4,A5,A6,A7,A8
A3,A6,A6 -> A3,A4,A5,A6,A7,A8
A3,A6,A7 -> A3,A4,A5,A6
A3,A7,A3 -> A1,A2,A4,A5,A6
A3,A7,A4 -> A1,A2,A3,A4,A5,A6
A3,A7,A5 -> A2,A3,A4,A5,A6,A7,A8
A3,A7,A6 -> A3,A4,A5,A6,A7,A8
A3,A8,A3 -> A2,A3
A3,A8,A4 -> A2,A3,A5,A6
A3,A8,A5 -> A5,A6
A3,A9,A3 -> A2,A3
A3,A9,A4 -> A2,A3,A5,A6
A3,A9,A5 -> A5,A6
A4,A0,A4 -> A5,A6
A4,A0,A5 -> A5,A6
A4,A1,A1 -> A3,A4
A4,A1,A2 -> A3,A4
A4,A1,A3 -> A4,A5
A4,A1,A4 -> A4,A5,A6
A4,A1,A5 -> A4,A5,A6
A4,A2,A1 -> A3,A4
A4,A2,A2 -> A2,A3,A4,A5
A4,A2,A3 -> A2,A3,A4,A5,A6
A4,A2,A4 -> A3,A4,A5,A6,A7
A4,A2,A5 -> A2,A3,A4,A5,A6,A7
A4,A2,A6 -> A2,A3,A4,A6,A7
A4,A3,A2 -> A2,A3,A4,A5
A4,A3,A3 -> A2,A3,A4,A5,A6
A4,A3,A4 -> A2,A3,A4,A5,A6,A7,A9
A4,A3,A5 -> A2,A3,A4,A5,A6,A7,A9
A4,A3,A6 -> A2,A3,A4,A5,A6,A7
A4,A3,A7 -> A3,A4
A4,A3,A8 -> A3,A4
A4,A3,A9 -> A3,A4
A4,A4,A0 -> A4,A5
A4,A4,A1 -> A4,A5
A4,A4,A2 -> A2,A3,A4,A5
A4,A4,A3 -> A2,A3,A4,A5,A6,A7,A8,A9
A4,A4,A4 -> A1,A2,A3,A4,A5,A6,A7,A8,A9
A4,A4,A5 -> A1,A2,A3,A4,A5,A6,A7,A8,A9
A4,A4,A6 -> A2,A3,A4,A5,A6,A7,A8
A4,A4,A7 -> A3,A4,A5,A6,A7
A4,A4,A8 -> A3,A4,A5,A6,A7
A4,A4,A9 -> A3,A4,A6,A7
A4,A5,A0 -> A4,A5
A4,A5,A1 -> A1,A2,A4,A5
A4,A5,A2 -> A1,A2,A3,A4,A5,A6
A4,A5,A3 -> A2,A3,A4,A5,A6,A7,A8,A9
A4,A5,A4 -> A1,A2,A3,A4,A5,A6,A7,A8,A9
A4,A5,A5 -> A1,A2,A3,A4,A5,A6,A7,A8
A4,A5,A6 -> A2,A3,A4,A5,A6,A7,A8
A4,A5,A7 -> A3,A4,A5,A6,A7
A4,A5,A8 -> A3,A4,A5,A6,A7
A4,A5,A9 -> A6,A7
A4,A6,A1 -> A1,A2
A4,A6,A2 -> A1,A2,A4,A5,A6,A7
A4,A6,A3 -> A2,A3,A4,A5,A6,A7,A8,A9
A4,A6,A4 -> A1,A2,A3,A4,A5,A6,A7,A8,A9
A4,A6,A5 -> A1,A2,A3,A4,A5,A6,A7,A8
A4,A6,A6 -> A3,A4,A5,A6,A7,A8
A4,A6,A7 -> A3,A4,A5,A6,A7,A8
A4,A6,A8 -> A4,A5,A6
A4,A7,A2 -> A6,A7
A4,A7,A3 -> A4,A5,A6,A7
A4,A7,A4 -> A2,A3,A4,A5,A6,A7
A4,A7,A5 -> A2,A3,A4,A5,A6,A7
A4,A7,A6 -> A3,A4,A5,A6,A7,A8
A4,A7,A7 -> A5,A6,A7,A8
A4,A8,A3 -> A2,A3,A5,A6
A4,A8,A4 -> A2,A3,A4,A5,A6
A4,A8,A5 -> A3,A4,A5,A6
A4,A8,A6 -> A5,A6,A7,A8
A4,A8,A7 -> A7,A8
A4,A9,A3 -> A2,A3
A4,A9,A4 -> A2,A3,A5,A6
A4,A9,A5 -> A5,A6
A4,A9,A6 -> A4,A5
A4,A9,A7 -> A4,A5
A5,A0,A4 -> A5,A6
A5,A0,A5 -> A5,A6
A5,A1,A1 -> A4,A5
A5,A1,A2 -> A4,A5
A5,A1,A3 -> A4,A5
A5,A1,A4 -> A4,A5,A6
A5,A1,A5 -> A4,A5,A6
A5,A2,A1 -> A4,A5
A5,A2,A2 -> A3,A4,A5
A5,A2,A3 -> A3,A4,A5,A6
A5,A2,A4 -> A3,A4,A5,A6,A7
A5,A2,A5 -> A2,A3,A4,A5,A6,A7
A5,A2,A6 -> A2,A3,A4,A6,A7
A5,A3,A2 -> A3,A4,A5
A5,A3,A3 -> A2,A3,A4,A5,A6
A5,A3,A4 -> A2,A3,A4,A5,A6,A7,A9
A5,A3,A5 -> A2,A3,A4,A5,A6,A7,A9
A5,A3,A6 -> A2,A3,A4,A5,A6,A7
A5,A3,A7 -> A3,A4,A5
A5,A3,A8 -> A3,A4,A5
A5,A3,A9 -> A3,A4,A5
A5,A4,A0 -> A4,A5
A5,A4,A1 -> A3,A4,A5
A5,A4,A2 -> A2,A3,A4,A5,A6
A5,A4,A3 -> A2,A3,A4,A5,A6,A7,A8,A9
A5,A4,A4 -> A2,A3,A4,A5,A6,A7,A8,A9
A5,A4,A5 -> A2,A3,A4,A5,A6,A7,A8,A9
A5,A4,A6 -> A2,A3,A4,A5,A6,A7,A8
A5,A4,A7 -> A3,A4,A5,A6,A7
A5,A4,A8 -> A3,A4,A5,A6,A7
A5,A4,A9 -> A3,A4,A5
A5,A5,A0 -> A4,A5
A5,A5,A1 -> A1,A2,A3,A4,A5
A5,A5,A2 -> A1,A2,A3,A4,A5,A6
A5,A5,A3 -> A2,A3,A4,A5,A6,A7,A8,A9
A5,A5,A4 -> A2,A3,A4,A5,A6,A7,A8,A9
A5,A5,A5 -> A2,A3,A4,A5,A6,A7,A8
A5,A5,A6 -> A2,A3,A4,A5,A6,A7,A8
A5,A5,A7 -> A1,A2,A3,A4,A5,A6,A7
A5,A5,A8 -> A1,A2,A3,A4,A5,A6,A7
A5,A6,A1 -> A1,A2
A5,A6,A2 -> A1,A2,A4,A5,A6,A7
A5,A6,A3 -> A3,A4,A5,A6,A7
A5,A6,A4 -> A2,A3,A4,A5,A6,A7
A5,A6,A5 -> A2,A3,A4,A5,A6,A7
A5,A6,A6 -> A2,A3,A4,A5,A6,A7,A8,A9
A5,A6,A7 -> A1,A2,A3,A4,A5,A6,A7,A8,A9
A5,A6,A8 -> A1,A2,A4,A5,A6
A5,A7,A1 -> A4,A5
A5,A7,A2 -> A4,A5,A6,A7
A5,A7,A3 -> A2,A3,A4,A5,A6,A7
A5,A7,A4 -> A2,A3,A4,A5,A6,A7
A5,A7,A5 -> A2,A3,A4,A5,A6,A7,A9
A5,A7,A6 -> A3,A4,A5,A6,A7,A8,A9
A5,A7,A7 -> A5,A6,A7,A8,A9
A5,A8,A1 -> A4,A5
A5,A8,A2 -> A4,A5
A5,A8,A3 -> A2,A3,A5,A6
A5,A8,A4 -> A2,A3,A4,A5,A6
A5,A8,A5 -> A3,A4,A5,A6,A9
A5,A8,A6 -> A5,A6,A7,A8,A9
A5,A8,A7 -> A7,A8
A5,A9,A1 -> A4,A5
A5,A9,A2 -> A4,A5
A5,A9,A6 -> A4,A5
A5,A9,A7 -> A4,A5
A6,A1,A1 -> A4,A5
A6,A1,A2 -> A4,A5
A6,A2,A1 -> A4,A5
A6,A2,A2 -> A4,A5
A6,A2,A3 -> A5,A6
A6,A2,A4 -> A3,A4,A5,A6
A6,A2,A5 -> A3,A4,A5,A6,A7
A6,A2,A6 -> A3,A4,A5,A6,A7
A6,A2,A7 -> A3,A4,A5,A6
A6,A3,A1 -> A1,A2
A6,A3,A2 -> A1,A2,A3,A4,A5
A6,A3,A3 -> A3,A4,A5,A6
A6,A3,A4 -> A3,A4,A5,A6,A7
A6,A3,A5 -> A2,A3,A4,A5,A6,A7
A6,A3,A6 -> A2,A3,A4,A5,A6,A7
A6,A3,A7 -> A3,A4,A5,A6
A6,A3,A8 -> A4,A5
A6,A3,A9 -> A4,A5
A6,A4,A1 -> A1,A2,A3,A4
A6,A4,A2 -> A1,A2,A3,A4,A5,A6
A6,A4,A3 -> A2,A3,A4,A5,A6
A6,A4,A4 -> A2,A3,A4,A5,A6,A7,A8
A6,A4,A5 -> A2,A3,A4,A5,A6,A7,A8
A6,A4,A6 -> A2,A3,A4,A5,A6,A7
A6,A4,A7 -> A2,A3,A4,A5,A6
A6,A4,A8 -> A4,A5
A6,A4,A9 -> A4,A5
A6,A5,A1 -> A3,A4
A6,A5,A2 -> A2,A3,A4,A5,A6
A6,A5,A3 -> A2,A3,A4,A5,A6,A7
A6,A5,A4 -> A2,A3,A4,A5,A6,A7,A8
A6,A5,A5 -> A2,A3,A4,A5,A6,A7,A8
A6,A5,A6 -> A2,A3,A4,A5,A6,A7,A8
A6,A5,A7 -> A1,A2,A3,A4,A5,A6
A6,A5,A8 -> A1,A2,A3,A4,A5,A6
A6,A6,A2 -> A4,A5,A6,A7
A6,A6,A3 -> A3,A4,A5,A6,A7
A6,A6,A4 -> A2,A3,A4,A5,A6,A7
A6,A6,A5 -> A2,A3,A4,A5,A6,A7,A8
A6,A6,A6 -> A2,A3,A4,A5,A6,A7,A8,A9
A6,A6,A7 -> A1,A2,A3,A4,A5,A6,A8,A9
A6,A6,A8 -> A1,A2,A3,A4,A5,A6
A6,A6,A9 -> A3,A4
A6,A7,A1 -> A4,A5
A6,A7,A2 -> A4,A5,A6,A7
A6,A7,A3 -> A2,A3,A4,A5,A6,A7
A6,A7,A4 -> A2,A3,A4,A5,A6,A7
A6,A7,A5 -> A2,A3,A4,A5,A6,A7,A9
A6,A7,A6 -> A3,A4,A5,A6,A8,A9
A6,A7,A7 -> A4,A5,A6,A8,A9
A6,A7,A8 -> A3,A4,A5
A6,A7,A9 -> A3,A4
A6,A8,A1 -> A4,A5
A6,A8,A2 -> A4,A5
A6,A8,A3 -> A2,A3,A4
A6,A8,A4 -> A2,A3,A4,A5,A6
A6,A8,A5 -> A2,A3,A4,A5,A6,A9
A6,A8,A6 -> A5,A6,A9
A6,A9,A1 -> A4,A5
A6,A9,A2 -> A4,A5
A6,A9,A3 -> A3,A4
A6,A9,A4 -> A3,A4
A7,A1,A4 -> A4,A5
A7,A1,A5 -> A4,A5
A7,A2,A4 -> A4,A5
A7,A2,A5 -> A4,A5
A7,A2,A6 -> A3,A4,A5,A6
A7,A2,A7 -> A3,A4,A5,A6
A7,A3,A1 -> A1,A2
A7,A3,A2 -> A1,A2,A3,A4
A7,A3,A3 -> A3,A4
A7,A3,A4 -> A3,A4,A5,A6,A7
A7,A3,A5 -> A3,A4,A5,A6,A7
A7,A3,A6 -> A3,A4,A5,A6,A7
A7,A3,A7 -> A3,A4,A5,A6
A7,A4,A1 -> A1,A2
A7,A4,A2 -> A1,A2,A3,A4,A5,A6
A7,A4,A3 -> A2,A3,A4,A5,A6
A7,A4,A4 -> A2,A3,A4,A5,A6,A7,A8
A7,A4,A5 -> A3,A4,A5,A6,A7,A8
A7,A4,A6 -> A2,A3,A4,A5,A6,A7
A7,A4,A7 -> A2,A3,A4,A5,A6
A7,A5,A2 -> A3,A4,A5,A6
A7,A5,A3 -> A2,A3,A4,A5,A6
A7,A5,A4 -> A2,A3,A4,A5,A6,A7,A8
A7,A5,A5 -> A3,A4,A5,A6,A7,A8
A7,A5,A6 -> A2,A3,A4,A5,A6,A7,A8
A7,A5,A7 -> A2,A3,A4,A5
A7,A5,A8 -> A3,A4
A7,A5,A9 -> A1,A2
A7,A6,A3 -> A3,A4,A5,A6
A7,A6,A4 -> A3,A4,A5,A6
A7,A6,A5 -> A3,A4,A5,A6,A7,A8
A7,A6,A6 -> A2,A3,A4,A5,A6,A7,A8
A7,A6,A7 -> A2,A3,A4,A5
A7,A6,A8 -> A3,A4,A5
A7,A6,A9 -> A1,A2,A3,A4
A7,A7,A4 -> A2,A3,A5,A6
A7,A7,A5 -> A2,A3,A4,A5,A6
A7,A7,A6 -> A3,A4,A5,A6
A7,A7,A7 -> A4,A5
A7,A7,A8 -> A3,A4,A5
A7,A7,A9 -> A3,A4
A7,A8,A3 -> A3,A4
A7,A8,A4 -> A2,A3,A4,A5,A6
A7,A8,A5 -> A2,A3,A5,A6
A7,A9,A3 -> A3,A4
A7,A9,A4 -> A3,A4
A8,A1,A4 -> A4,A5
A8,A1,A5 -> A4,A5
A8,A2,A4 -> A4,A5
A8,A2,A5 -> A4,A5
A8,A3,A2 -> A2,A3,A4
A8,A3,A3 -> A2,A3,A4
A8,A3,A4 -> A3,A4
A8,A3,A5 -> A4,A5
A8,A3,A6 -> A4,A5
A8,A4,A2 -> A2,A3,A4,A5,A6
A8,A4,A3 -> A2,A3,A4,A5,A6
A8,A4,A4 -> A3,A4,A5,A6
A8,A4,A5 -> A1,A2,A4,A5,A6
A8,A4,A6 -> A1,A2,A4,A5,A6
A8,A5,A2 -> A5,A6
A8,A5,A3 -> A4,A5,A6
A8,A5,A4 -> A4,A5,A6
A8,A5,A5 -> A1,A2,A4,A5,A6
A8,A5,A6 -> A1,A2,A4,A5,A6
A8,A5,A9 -> A1,A2
A8,A6,A5 -> A4,A5
A8,A6,A6 -> A4,A5
A8,A6,A7 -> A4,A5
A8,A6,A8 -> A4,A5
A8,A6,A9 -> A1,A2
A8,A7,A7 -> A4,A5
A8,A7,A8 -> A4,A5
A9,A1,A4 -> A6,A7
A9,A1,A5 -> A6,A7
A9,A2,A4 -> A6,A7
A9,A2,A5 -> A6,A7
A9,A3,A2 -> A2,A3
A9,A3,A3 -> A2,A3,A4
A9,A3,A4 -> A3,A4
A9,A4,A2 -> A2,A3
A9,A4,A3 -> A2,A3,A4
A9,A4,A4 -> A3,A4
A9,A4,A5 -> A1,A2
A9,A4,A6 -> A1,A2
A9,A5,A5 -> A1,A2
A9,A5,A6 -> A1,A2
A9,A6,A4 -> A6,A7
A9,A6,A5 -> A6,A7
A9,A7,A4 -> A6,A7
A9,A7,A5 -> A6,A7

SP5002:
A1,A2 -> A5,A6
A1,A3 -> A5,A6
A1,A4 -> A5,A6
A1,A5 -> A5,A6
A2,A2 -> A4,A5,A6
A2,A3 -> A3,A4,A5,A6
A2,A4 -> A3,A4,A5,A6,A7
A2,A5 -> A4,A5,A6,A7
A2,A6 -> A4,A5,A6
A3,A2 -> A4,A5,A6
A3,A3 -> A3,A4,A5,A6,A7
A3,A4 -> A2,A3,A4,A5,A6,A7
A3,A5 -> A2,A3,A4,A5,A6,A7
A3,A6 -> A4,A5,A6,A7
A3,A7 -> A4,A5,A6,A7
A4,A1 -> A2,A3
A4,A2 -> A2,A3,A4,A5,A6
A4,A3 -> A2,A3,A4,A5,A6,A7
A4,A4 -> A2,A3,A4,A5,A6,A7
A4,A5 -> A2,A3,A4,A5,A6,A7,A8
A4,A6 -> A3,A4,A5,A6,A7,A8,A9
A4,A7 -> A4,A5,A6,A7,A8,A9
A5,A1 -> A2,A3
A5,A2 -> A2,A3,A4,A5
A5,A3 -> A2,A3,A4,A5,A6,A7
A5,A4 -> A1,A2,A3,A4,A5,A6,A7
A5,A5 -> A1,A2,A3,A4,A5,A6,A7,A8
A5,A6 -> A2,A3,A4,A5,A6,A7,A8,A9
A5,A7 -> A3,A4,A5,A6,A7,A8,A9
A5,A8 -> A4,A5,A6,A7,A8
A6,A1 -> A4,A5
A6,A2 -> A2,A3,A4,A5
A6,A3 -> A2,A3,A4,A5,A6,A7
A6,A4 -> A1,A2,A3,A4,A5,A6,A7
A6,A5 -> A1,A2,A3,A4,A5,A6,A7,A8
A6,A6 -> A2,A3,A4,A5,A6,A7,A8
A6,A7 -> A3,A4,A5,A6,A7,A8,A9
A6,A8 -> A3,A4,A5,A6,A7,A8,A9
A6,A9 -> A6,A7
A7,A1 -> A4,A5
A7,A2 -> A4,A5
A7,A3 -> A3,A4,A5,A6,A7
A7,A4 -> A2,A3,A4,A5,A6,A7
A7,A5 -> A2,A3,A4,A5,A6,A7
A7,A6 -> A3,A4,A5,A6,A7,A8
A7,A7 -> A3,A4,A5,A6,A7,A8,A9
A7,A8 -> A3,A4,A5,A6,A7,A8,A9
A7,A9 -> A6,A7
A8,A3 -> A3,A4
A8,A4 -> A3,A4
A8,A5 -> A3,A4,A5,A6
A8,A6 -> A3,A4,A5,A6,A7
A8,A7 -> A3,A4,A5,A6,A7
A8,A8 -> A4,A5,A6,A7
A8,A9 -> A6,A7
A9,A6 -> A1,A2,A3,A4,A5,A6
A9,A7 -> A1,A2,A3,A4,A5,A6

SP5003:
A1,A2,A5 -> A4,A5
A1,A2,A6 -> A4,A5
A1,A3,A5 -> A4,A5
A1,A3,A6 -> A4,A5
A1,A4,A5 -> A5,A6
A1,A4,A6 -> A5,A6
A1,A5,A5 -> A5,A6
A1,A5,A6 -> A5,A6
A2,A2,A4 -> A5,A6
A2,A2,A5 -> A4,A5,A6
A2,A2,A6 -> A4,A5
A2,A3,A3 -> A4,A5
A2,A3,A4 -> A4,A5,A6,A7
A2,A3,A5 -> A4,A5,A6,A7
A2,A3,A6 -> A4,A5
A2,A4,A3 -> A4,A5
A2,A4,A4 -> A4,A5,A6,A7
A2,A4,A5 -> A4,A5,A6,A7
A2,A4,A6 -> A4,A5,A6
A2,A4,A7 -> A4,A5
A2,A5,A4 -> A3,A4,A5,A6
A2,A5,A5 -> A3,A4,A5,A6
A2,A5,A6 -> A4,A5,A6
A2,A5,A7 -> A4,A5
A2,A6,A4 -> A3,A4
A2,A6,A5 -> A3,A4,A5
A2,A6,A6 -> A4,A5
A3,A2,A4 -> A5,A6
A3,A2,A5 -> A5,A6
A3,A2,A6 -> A5,A6
A3,A3,A3 -> A4,A5,A6
A3,A3,A4 -> A2,A3,A4,A5,A6,A7
A3,A3,A5 -> A2,A3,A4,A5,A6,A7
A3,A3,A6 -> A4,A5,A6,A7
A3,A3,A7 -> A4,A5,A6
A3,A4,A2 -> A3,A4,A5
A3,A4,A3 -> A3,A4,A5,A6
A3,A4,A4 -> A2,A3,A4,A5,A6,A7
A3,A4,A5 -> A2,A3,A4,A5,A6,A7
A3,A4,A6 -> A3,A4,A5,A6,A7,A8
A3,A4,A7 -> A4,A5,A6,A7,A8
A3,A5,A2 -> A3,A4,A5
A3,A5,A3 -> A3,A4,A5
A3,A5,A4 -> A3,A4,A5,A6,A7
A3,A5,A5 -> A3,A4,A5,A6,A7
A3,A5,A6 -> A3,A4,A5,A6,A7,A8
A3,A5,A7 -> A3,A4,A5,A6,A7,A8
A3,A6,A4 -> A2,A3,A4,A5,A6
A3,A6,A5 -> A2,A3,A4,A5,A6,A7
A3,A6,A6 -> A3,A4,A5,A6,A7
A3,A6,A7 -> A3,A4,A5,A6
A3,A7,A4 -> A2,A3
A3,A7,A5 -> A2,A3,A4,A5
A3,A7,A6 -> A3,A4,A5
A3,A7,A7 -> A4,A5
A4,A1,A2 -> A5,A6
A4,A1,A3 -> A5,A6
A4,A2,A2 -> A5,A6
A4,A2,A3 -> A3,A4,A5,A6
A4,A2,A4 -> A3,A4,A5,A6,A7
A4,A2,A5 -> A4,A5,A6,A7
A4,A2,A6 -> A5,A6
A4,A3,A2 -> A5,A6
A4,A3,A3 -> A3,A4,A5,A6
A4,A3,A4 -> A2,A3,A4,A5,A6,A7
A4,A3,A5 -> A2,A3,A4,A5,A6,A7
A4,A3,A6 -> A4,A5,A6,A7
A4,A3,A7 -> A4,A5,A6,A7
A4,A4,A2 -> A3,A4,A5,A6
A4,A4,A3 -> A3,A4,A5,A6
A4,A4,A4 -> A2,A3,A4,A5,A6,A7
A4,A4,A5 -> A2,A3,A4,A5,A6,A7,A8
A4,A4,A6 -> A3,A4,A5,A6,A7,A8,A9
A4,A4,A7 -> A4,A5,A6,A7,A8,A9
A4,A5,A2 -> A3,A4,A5
A4,A5,A3 -> A3,A4,A5
A4,A5,A4 -> A2,A3,A4,A5,A6,A7
A4,A5,A5 -> A2,A3,A4,A5,A6,A7,A8
A4,A5,A6 -> A3,A4,A5,A6,A7,A8,A9
A4,A5,A7 -> A3,A4,A5,A6,A7,A8,A9
A4,A5,A8 -> A4,A5,A6,A7
A4,A6,A3 -> A3,A4,A5
A4,A6,A4 -> A2,A3,A4,A5,A6
A4,A6,A5 -> A2,A3,A4,A5,A6,A7,A8
A4,A6,A6 -> A3,A4,A5,A6,A7,A8
A4,A6,A7 -> A3,A4,A5,A6,A7,A8
A4,A6,A8 -> A4,A5,A6,A7
A4,A6,A9 -> A6,A7
A4,A7,A4 -> A2,A3,A4,A5,A6
A4,A7,A5 -> A2,A3,A4,A5,A6
A4,A7,A6 -> A3,A4,A5,A6
A4,A7,A7 -> A3,A4,A5,A6,A7
A4,A7,A8 -> A6,A7
A4,A7,A9 -> A6,A7
A5,A1,A2 -> A5,A6
A5,A1,A3 -> A5,A6
A5,A2,A2 -> A4,A5,A6
A5,A2,A3 -> A3,A4,A5,A6
A5,A2,A4 -> A3,A4,A5,A6,A7
A5,A2,A5 -> A4,A5,A6,A7
A5,A3,A2 -> A4,A5,A6
A5,A3,A3 -> A3,A4,A5,A6,A7
A5,A3,A4 -> A2,A3,A4,A5,A6,A7
A5,A3,A5 -> A2,A3,A4,A5,A6,A7
A5,A3,A6 -> A4,A5,A6,A7
A5,A3,A7 -> A6,A7
A5,A4,A1 -> A2,A3
A5,A4,A2 -> A2,A3,A4,A5,A6
A5,A4,A3 -> A3,A4,A5,A6,A7
A5,A4,A4 -> A2,A3,A4,A5,A6,A7
A5,A4,A5 -> A2,A3,A4,A5,A6,A7,A8
A5,A4,A6 -> A3,A4,A5,A6,A7,A8,A9
A5,A4,A7 -> A4,A5,A6,A7,A8,A9
A5,A5,A1 -> A2,A3
A5,A5,A2 -> A2,A3,A4,A5
A5,A5,A3 -> A2,A3,A4,A5,A6
A5,A5,A4 -> A2,A3,A4,A5,A6,A7
A5,A5,A5 -> A2,A3,A4,A5,A6,A7,A8
A5,A5,A6 -> A2,A3,A4,A5,A6,A7,A8,A9
A5,A5,A7 -> A3,A4,A5,A6,A7,A8,A9
A5,A5,A8 -> A4,A5,A6,A7,A8
A5,A6,A2 -> A2,A3
A5,A6,A3 -> A2,A3,A4,A5,A6
A5,A6,A4 -> A2,A3,A4,A5,A6,A7
A5,A6,A5 -> A2,A3,A4,A5,A6,A7,A8
A5,A6,A6 -> A2,A3,A4,A5,A6,A7,A8
A5,A6,A7 -> A3,A4,A5,A6,A7,A8,A9
A5,A6,A8 -> A4,A5,A6,A7,A8,A9
A5,A6,A9 -> A6,A7
A5,A7,A3 -> A3,A4,A5
A5,A7,A4 -> A3,A4,A5,A6
A5,A7,A5 -> A3,A4,A5,A6,A7
A5,A7,A6 -> A3,A4,A5,A6,A7,A8
A5,A7,A7 -> A3,A4,A5,A6,A7,A8,A9
A5,A7,A8 -> A4,A5,A6,A7,A8,A9
A5,A7,A9 -> A6,A7
A5,A8,A4 -> A3,A4
A5,A8,A5 -> A3,A4
A5,A8,A6 -> A3,A4,A5
A5,A8,A7 -> A3,A4,A5
A5,A8,A8 -> A4,A5
A6,A1,A4 -> A5,A6
A6,A1,A5 -> A5,A6
A6,A2,A2 -> A4,A5
A6,A2,A3 -> A4,A5
A6,A2,A4 -> A5,A6
A6,A2,A5 -> A5,A6
A6,A3,A2 -> A4,A5
A6,A3,A3 -> A3,A4,A5,A6,A7
A6,A3,A4 -> A3,A4,A5,A6,A7
A6,A3,A5 -> A4,A5,A6,A7
A6,A3,A6 -> A5,A6
A6,A3,A7 -> A5,A6
A6,A4,A1 -> A2,A3
A6,A4,A2 -> A2,A3,A4,A5
A6,A4,A3 -> A3,A4,A5,A6,A7
A6,A4,A4 -> A3,A4,A5,A6,A7
A6,A4,A5 -> A3,A4,A5,A6,A7,A8
A6,A4,A6 -> A3,A4,A5,A6,A7,A8
A6,A4,A7 -> A4,A5,A6,A7
A6,A5,A1 -> A2,A3
A6,A5,A2 -> A2,A3,A4,A5
A6,A5,A3 -> A2,A3,A4,A5,A6
A6,A5,A4 -> A1,A2,A3,A4,A5,A6,A7
A6,A5,A5 -> A1,A2,A3,A4,A5,A6,A7,A8
A6,A5,A6 -> A2,A3,A4,A5,A6,A7,A8
A6,A5,A7 -> A3,A4,A5,A6,A7,A8
A6,A5,A8 -> A6,A7,A8
A6,A6,A2 -> A2,A3
A6,A6,A3 -> A2,A3,A4,A5,A6
A6,A6,A4 -> A1,A2,A3,A4,A5,A6,A7
A6,A6,A5 -> A1,A2,A3,A4,A5,A6,A7,A8
A6,A6,A6 -> A2,A3,A4,A5,A6,A7,A8
A6,A6,A7 -> A3,A4,A5,A6,A7,A8,A9
A6,A6,A8 -> A3,A4,A5,A6,A7,A8,A9
A6,A7,A3 -> A3,A4,A5
A6,A7,A4 -> A3,A4,A5,A6
A6,A7,A5 -> A3,A4,A5,A6,A7
A6,A7,A6 -> A3,A4,A5,A6,A7,A8
A6,A7,A7 -> A3,A4,A5,A6,A7,A8,A9
A6,A7,A8 -> A3,A4,A5,A6,A7,A8,A9
A6,A7,A9 -> A6,A7
A6,A8,A3 -> A3,A4
A6,A8,A4 -> A3,A4
A6,A8,A5 -> A3,A4,A5,A6
A6,A8,A6 -> A3,A4,A5,A6,A7
A6,A8,A7 -> A3,A4,A5,A6,A7
A6,A8,A8 -> A4,A5,A6,A7
A6,A8,A9 -> A6,A7
A6,A9,A6 -> A5,A6
A6,A9,A7 -> A5,A6
A7,A1,A4 -> A5,A6
A7,A1,A5 -> A5,A6
A7,A2,A4 -> A5,A6
A7,A2,A5 -> A5,A6
A7,A3,A3 -> A3,A4,A5,A6,A7
A7,A3,A4 -> A3,A4,A5,A6,A7
A7,A3,A5 -> A5,A6,A7
A7,A3,A6 -> A5,A6
A7,A3,A7 -> A5,A6
A7,A4,A2 -> A4,A5
A7,A4,A3 -> A2,A3,A4,A5,A6,A7
A7,A4,A4 -> A2,A3,A4,A5,A6,A7
A7,A4,A5 -> A3,A4,A5,A6,A7,A8
A7,A4,A6 -> A3,A4,A5,A6,A7,A8
A7,A4,A7 -> A5,A6
A7,A5,A2 -> A4,A5
A7,A5,A3 -> A2,A3,A4,A5,A6,A7
A7,A5,A4 -> A1,A2,A3,A4,A5,A6,A7
A7,A5,A5 -> A1,A2,A3,A4,A5,A6,A7,A8
A7,A5,A6 -> A3,A4,A5,A6,A7,A8
A7,A5,A7 -> A5,A6,A7,A8
A7,A6,A3 -> A3,A4,A5,A6
A7,A6,A4 -> A1,A2,A3,A4,A5,A6,A7
A7,A6,A5 -> A1,A2,A3,A4,A5,A6,A7,A8
A7,A6,A6 -> A3,A4,A5,A6,A7,A8
A7,A6,A7 -> A3,A4,A5,A6,A7,A8
A7,A6,A8 -> A3,A4
A7,A7,A3 -> A3,A4,A5,A6
A7,A7,A4 -> A3,A4,A5,A6,A7
A7,A7,A5 -> A3,A4,A5,A6,A7
A7,A7,A6 -> A3,A4,A5,A6,A7,A8
A7,A7,A7 -> A3,A4,A5,A6,A7,A8
A7,A7,A8 -> A3,A4,A6,A7
A7,A7,A9 -> A6,A7
A7,A8,A3 -> A3,A4
A7,A8,A4 -> A3,A4
A7,A8,A5 -> A3,A4,A5,A6
A7,A8,A6 -> A3,A4,A5,A6,A7
A7,A8,A7 -> A3,A4,A5,A6,A7
A7,A8,A8 -> A6,A7
A7,A8,A9 -> A6,A7
A7,A9,A6 -> A1,A2,A3,A4,A5,A6
A7,A9,A7 -> A1,A2,A3,A4,A5,A6
A8,A3,A3 -> A4,A5,A6
A8,A3,A4 -> A4,A5,A6
A8,A4,A3 -> A2,A3,A4,A5,A6,A7
A8,A4,A4 -> A2,A3,A4,A5,A6,A7
A8,A5,A3 -> A2,A3,A6,A7
A8,A5,A4 -> A2,A3,A6,A7
A8,A5,A5 -> A5,A6
A8,A5,A6 -> A5,A6
A8,A6,A3 -> A3,A4,A5,A6,A7
A8,A6,A4 -> A3,A4,A5,A6,A7
A8,A6,A5 -> A3,A4,A5,A6,A7
A8,A6,A6 -> A5,A6,A7,A8
A8,A6,A7 -> A7,A8
A8,A7,A3 -> A3,A4,A5,A6,A7
A8,A7,A4 -> A3,A4,A5,A6,A7
A8,A7,A5 -> A3,A4,A5,A6,A7
A8,A7,A6 -> A4,A5,A6,A7,A8
A8,A7,A7 -> A4,A5,A7,A8
A8,A8,A4 -> A3,A4
A8,A8,A5 -> A3,A4
A8,A8,A6 -> A3,A4,A5
A8,A8,A7 -> A3,A4,A5
A8,A9,A6 -> A1,A2,A3,A4
A8,A9,A7 -> A1,A2,A3,A4
A9,A6,A1 -> A4,A5
A9,A6,A2 -> A4,A5
A9,A6,A3 -> A6,A7
A9,A6,A4 -> A6,A7
A9,A6,A5 -> A5,A6
A9,A6,A6 -> A5,A6
A9,A7,A1 -> A4,A5
A9,A7,A2 -> A4,A5
A9,A7,A3 -> A6,A7
A9,A7,A4 -> A6,A7
A9,A7,A5 -> A5,A6
A9,A7,A6 -> A5,A6

NASDAQ2:
A0,A2 -> A2,A3,A6,A7
A0,A3 -> A2,A3,A6,A7
A0,A4 -> A4,A5
A0,A5 -> A4,A5,A6,A7
A0,A6 -> A6,A7
A1,A1 -> A3,A4
A1,A2 -> A2,A3,A4,A5,A6,A7
A1,A3 -> A1,A2,A3,A4,A5,A6,A7
A1,A4 -> A1,A2,A3,A4,A5
A1,A5 -> A2,A3,A4,A5,A6,A7
A1,A6 -> A4,A5,A6,A7
A1,A7 -> A4,A5
A2,A0 -> A5,A6
A2,A1 -> A3,A4,A5,A6
A2,A2 -> A3,A4,A5,A6
A2,A3 -> A1,A2,A3,A4,A5,A6
A2,A4 -> A1,A2,A3,A4,A5,A6
A2,A5 -> A1,A2,A3,A4,A5,A6
A2,A6 -> A3,A4,A5
A2,A7 -> A4,A5
A3,A0 -> A2,A3,A4,A5,A6
A3,A1 -> A1,A2,A3,A4,A5,A6
A3,A2 -> A0,A1,A2,A3,A4,A5,A6
A3,A3 -> A0,A1,A2,A3,A4,A5,A6
A3,A4 -> A0,A1,A2,A3,A4,A5,A6
A3,A5 -> A1,A2,A3,A4,A5,A6
A3,A6 -> A3,A4,A5
A3,A7 -> A4,A5
A4,A0 -> A2,A3,A4,A5
A4,A1 -> A1,A2,A3,A4,A5,A6,A7
A4,A2 -> A0,A1,A2,A3,A4,A5,A6,A7
A4,A3 -> A0,A1,A2,A3,A4,A5,A6,A7
A4,A4 -> A0,A1,A2,A3,A4,A5,A6,A7
A4,A5 -> A0,A1,A2,A3,A4,A5,A6,A7
A4,A6 -> A0,A1,A2,A3,A4,A5,A6,A7
A4,A7 -> A4,A5
A5,A0 -> A2,A3
A5,A1 -> A2,A3,A4,A6,A7
A5,A2 -> A2,A3,A4,A5,A6,A7
A5,A3 -> A0,A1,A2,A3,A4,A5,A6,A7
A5,A4 -> A0,A1,A2,A3,A4,A5,A6,A7
A5,A5 -> A0,A1,A2,A3,A4,A5,A6,A7
A5,A6 -> A0,A1,A2,A3,A4,A5,A6,A7
A5,A7 -> A1,A2,A3,A4
A6,A0 -> A2,A3
A6,A1 -> A2,A3,A4
A6,A2 -> A3,A4,A5,A6
A6,A3 -> A1,A2,A3,A4,A5,A6
A6,A4 -> A1,A2,A3,A4,A5,A6
A6,A5 -> A1,A2,A3,A4,A5,A6
A6,A6 -> A1,A2,A3,A4
A6,A7 -> A1,A2,A3,A4
A7,A1 -> A3,A4
A7,A2 -> A3,A4
A7,A3 -> A3,A4
A7,A4 -> A1,A2,A3,A4,A5,A6
A7,A5 -> A1,A2,A4,A5,A6

NASDAQ3:
A0,A2,A2 -> A5,A6
A0,A2,A3 -> A5,A6
A0,A2,A6 -> A4,A5
A0,A2,A7 -> A4,A5
A0,A3,A2 -> A5,A6
A0,A3,A3 -> A5,A6
A0,A3,A6 -> A4,A5
A0,A3,A7 -> A4,A5
A0,A4,A4 -> A3,A4
A0,A4,A5 -> A3,A4
A0,A5,A4 -> A3,A4
A0,A5,A5 -> A3,A4
A0,A5,A6 -> A1,A2
A0,A5,A7 -> A1,A2
A0,A6,A6 -> A1,A2
A0,A6,A7 -> A1,A2
A1,A1,A3 -> A3,A4
A1,A1,A4 -> A3,A4
A1,A2,A2 -> A5,A6
A1,A2,A3 -> A3,A4,A5,A6
A1,A2,A4 -> A1,A2,A3,A4
A1,A2,A5 -> A1,A2
A1,A2,A6 -> A4,A5
A1,A2,A7 -> A4,A5
A1,A3,A1 -> A2,A3,A4,A5
A1,A3,A2 -> A2,A3,A4,A5,A6
A1,A3,A3 -> A1,A2,A3,A4,A5,A6
A1,A3,A4 -> A1,A2,A3,A4,A5,A6
A1,A3,A5 -> A1,A2,A3,A4,A5
A1,A3,A6 -> A4,A5
A1,A3,A7 -> A4,A5
A1,A4,A1 -> A2,A3,A4,A5
A1,A4,A2 -> A2,A3,A4,A5
A1,A4,A3 -> A1,A2,A3,A4,A5,A6
A1,A4,A4 -> A1,A2,A3,A4,A5,A6
A1,A4,A5 -> A3,A4,A5
A1,A5,A2 -> A2,A3
A1,A5,A3 -> A2,A3
A1,A5,A4 -> A3,A4
A1,A5,A5 -> A3,A4
A1,A5,A6 -> A1,A2
A1,A5,A7 -> A1,A2
A1,A6,A4 -> A5,A6
A1,A6,A5 -> A5,A6
A1,A6,A6 -> A1,A2
A1,A6,A7 -> A1,A2
A1,A7,A4 -> A5,A6
A1,A7,A5 -> A5,A6
A2,A0,A5 -> A6,A7
A2,A0,A6 -> A6,A7
A2,A1,A3 -> A3,A4
A2,A1,A4 -> A3,A4
A2,A1,A5 -> A6,A7
A2,A1,A6 -> A6,A7
A2,A2,A3 -> A3,A4,A5
A2,A2,A4 -> A1,A2,A3,A4,A5
A2,A2,A5 -> A1,A2,A3,A4,A5
A2,A2,A6 -> A4,A5
A2,A3,A1 -> A2,A3,A4,A5
A2,A3,A2 -> A2,A3,A4,A5
A2,A3,A3 -> A1,A2,A3,A4,A5,A6
A2,A3,A4 -> A1,A2,A3,A4,A5,A6
A2,A3,A5 -> A1,A2,A3,A4,A5,A6
A2,A3,A6 -> A4,A5
A2,A4,A1 -> A2,A3,A4,A5
A2,A4,A2 -> A2,A3,A4,A5
A2,A4,A3 -> A1,A2,A3,A4,A5,A6
A2,A4,A4 -> A1,A2,A3,A4,A5,A6
A2,A4,A5 -> A2,A3,A4,A5,A6
A2,A4,A6 -> A3,A4,A5
A2,A5,A1 -> A3,A4
A2,A5,A2 -> A2,A3,A4
A2,A5,A3 -> A2,A3,A4,A5,A6
A2,A5,A4 -> A2,A3,A4,A5,A6
A2,A5,A5 -> A2,A3,A4,A5
A2,A5,A6 -> A3,A4,A5
A2,A6,A3 -> A5,A6
A2,A6,A4 -> A1,A2,A3,A4,A5,A6
A2,A6,A5 -> A1,A2,A3,A4,A5,A6
A2,A7,A4 -> A1,A2,A5,A6
A2,A7,A5 -> A1,A2,A5,A6
A3,A0,A2 -> A2,A3
A3,A0,A3 -> A2,A3
A3,A0,A4 -> A4,A5
A3,A0,A5 -> A4,A5,A6,A7
A3,A0,A6 -> A6,A7
A3,A1,A1 -> A3,A4
A3,A1,A2 -> A2,A3,A4,A5
A3,A1,A3 -> A2,A3,A4,A5
A3,A1,A4 -> A2,A3,A4,A5
A3,A1,A5 -> A2,A3,A4,A5,A6,A7
A3,A1,A6 -> A6,A7
A3,A2,A0 -> A5,A6
A3,A2,A1 -> A3,A4,A5,A6
A3,A2,A2 -> A3,A4,A5
A3,A2,A3 -> A2,A3,A4,A5
A3,A2,A4 -> A2,A3,A4,A5,A6
A3,A2,A5 -> A2,A3,A4,A5,A6
A3,A2,A6 -> A4,A5
A3,A3,A0 -> A2,A3,A5,A6
A3,A3,A1 -> A1,A2,A3,A4,A5,A6
A3,A3,A2 -> A1,A2,A3,A4,A5,A6
A3,A3,A3 -> A0,A1,A2,A3,A4,A5,A6
A3,A3,A4 -> A0,A1,A2,A3,A4,A5,A6
A3,A3,A5 -> A1,A2,A3,A4,A5,A6
A3,A3,A6 -> A3,A4,A5
A3,A4,A0 -> A2,A3
A3,A4,A1 -> A1,A2,A3,A4,A6,A7
A3,A4,A2 -> A1,A2,A3,A4,A5,A6,A7
A3,A4,A3 -> A0,A1,A2,A3,A4,A5,A6,A7
A3,A4,A4 -> A0,A1,A2,A3,A4,A5,A6,A7
A3,A4,A5 -> A1,A2,A3,A4,A5,A6,A7
A3,A4,A6 -> A3,A4,A5,A6,A7
A3,A5,A1 -> A3,A4,A6,A7
A3,A5,A2 -> A2,A3,A4,A5,A6,A7
A3,A5,A3 -> A2,A3,A4,A5,A6,A7
A3,A5,A4 -> A1,A2,A3,A4,A5,A6,A7
A3,A5,A5 -> A1,A2,A3,A4,A5,A6,A7
A3,A5,A6 -> A3,A4,A5,A6,A7
A3,A6,A3 -> A3,A4,A5,A6
A3,A6,A4 -> A1,A2,A3,A4,A5,A6
A3,A6,A5 -> A1,A2,A3,A4,A5
A3,A7,A4 -> A1,A2,A4,A5
A3,A7,A5 -> A1,A2,A4,A5
A4,A0,A2 -> A2,A3
A4,A0,A3 -> A2,A3
A4,A0,A4 -> A4,A5
A4,A0,A5 -> A4,A5
A4,A1,A1 -> A3,A4
A4,A1,A2 -> A2,A3,A4,A5
A4,A1,A3 -> A1,A2,A3,A4,A5
A4,A1,A4 -> A1,A2,A3,A4,A5
A4,A1,A5 -> A2,A3,A4,A5
A4,A1,A6 -> A4,A5
A4,A1,A7 -> A4,A5
A4,A2,A0 -> A5,A6
A4,A2,A1 -> A3,A4,A5,A6
A4,A2,A2 -> A3,A4,A5
A4,A2,A3 -> A1,A2,A3,A4,A5
A4,A2,A4 -> A1,A2,A3,A4,A5,A6
A4,A2,A5 -> A2,A3,A4,A5,A6
A4,A2,A6 -> A4,A5
A4,A2,A7 -> A4,A5
A4,A3,A0 -> A2,A3,A4,A5,A6
A4,A3,A1 -> A1,A2,A3,A4,A5,A6
A4,A3,A2 -> A1,A2,A3,A4,A5,A6
A4,A3,A3 -> A0,A1,A2,A3,A4,A5,A6
A4,A3,A4 -> A0,A1,A2,A3,A4,A5,A6
A4,A3,A5 -> A1,A2,A3,A4,A5,A6
A4,A3,A6 -> A3,A4,A5
A4,A3,A7 -> A4,A5
A4,A4,A0 -> A2,A3,A4,A5
A4,A4,A1 -> A1,A2,A3,A4,A5,A6,A7
A4,A4,A2 -> A1,A2,A3,A4,A5,A6,A7
A4,A4,A3 -> A0,A1,A2,A3,A4,A5,A6,A7
A4,A4,A4 -> A0,A1,A2,A3,A4,A5,A6,A7
A4,A4,A5 -> A0,A1,A2,A3,A4,A5,A6,A7
A4,A4,A6 -> A0,A1,A2,A3,A4,A5,A6,A7
A4,A4,A7 -> A4,A5
A4,A5,A0 -> A2,A3
A4,A5,A1 -> A2,A3,A4,A6,A7
A4,A5,A2 -> A2,A3,A4,A5,A6,A7
A4,A5,A3 -> A0,A1,A2,A3,A4,A5,A6,A7
A4,A5,A4 -> A0,A1,A2,A3,A4,A5,A6,A7
A4,A5,A5 -> A0,A1,A2,A3,A4,A5,A6,A7
A4,A5,A6 -> A0,A1,A2,A3,A4,A5,A6,A7
A4,A5,A7 -> A3,A4
A4,A6,A0 -> A2,A3
A4,A6,A1 -> A2,A3
A4,A6,A2 -> A3,A4,A5,A6
A4,A6,A3 -> A1,A2,A3,A4,A5,A6
A4,A6,A4 -> A1,A2,A3,A4,A5
A4,A6,A5 -> A1,A2,A3,A4,A5
A4,A6,A6 -> A3,A4
A4,A6,A7 -> A3,A4
A4,A7,A4 -> A4,A5
A4,A7,A5 -> A4,A5
A5,A0,A2 -> A6,A7
A5,A0,A3 -> A6,A7
A5,A1,A2 -> A6,A7
A5,A1,A3 -> A1,A2,A3,A4,A5,A6,A7
A5,A1,A4 -> A1,A2,A3,A4,A5
A5,A1,A6 -> A4,A5
A5,A1,A7 -> A4,A5
A5,A2,A2 -> A3,A4,A5
A5,A2,A3 -> A1,A2,A3,A4,A5
A5,A2,A4 -> A1,A2,A3,A4,A5,A6
A5,A2,A5 -> A2,A3,A4,A5,A6
A5,A2,A6 -> A3,A4,A5
A5,A2,A7 -> A4,A5
A5,A3,A0 -> A4,A5
A5,A3,A1 -> A3,A4,A5
A5,A3,A2 -> A1,A2,A3,A4,A5
A5,A3,A3 -> A1,A2,A3,A4,A5,A6
A5,A3,A4 -> A1,A2,A3,A4,A5,A6
A5,A3,A5 -> A1,A2,A3,A4,A5,A6
A5,A3,A6 -> A3,A4,A5
A5,A3,A7 -> A4,A5
A5,A4,A0 -> A4,A5
A5,A4,A1 -> A3,A4,A5
A5,A4,A2 -> A1,A2,A3,A4,A5
A5,A4,A3 -> A0,A1,A2,A3,A4,A5,A6
A5,A4,A4 -> A0,A1,A2,A3,A4,A5,A6
A5,A4,A5 -> A0,A1,A2,A3,A4,A5,A6
A5,A4,A6 -> A0,A1,A2,A3,A4,A5
A5,A4,A7 -> A4,A5
A5,A5,A0 -> A2,A3
A5,A5,A1 -> A2,A3,A4
A5,A5,A2 -> A2,A3,A4,A5,A6
A5,A5,A3 -> A0,A1,A2,A3,A4,A5,A6
A5,A5,A4 -> A0,A1,A2,A3,A4,A5,A6
A5,A5,A5 -> A0,A1,A2,A3,A4,A5,A6
A5,A5,A6 -> A0,A1,A2,A3,A4,A5
A5,A5,A7 -> A3,A4
A5,A6,A0 -> A2,A3
A5,A6,A1 -> A2,A3,A4
A5,A6,A2 -> A3,A4,A5,A6
A5,A6,A3 -> A1,A2,A3,A4,A5,A6
A5,A6,A4 -> A1,A2,A3,A4,A5
A5,A6,A5 -> A1,A2,A3,A4,A5
A5,A6,A6 -> A3,A4
A5,A6,A7 -> A3,A4
A5,A7,A1 -> A3,A4
A5,A7,A2 -> A3,A4
A5,A7,A3 -> A3,A4
A5,A7,A4 -> A3,A4
A6,A0,A2 -> A6,A7
A6,A0,A3 -> A6,A7
A6,A1,A2 -> A6,A7
A6,A1,A3 -> A1,A2,A6,A7
A6,A1,A4 -> A1,A2
A6,A2,A3 -> A1,A2,A3,A4
A6,A2,A4 -> A1,A2,A3,A4
A6,A2,A5 -> A3,A4
A6,A2,A6 -> A3,A4
A6,A3,A1 -> A3,A4
A6,A3,A2 -> A3,A4
A6,A3,A3 -> A3,A4,A5
A6,A3,A4 -> A3,A4,A5
A6,A3,A5 -> A3,A4,A5
A6,A3,A6 -> A3,A4,A5
A6,A4,A1 -> A3,A4
A6,A4,A2 -> A3,A4
A6,A4,A3 -> A3,A4,A5
A6,A4,A4 -> A2,A3,A4,A5
A6,A4,A5 -> A2,A3,A4,A5
A6,A4,A6 -> A4,A5
A6,A5,A1 -> A3,A4
A6,A5,A2 -> A3,A4
A6,A5,A3 -> A3,A4,A5
A6,A5,A4 -> A2,A3,A4,A5
A6,A5,A5 -> A2,A3,A4,A5
A6,A5,A6 -> A4,A5
A6,A6,A1 -> A3,A4
A6,A6,A2 -> A3,A4
A6,A6,A3 -> A3,A4
A6,A6,A4 -> A3,A4
A6,A7,A1 -> A3,A4
A6,A7,A2 -> A3,A4
A6,A7,A3 -> A3,A4
A6,A7,A4 -> A3,A4
A7,A1,A3 -> A1,A2
A7,A1,A4 -> A1,A2
A7,A2,A3 -> A1,A2
A7,A2,A4 -> A1,A2
A7,A3,A3 -> A3,A4
A7,A3,A4 -> A3,A4
A7,A4,A1 -> A3,A4
A7,A4,A2 -> A3,A4
A7,A4,A3 -> A3,A4
A7,A4,A4 -> A3,A4,A5
A7,A4,A5 -> A4,A5
A7,A4,A6 -> A4,A5
A7,A5,A1 -> A3,A4
A7,A5,A2 -> A3,A4
A7,A5,A4 -> A4,A5
A7,A5,A5 -> A4,A5
A7,A5,A6 -> A4,A5

Predicting with the models

In [16]:
fig, ax = plt.subplots(nrows=3, ncols=1, figsize=[20,10])


for count,dataset_name in enumerate(dataset_names):
    dataset = get_dataset(dataset_name)
    
    for order in [2,3]:
    
        ax[count].plot(dataset[train_split:train_split+200])

        model1 = cUtil.load_obj('model1'+dataset_name+str(order))

        forecasts = model1.predict(dataset[train_split:train_split+200])

        ax[count].plot(forecasts)

        ax[count].set_title(dataset_name)
    
plt.tight_layout()
In [ ]:
from pyFTS.benchmarks import Measures

rows = []

for count,dataset_name in enumerate(dataset_names):
    
    dataset = get_dataset(dataset_name)
    
    for order in [2,3]:
        
        row = [order, dataset_name]
    
        test = dataset[train_split:train_split+200]

        model1 = cUtil.load_obj('model1'+dataset_name+str(order))

        row.extend(Measures.get_point_statistics(test, model1))

        rows.append(row)

    
pd.DataFrame(rows,columns=["Order","Dataset","RMSE","SMAPE","Theil's U"])
In [17]:
fig, ax = plt.subplots(nrows=3, ncols=1, figsize=[20,10])


for count,dataset_name in enumerate(dataset_names):
    dataset = get_dataset(dataset_name)
    
    for order in [2,3]:
    
        ax[count].plot(dataset[train_split:train_split+200])

        model1 = cUtil.load_obj('model2'+dataset_name+str(order))

        forecasts = model1.predict(dataset[train_split:train_split+200])

        ax[count].plot(forecasts)

        ax[count].set_title(dataset_name)
    
plt.tight_layout()
In [ ]:
from pyFTS.benchmarks import Measures

rows = []

for count,dataset_name in enumerate(dataset_names):
    
    dataset = get_dataset(dataset_name)
    
    for order in [2,3]:
        
        row = [order, dataset_name]
    
        test = dataset[train_split:train_split+200]

        model1 = cUtil.load_obj('model2'+dataset_name+str(order))

        row.extend(Measures.get_point_statistics(test, model1))

        rows.append(row)

    
pd.DataFrame(rows,columns=["Order","Dataset","RMSE","SMAPE","Theil's U"])

Residual Analysis

In [34]:
from pyFTS.benchmarks import ResidualAnalysis as ra

for count,dataset_name in enumerate(dataset_names):
    dataset = get_dataset(dataset_name)
    
    model1 = cUtil.load_obj('model1'+dataset_name)
    model1 = cUtil.load_obj('model2'+dataset_name)

    ra.plot_residuals(dataset, [model1, model2])
In [ ]:

In [ ]: