diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle index f33ccb3..ac885e1 100644 Binary files a/docs/build/doctrees/environment.pickle and b/docs/build/doctrees/environment.pickle differ diff --git a/docs/build/doctrees/pyFTS.benchmarks.doctree b/docs/build/doctrees/pyFTS.benchmarks.doctree index 4f4aec8..d810011 100644 Binary files a/docs/build/doctrees/pyFTS.benchmarks.doctree and b/docs/build/doctrees/pyFTS.benchmarks.doctree differ diff --git a/docs/build/doctrees/pyFTS.common.doctree b/docs/build/doctrees/pyFTS.common.doctree index 8fad2c8..84fe0bb 100644 Binary files a/docs/build/doctrees/pyFTS.common.doctree and b/docs/build/doctrees/pyFTS.common.doctree differ diff --git a/docs/build/doctrees/pyFTS.data.doctree b/docs/build/doctrees/pyFTS.data.doctree index 3b0bcc4..775dd1d 100644 Binary files a/docs/build/doctrees/pyFTS.data.doctree and b/docs/build/doctrees/pyFTS.data.doctree differ diff --git a/docs/build/doctrees/pyFTS.distributed.doctree b/docs/build/doctrees/pyFTS.distributed.doctree index 5f48926..df5d26d 100644 Binary files a/docs/build/doctrees/pyFTS.distributed.doctree and b/docs/build/doctrees/pyFTS.distributed.doctree differ diff --git a/docs/build/doctrees/pyFTS.doctree b/docs/build/doctrees/pyFTS.doctree index 6602bdc..1bb2dfa 100644 Binary files a/docs/build/doctrees/pyFTS.doctree and b/docs/build/doctrees/pyFTS.doctree differ diff --git a/docs/build/doctrees/pyFTS.hyperparam.doctree b/docs/build/doctrees/pyFTS.hyperparam.doctree index 08ce869..9f65961 100644 Binary files a/docs/build/doctrees/pyFTS.hyperparam.doctree and b/docs/build/doctrees/pyFTS.hyperparam.doctree differ diff --git a/docs/build/doctrees/pyFTS.models.doctree b/docs/build/doctrees/pyFTS.models.doctree index 80db4fe..1f86ebf 100644 Binary files a/docs/build/doctrees/pyFTS.models.doctree and b/docs/build/doctrees/pyFTS.models.doctree differ diff --git a/docs/build/doctrees/pyFTS.models.ensemble.doctree b/docs/build/doctrees/pyFTS.models.ensemble.doctree index ec5eada..454933e 100644 Binary files a/docs/build/doctrees/pyFTS.models.ensemble.doctree and b/docs/build/doctrees/pyFTS.models.ensemble.doctree differ diff --git a/docs/build/doctrees/pyFTS.models.incremental.doctree b/docs/build/doctrees/pyFTS.models.incremental.doctree index 59c84bc..0d3f104 100644 Binary files a/docs/build/doctrees/pyFTS.models.incremental.doctree and b/docs/build/doctrees/pyFTS.models.incremental.doctree differ diff --git a/docs/build/doctrees/pyFTS.models.multivariate.doctree b/docs/build/doctrees/pyFTS.models.multivariate.doctree index aee6cbb..6ba508d 100644 Binary files a/docs/build/doctrees/pyFTS.models.multivariate.doctree and b/docs/build/doctrees/pyFTS.models.multivariate.doctree differ diff --git a/docs/build/doctrees/pyFTS.models.nonstationary.doctree b/docs/build/doctrees/pyFTS.models.nonstationary.doctree index c5f45c3..5f51a23 100644 Binary files a/docs/build/doctrees/pyFTS.models.nonstationary.doctree and b/docs/build/doctrees/pyFTS.models.nonstationary.doctree differ diff --git a/docs/build/doctrees/pyFTS.models.seasonal.doctree b/docs/build/doctrees/pyFTS.models.seasonal.doctree index 0489a14..26b007b 100644 Binary files a/docs/build/doctrees/pyFTS.models.seasonal.doctree and b/docs/build/doctrees/pyFTS.models.seasonal.doctree differ diff --git a/docs/build/doctrees/pyFTS.partitioners.doctree b/docs/build/doctrees/pyFTS.partitioners.doctree index 85a7655..8dc6664 100644 Binary files a/docs/build/doctrees/pyFTS.partitioners.doctree and b/docs/build/doctrees/pyFTS.partitioners.doctree differ diff --git a/docs/build/doctrees/pyFTS.probabilistic.doctree b/docs/build/doctrees/pyFTS.probabilistic.doctree index 34e5877..8cce607 100644 Binary files a/docs/build/doctrees/pyFTS.probabilistic.doctree and b/docs/build/doctrees/pyFTS.probabilistic.doctree differ diff --git a/docs/build/html/_modules/index.html b/docs/build/html/_modules/index.html index 0fc8c5e..21c2c08 100644 --- a/docs/build/html/_modules/index.html +++ b/docs/build/html/_modules/index.html @@ -71,11 +71,14 @@

All modules for which code is available

-

pyFTS.benchmarks.Measures module

pyFTS module for common benchmark metrics

-
-
-pyFTS.benchmarks.Measures.BoxLjungStatistic(data, h)[source]
-

Q Statistic for Ljung–Box test

- --- - - - - - -
Parameters:
    -
  • data
  • -
  • h
  • -
-
Returns:

-
-
- -
-
-pyFTS.benchmarks.Measures.BoxPierceStatistic(data, h)[source]
-

Q Statistic for Box-Pierce test

- --- - - - - - -
Parameters:
    -
  • data
  • -
  • h
  • -
-
Returns:

-
-
-
-pyFTS.benchmarks.Measures.TheilsInequality(targets, forecasts)[source]
+pyFTS.benchmarks.Measures.TheilsInequality(targets, forecasts)

Theil’s Inequality Coefficient

@@ -561,7 +608,7 @@ informing the list of dispy nodes on ‘nodes’ parameter.

-pyFTS.benchmarks.Measures.UStatistic(targets, forecasts)[source]
+pyFTS.benchmarks.Measures.UStatistic(targets, forecasts)

Theil’s U Statistic

@@ -582,7 +629,7 @@ informing the list of dispy nodes on ‘nodes’ parameter.

-pyFTS.benchmarks.Measures.acf(data, k)[source]
+pyFTS.benchmarks.Measures.acf(data, k)

Autocorrelation function estimative

@@ -603,19 +650,35 @@ informing the list of dispy nodes on ‘nodes’ parameter.

-pyFTS.benchmarks.Measures.brier_score(targets, densities)[source]
-

Brier (1950). “Verification of Forecasts Expressed in Terms of Probability”. Monthly Weather Review. 78: 1–3.

+pyFTS.benchmarks.Measures.brier_score(targets, densities) +

Brier Score for probabilistic forecasts. +Brier (1950). “Verification of Forecasts Expressed in Terms of Probability”. Monthly Weather Review. 78: 1–3.

+
+++ + + + + + +
Parameters:
    +
  • targets – a list with the target values
  • +
  • densities – a list with pyFTS.probabil objectsistic.ProbabilityDistribution
  • +
+
Returns:

float

+
-pyFTS.benchmarks.Measures.coverage(targets, forecasts)[source]
+pyFTS.benchmarks.Measures.coverage(targets, forecasts)

Percent of target values that fall inside forecasted interval

-pyFTS.benchmarks.Measures.crps(targets, densities)[source]
+pyFTS.benchmarks.Measures.crps(targets, densities)

Continuous Ranked Probability Score

@@ -635,8 +698,8 @@ informing the list of dispy nodes on ‘nodes’ parameter.

-
-pyFTS.benchmarks.Measures.get_distribution_statistics(data, model, **kwargs)[source]
+
+pyFTS.benchmarks.Measures.get_distribution_ahead_statistics(data, distributions)

Get CRPS statistic and time for a forecasting model

@@ -657,8 +720,30 @@ informing the list of dispy nodes on ‘nodes’ parameter.

-
-pyFTS.benchmarks.Measures.get_interval_statistics(data, model, **kwargs)[source]
+
+pyFTS.benchmarks.Measures.get_distribution_statistics(data, model, **kwargs)
+

Get CRPS statistic and time for a forecasting model

+
+++ + + + + + +
Parameters:
    +
  • data – test data
  • +
  • model – FTS model with probabilistic forecasting capability
  • +
  • kwargs
  • +
+
Returns:

a list with the CRPS and execution time

+
+
+ +
+
+pyFTS.benchmarks.Measures.get_interval_ahead_statistics(data, intervals, **kwargs)

Condensate all measures for point interval forecasters

@@ -671,17 +756,40 @@ informing the list of dispy nodes on ‘nodes’ parameter.

- + + +
Returns:

a list with the sharpness, resolution, coverage, .05 pinball mean,

+
Returns:

a list with the sharpness, resolution, coverage, .05 pinball mean, +.25 pinball mean, .75 pinball mean and .95 pinball mean.

+
+
+ +
+
+pyFTS.benchmarks.Measures.get_interval_statistics(data, model, **kwargs)
+

Condensate all measures for point interval forecasters

+ +++ + + +
Parameters:
    +
  • data – test data
  • +
  • model – FTS model with interval forecasting capability
  • +
  • kwargs
  • +
+
Returns:

a list with the sharpness, resolution, coverage, .05 pinball mean, +.25 pinball mean, .75 pinball mean and .95 pinball mean.

-

.25 pinball mean, .75 pinball mean and .95 pinball mean.

-pyFTS.benchmarks.Measures.get_point_statistics(data, model, **kwargs)[source]
+pyFTS.benchmarks.Measures.get_point_statistics(data, model, **kwargs)

Condensate all measures for point forecasters

@@ -702,18 +810,30 @@ informing the list of dispy nodes on ‘nodes’ parameter.

-
-pyFTS.benchmarks.Measures.heavyside(bin, target)[source]
-
- -
-
-pyFTS.benchmarks.Measures.heavyside_cdf(bins, targets)[source]
-
+
+pyFTS.benchmarks.Measures.logarithm_score(targets, densities)
+

Logarithm Score for probabilistic forecasts. +Good IJ (1952). “Rational Decisions.”Journal of the Royal Statistical Society B,14(1),107–114. URLhttps://www.jstor.org/stable/2984087.

+
+++ + + + + + +
Parameters:
    +
  • targets – a list with the target values
  • +
  • densities – a list with pyFTS.probabil objectsistic.ProbabilityDistribution
  • +
+
Returns:

float

+
+
-pyFTS.benchmarks.Measures.mape(targets, forecasts)[source]
+pyFTS.benchmarks.Measures.mape(targets, forecasts)

Mean Average Percentual Error

@@ -734,12 +854,12 @@ informing the list of dispy nodes on ‘nodes’ parameter.

-pyFTS.benchmarks.Measures.mape_interval(targets, forecasts)[source]
+pyFTS.benchmarks.Measures.mape_interval(targets, forecasts)
-pyFTS.benchmarks.Measures.pinball(tau, target, forecast)[source]
+pyFTS.benchmarks.Measures.pinball(tau, target, forecast)

Pinball loss function. Measure the distance of forecast to the tau-quantile of the target

@@ -761,7 +881,7 @@ informing the list of dispy nodes on ‘nodes’ parameter.

-pyFTS.benchmarks.Measures.pinball_mean(tau, targets, forecasts)[source]
+pyFTS.benchmarks.Measures.pinball_mean(tau, targets, forecasts)

Mean pinball loss value of the forecast for a given tau-quantile of the targets

@@ -781,20 +901,15 @@ informing the list of dispy nodes on ‘nodes’ parameter.

-
-
-pyFTS.benchmarks.Measures.pmf_to_cdf(density)[source]
-
-
-pyFTS.benchmarks.Measures.resolution(forecasts)[source]
+pyFTS.benchmarks.Measures.resolution(forecasts)

Resolution - Standard deviation of the intervals

-pyFTS.benchmarks.Measures.rmse(targets, forecasts)[source]
+pyFTS.benchmarks.Measures.rmse(targets, forecasts)

Root Mean Squared Error

@@ -815,7 +930,7 @@ informing the list of dispy nodes on ‘nodes’ parameter.

-pyFTS.benchmarks.Measures.rmse_interval(targets, forecasts)[source]
+pyFTS.benchmarks.Measures.rmse_interval(targets, forecasts)

Root Mean Squared Error

@@ -836,13 +951,13 @@ informing the list of dispy nodes on ‘nodes’ parameter.

-pyFTS.benchmarks.Measures.sharpness(forecasts)[source]
+pyFTS.benchmarks.Measures.sharpness(forecasts)

Sharpness - Mean size of the intervals

-pyFTS.benchmarks.Measures.smape(targets, forecasts, type=2)[source]
+pyFTS.benchmarks.Measures.smape(targets, forecasts, type=2)

Symmetric Mean Average Percentual Error

@@ -864,7 +979,7 @@ informing the list of dispy nodes on ‘nodes’ parameter.

-pyFTS.benchmarks.Measures.winkler_mean(tau, targets, forecasts)[source]
+pyFTS.benchmarks.Measures.winkler_mean(tau, targets, forecasts)

Mean Winkler score value of the forecast for a given tau-quantile of the targets

@@ -886,13 +1001,29 @@ informing the list of dispy nodes on ‘nodes’ parameter.

-pyFTS.benchmarks.Measures.winkler_score(tau, target, forecast)[source]
+pyFTS.benchmarks.Measures.winkler_score(tau, target, forecast)
    1. Winkler, A Decision-Theoretic Approach to Interval Estimation, J. Am. Stat. Assoc. 67 (337) (1972) 187–191. doi:10.2307/2284720.
+
+++ + + + + + +
Parameters:
    +
  • tau
  • +
  • target
  • +
  • forecast
  • +
+
Returns:

+
@@ -901,7 +1032,7 @@ informing the list of dispy nodes on ‘nodes’ parameter.

Residual Analysis methods

-pyFTS.benchmarks.ResidualAnalysis.chi_squared(q, h)[source]
+pyFTS.benchmarks.ResidualAnalysis.chi_squared(q, h)

Chi-Squared value

@@ -922,7 +1053,7 @@ informing the list of dispy nodes on ‘nodes’ parameter.

-pyFTS.benchmarks.ResidualAnalysis.compare_residuals(data, models)[source]
+pyFTS.benchmarks.ResidualAnalysis.compare_residuals(data, models)

Compare residual’s statistics of several models

@@ -943,7 +1074,7 @@ informing the list of dispy nodes on ‘nodes’ parameter.

-pyFTS.benchmarks.ResidualAnalysis.plotResiduals(targets, models, tam=[8, 8], save=False, file=None)[source]
+pyFTS.benchmarks.ResidualAnalysis.plotResiduals(targets, models, tam=[8, 8], save=False, file=None)

Plot residuals and statistics

@@ -967,72 +1098,171 @@ informing the list of dispy nodes on ‘nodes’ parameter.

-pyFTS.benchmarks.ResidualAnalysis.plot_residuals(targets, models, tam=[8, 8], save=False, file=None)[source]
+pyFTS.benchmarks.ResidualAnalysis.plot_residuals(targets, models, tam=[8, 8], save=False, file=None)
-pyFTS.benchmarks.ResidualAnalysis.residuals(targets, forecasts, order=1)[source]
+pyFTS.benchmarks.ResidualAnalysis.residuals(targets, forecasts, order=1)

First order residuals

-pyFTS.benchmarks.ResidualAnalysis.single_plot_residuals(targets, forecasts, order, tam=[8, 8], save=False, file=None)[source]
+pyFTS.benchmarks.ResidualAnalysis.single_plot_residuals(targets, forecasts, order, tam=[8, 8], save=False, file=None)
+ +
+

pyFTS.benchmarks.Tests module

+
+
+pyFTS.benchmarks.Tests.BoxLjungStatistic(data, h)
+

Q Statistic for Ljung–Box test

+
+++ + + + + + +
Parameters:
    +
  • data
  • +
  • h
  • +
+
Returns:

+
+
+ +
+
+pyFTS.benchmarks.Tests.BoxPierceStatistic(data, h)
+

Q Statistic for Box-Pierce test

+ +++ + + + + + +
Parameters:
    +
  • data
  • +
  • h
  • +
+
Returns:

+
+
+ +
+
+pyFTS.benchmarks.Tests.format_experiment_table(df, exclude=[], replace={}, csv=True, std=False)
+
+ +
+
+pyFTS.benchmarks.Tests.post_hoc_tests(post_hoc, control_method, alpha=0.05, method='finner')
+

Finner paired post-hoc test with NSFTS as control method.

+

$H_0$: There is no significant difference between the means

+

$H_1$: There is a significant difference between the means

+ +++ + + + + + +
Parameters:
    +
  • post_hoc
  • +
  • control_method
  • +
  • alpha
  • +
  • method
  • +
+
Returns:

+
+
+ +
+
+pyFTS.benchmarks.Tests.test_mean_equality(tests, alpha=0.05, method='friedman')
+

Test for the equality of the means, with alpha confidence level.

+

H_0: There’s no significant difference between the means +H_1: There is at least one significant difference between the means

+ +++ + + + + + +
Parameters:
    +
  • tests
  • +
  • alpha
  • +
  • method
  • +
+
Returns:

+
+
+

pyFTS.benchmarks.Util module

Facilities for pyFTS Benchmark module

-pyFTS.benchmarks.Util.analytic_tabular_dataframe(dataframe)[source]
+pyFTS.benchmarks.Util.analytic_tabular_dataframe(dataframe)
-pyFTS.benchmarks.Util.analytical_data_columns(experiments)[source]
+pyFTS.benchmarks.Util.analytical_data_columns(experiments)
-pyFTS.benchmarks.Util.base_dataframe_columns()[source]
+pyFTS.benchmarks.Util.base_dataframe_columns()
-pyFTS.benchmarks.Util.cast_dataframe_to_synthetic(infile, outfile, experiments, type)[source]
+pyFTS.benchmarks.Util.cast_dataframe_to_synthetic(infile, outfile, experiments, type)
-pyFTS.benchmarks.Util.cast_dataframe_to_synthetic_interval(df, data_columns)[source]
+pyFTS.benchmarks.Util.cast_dataframe_to_synthetic_interval(df, data_columns)
-pyFTS.benchmarks.Util.cast_dataframe_to_synthetic_point(df, data_columns)[source]
+pyFTS.benchmarks.Util.cast_dataframe_to_synthetic_point(df, data_columns)
-pyFTS.benchmarks.Util.cast_dataframe_to_synthetic_probabilistic(df, data_columns)[source]
+pyFTS.benchmarks.Util.cast_dataframe_to_synthetic_probabilistic(df, data_columns)
-pyFTS.benchmarks.Util.check_ignore_list(b, ignore)[source]
+pyFTS.benchmarks.Util.check_ignore_list(b, ignore)
-pyFTS.benchmarks.Util.check_replace_list(m, replace)[source]
+pyFTS.benchmarks.Util.check_replace_list(m, replace)
-pyFTS.benchmarks.Util.create_benchmark_tables(conn)[source]
+pyFTS.benchmarks.Util.create_benchmark_tables(conn)

Create a sqlite3 table designed to store benchmark results.

@@ -1046,17 +1276,17 @@ informing the list of dispy nodes on ‘nodes’ parameter.

-pyFTS.benchmarks.Util.extract_measure(dataframe, measure, data_columns)[source]
+pyFTS.benchmarks.Util.extract_measure(dataframe, measure, data_columns)
-pyFTS.benchmarks.Util.find_best(dataframe, criteria, ascending)[source]
+pyFTS.benchmarks.Util.find_best(dataframe, criteria, ascending)
-pyFTS.benchmarks.Util.get_dataframe_from_bd(file, filter)[source]
+pyFTS.benchmarks.Util.get_dataframe_from_bd(file, filter)

Query the sqlite benchmark database and return a pandas dataframe with the results

@@ -1077,7 +1307,7 @@ informing the list of dispy nodes on ‘nodes’ parameter.

-pyFTS.benchmarks.Util.insert_benchmark(data, conn)[source]
+pyFTS.benchmarks.Util.insert_benchmark(data, conn)

Insert benchmark data on database

@@ -1115,17 +1345,17 @@ Value: the measure value

-pyFTS.benchmarks.Util.interval_dataframe_analytic_columns(experiments)[source]
+pyFTS.benchmarks.Util.interval_dataframe_analytic_columns(experiments)
-pyFTS.benchmarks.Util.interval_dataframe_synthetic_columns()[source]
+pyFTS.benchmarks.Util.interval_dataframe_synthetic_columns()
-pyFTS.benchmarks.Util.open_benchmark_db(name)[source]
+pyFTS.benchmarks.Util.open_benchmark_db(name)

Open a connection with a Sqlite database designed to store benchmark results.

@@ -1141,47 +1371,70 @@ Value: the measure value

-pyFTS.benchmarks.Util.plot_dataframe_interval(file_synthetic, file_analytic, experiments, tam, save=False, file=None, sort_columns=['COVAVG', 'SHARPAVG', 'COVSTD', 'SHARPSTD'], sort_ascend=[True, False, True, True], save_best=False, ignore=None, replace=None)[source]
+pyFTS.benchmarks.Util.plot_dataframe_interval(file_synthetic, file_analytic, experiments, tam, save=False, file=None, sort_columns=['COVAVG', 'SHARPAVG', 'COVSTD', 'SHARPSTD'], sort_ascend=[True, False, True, True], save_best=False, ignore=None, replace=None)
-pyFTS.benchmarks.Util.plot_dataframe_interval_pinball(file_synthetic, file_analytic, experiments, tam, save=False, file=None, sort_columns=['COVAVG', 'SHARPAVG', 'COVSTD', 'SHARPSTD'], sort_ascend=[True, False, True, True], save_best=False, ignore=None, replace=None)[source]
+pyFTS.benchmarks.Util.plot_dataframe_interval_pinball(file_synthetic, file_analytic, experiments, tam, save=False, file=None, sort_columns=['COVAVG', 'SHARPAVG', 'COVSTD', 'SHARPSTD'], sort_ascend=[True, False, True, True], save_best=False, ignore=None, replace=None)
-pyFTS.benchmarks.Util.plot_dataframe_point(file_synthetic, file_analytic, experiments, tam, save=False, file=None, sort_columns=['UAVG', 'RMSEAVG', 'USTD', 'RMSESTD'], sort_ascend=[1, 1, 1, 1], save_best=False, ignore=None, replace=None)[source]
+pyFTS.benchmarks.Util.plot_dataframe_point(file_synthetic, file_analytic, experiments, tam, save=False, file=None, sort_columns=['UAVG', 'RMSEAVG', 'USTD', 'RMSESTD'], sort_ascend=[1, 1, 1, 1], save_best=False, ignore=None, replace=None)
-pyFTS.benchmarks.Util.plot_dataframe_probabilistic(file_synthetic, file_analytic, experiments, tam, save=False, file=None, sort_columns=['CRPS1AVG', 'CRPS2AVG', 'CRPS1STD', 'CRPS2STD'], sort_ascend=[True, True, True, True], save_best=False, ignore=None, replace=None)[source]
+pyFTS.benchmarks.Util.plot_dataframe_probabilistic(file_synthetic, file_analytic, experiments, tam, save=False, file=None, sort_columns=['CRPS1AVG', 'CRPS2AVG', 'CRPS1STD', 'CRPS2STD'], sort_ascend=[True, True, True, True], save_best=False, ignore=None, replace=None)
-pyFTS.benchmarks.Util.point_dataframe_analytic_columns(experiments)[source]
+pyFTS.benchmarks.Util.point_dataframe_analytic_columns(experiments)
-pyFTS.benchmarks.Util.point_dataframe_synthetic_columns()[source]
+pyFTS.benchmarks.Util.point_dataframe_synthetic_columns()
-pyFTS.benchmarks.Util.probabilistic_dataframe_analytic_columns(experiments)[source]
+pyFTS.benchmarks.Util.probabilistic_dataframe_analytic_columns(experiments)
-pyFTS.benchmarks.Util.probabilistic_dataframe_synthetic_columns()[source]
+pyFTS.benchmarks.Util.probabilistic_dataframe_synthetic_columns()
-pyFTS.benchmarks.Util.process_common_data(dataset, tag, type, job)[source]
+pyFTS.benchmarks.Util.process_common_data(dataset, tag, type, job) +

Wraps benchmark information on a tuple for sqlite database

+
+++ + + + + + +
Parameters:
    +
  • dataset – benchmark dataset
  • +
  • tag – benchmark set alias
  • +
  • type – forecasting type
  • +
  • job – a dictionary with benchmark data
  • +
+
Returns:

tuple for sqlite database

+
+
+ +
+
+pyFTS.benchmarks.Util.process_common_data2(dataset, tag, type, job)

Wraps benchmark information on a tuple for sqlite database

@@ -1204,12 +1457,12 @@ Value: the measure value

-pyFTS.benchmarks.Util.save_dataframe_interval(coverage, experiments, file, objs, resolution, save, sharpness, synthetic, times, q05, q25, q75, q95, steps, method)[source]
+pyFTS.benchmarks.Util.save_dataframe_interval(coverage, experiments, file, objs, resolution, save, sharpness, synthetic, times, q05, q25, q75, q95, steps, method)
-pyFTS.benchmarks.Util.save_dataframe_point(experiments, file, objs, rmse, save, synthetic, smape, times, u, steps, method)[source]
+pyFTS.benchmarks.Util.save_dataframe_point(experiments, file, objs, rmse, save, synthetic, smape, times, u, steps, method)

Create a dataframe to store the benchmark results

@@ -1237,7 +1490,7 @@ Value: the measure value

-pyFTS.benchmarks.Util.save_dataframe_probabilistic(experiments, file, objs, crps, times, save, synthetic, steps, method)[source]
+pyFTS.benchmarks.Util.save_dataframe_probabilistic(experiments, file, objs, crps, times, save, synthetic, steps, method)

Save benchmark results for m-step ahead probabilistic forecasters :param experiments: :param file: @@ -1253,42 +1506,65 @@ Value: the measure value

-pyFTS.benchmarks.Util.scale(data, params)[source]
+pyFTS.benchmarks.Util.scale(data, params)
-pyFTS.benchmarks.Util.scale_params(data)[source]
+pyFTS.benchmarks.Util.scale_params(data)
+
+
+pyFTS.benchmarks.Util.simple_synthetic_dataframe(file, tag, measure, sql=None)
+

Read experiments results from sqlite3 database in ‘file’, make a synthesis of the results +of the metric ‘measure’ with the same ‘tag’, returning a Pandas DataFrame with the mean results.

+
+++ + + + + + +
Parameters:
    +
  • file – sqlite3 database file name
  • +
  • tag – common tag of the experiments
  • +
  • measure – metric to synthetize
  • +
+
Returns:

Pandas DataFrame with the mean results

+
+
+
-pyFTS.benchmarks.Util.stats(measure, data)[source]
+pyFTS.benchmarks.Util.stats(measure, data)
-pyFTS.benchmarks.Util.tabular_dataframe_columns()[source]
+pyFTS.benchmarks.Util.tabular_dataframe_columns()
-pyFTS.benchmarks.Util.unified_scaled_interval(experiments, tam, save=False, file=None, sort_columns=['COVAVG', 'SHARPAVG', 'COVSTD', 'SHARPSTD'], sort_ascend=[True, False, True, True], save_best=False, ignore=None, replace=None)[source]
+pyFTS.benchmarks.Util.unified_scaled_interval(experiments, tam, save=False, file=None, sort_columns=['COVAVG', 'SHARPAVG', 'COVSTD', 'SHARPSTD'], sort_ascend=[True, False, True, True], save_best=False, ignore=None, replace=None)
-pyFTS.benchmarks.Util.unified_scaled_interval_pinball(experiments, tam, save=False, file=None, sort_columns=['COVAVG', 'SHARPAVG', 'COVSTD', 'SHARPSTD'], sort_ascend=[True, False, True, True], save_best=False, ignore=None, replace=None)[source]
+pyFTS.benchmarks.Util.unified_scaled_interval_pinball(experiments, tam, save=False, file=None, sort_columns=['COVAVG', 'SHARPAVG', 'COVSTD', 'SHARPSTD'], sort_ascend=[True, False, True, True], save_best=False, ignore=None, replace=None)
-pyFTS.benchmarks.Util.unified_scaled_point(experiments, tam, save=False, file=None, sort_columns=['UAVG', 'RMSEAVG', 'USTD', 'RMSESTD'], sort_ascend=[1, 1, 1, 1], save_best=False, ignore=None, replace=None)[source]
+pyFTS.benchmarks.Util.unified_scaled_point(experiments, tam, save=False, file=None, sort_columns=['UAVG', 'RMSEAVG', 'USTD', 'RMSESTD'], sort_ascend=[1, 1, 1, 1], save_best=False, ignore=None, replace=None)
-pyFTS.benchmarks.Util.unified_scaled_probabilistic(experiments, tam, save=False, file=None, sort_columns=['CRPSAVG', 'CRPSSTD'], sort_ascend=[True, True], save_best=False, ignore=None, replace=None)[source]
+pyFTS.benchmarks.Util.unified_scaled_probabilistic(experiments, tam, save=False, file=None, sort_columns=['CRPSAVG', 'CRPSSTD'], sort_ascend=[True, True], save_best=False, ignore=None, replace=None)
@@ -1296,17 +1572,17 @@ Value: the measure value

pyFTS.benchmarks.arima module

-class pyFTS.benchmarks.arima.ARIMA(**kwargs)[source]
+class pyFTS.benchmarks.arima.ARIMA(**kwargs)

Bases: pyFTS.common.fts.FTS

Façade for statsmodels.tsa.arima_model

-ar(data)[source]
+ar(data)
-forecast(ndata, **kwargs)[source]
+forecast(ndata, **kwargs)

Point forecast one step ahead

@@ -1327,7 +1603,7 @@ Value: the measure value

-forecast_ahead_distribution(data, steps, **kwargs)[source]
+forecast_ahead_distribution(data, steps, **kwargs)

Probabilistic forecast n steps ahead

@@ -1336,7 +1612,7 @@ Value: the measure value

@@ -1349,7 +1625,7 @@ Value: the measure value

-forecast_ahead_interval(ndata, steps, **kwargs)[source]
+forecast_ahead_interval(ndata, steps, **kwargs)

Interval forecast n steps ahead

Parameters:
  • data – time series data with the minimal length equal to the max_lag of the model
  • steps – the number of steps ahead to forecast
  • -
  • kwargs – model specific parameters
  • +
  • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
@@ -1358,7 +1634,7 @@ Value: the measure value

@@ -1371,7 +1647,7 @@ Value: the measure value

-forecast_distribution(data, **kwargs)[source]
+forecast_distribution(data, **kwargs)

Probabilistic forecast one step ahead

Parameters:
  • data – time series data with the minimal length equal to the max_lag of the model
  • steps – the number of steps ahead to forecast
  • -
  • kwargs – model specific parameters
  • +
  • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
@@ -1392,7 +1668,7 @@ Value: the measure value

-forecast_interval(data, **kwargs)[source]
+forecast_interval(data, **kwargs)

Interval forecast one step ahead

@@ -1413,12 +1689,12 @@ Value: the measure value

-ma(data)[source]
+ma(data)
-train(data, **kwargs)[source]
+train(data, **kwargs)

Method specific parameter fitting

@@ -1441,12 +1717,99 @@ Value: the measure value

pyFTS.benchmarks.knn module

-class pyFTS.benchmarks.knn.KNearestNeighbors(**kwargs)[source]
+class pyFTS.benchmarks.knn.KNearestNeighbors(**kwargs)

Bases: pyFTS.common.fts.FTS

-

K-Nearest Neighbors

+

A façade for sklearn.neighbors

+
+
+forecast(data, **kwargs)
+

Point forecast one step ahead

+
+++ + + + + + +
Parameters:
    +
  • data – time series data with the minimal length equal to the max_lag of the model
  • +
  • kwargs – model specific parameters
  • +
+
Returns:

a list with the forecasted values

+
+
+ +
+
+forecast_ahead(data, steps, **kwargs)
+

Point forecast n steps ahead

+ +++ + + + + + +
Parameters:
    +
  • data – time series data with the minimal length equal to the max_lag of the model
  • +
  • steps – the number of steps ahead to forecast (default: 1)
  • +
  • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
  • +
+
Returns:

a list with the forecasted values

+
+
+ +
+
+forecast_ahead_distribution(data, steps, **kwargs)
+

Probabilistic forecast n steps ahead

+ +++ + + + + + +
Parameters:
    +
  • data – time series data with the minimal length equal to the max_lag of the model
  • +
  • steps – the number of steps ahead to forecast
  • +
  • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
  • +
+
Returns:

a list with the forecasted Probability Distributions

+
+
+ +
+
+forecast_ahead_interval(data, steps, **kwargs)
+

Interval forecast n steps ahead

+ +++ + + + + + +
Parameters:
    +
  • data – time series data with the minimal length equal to the max_lag of the model
  • +
  • steps – the number of steps ahead to forecast
  • +
  • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
  • +
+
Returns:

a list with the forecasted intervals

+
+
+
-forecast_distribution(data, **kwargs)[source]
+forecast_distribution(data, **kwargs)

Probabilistic forecast one step ahead

@@ -1465,14 +1828,35 @@ Value: the measure value

+
+
+forecast_interval(data, **kwargs)
+

Interval forecast one step ahead

+ +++ + + + + + +
Parameters:
    +
  • data – time series data with the minimal length equal to the max_lag of the model
  • +
  • kwargs – model specific parameters
  • +
+
Returns:

a list with the prediction intervals

+
+
+
-knn(sample)[source]
+knn(sample)
-train(data, **kwargs)[source]
+train(data, **kwargs)

Method specific parameter fitting

@@ -1495,12 +1879,12 @@ Value: the measure value

pyFTS.benchmarks.naive module

-class pyFTS.benchmarks.naive.Naive(**kwargs)[source]
+class pyFTS.benchmarks.naive.Naive(**kwargs)

Bases: pyFTS.common.fts.FTS

Naïve Forecasting method

-forecast(data, **kwargs)[source]
+forecast(data, **kwargs)

Point forecast one step ahead

@@ -1526,12 +1910,12 @@ Value: the measure value

pyFTS.benchmarks.quantreg module

-class pyFTS.benchmarks.quantreg.QuantileRegression(**kwargs)[source]
+class pyFTS.benchmarks.quantreg.QuantileRegression(**kwargs)

Bases: pyFTS.common.fts.FTS

Façade for statsmodels.regression.quantile_regression

-forecast(ndata, **kwargs)[source]
+forecast(ndata, **kwargs)

Point forecast one step ahead

@@ -1552,7 +1936,7 @@ Value: the measure value

-forecast_ahead_distribution(ndata, steps, **kwargs)[source]
+forecast_ahead_distribution(ndata, steps, **kwargs)

Probabilistic forecast n steps ahead

@@ -1561,7 +1945,7 @@ Value: the measure value

@@ -1574,7 +1958,7 @@ Value: the measure value

-forecast_ahead_interval(ndata, steps, **kwargs)[source]
+forecast_ahead_interval(ndata, steps, **kwargs)

Interval forecast n steps ahead

Parameters:
  • data – time series data with the minimal length equal to the max_lag of the model
  • steps – the number of steps ahead to forecast
  • -
  • kwargs – model specific parameters
  • +
  • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
@@ -1583,7 +1967,7 @@ Value: the measure value

@@ -1596,7 +1980,7 @@ Value: the measure value

-forecast_distribution(ndata, **kwargs)[source]
+forecast_distribution(ndata, **kwargs)

Probabilistic forecast one step ahead

Parameters:
  • data – time series data with the minimal length equal to the max_lag of the model
  • steps – the number of steps ahead to forecast
  • -
  • kwargs – model specific parameters
  • +
  • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
@@ -1617,7 +2001,7 @@ Value: the measure value

-forecast_interval(ndata, **kwargs)[source]
+forecast_interval(ndata, **kwargs)

Interval forecast one step ahead

@@ -1638,22 +2022,319 @@ Value: the measure value

-interval_to_interval(data, lo_params, up_params)[source]
+interval_to_interval(data, lo_params, up_params)
-linearmodel(data, params)[source]
+linearmodel(data, params)
-point_to_interval(data, lo_params, up_params)[source]
+point_to_interval(data, lo_params, up_params)
-train(data, **kwargs)[source]
+train(data, **kwargs) +

Method specific parameter fitting

+
+++ + + + +
Parameters:
    +
  • data – training time series data
  • +
  • kwargs – Method specific parameters
  • +
+
+
+ +
+ + +
+

pyFTS.benchmarks.gaussianproc module

+
+
+class pyFTS.benchmarks.gaussianproc.GPR(**kwargs)
+

Bases: pyFTS.common.fts.FTS

+

Façade for sklearn.gaussian_proces

+
+
+forecast(data, **kwargs)
+

Point forecast one step ahead

+ +++ + + + + + +
Parameters:
    +
  • data – time series data with the minimal length equal to the max_lag of the model
  • +
  • kwargs – model specific parameters
  • +
+
Returns:

a list with the forecasted values

+
+
+ +
+
+forecast_ahead(data, steps, **kwargs)
+

Point forecast n steps ahead

+ +++ + + + + + +
Parameters:
    +
  • data – time series data with the minimal length equal to the max_lag of the model
  • +
  • steps – the number of steps ahead to forecast (default: 1)
  • +
  • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
  • +
+
Returns:

a list with the forecasted values

+
+
+ +
+
+forecast_ahead_distribution(data, steps, **kwargs)
+

Probabilistic forecast n steps ahead

+ +++ + + + + + +
Parameters:
    +
  • data – time series data with the minimal length equal to the max_lag of the model
  • +
  • steps – the number of steps ahead to forecast
  • +
  • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
  • +
+
Returns:

a list with the forecasted Probability Distributions

+
+
+ +
+
+forecast_ahead_interval(data, steps, **kwargs)
+

Interval forecast n steps ahead

+ +++ + + + + + +
Parameters:
    +
  • data – time series data with the minimal length equal to the max_lag of the model
  • +
  • steps – the number of steps ahead to forecast
  • +
  • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
  • +
+
Returns:

a list with the forecasted intervals

+
+
+ +
+
+forecast_distribution(data, **kwargs)
+

Probabilistic forecast one step ahead

+ +++ + + + + + +
Parameters:
    +
  • data – time series data with the minimal length equal to the max_lag of the model
  • +
  • kwargs – model specific parameters
  • +
+
Returns:

a list with probabilistic.ProbabilityDistribution objects representing the forecasted Probability Distributions

+
+
+ +
+
+forecast_interval(data, **kwargs)
+

Interval forecast one step ahead

+ +++ + + + + + +
Parameters:
    +
  • data – time series data with the minimal length equal to the max_lag of the model
  • +
  • kwargs – model specific parameters
  • +
+
Returns:

a list with the prediction intervals

+
+
+ +
+
+train(data, **kwargs)
+

Method specific parameter fitting

+ +++ + + + +
Parameters:
    +
  • data – training time series data
  • +
  • kwargs – Method specific parameters
  • +
+
+
+ +
+ +
+
+

pyFTS.benchmarks.BSTS module

+
+
+class pyFTS.benchmarks.BSTS.ARIMA(**kwargs)
+

Bases: pyFTS.common.fts.FTS

+

Façade for statsmodels.tsa.arima_model

+
+
+forecast(ndata, **kwargs)
+

Point forecast one step ahead

+ +++ + + + + + +
Parameters:
    +
  • data – time series data with the minimal length equal to the max_lag of the model
  • +
  • kwargs – model specific parameters
  • +
+
Returns:

a list with the forecasted values

+
+
+ +
+
+forecast_ahead_distribution(data, steps, **kwargs)
+

Probabilistic forecast n steps ahead

+ +++ + + + + + +
Parameters:
    +
  • data – time series data with the minimal length equal to the max_lag of the model
  • +
  • steps – the number of steps ahead to forecast
  • +
  • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
  • +
+
Returns:

a list with the forecasted Probability Distributions

+
+
+ +
+
+forecast_ahead_interval(ndata, steps, **kwargs)
+

Interval forecast n steps ahead

+ +++ + + + + + +
Parameters:
    +
  • data – time series data with the minimal length equal to the max_lag of the model
  • +
  • steps – the number of steps ahead to forecast
  • +
  • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
  • +
+
Returns:

a list with the forecasted intervals

+
+
+ +
+
+forecast_distribution(data, **kwargs)
+

Probabilistic forecast one step ahead

+ +++ + + + + + +
Parameters:
    +
  • data – time series data with the minimal length equal to the max_lag of the model
  • +
  • kwargs – model specific parameters
  • +
+
Returns:

a list with probabilistic.ProbabilityDistribution objects representing the forecasted Probability Distributions

+
+
+ +
+
+forecast_interval(data, **kwargs)
+

Interval forecast one step ahead

+ +++ + + + + + +
Parameters:
    +
  • data – time series data with the minimal length equal to the max_lag of the model
  • +
  • kwargs – model specific parameters
  • +
+
Returns:

a list with the prediction intervals

+
+
+ +
+
+inference(steps)
+
+ +
+
+train(data, **kwargs)

Method specific parameter fitting

diff --git a/docs/build/html/pyFTS.common.html b/docs/build/html/pyFTS.common.html index bc34a74..ea00ab8 100644 --- a/docs/build/html/pyFTS.common.html +++ b/docs/build/html/pyFTS.common.html @@ -125,12 +125,12 @@

Composite Fuzzy Sets

-class pyFTS.common.Composite.FuzzySet(name, superset=False, **kwargs)[source]
+class pyFTS.common.Composite.FuzzySet(name, superset=False, **kwargs)

Bases: pyFTS.common.FuzzySet.FuzzySet

Composite Fuzzy Set

-append(mf, parameters)[source]
+append(mf, parameters)

Adds a new function to composition

@@ -151,7 +151,7 @@
-append_set(set)[source]
+append_set(set)

Adds a new function to composition

@@ -172,7 +172,7 @@
-membership(x)[source]
+membership(x)

Calculate the membership value of a given input

@@ -188,7 +188,7 @@
-transform(x)[source]
+transform(x)

Preprocess the data point for non native types

@@ -210,40 +210,22 @@

This module implements functions for Fuzzy Logical Relationship generation

-class pyFTS.common.FLR.FLR(LHS, RHS)[source]
+class pyFTS.common.FLR.FLR(LHS, RHS)

Bases: object

Fuzzy Logical Relationship

Represents a temporal transition of the fuzzy set LHS on time t for the fuzzy set RHS on time t+1.

-
-
-LHS = None
-

Left Hand Side fuzzy set

-
- -
-
-RHS = None
-

Right Hand Side fuzzy set

-
-
-class pyFTS.common.FLR.IndexedFLR(index, LHS, RHS)[source]
+class pyFTS.common.FLR.IndexedFLR(index, LHS, RHS)

Bases: pyFTS.common.FLR.FLR

Season Indexed Fuzzy Logical Relationship

-
-
-index = None
-

seasonal index

-
-
-pyFTS.common.FLR.generate_high_order_recurrent_flr(fuzzyData)[source]
+pyFTS.common.FLR.generate_high_order_recurrent_flr(fuzzyData)

Create a ordered FLR set from a list of fuzzy sets with recurrence

@@ -259,7 +241,7 @@
-pyFTS.common.FLR.generate_indexed_flrs(sets, indexer, data, transformation=None, alpha_cut=0.0)[source]
+pyFTS.common.FLR.generate_indexed_flrs(sets, indexer, data, transformation=None, alpha_cut=0.0)

Create a season-indexed ordered FLR set from a list of fuzzy sets with recurrence

@@ -281,7 +263,7 @@
-pyFTS.common.FLR.generate_non_recurrent_flrs(fuzzyData)[source]
+pyFTS.common.FLR.generate_non_recurrent_flrs(fuzzyData)

Create a ordered FLR set from a list of fuzzy sets without recurrence

@@ -297,7 +279,7 @@
-pyFTS.common.FLR.generate_recurrent_flrs(fuzzyData)[source]
+pyFTS.common.FLR.generate_recurrent_flrs(fuzzyData)

Create a ordered FLR set from a list of fuzzy sets with recurrence

@@ -316,30 +298,12 @@

pyFTS.common.FuzzySet module

-class pyFTS.common.FuzzySet.FuzzySet(name, mf, parameters, centroid, alpha=1.0, **kwargs)[source]
+class pyFTS.common.FuzzySet.FuzzySet(name, mf, parameters, centroid, alpha=1.0, **kwargs)

Bases: object

Fuzzy Set

-
-
-Z = None
-

Partition function in respect to the membership function

-
- -
-
-alpha = None
-

The alpha cut value

-
- -
-
-centroid = None
-

The fuzzy set center of mass (or midpoint)

-
-
-membership(x)[source]
+membership(x)

Calculate the membership value of a given input

@@ -353,27 +317,9 @@
-
-
-mf = None
-

The membership function

-
- -
-
-name = None
-

The fuzzy set name

-
- -
-
-parameters = None
-

The parameters of the membership function

-
-
-partition_function(uod=None, nbins=100)[source]
+partition_function(uod=None, nbins=100)

Calculate the partition function over the membership function.

@@ -394,7 +340,7 @@
-transform(x)[source]
+transform(x)

Preprocess the data point for non native types

@@ -408,33 +354,21 @@
-
-
-type = None
-

The fuzzy set type (common, composite, nonstationary, etc)

-
- -
-
-variable = None
-

In multivariate time series, indicate for which variable this fuzzy set belogs

-
-
-pyFTS.common.FuzzySet.check_bounds(data, fuzzy_sets, ordered_sets)[source]
+pyFTS.common.FuzzySet.check_bounds(data, fuzzy_sets, ordered_sets)
-pyFTS.common.FuzzySet.check_bounds_index(data, fuzzy_sets, ordered_sets)[source]
+pyFTS.common.FuzzySet.check_bounds_index(data, fuzzy_sets, ordered_sets)
-pyFTS.common.FuzzySet.fuzzyfy(data, partitioner, **kwargs)[source]
+pyFTS.common.FuzzySet.fuzzyfy(data, partitioner, **kwargs)

A general method for fuzzyfication.

@@ -458,7 +392,7 @@
-pyFTS.common.FuzzySet.fuzzyfy_instance(inst, fuzzy_sets, ordered_sets=None)[source]
+pyFTS.common.FuzzySet.fuzzyfy_instance(inst, fuzzy_sets, ordered_sets=None)

Calculate the membership values for a data point given fuzzy sets

@@ -480,7 +414,7 @@
-pyFTS.common.FuzzySet.fuzzyfy_instances(data, fuzzy_sets, ordered_sets=None)[source]
+pyFTS.common.FuzzySet.fuzzyfy_instances(data, fuzzy_sets, ordered_sets=None)

Calculate the membership values for a data point given fuzzy sets

@@ -502,17 +436,17 @@
-pyFTS.common.FuzzySet.fuzzyfy_series(data, fuzzy_sets, method='maximum', alpha_cut=0.0, ordered_sets=None)[source]
+pyFTS.common.FuzzySet.fuzzyfy_series(data, fuzzy_sets, method='maximum', alpha_cut=0.0, ordered_sets=None)
-pyFTS.common.FuzzySet.fuzzyfy_series_old(data, fuzzy_sets, method='maximum')[source]
+pyFTS.common.FuzzySet.fuzzyfy_series_old(data, fuzzy_sets, method='maximum')
-pyFTS.common.FuzzySet.get_fuzzysets(inst, fuzzy_sets, ordered_sets=None, alpha_cut=0.0)[source]
+pyFTS.common.FuzzySet.get_fuzzysets(inst, fuzzy_sets, ordered_sets=None, alpha_cut=0.0)

Return the fuzzy sets which membership value for a inst is greater than the alpha_cut

@@ -535,7 +469,7 @@
-pyFTS.common.FuzzySet.get_maximum_membership_fuzzyset(inst, fuzzy_sets, ordered_sets=None)[source]
+pyFTS.common.FuzzySet.get_maximum_membership_fuzzyset(inst, fuzzy_sets, ordered_sets=None)

Fuzzify a data point, returning the fuzzy set with maximum membership value

@@ -557,7 +491,7 @@
-pyFTS.common.FuzzySet.get_maximum_membership_fuzzyset_index(inst, fuzzy_sets)[source]
+pyFTS.common.FuzzySet.get_maximum_membership_fuzzyset_index(inst, fuzzy_sets)

Fuzzify a data point, returning the fuzzy set with maximum membership value

@@ -578,12 +512,12 @@
-pyFTS.common.FuzzySet.grant_bounds(data, fuzzy_sets, ordered_sets)[source]
+pyFTS.common.FuzzySet.grant_bounds(data, fuzzy_sets, ordered_sets)
-pyFTS.common.FuzzySet.set_ordered(fuzzy_sets)[source]
+pyFTS.common.FuzzySet.set_ordered(fuzzy_sets)

Order a fuzzy set list by their centroids

@@ -603,7 +537,7 @@

Membership functions for Fuzzy Sets

-pyFTS.common.Membership.bellmf(x, parameters)[source]
+pyFTS.common.Membership.bellmf(x, parameters)

Bell shaped membership function

@@ -624,7 +558,7 @@
-pyFTS.common.Membership.gaussmf(x, parameters)[source]
+pyFTS.common.Membership.gaussmf(x, parameters)

Gaussian fuzzy membership function

@@ -645,7 +579,7 @@
-pyFTS.common.Membership.sigmf(x, parameters)[source]
+pyFTS.common.Membership.sigmf(x, parameters)

Sigmoid / Logistic membership function

@@ -664,7 +598,7 @@
-pyFTS.common.Membership.singleton(x, parameters)[source]
+pyFTS.common.Membership.singleton(x, parameters)

Singleton membership function, a single value fuzzy function

@@ -683,7 +617,7 @@
-pyFTS.common.Membership.trapmf(x, parameters)[source]
+pyFTS.common.Membership.trapmf(x, parameters)

Trapezoidal fuzzy membership function

@@ -704,7 +638,7 @@
-pyFTS.common.Membership.trimf(x, parameters)[source]
+pyFTS.common.Membership.trimf(x, parameters)

Triangular fuzzy membership function

@@ -728,7 +662,7 @@

pyFTS.common.SortedCollection module

-class pyFTS.common.SortedCollection.SortedCollection(iterable=(), key=None)[source]
+class pyFTS.common.SortedCollection.SortedCollection(iterable=(), key=None)

Bases: object

Sequence sorted by a key function.

SortedCollection() is much easier to work with than using bisect() directly. @@ -796,81 +730,81 @@ bisect but with a simpler API and support for key functions.

-around(k)[source]
+around(k)
-between(ge, le)[source]
+between(ge, le)
-clear()[source]
+clear()
-copy()[source]
+copy()
-count(item)[source]
+count(item)

Return number of occurrences of item

-find(k)[source]
+find(k)

Return first item with a key == k. Raise ValueError if not found.

-find_ge(k)[source]
+find_ge(k)

Return first item with a key >= equal to k. Raise ValueError if not found

-find_gt(k)[source]
+find_gt(k)

Return first item with a key > k. Raise ValueError if not found

-find_le(k)[source]
+find_le(k)

Return last item with a key <= k. Raise ValueError if not found.

-find_lt(k)[source]
+find_lt(k)

Return last item with a key < k. Raise ValueError if not found.

-index(item)[source]
+index(item)

Find the position of an item. Raise ValueError if not found.

-insert(item)[source]
+insert(item)

Insert a new item. If equal keys are found, add to the left

-insert_right(item)[source]
+insert_right(item)

Insert a new item. If equal keys are found, add to the right

-inside(ge, le)[source]
+inside(ge, le)
@@ -881,7 +815,7 @@ bisect but with a simpler API and support for key functions.

-remove(item)[source]
+remove(item)

Remove first occurence of item. Raise ValueError if not found

@@ -893,12 +827,12 @@ bisect but with a simpler API and support for key functions.

Common data transformation used on pre and post processing of the FTS

-class pyFTS.common.Transformations.AdaptiveExpectation(parameters)[source]
+class pyFTS.common.Transformations.AdaptiveExpectation(parameters)

Bases: pyFTS.common.Transformations.Transformation

Adaptive Expectation post processing

-apply(data, param=None, **kwargs)[source]
+apply(data, param=None, **kwargs)

Apply the transformation on input data

@@ -920,7 +854,7 @@ bisect but with a simpler API and support for key functions.

-inverse(data, param, **kwargs)[source]
+inverse(data, param, **kwargs)
@@ -948,12 +882,12 @@ bisect but with a simpler API and support for key functions.

-class pyFTS.common.Transformations.BoxCox(plambda)[source]
+class pyFTS.common.Transformations.BoxCox(plambda)

Bases: pyFTS.common.Transformations.Transformation

Box-Cox power transformation

-apply(data, param=None, **kwargs)[source]
+apply(data, param=None, **kwargs)

Apply the transformation on input data

@@ -975,7 +909,7 @@ bisect but with a simpler API and support for key functions.

-inverse(data, param=None, **kwargs)[source]
+inverse(data, param=None, **kwargs)
@@ -1003,12 +937,12 @@ bisect but with a simpler API and support for key functions.

-class pyFTS.common.Transformations.Differential(lag)[source]
+class pyFTS.common.Transformations.Differential(lag)

Bases: pyFTS.common.Transformations.Transformation

Differentiation data transform

-apply(data, param=None, **kwargs)[source]
+apply(data, param=None, **kwargs)

Apply the transformation on input data

@@ -1030,7 +964,7 @@ bisect but with a simpler API and support for key functions.

-inverse(data, param, **kwargs)[source]
+inverse(data, param, **kwargs)
@@ -1058,12 +992,12 @@ bisect but with a simpler API and support for key functions.

-class pyFTS.common.Transformations.Scale(min=0, max=1)[source]
+class pyFTS.common.Transformations.Scale(min=0, max=1)

Bases: pyFTS.common.Transformations.Transformation

Scale data inside a interval [min, max]

-apply(data, param=None, **kwargs)[source]
+apply(data, param=None, **kwargs)

Apply the transformation on input data

@@ -1085,7 +1019,7 @@ bisect but with a simpler API and support for key functions.

-inverse(data, param, **kwargs)[source]
+inverse(data, param, **kwargs)
@@ -1113,12 +1047,12 @@ bisect but with a simpler API and support for key functions.

-class pyFTS.common.Transformations.Transformation(**kwargs)[source]
+class pyFTS.common.Transformations.Transformation(**kwargs)

Bases: object

Data transformation used on pre and post processing of the FTS

-apply(data, param, **kwargs)[source]
+apply(data, param, **kwargs)

Apply the transformation on input data

@@ -1140,7 +1074,7 @@ bisect but with a simpler API and support for key functions.

-inverse(data, param, **kwargs)[source]
+inverse(data, param, **kwargs)
@@ -1163,22 +1097,22 @@ bisect but with a simpler API and support for key functions.

-pyFTS.common.Transformations.Z(original)[source]
+pyFTS.common.Transformations.Z(original)
-pyFTS.common.Transformations.aggregate(original, operation)[source]
+pyFTS.common.Transformations.aggregate(original, operation)
-pyFTS.common.Transformations.roi(original)[source]
+pyFTS.common.Transformations.roi(original)
-pyFTS.common.Transformations.smoothing(original, lags)[source]
+pyFTS.common.Transformations.smoothing(original, lags)
@@ -1192,22 +1126,22 @@ bisect but with a simpler API and support for key functions.

-pyFTS.common.Util.draw_sets_on_axis(axis, model, size)[source]
+pyFTS.common.Util.draw_sets_on_axis(axis, model, size)
-pyFTS.common.Util.enumerate2(xs, start=0, step=1)[source]
+pyFTS.common.Util.enumerate2(xs, start=0, step=1)
-pyFTS.common.Util.load_env(file)[source]
+pyFTS.common.Util.load_env(file)
-pyFTS.common.Util.load_obj(file)[source]
+pyFTS.common.Util.load_obj(file)

Load to memory an object stored filesystem. This function depends on Dill package

@@ -1223,7 +1157,7 @@ bisect but with a simpler API and support for key functions.

-pyFTS.common.Util.persist_env(file)[source]
+pyFTS.common.Util.persist_env(file)

Persist an entire environment on file. This function depends on Dill package

@@ -1237,7 +1171,7 @@ bisect but with a simpler API and support for key functions.

-pyFTS.common.Util.persist_obj(obj, file)[source]
+pyFTS.common.Util.persist_obj(obj, file)

Persist an object on filesystem. This function depends on Dill package

@@ -1255,7 +1189,7 @@ bisect but with a simpler API and support for key functions.

-pyFTS.common.Util.plot_compared_intervals_ahead(original, models, colors, distributions, time_from, time_to, intervals=True, save=False, file=None, tam=[20, 5], resolution=None, cmap='Blues', linewidth=1.5)[source]
+pyFTS.common.Util.plot_compared_intervals_ahead(original, models, colors, distributions, time_from, time_to, intervals=True, save=False, file=None, tam=[20, 5], resolution=None, cmap='Blues', linewidth=1.5)

Plot the forecasts of several one step ahead models, by point or by interval

@@ -1287,13 +1221,13 @@ bisect but with a simpler API and support for key functions.

-pyFTS.common.Util.plot_density_rectange(ax, cmap, density, fig, resolution, time_from, time_to)[source]
+pyFTS.common.Util.plot_density_rectange(ax, cmap, density, fig, resolution, time_from, time_to)

Auxiliar function to plot_compared_intervals_ahead

-pyFTS.common.Util.plot_distribution(ax, cmap, probabilitydist, fig, time_from, reference_data=None)[source]
+pyFTS.common.Util.plot_distribution(ax, cmap, probabilitydist, fig, time_from, reference_data=None)

Plot forecasted ProbabilityDistribution objects on a matplotlib axis

@@ -1316,9 +1250,32 @@ bisect but with a simpler API and support for key functions.

+
+
+pyFTS.common.Util.plot_distribution2(probabilitydist, data, **kwargs)
+

Plot distributions over the time (x-axis)

+ +++ + + + +
Parameters:
    +
  • probabilitydist – the forecasted probability distributions to plot
  • +
  • data – the original test sample
  • +
  • start_at – the time index (inside of data) to start to plot the probability distributions
  • +
  • ax – a matplotlib axis. If no value was provided a new axis is created.
  • +
  • cmap – a matplotlib colormap name, the default value is ‘Blues’
  • +
  • quantiles – the list of quantiles intervals to plot, e. g. [.05, .25, .75, .95]
  • +
  • median – a boolean value indicating if the median value will be plot.
  • +
+
+
+
-pyFTS.common.Util.plot_interval(axis, intervals, order, label, color='red', typeonlegend=False, ls='-', linewidth=1)[source]
+pyFTS.common.Util.plot_interval(axis, intervals, order, label, color='red', typeonlegend=False, ls='-', linewidth=1)

Plot forecasted intervals on matplotlib

@@ -1343,14 +1300,38 @@ bisect but with a simpler API and support for key functions.

+
+
+pyFTS.common.Util.plot_interval2(intervals, data, **kwargs)
+

Plot forecasted intervals on matplotlib

+ +++ + + + +
Parameters:
    +
  • intervals – list of forecasted intervals
  • +
  • data – the original test sample
  • +
  • start_at – the time index (inside of data) to start to plot the intervals
  • +
  • label – figure label
  • +
  • color – matplotlib color name
  • +
  • typeonlegend
  • +
  • ls – matplotlib line style
  • +
  • linewidth – matplotlib width
  • +
+
+
+
-pyFTS.common.Util.plot_probability_distributions(pmfs, lcolors, tam=[15, 7])[source]
+pyFTS.common.Util.plot_probability_distributions(pmfs, lcolors, tam=[15, 7])
-pyFTS.common.Util.plot_rules(model, size=[5, 5], axis=None, rules_by_axis=None, columns=1)[source]
+pyFTS.common.Util.plot_rules(model, size=[5, 5], axis=None, rules_by_axis=None, columns=1)

Plot the FLRG rules of a FTS model on a matplotlib axis

@@ -1374,7 +1355,7 @@ bisect but with a simpler API and support for key functions.

-pyFTS.common.Util.show_and_save_image(fig, file, flag, lgd=None)[source]
+pyFTS.common.Util.show_and_save_image(fig, file, flag, lgd=None)

Show and image and save on file

@@ -1394,7 +1375,7 @@ bisect but with a simpler API and support for key functions.

-pyFTS.common.Util.sliding_window(data, windowsize, train=0.8, inc=0.1, **kwargs)[source]
+pyFTS.common.Util.sliding_window(data, windowsize, train=0.8, inc=0.1, **kwargs)

Sliding window method of cross validation for time series

@@ -1417,7 +1398,7 @@ bisect but with a simpler API and support for key functions.

-pyFTS.common.Util.uniquefilename(name)[source]
+pyFTS.common.Util.uniquefilename(name)
@@ -1425,37 +1406,25 @@ bisect but with a simpler API and support for key functions.

pyFTS.common.flrg module

-class pyFTS.common.flrg.FLRG(order, **kwargs)[source]
+class pyFTS.common.flrg.FLRG(order, **kwargs)

Bases: object

Fuzzy Logical Relationship Group

Group a set of FLR’s with the same LHS. Represents the temporal patterns for time t+1 (the RHS fuzzy sets) when the LHS pattern is identified on time t.

-
-
-LHS = None
-

Left Hand Side of the rule

-
- -
-
-RHS = None
-

Right Hand Side of the rule

-
-
-append_rhs(set, **kwargs)[source]
+append_rhs(set, **kwargs)
-get_key()[source]
+get_key()

Returns a unique identifier for this FLRG

-get_lower(sets)[source]
+get_lower(sets)

Returns the lower bound value for the RHS fuzzy sets

@@ -1471,7 +1440,7 @@ when the LHS pattern is identified on time t.

-get_membership(data, sets)[source]
+get_membership(data, sets)

Returns the membership value of the FLRG for the input data

@@ -1492,7 +1461,7 @@ when the LHS pattern is identified on time t.

-get_midpoint(sets)[source]
+get_midpoint(sets)

Returns the midpoint value for the RHS fuzzy sets

@@ -1508,12 +1477,12 @@ when the LHS pattern is identified on time t.

-get_midpoints(sets)[source]
+get_midpoints(sets)
-get_upper(sets)[source]
+get_upper(sets)

Returns the upper bound value for the RHS fuzzy sets

@@ -1527,15 +1496,9 @@ when the LHS pattern is identified on time t.

-
-
-order = None
-

Number of lags on LHS

-
-
-reset_calculated_values()[source]
+reset_calculated_values()
@@ -1545,23 +1508,17 @@ when the LHS pattern is identified on time t.

pyFTS.common.fts module

-class pyFTS.common.fts.FTS(**kwargs)[source]
+class pyFTS.common.fts.FTS(**kwargs)

Bases: object

Fuzzy Time Series object model

-
-
-alpha_cut = None
-

A float with the minimal membership to be considered on fuzzyfication process

-
-
-append_log(operation, value)[source]
+append_log(operation, value)
-append_rule(flrg)[source]
+append_rule(flrg)

Append FLRG rule to the model

@@ -1577,12 +1534,12 @@ when the LHS pattern is identified on time t.

-append_transformation(transformation)[source]
+append_transformation(transformation)
-apply_inverse_transformations(data, params=None, **kwargs)[source]
+apply_inverse_transformations(data, params=None, **kwargs)

Apply the data transformations for data postprocessing

@@ -1605,7 +1562,7 @@ when the LHS pattern is identified on time t.

-apply_transformations(data, params=None, updateUoD=False, **kwargs)[source]
+apply_transformations(data, params=None, updateUoD=False, **kwargs)

Apply the data transformations for data preprocessing

@@ -1626,21 +1583,14 @@ when the LHS pattern is identified on time t.

-
-
-auto_update = None
-

A boolean value indicating that model is incremental

-
- -
-
-benchmark_only = None
-

A boolean value indicating a façade for external (non-FTS) model used on benchmarks or ensembles.

-
+
+
+clip_uod(ndata)
+
-clone_parameters(model)[source]
+clone_parameters(model)

Import the parameters values from other model

@@ -1652,15 +1602,9 @@ when the LHS pattern is identified on time t.

-
-
-detail = None
-

A string with the model detailed information

-
-
-fit(ndata, **kwargs)[source]
+fit(ndata, **kwargs)

Fit the model’s parameters based on the training data.

@@ -1682,15 +1626,9 @@ when the LHS pattern is identified on time t.

-
-
-flrgs = None
-

The list of Fuzzy Logical Relationship Groups - FLRG

-
-
-forecast(data, **kwargs)[source]
+forecast(data, **kwargs)

Point forecast one step ahead

@@ -1711,7 +1649,7 @@ when the LHS pattern is identified on time t.

-forecast_ahead(data, steps, **kwargs)[source]
+forecast_ahead(data, steps, **kwargs)

Point forecast n steps ahead

@@ -1719,8 +1657,8 @@ when the LHS pattern is identified on time t.

@@ -1733,7 +1671,7 @@ when the LHS pattern is identified on time t.

-forecast_ahead_distribution(data, steps, **kwargs)[source]
+forecast_ahead_distribution(data, steps, **kwargs)

Probabilistic forecast n steps ahead

Parameters:
  • data – time series data with the minimal length equal to the max_lag of the model
  • -
  • steps – the number of steps ahead to forecast
  • -
  • start – in the multi step forecasting, the index of the data where to start forecasting
  • +
  • steps – the number of steps ahead to forecast (default: 1)
  • +
  • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
@@ -1742,7 +1680,7 @@ when the LHS pattern is identified on time t.

@@ -1755,7 +1693,7 @@ when the LHS pattern is identified on time t.

-forecast_ahead_interval(data, steps, **kwargs)[source]
+forecast_ahead_interval(data, steps, **kwargs)

Interval forecast n steps ahead

Parameters:
  • data – time series data with the minimal length equal to the max_lag of the model
  • steps – the number of steps ahead to forecast
  • -
  • kwargs – model specific parameters
  • +
  • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
@@ -1764,7 +1702,7 @@ when the LHS pattern is identified on time t.

@@ -1777,7 +1715,7 @@ when the LHS pattern is identified on time t.

-forecast_ahead_multivariate(data, steps, **kwargs)[source]
+forecast_ahead_multivariate(data, steps, **kwargs)

Multivariate forecast n step ahead

Parameters:
  • data – time series data with the minimal length equal to the max_lag of the model
  • steps – the number of steps ahead to forecast
  • -
  • kwargs – model specific parameters
  • +
  • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
@@ -1786,7 +1724,7 @@ when the LHS pattern is identified on time t.

@@ -1799,7 +1737,7 @@ when the LHS pattern is identified on time t.

-forecast_distribution(data, **kwargs)[source]
+forecast_distribution(data, **kwargs)

Probabilistic forecast one step ahead

Parameters:
  • data – Pandas dataframe with one column for each variable and with the minimal length equal to the max_lag of the model
  • steps – the number of steps ahead to forecast
  • -
  • kwargs – model specific parameters
  • +
  • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
@@ -1820,7 +1758,7 @@ when the LHS pattern is identified on time t.

-forecast_interval(data, **kwargs)[source]
+forecast_interval(data, **kwargs)

Interval forecast one step ahead

@@ -1841,7 +1779,7 @@ when the LHS pattern is identified on time t.

-forecast_multivariate(data, **kwargs)[source]
+forecast_multivariate(data, **kwargs)

Multivariate forecast one step ahead

@@ -1862,7 +1800,7 @@ when the LHS pattern is identified on time t.

-fuzzy(data)[source]
+fuzzy(data)

Fuzzify a data point

@@ -1878,73 +1816,12 @@ when the LHS pattern is identified on time t.

-get_UoD()[source]
+get_UoD()
-
-
-has_interval_forecasting = None
-

A boolean value indicating if the model supports interval forecasting, default: False

-
- -
-
-has_point_forecasting = None
-

A boolean value indicating if the model supports point forecasting, default: True

-
- -
-
-has_probability_forecasting = None
-

A boolean value indicating if the model support probabilistic forecasting, default: False

-
- -
-
-has_seasonality = None
-

A boolean value indicating if the model supports seasonal indexers, default: False

-
- -
-
-indexer = None
-

An pyFTS.models.seasonal.Indexer object for indexing the time series data

-
- -
-
-is_clustered = None
-

A boolean value indicating if the model support multivariate time series (Pandas DataFrame), but works like -a monovariate method, default: False

-
- -
-
-is_high_order = None
-

A boolean value indicating if the model support orders greater than 1, default: False

-
- -
-
-is_multivariate = None
-

A boolean value indicating if the model support multivariate time series (Pandas DataFrame), default: False

-
- -
-
-is_wrapper = None
-

Indicates that this model is a wrapper for other(s) method(s)

-
- -
-
-lags = None
-

The list of lag indexes for high order models

-
-
-len_total()[source]
+len_total()

Total length of the model, adding the number of terms in all rules

@@ -1956,21 +1833,9 @@ a monovariate method, default: False

-
-
-log = None
-
- -
-
-max_lag = None
-

A integer indicating the largest lag used by the model. This value also indicates the minimum number of past lags -needed to forecast a single step ahead

-
-
-merge(model)[source]
+merge(model)

Merge the FLRG rules from other model

@@ -1984,45 +1849,9 @@ needed to forecast a single step ahead

-
-
-min_order = None
-

In high order models, this integer value indicates the minimal order supported for the model, default: 1

-
- -
-
-name = None
-

A string with the model name

-
- -
-
-order = None
-

A integer with the model order (number of past lags are used on forecasting)

-
- -
-
-original_max = None
-

A float with the upper limit of the Universe of Discourse, the maximal value found on training data

-
- -
-
-original_min = None
-

A float with the lower limit of the Universe of Discourse, the minimal value found on training data

-
- -
-
-partitioner = None
-

A pyFTS.partitioners.Partitioner object with the Universe of Discourse partitioner used on the model. This is a mandatory dependecy.

-
-
-predict(data, **kwargs)[source]
+predict(data, **kwargs)

Forecast using trained model

@@ -2031,11 +1860,11 @@ needed to forecast a single step ahead

Parameters:
  • data – time series with minimal length to the order of the model
  • type – the forecasting type, one of these values: point(default), interval, distribution or multivariate.
  • -
  • steps_ahead – The forecasting horizon, i. e., the number of steps ahead to forecast
  • -
  • start – in the multi step forecasting, the index of the data where to start forecasting
  • -
  • distributed – boolean, indicate if the forecasting procedure will be distributed in a dispy cluster
  • +
  • steps_ahead – The forecasting horizon, i. e., the number of steps ahead to forecast (default value: 1)
  • +
  • start_at – in the multi step forecasting, the index of the data where to start forecasting (default value: 0)
  • +
  • distributed – boolean, indicate if the forecasting procedure will be distributed in a dispy cluster (default value: False)
  • nodes – a list with the dispy cluster nodes addresses
  • -
  • explain – try to explain, step by step, the one-step-ahead point forecasting result given the input data.
  • +
  • explain – try to explain, step by step, the one-step-ahead point forecasting result given the input data. (default value: False)
  • generators – for multivariate methods on multi step ahead forecasting, generators is a dict where the keys are the dataframe columun names (except the target_variable) and the values are lambda functions that accept one value (the actual value of the variable) and return the next value or trained FTS @@ -2052,7 +1881,7 @@ models that accept the actual values and forecast new ones.
  • -reset_calculated_values()[source]
    +reset_calculated_values()

    Reset all pre-calculated values on the FLRG’s

    @@ -2064,21 +1893,9 @@ models that accept the actual values and forecast new ones.
    -
    -
    -sets = None
    -

    The list of fuzzy sets used on this model

    -
    - -
    -
    -shortname = None
    -

    A string with a short name or alias for the model

    -
    -
    -train(data, **kwargs)[source]
    +train(data, **kwargs)

    Method specific parameter fitting

    @@ -2094,24 +1911,6 @@ models that accept the actual values and forecast new ones.
    -
    -
    -transformations = None
    -

    A list with the data transformations (common.Transformations) applied on model pre and post processing, default: []

    -
    - -
    -
    -transformations_param = None
    -

    A list with the specific parameters for each data transformation

    -
    - -
    -
    -uod_clip = None
    -

    Flag indicating if the test data will be clipped inside the training Universe of Discourse

    -
    - @@ -2120,46 +1919,46 @@ models that accept the actual values and forecast new ones.

    Tree data structure

    -class pyFTS.common.tree.FLRGTree[source]
    +class pyFTS.common.tree.FLRGTree

    Bases: object

    Represents a FLRG set with a tree structure

    -class pyFTS.common.tree.FLRGTreeNode(value)[source]
    +class pyFTS.common.tree.FLRGTreeNode(value)

    Bases: object

    Tree node for

    -appendChild(child)[source]
    +appendChild(child)
    -getChildren()[source]
    +getChildren()
    -getStr(k)[source]
    +getStr(k)
    -paths(acc=[])[source]
    +paths(acc=[])
    -pyFTS.common.tree.build_tree_without_order(node, lags, level)[source]
    +pyFTS.common.tree.build_tree_without_order(node, lags, level)
    -pyFTS.common.tree.flat(dados)[source]
    +pyFTS.common.tree.flat(dados)
    diff --git a/docs/build/html/pyFTS.data.html b/docs/build/html/pyFTS.data.html index b0ea164..3dbf383 100644 --- a/docs/build/html/pyFTS.data.html +++ b/docs/build/html/pyFTS.data.html @@ -140,7 +140,7 @@

    pyFTS.data.common module

    -pyFTS.data.common.get_dataframe(filename, url, sep=';', compression='infer')[source]
    +pyFTS.data.common.get_dataframe(filename, url, sep=';', compression='infer')

    This method check if filename already exists, read the file and return its data. If the file don’t already exists, it will be downloaded and decompressed.

    @@ -171,12 +171,12 @@ If the file don’t already exists, it will be downloaded and decompressed.

    Facilities to generate synthetic stochastic processes

    -class pyFTS.data.artificial.SignalEmulator(**kwargs)[source]
    +class pyFTS.data.artificial.SignalEmulator(**kwargs)

    Bases: object

    Emulate a complex signal built from several additive and non-additive components

    -blip(**kwargs)[source]
    +blip(**kwargs)

    Creates an outlier greater than the maximum or lower then the minimum previous values of the signal, and insert it on a random location of the signal.

    @@ -189,15 +189,9 @@ and insert it on a random location of the signal.

    -
    -
    -components = None
    -

    Components of the signal

    -
    -
    -incremental_gaussian(mu, sigma, **kwargs)[source]
    +incremental_gaussian(mu, sigma, **kwargs)

    Creates an additive gaussian interference on a previous signal

    @@ -223,7 +217,7 @@ and insert it on a random location of the signal.

    -periodic_gaussian(type, period, mu_min, sigma_min, mu_max, sigma_max, **kwargs)[source]
    +periodic_gaussian(type, period, mu_min, sigma_min, mu_max, sigma_max, **kwargs)

    Creates an additive periodic gaussian interference on a previous signal

    @@ -251,7 +245,7 @@ and insert it on a random location of the signal.

    -run()[source]
    +run()

    Render the signal

    @@ -265,7 +259,7 @@ and insert it on a random location of the signal.

    -stationary_gaussian(mu, sigma, **kwargs)[source]
    +stationary_gaussian(mu, sigma, **kwargs)

    Creates a continuous Gaussian signal with mean mu and variance sigma.

    @@ -295,7 +289,7 @@ this signal is added to the previous one
    -pyFTS.data.artificial.generate_gaussian_linear(mu_ini, sigma_ini, mu_inc, sigma_inc, it=100, num=10, vmin=None, vmax=None)[source]
    +pyFTS.data.artificial.generate_gaussian_linear(mu_ini, sigma_ini, mu_inc, sigma_inc, it=100, num=10, vmin=None, vmax=None)

    Generate data sampled from Gaussian distribution, with constant or linear changing parameters

    @@ -322,7 +316,7 @@ this signal is added to the previous one
    -pyFTS.data.artificial.generate_linear_periodic_gaussian(period, mu_min, sigma_min, mu_max, sigma_max, it=100, num=10, vmin=None, vmax=None)[source]
    +pyFTS.data.artificial.generate_linear_periodic_gaussian(period, mu_min, sigma_min, mu_max, sigma_max, it=100, num=10, vmin=None, vmax=None)

    Generates a periodic linear variation on mean and variance

    @@ -350,7 +344,7 @@ this signal is added to the previous one
    -pyFTS.data.artificial.generate_sinoidal_periodic_gaussian(period, mu_min, sigma_min, mu_max, sigma_max, it=100, num=10, vmin=None, vmax=None)[source]
    +pyFTS.data.artificial.generate_sinoidal_periodic_gaussian(period, mu_min, sigma_min, mu_max, sigma_max, it=100, num=10, vmin=None, vmax=None)

    Generates a periodic sinoidal variation on mean and variance

    @@ -378,7 +372,7 @@ this signal is added to the previous one
    -pyFTS.data.artificial.generate_uniform_linear(min_ini, max_ini, min_inc, max_inc, it=100, num=10, vmin=None, vmax=None)[source]
    +pyFTS.data.artificial.generate_uniform_linear(min_ini, max_ini, min_inc, max_inc, it=100, num=10, vmin=None, vmax=None)

    Generate data sampled from Uniform distribution, with constant or linear changing bounds

    @@ -405,7 +399,7 @@ this signal is added to the previous one
    -pyFTS.data.artificial.random_walk(n=500, type='gaussian')[source]
    +pyFTS.data.artificial.random_walk(n=500, type='gaussian')

    Simple random walk

    @@ -426,7 +420,7 @@ this signal is added to the previous one
    -pyFTS.data.artificial.white_noise(n=500)[source]
    +pyFTS.data.artificial.white_noise(n=500)

    Simple Gaussian noise signal :param n: number of samples :return:

    @@ -439,7 +433,7 @@ this signal is added to the previous one

    Source: Hyndman, R.J., Time Series Data Library, http://www-personal.buseco.monash.edu.au/~hyndman/TSDL/.

    -pyFTS.data.AirPassengers.get_data()[source]
    +pyFTS.data.AirPassengers.get_data()

    Get a simple univariate time series data.

    @@ -453,7 +447,7 @@ this signal is added to the previous one
    -pyFTS.data.AirPassengers.get_dataframe()[source]
    +pyFTS.data.AirPassengers.get_dataframe()

    Get the complete multivariate time series data.

    @@ -473,7 +467,7 @@ this signal is added to the previous one

    Source: https://finance.yahoo.com/quote/BTC-USD?p=BTC-USD

    -pyFTS.data.Bitcoin.get_data(field='AVG')[source]
    +pyFTS.data.Bitcoin.get_data(field='AVG')

    Get the univariate time series data.

    @@ -489,7 +483,7 @@ this signal is added to the previous one
    -pyFTS.data.Bitcoin.get_dataframe()[source]
    +pyFTS.data.Bitcoin.get_dataframe()

    Get the complete multivariate time series data.

    @@ -509,7 +503,7 @@ this signal is added to the previous one

    Source: https://finance.yahoo.com/quote/%5EGSPC/history?p=%5EGSPC

    -pyFTS.data.DowJones.get_data(field='AVG')[source]
    +pyFTS.data.DowJones.get_data(field='AVG')

    Get the univariate time series data.

    @@ -525,7 +519,7 @@ this signal is added to the previous one
    -pyFTS.data.DowJones.get_dataframe()[source]
    +pyFTS.data.DowJones.get_dataframe()

    Get the complete multivariate time series data.

    @@ -543,7 +537,7 @@ this signal is added to the previous one

    Yearly University of Alabama enrollments from 1971 to 1992.

    -pyFTS.data.Enrollments.get_data()[source]
    +pyFTS.data.Enrollments.get_data()

    Get a simple univariate time series data.

    @@ -557,7 +551,7 @@ this signal is added to the previous one
    -pyFTS.data.Enrollments.get_dataframe()[source]
    +pyFTS.data.Enrollments.get_dataframe()
    @@ -568,7 +562,7 @@ this signal is added to the previous one

    Source: https://finance.yahoo.com/quote/ETH-USD?p=ETH-USD

    -pyFTS.data.Ethereum.get_data(field='AVG')[source]
    +pyFTS.data.Ethereum.get_data(field='AVG')

    Get the univariate time series data.

    @@ -584,7 +578,7 @@ this signal is added to the previous one
    -pyFTS.data.Ethereum.get_dataframe()[source]
    +pyFTS.data.Ethereum.get_dataframe()

    Get the complete multivariate time series data.

    @@ -603,7 +597,7 @@ this signal is added to the previous one

    Daily averaged quotations, by business day, from 2016 to 2018.

    -pyFTS.data.EURGBP.get_data(field='avg')[source]
    +pyFTS.data.EURGBP.get_data(field='avg')

    Get the univariate time series data.

    @@ -619,7 +613,7 @@ this signal is added to the previous one
    -pyFTS.data.EURGBP.get_dataframe()[source]
    +pyFTS.data.EURGBP.get_dataframe()

    Get the complete multivariate time series data.

    @@ -638,7 +632,7 @@ this signal is added to the previous one

    Daily averaged quotations, by business day, from 2016 to 2018.

    -pyFTS.data.EURUSD.get_data(field='avg')[source]
    +pyFTS.data.EURUSD.get_data(field='avg')

    Get the univariate time series data.

    @@ -654,7 +648,7 @@ this signal is added to the previous one
    -pyFTS.data.EURUSD.get_dataframe()[source]
    +pyFTS.data.EURUSD.get_dataframe()

    Get the complete multivariate time series data.

    @@ -673,7 +667,7 @@ this signal is added to the previous one

    Daily averaged quotations, by business day, from 2016 to 2018.

    -pyFTS.data.GBPUSD.get_data(field='avg')[source]
    +pyFTS.data.GBPUSD.get_data(field='avg')

    Get the univariate time series data.

    @@ -689,7 +683,7 @@ this signal is added to the previous one
    -pyFTS.data.GBPUSD.get_dataframe()[source]
    +pyFTS.data.GBPUSD.get_dataframe()

    Get the complete multivariate time series data.

    @@ -709,7 +703,7 @@ this signal is added to the previous one

    Source: http://www.inmet.gov.br

    -pyFTS.data.INMET.get_dataframe()[source]
    +pyFTS.data.INMET.get_dataframe()

    Get the complete multivariate time series data.

    @@ -727,7 +721,7 @@ this signal is added to the previous one

    Hourly Malaysia eletric load and tempeature

    -pyFTS.data.Malaysia.get_data(field='load')[source]
    +pyFTS.data.Malaysia.get_data(field='load')

    Get the univariate time series data.

    @@ -743,7 +737,7 @@ this signal is added to the previous one
    -pyFTS.data.Malaysia.get_dataframe()[source]
    +pyFTS.data.Malaysia.get_dataframe()

    Get the complete multivariate time series data.

    @@ -763,7 +757,7 @@ this signal is added to the previous one

    Source: http://www.nasdaq.com/aspx/flashquotes.aspx?symbol=IXIC&selected=IXIC

    -pyFTS.data.NASDAQ.get_data(field='avg')[source]
    +pyFTS.data.NASDAQ.get_data(field='avg')

    Get a simple univariate time series data.

    @@ -779,7 +773,7 @@ this signal is added to the previous one
    -pyFTS.data.NASDAQ.get_dataframe()[source]
    +pyFTS.data.NASDAQ.get_dataframe()

    Get the complete multivariate time series data.

    @@ -799,7 +793,7 @@ this signal is added to the previous one

    Source: http://sonda.ccst.inpe.br/

    -pyFTS.data.SONDA.get_data(field)[source]
    +pyFTS.data.SONDA.get_data(field)

    Get a simple univariate time series data.

    @@ -815,7 +809,7 @@ this signal is added to the previous one
    -pyFTS.data.SONDA.get_dataframe()[source]
    +pyFTS.data.SONDA.get_dataframe()

    Get the complete multivariate time series data.

    @@ -835,7 +829,7 @@ this signal is added to the previous one

    Source: https://finance.yahoo.com/quote/%5EGSPC/history?p=%5EGSPC

    -pyFTS.data.SP500.get_data()[source]
    +pyFTS.data.SP500.get_data()

    Get the univariate time series data.

    @@ -849,7 +843,7 @@ this signal is added to the previous one
    -pyFTS.data.SP500.get_dataframe()[source]
    +pyFTS.data.SP500.get_dataframe()

    Get the complete multivariate time series data.

    @@ -869,7 +863,7 @@ this signal is added to the previous one

    Source: http://www.twse.com.tw/en/products/indices/Index_Series.php

    -pyFTS.data.TAIEX.get_data()[source]
    +pyFTS.data.TAIEX.get_data()

    Get the univariate time series data.

    @@ -883,7 +877,7 @@ this signal is added to the previous one
    -pyFTS.data.TAIEX.get_dataframe()[source]
    +pyFTS.data.TAIEX.get_dataframe()

    Get the complete multivariate time series data.

    @@ -905,7 +899,7 @@ this signal is added to the previous one dy/dt = x

    -pyFTS.data.henon.get_data(var, a=1.4, b=0.3, initial_values=[1, 1], iterations=1000)[source]
    +pyFTS.data.henon.get_data(var, a=1.4, b=0.3, initial_values=[1, 1], iterations=1000)

    Get a simple univariate time series data.

    @@ -921,7 +915,7 @@ dy/dt = x

    -pyFTS.data.henon.get_dataframe(a=1.4, b=0.3, initial_values=[1, 1], iterations=1000)[source]
    +pyFTS.data.henon.get_dataframe(a=1.4, b=0.3, initial_values=[1, 1], iterations=1000)

    Return a dataframe with the bivariate Henon Map time series (x, y).

    @@ -950,7 +944,7 @@ Nature. 261 (5560): 459–467. doi:10.1038/261459a0.

    x(t) = r * x(t-1) * (1 - x(t -1) )

    -pyFTS.data.logistic_map.get_data(r=4, initial_value=0.3, iterations=100)[source]
    +pyFTS.data.logistic_map.get_data(r=4, initial_value=0.3, iterations=100)

    Return a list with the logistic map chaotic time series.

    @@ -980,7 +974,7 @@ dy/dt = x(b - z) - y dz/dt = xy - cz

    -pyFTS.data.lorentz.get_data(var, a=10.0, b=28.0, c=2.6666666666666665, dt=0.01, initial_values=[0.1, 0, 0], iterations=1000)[source]
    +pyFTS.data.lorentz.get_data(var, a=10.0, b=28.0, c=2.6666666666666665, dt=0.01, initial_values=[0.1, 0, 0], iterations=1000)

    Get a simple univariate time series data.

    @@ -996,7 +990,7 @@ dz/dt = xy - cz

    -pyFTS.data.lorentz.get_dataframe(a=10.0, b=28.0, c=2.6666666666666665, dt=0.01, initial_values=[0.1, 0, 0], iterations=1000)[source]
    +pyFTS.data.lorentz.get_dataframe(a=10.0, b=28.0, c=2.6666666666666665, dt=0.01, initial_values=[0.1, 0, 0], iterations=1000)

    Return a dataframe with the multivariate Lorenz Map time series (x, y, z).

    @@ -1027,7 +1021,7 @@ Science, 197(4300):287-289.

    dy/dt = -by(t)+ cy(t - tau) / 1+y(t-tau)^10

    -pyFTS.data.mackey_glass.get_data(b=0.1, c=0.2, tau=17, initial_values=array([0.5, 0.55882353, 0.61764706, 0.67647059, 0.73529412, 0.79411765, 0.85294118, 0.91176471, 0.97058824, 1.02941176, 1.08823529, 1.14705882, 1.20588235, 1.26470588, 1.32352941, 1.38235294, 1.44117647, 1.5 ]), iterations=1000)[source]
    +pyFTS.data.mackey_glass.get_data(b=0.1, c=0.2, tau=17, initial_values=array([0.5, 0.55882353, 0.61764706, 0.67647059, 0.73529412, 0.79411765, 0.85294118, 0.91176471, 0.97058824, 1.02941176, 1.08823529, 1.14705882, 1.20588235, 1.26470588, 1.32352941, 1.38235294, 1.44117647, 1.5 ]), iterations=1000)

    Return a list with the Mackey-Glass chaotic time series.

    @@ -1063,7 +1057,7 @@ dy/dt = x + ay dz/dt = b + z( x - c )

    -pyFTS.data.rossler.get_data(var, a=0.2, b=0.2, c=5.7, dt=0.01, initial_values=[0.001, 0.001, 0.001], iterations=5000)[source]
    +pyFTS.data.rossler.get_data(var, a=0.2, b=0.2, c=5.7, dt=0.01, initial_values=[0.001, 0.001, 0.001], iterations=5000)

    Get a simple univariate time series data.

    @@ -1079,7 +1073,7 @@ dz/dt = b + z( x - c )

    -pyFTS.data.rossler.get_dataframe(a=0.2, b=0.2, c=5.7, dt=0.01, initial_values=[0.001, 0.001, 0.001], iterations=5000)[source]
    +pyFTS.data.rossler.get_dataframe(a=0.2, b=0.2, c=5.7, dt=0.01, initial_values=[0.001, 0.001, 0.001], iterations=5000)

    Return a dataframe with the multivariate Rössler Map time series (x, y, z).

    @@ -1109,7 +1103,7 @@ dz/dt = b + z( x - c )

    Source: https://www.esrl.noaa.gov/psd/gcos_wgsp/Timeseries/SUNSPOT/

    -pyFTS.data.sunspots.get_data()[source]
    +pyFTS.data.sunspots.get_data()

    Get a simple univariate time series data.

    @@ -1123,7 +1117,7 @@ dz/dt = b + z( x - c )

    -pyFTS.data.sunspots.get_dataframe()[source]
    +pyFTS.data.sunspots.get_dataframe()

    Get the complete multivariate time series data.

    diff --git a/docs/build/html/pyFTS.distributed.html b/docs/build/html/pyFTS.distributed.html index 4ca4718..d7219d0 100644 --- a/docs/build/html/pyFTS.distributed.html +++ b/docs/build/html/pyFTS.distributed.html @@ -119,22 +119,22 @@

    pyFTS.distributed.spark module

    -pyFTS.distributed.spark.create_multivariate_model(**parameters)[source]
    +pyFTS.distributed.spark.create_multivariate_model(**parameters)
    -pyFTS.distributed.spark.create_spark_conf(**kwargs)[source]
    +pyFTS.distributed.spark.create_spark_conf(**kwargs)
    -pyFTS.distributed.spark.create_univariate_model(**parameters)[source]
    +pyFTS.distributed.spark.create_univariate_model(**parameters)
    -pyFTS.distributed.spark.distributed_predict(data, model, **kwargs)[source]
    +pyFTS.distributed.spark.distributed_predict(data, model, **kwargs)
    @@ -156,7 +156,7 @@
    -pyFTS.distributed.spark.distributed_train(model, data, **kwargs)[source]
    +pyFTS.distributed.spark.distributed_train(model, data, **kwargs)
    @@ -178,12 +178,12 @@
    -pyFTS.distributed.spark.get_clustered_partitioner(explanatory_variables, target_variable, **parameters)[source]
    +pyFTS.distributed.spark.get_clustered_partitioner(explanatory_variables, target_variable, **parameters)
    -pyFTS.distributed.spark.get_partitioner(shared_partitioner, type='common', variables=[])[source]
    +pyFTS.distributed.spark.get_partitioner(shared_partitioner, type='common', variables=[])
    @@ -198,22 +198,22 @@
    -pyFTS.distributed.spark.get_variables(**parameters)[source]
    +pyFTS.distributed.spark.get_variables(**parameters)
    -pyFTS.distributed.spark.share_parameters(model, context, data)[source]
    +pyFTS.distributed.spark.share_parameters(model, context, data)
    -pyFTS.distributed.spark.slave_forecast_multivariate(data, **parameters)[source]
    +pyFTS.distributed.spark.slave_forecast_multivariate(data, **parameters)
    -pyFTS.distributed.spark.slave_forecast_univariate(data, **parameters)[source]
    +pyFTS.distributed.spark.slave_forecast_univariate(data, **parameters)
    @@ -228,12 +228,12 @@
    -pyFTS.distributed.spark.slave_train_multivariate(data, **parameters)[source]
    +pyFTS.distributed.spark.slave_train_multivariate(data, **parameters)
    -pyFTS.distributed.spark.slave_train_univariate(data, **parameters)[source]
    +pyFTS.distributed.spark.slave_train_univariate(data, **parameters)
    diff --git a/docs/build/html/pyFTS.html b/docs/build/html/pyFTS.html index a0cfa55..989006d 100644 --- a/docs/build/html/pyFTS.html +++ b/docs/build/html/pyFTS.html @@ -115,11 +115,14 @@
  • pyFTS.benchmarks.benchmarks module
  • pyFTS.benchmarks.Measures module
  • pyFTS.benchmarks.ResidualAnalysis module
  • +
  • pyFTS.benchmarks.Tests module
  • pyFTS.benchmarks.Util module
  • pyFTS.benchmarks.arima module
  • pyFTS.benchmarks.knn module
  • pyFTS.benchmarks.naive module
  • pyFTS.benchmarks.quantreg module
  • +
  • pyFTS.benchmarks.gaussianproc module
  • +
  • pyFTS.benchmarks.BSTS module
  • pyFTS.common package
  • @@ -132,7 +132,7 @@
    -pyFTS.hyperparam.Util.insert_hyperparam(data, conn)[source]
    +pyFTS.hyperparam.Util.insert_hyperparam(data, conn)

    Insert benchmark data on database

    @@ -168,7 +168,7 @@ Value: the measure value

    -pyFTS.hyperparam.Util.open_hyperparam_db(name)[source]
    +pyFTS.hyperparam.Util.open_hyperparam_db(name)

    Open a connection with a Sqlite database designed to store benchmark results.

    diff --git a/docs/build/html/pyFTS.models.ensemble.html b/docs/build/html/pyFTS.models.ensemble.html index dcdea9c..1a87809 100644 --- a/docs/build/html/pyFTS.models.ensemble.html +++ b/docs/build/html/pyFTS.models.ensemble.html @@ -118,17 +118,17 @@ interval and probabilistic forecasting.

    XIII Brazilian Congress on Computational Intelligence, 2017. Rio de Janeiro, Brazil.

    -class pyFTS.models.ensemble.ensemble.AllMethodEnsembleFTS(**kwargs)[source]
    +class pyFTS.models.ensemble.ensemble.AllMethodEnsembleFTS(**kwargs)

    Bases: pyFTS.models.ensemble.ensemble.EnsembleFTS

    Creates an EnsembleFTS with all point forecast methods, sharing the same partitioner

    -set_transformations(model)[source]
    +set_transformations(model)
    -train(data, **kwargs)[source]
    +train(data, **kwargs)

    Method specific parameter fitting

    @@ -148,18 +148,12 @@ XIII Brazilian Congress on Computational Intelligence, 2017. Rio de Janeiro, Bra
    -class pyFTS.models.ensemble.ensemble.EnsembleFTS(**kwargs)[source]
    +class pyFTS.models.ensemble.ensemble.EnsembleFTS(**kwargs)

    Bases: pyFTS.common.fts.FTS

    Ensemble FTS

    -
    -
    -alpha = None
    -

    The quantiles

    -
    -
    -append_model(model)[source]
    +append_model(model)

    Append a new trained model to the ensemble

    @@ -173,7 +167,7 @@ XIII Brazilian Congress on Computational Intelligence, 2017. Rio de Janeiro, Bra
    -forecast(data, **kwargs)[source]
    +forecast(data, **kwargs)

    Point forecast one step ahead

    @@ -194,7 +188,7 @@ XIII Brazilian Congress on Computational Intelligence, 2017. Rio de Janeiro, Bra
    -forecast_ahead_distribution(data, steps, **kwargs)[source]
    +forecast_ahead_distribution(data, steps, **kwargs)

    Probabilistic forecast n steps ahead

    @@ -203,7 +197,7 @@ XIII Brazilian Congress on Computational Intelligence, 2017. Rio de Janeiro, Bra @@ -216,7 +210,7 @@ XIII Brazilian Congress on Computational Intelligence, 2017. Rio de Janeiro, Bra
    -forecast_ahead_interval(data, steps, **kwargs)[source]
    +forecast_ahead_interval(data, steps, **kwargs)

    Interval forecast n steps ahead

    Parameters:
    • data – time series data with the minimal length equal to the max_lag of the model
    • steps – the number of steps ahead to forecast
    • -
    • kwargs – model specific parameters
    • +
    • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
    @@ -225,7 +219,7 @@ XIII Brazilian Congress on Computational Intelligence, 2017. Rio de Janeiro, Bra @@ -238,7 +232,7 @@ XIII Brazilian Congress on Computational Intelligence, 2017. Rio de Janeiro, Bra
    -forecast_distribution(data, **kwargs)[source]
    +forecast_distribution(data, **kwargs)

    Probabilistic forecast one step ahead

    Parameters:
    • data – time series data with the minimal length equal to the max_lag of the model
    • steps – the number of steps ahead to forecast
    • -
    • kwargs – model specific parameters
    • +
    • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
    @@ -259,7 +253,7 @@ XIII Brazilian Congress on Computational Intelligence, 2017. Rio de Janeiro, Bra
    -forecast_interval(data, **kwargs)[source]
    +forecast_interval(data, **kwargs)

    Interval forecast one step ahead

    @@ -278,53 +272,59 @@ XIII Brazilian Congress on Computational Intelligence, 2017. Rio de Janeiro, Bra
    +
    +
    +get_UoD()
    +
    +
    -get_distribution_interquantile(forecasts, alpha)[source]
    +get_distribution_interquantile(forecasts, alpha)
    -get_interval(forecasts)[source]
    +get_interval(forecasts)
    -get_models_forecasts(data)[source]
    +get_models_forecasts(data)
    -get_point(forecasts, **kwargs)[source]
    +get_point(forecasts, **kwargs)
    -
    -
    -interval_method = None
    -

    The method used to mix the several model’s forecasts into a interval forecast. Options: quantile, extremum, normal

    -
    - -
    -
    -models = None
    -

    A list of FTS models, the ensemble components

    -
    - -
    -
    -parameters = None
    -

    A list with the parameters for each component model

    -
    - -
    -
    -point_method = None
    -

    The method used to mix the several model’s forecasts into a unique point forecast. Options: mean, median, quantile, exponential

    -
    -
    -train(data, **kwargs)[source]
    +train(data, **kwargs) +

    Method specific parameter fitting

    + +++ + + + +
    Parameters:
      +
    • data – training time series data
    • +
    • kwargs – Method specific parameters
    • +
    +
    +
    + + + +
    +
    +class pyFTS.models.ensemble.ensemble.SimpleEnsembleFTS(**kwargs)
    +

    Bases: pyFTS.models.ensemble.ensemble.EnsembleFTS

    +

    An homogeneous FTS method ensemble with variations on partitionings and orders.

    +
    +
    +train(data, **kwargs)

    Method specific parameter fitting

    @@ -344,7 +344,7 @@ XIII Brazilian Congress on Computational Intelligence, 2017. Rio de Janeiro, Bra
    -pyFTS.models.ensemble.ensemble.sampler(data, quantiles)[source]
    +pyFTS.models.ensemble.ensemble.sampler(data, quantiles, bounds=False)
    @@ -354,11 +354,11 @@ XIII Brazilian Congress on Computational Intelligence, 2017. Rio de Janeiro, Bra XIII Brazilian Congress on Computational Intelligence, 2017. Rio de Janeiro, Brazil.

    -class pyFTS.models.ensemble.multiseasonal.SeasonalEnsembleFTS(name, **kwargs)[source]
    +class pyFTS.models.ensemble.multiseasonal.SeasonalEnsembleFTS(name, **kwargs)

    Bases: pyFTS.models.ensemble.ensemble.EnsembleFTS

    -forecast_distribution(data, **kwargs)[source]
    +forecast_distribution(data, **kwargs)

    Probabilistic forecast one step ahead

    @@ -379,7 +379,7 @@ XIII Brazilian Congress on Computational Intelligence, 2017. Rio de Janeiro, Bra
    -train(data, **kwargs)[source]
    +train(data, **kwargs)

    Method specific parameter fitting

    @@ -397,14 +397,14 @@ XIII Brazilian Congress on Computational Intelligence, 2017. Rio de Janeiro, Bra
    -update_uod(data)[source]
    +update_uod(data)
    -pyFTS.models.ensemble.multiseasonal.train_individual_model(partitioner, train_data, indexer)[source]
    +pyFTS.models.ensemble.multiseasonal.train_individual_model(partitioner, train_data, indexer)
    diff --git a/docs/build/html/pyFTS.models.html b/docs/build/html/pyFTS.models.html index b8485d1..3c39b15 100644 --- a/docs/build/html/pyFTS.models.html +++ b/docs/build/html/pyFTS.models.html @@ -144,7 +144,8 @@
  • pyFTS.models.multivariate.common module
  • pyFTS.models.multivariate.variable module
  • pyFTS.models.multivariate.flrg module
  • -
  • pyFTS.models.multivariate.partitioner module
  • +
  • pyFTS.models.multivariate.partitioner module
  • +
  • pyFTS.models.multivariate.grid module
  • pyFTS.models.multivariate.mvfts module
  • pyFTS.models.multivariate.wmvfts module
  • pyFTS.models.multivariate.cmvfts module
  • @@ -189,17 +190,17 @@
    -class pyFTS.models.song.ConventionalFTS(**kwargs)[source]
    +class pyFTS.models.song.ConventionalFTS(**kwargs)

    Bases: pyFTS.common.fts.FTS

    Traditional Fuzzy Time Series

    -flr_membership_matrix(flr)[source]
    +flr_membership_matrix(flr)
    -forecast(ndata, **kwargs)[source]
    +forecast(ndata, **kwargs)

    Point forecast one step ahead

    @@ -220,12 +221,12 @@
    -operation_matrix(flrs)[source]
    +operation_matrix(flrs)
    -train(data, **kwargs)[source]
    +train(data, **kwargs)

    Method specific parameter fitting

    @@ -250,17 +251,17 @@

    S.-M. Chen, “Forecasting enrollments based on fuzzy time series,” Fuzzy Sets Syst., vol. 81, no. 3, pp. 311–319, 1996.

    -class pyFTS.models.chen.ConventionalFLRG(LHS, **kwargs)[source]
    +class pyFTS.models.chen.ConventionalFLRG(LHS, **kwargs)

    Bases: pyFTS.common.flrg.FLRG

    First Order Conventional Fuzzy Logical Relationship Group

    -append_rhs(c, **kwargs)[source]
    +append_rhs(c, **kwargs)
    -get_key(sets)[source]
    +get_key(sets)

    Returns a unique identifier for this FLRG

    @@ -268,12 +269,12 @@
    -class pyFTS.models.chen.ConventionalFTS(**kwargs)[source]
    +class pyFTS.models.chen.ConventionalFTS(**kwargs)

    Bases: pyFTS.common.fts.FTS

    Conventional Fuzzy Time Series

    -forecast(ndata, **kwargs)[source]
    +forecast(ndata, **kwargs)

    Point forecast one step ahead

    @@ -294,12 +295,12 @@
    -generate_flrg(flrs)[source]
    +generate_flrg(flrs)
    -train(data, **kwargs)[source]
    +train(data, **kwargs)

    Method specific parameter fitting

    @@ -325,29 +326,29 @@ Phys. A Stat. Mech. its Appl., vol. 349, no. 3, pp. 609–624, 2005.

    -class pyFTS.models.yu.WeightedFLRG(LHS, **kwargs)[source]
    +class pyFTS.models.yu.WeightedFLRG(LHS, **kwargs)

    Bases: pyFTS.common.flrg.FLRG

    First Order Weighted Fuzzy Logical Relationship Group

    -append_rhs(c, **kwargs)[source]
    +append_rhs(c, **kwargs)
    -weights(sets)[source]
    +weights(sets)
    -class pyFTS.models.yu.WeightedFTS(**kwargs)[source]
    +class pyFTS.models.yu.WeightedFTS(**kwargs)

    Bases: pyFTS.common.fts.FTS

    First Order Weighted Fuzzy Time Series

    -forecast(ndata, **kwargs)[source]
    +forecast(ndata, **kwargs)

    Point forecast one step ahead

    @@ -368,12 +369,12 @@ Phys. A Stat. Mech. its Appl., vol. 349, no. 3, pp. 609–624, 2005.

    -generate_FLRG(flrs)[source]
    +generate_FLRG(flrs)
    -train(ndata, **kwargs)[source]
    +train(ndata, **kwargs)

    Method specific parameter fitting

    @@ -399,24 +400,24 @@ Phys. A Stat. Mech. its Appl., vol. 349, no. 3, pp. 609–624, 2005.

    Expert Syst. Appl., vol. 36, no. 2, pp. 1826–1832, 2009.

    -class pyFTS.models.cheng.TrendWeightedFLRG(LHS, **kwargs)[source]
    +class pyFTS.models.cheng.TrendWeightedFLRG(LHS, **kwargs)

    Bases: pyFTS.models.yu.WeightedFLRG

    First Order Trend Weighted Fuzzy Logical Relationship Group

    -weights(sets)[source]
    +weights(sets)
    -class pyFTS.models.cheng.TrendWeightedFTS(**kwargs)[source]
    +class pyFTS.models.cheng.TrendWeightedFTS(**kwargs)

    Bases: pyFTS.models.yu.WeightedFTS

    First Order Trend Weighted Fuzzy Time Series

    -generate_FLRG(flrs)[source]
    +generate_FLRG(flrs)
    @@ -429,34 +430,34 @@ Expert Syst. Appl., vol. 36, no. 2, pp. 1826–1832, 2009.

    using Fuzzy Time Series. 2017 IEEE International Conference on Fuzzy Systems. DOI10.1109/FUZZ-IEEE.2017.8015732

    -class pyFTS.models.hofts.HighOrderFLRG(order, **kwargs)[source]
    +class pyFTS.models.hofts.HighOrderFLRG(order, **kwargs)

    Bases: pyFTS.common.flrg.FLRG

    Conventional High Order Fuzzy Logical Relationship Group

    -append_lhs(c)[source]
    +append_lhs(c)
    -append_rhs(c, **kwargs)[source]
    +append_rhs(c, **kwargs)
    -class pyFTS.models.hofts.HighOrderFTS(**kwargs)[source]
    +class pyFTS.models.hofts.HighOrderFTS(**kwargs)

    Bases: pyFTS.common.fts.FTS

    Conventional High Order Fuzzy Time Series

    -configure_lags(**kwargs)[source]
    +configure_lags(**kwargs)
    -forecast(ndata, **kwargs)[source]
    +forecast(ndata, **kwargs)

    Point forecast one step ahead

    @@ -477,27 +478,27 @@ using Fuzzy Time Series. 2017 IEEE International Conference on Fuzzy Systems. DO
    -generate_flrg(data)[source]
    +generate_flrg(data)
    -generate_flrg_fuzzyfied(data)[source]
    +generate_flrg_fuzzyfied(data)
    -generate_lhs_flrg(sample, explain=False)[source]
    +generate_lhs_flrg(sample, explain=False)
    -generate_lhs_flrg_fuzzyfied(sample, explain=False)[source]
    +generate_lhs_flrg_fuzzyfied(sample, explain=False)
    -train(data, **kwargs)[source]
    +train(data, **kwargs)

    Method specific parameter fitting

    @@ -517,22 +518,22 @@ using Fuzzy Time Series. 2017 IEEE International Conference on Fuzzy Systems. DO
    -class pyFTS.models.hofts.WeightedHighOrderFLRG(order, **kwargs)[source]
    +class pyFTS.models.hofts.WeightedHighOrderFLRG(order, **kwargs)

    Bases: pyFTS.common.flrg.FLRG

    Weighted High Order Fuzzy Logical Relationship Group

    -append_lhs(c)[source]
    +append_lhs(c)
    -append_rhs(fset, **kwargs)[source]
    +append_rhs(fset, **kwargs)
    -get_lower(sets)[source]
    +get_lower(sets)

    Returns the lower bound value for the RHS fuzzy sets

    @@ -548,7 +549,7 @@ using Fuzzy Time Series. 2017 IEEE International Conference on Fuzzy Systems. DO
    -get_midpoint(sets)[source]
    +get_midpoint(sets)

    Returns the midpoint value for the RHS fuzzy sets

    @@ -564,7 +565,7 @@ using Fuzzy Time Series. 2017 IEEE International Conference on Fuzzy Systems. DO
    -get_upper(sets)[source]
    +get_upper(sets)

    Returns the upper bound value for the RHS fuzzy sets

    @@ -580,19 +581,19 @@ using Fuzzy Time Series. 2017 IEEE International Conference on Fuzzy Systems. DO
    -weights()[source]
    +weights()
    -class pyFTS.models.hofts.WeightedHighOrderFTS(**kwargs)[source]
    +class pyFTS.models.hofts.WeightedHighOrderFTS(**kwargs)

    Bases: pyFTS.models.hofts.HighOrderFTS

    Weighted High Order Fuzzy Time Series

    -generate_lhs_flrg_fuzzyfied(sample, explain=False)[source]
    +generate_lhs_flrg_fuzzyfied(sample, explain=False)
    @@ -605,16 +606,16 @@ using Fuzzy Time Series. 2017 IEEE International Conference on Fuzzy Systems. DO Fuzzy Sets Syst., no. 100, pp. 217–228, 1998.

    -class pyFTS.models.hwang.HighOrderFTS(**kwargs)[source]
    +class pyFTS.models.hwang.HighOrderFTS(**kwargs)

    Bases: pyFTS.common.fts.FTS

    -configure_lags(**kwargs)[source]
    +configure_lags(**kwargs)
    -forecast(ndata, **kwargs)[source]
    +forecast(ndata, **kwargs)

    Point forecast one step ahead

    @@ -635,7 +636,7 @@ Fuzzy Sets Syst., no. 100, pp. 217–228, 1998.

    -train(data, **kwargs)[source]
    +train(data, **kwargs)

    Method specific parameter fitting

    @@ -661,12 +662,34 @@ Fuzzy Sets Syst., no. 100, pp. 217–228, 1998.

    In: Computational Intelligence (SSCI), 2016 IEEE Symposium Series on. IEEE, 2016. p. 1-8.

    -class pyFTS.models.ifts.IntervalFTS(**kwargs)[source]
    -

    Bases: pyFTS.models.hofts.WeightedHighOrderFTS

    +class pyFTS.models.ifts.IntervalFTS(**kwargs) +

    Bases: pyFTS.models.hofts.HighOrderFTS

    High Order Interval Fuzzy Time Series

    +
    +
    +forecast_ahead_interval(data, steps, **kwargs)
    +

    Interval forecast n steps ahead

    +
    +++ + + + + + +
    Parameters:
      +
    • data – time series data with the minimal length equal to the max_lag of the model
    • +
    • steps – the number of steps ahead to forecast
    • +
    • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
    • +
    +
    Returns:

    a list with the forecasted intervals

    +
    +
    +
    -forecast_interval(ndata, **kwargs)[source]
    +forecast_interval(ndata, **kwargs)

    Interval forecast one step ahead

    @@ -687,17 +710,82 @@ In: Computational Intelligence (SSCI), 2016 IEEE Symposium Series on. IEEE, 2016
    -get_lower(flrg)[source]
    +get_lower(flrg)
    -get_sequence_membership(data, fuzzySets)[source]
    +get_sequence_membership(data, fuzzySets)
    -get_upper(flrg)[source]
    +get_upper(flrg) +
    + + + +
    +
    +class pyFTS.models.ifts.WeightedIntervalFTS(**kwargs)
    +

    Bases: pyFTS.models.hofts.WeightedHighOrderFTS

    +

    Weighted High Order Interval Fuzzy Time Series

    +
    +
    +forecast_ahead_interval(data, steps, **kwargs)
    +

    Interval forecast n steps ahead

    +
    +++ + + + + + +
    Parameters:
      +
    • data – time series data with the minimal length equal to the max_lag of the model
    • +
    • steps – the number of steps ahead to forecast
    • +
    • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
    • +
    +
    Returns:

    a list with the forecasted intervals

    +
    +
    + +
    +
    +forecast_interval(ndata, **kwargs)
    +

    Interval forecast one step ahead

    + +++ + + + + + +
    Parameters:
      +
    • data – time series data with the minimal length equal to the max_lag of the model
    • +
    • kwargs – model specific parameters
    • +
    +
    Returns:

    a list with the prediction intervals

    +
    +
    + +
    +
    +get_lower(flrg)
    +
    + +
    +
    +get_sequence_membership(data, fuzzySets)
    +
    + +
    +
    +get_upper(flrg)
    @@ -710,29 +798,29 @@ In: Computational Intelligence (SSCI), 2016 IEEE Symposium Series on. IEEE, 2016 US Dollar to Ringgit Malaysia,” Int. J. Comput. Intell. Appl., vol. 12, no. 1, p. 1350005, 2013.

    -class pyFTS.models.ismailefendi.ImprovedWeightedFLRG(LHS, **kwargs)[source]
    +class pyFTS.models.ismailefendi.ImprovedWeightedFLRG(LHS, **kwargs)

    Bases: pyFTS.common.flrg.FLRG

    First Order Improved Weighted Fuzzy Logical Relationship Group

    -append_rhs(c, **kwargs)[source]
    +append_rhs(c, **kwargs)
    -weights()[source]
    +weights()
    -class pyFTS.models.ismailefendi.ImprovedWeightedFTS(**kwargs)[source]
    +class pyFTS.models.ismailefendi.ImprovedWeightedFTS(**kwargs)

    Bases: pyFTS.common.fts.FTS

    First Order Improved Weighted Fuzzy Time Series

    -forecast(ndata, **kwargs)[source]
    +forecast(ndata, **kwargs)

    Point forecast one step ahead

    @@ -753,12 +841,12 @@ US Dollar to Ringgit Malaysia,” Int. J. Comput. Intell. Appl., vol. 12, no. 1,
    -generate_flrg(flrs)[source]
    +generate_flrg(flrs)
    -train(ndata, **kwargs)[source]
    +train(ndata, **kwargs)

    Method specific parameter fitting

    @@ -781,17 +869,17 @@ US Dollar to Ringgit Malaysia,” Int. J. Comput. Intell. Appl., vol. 12, no. 1,

    pyFTS.models.pwfts module

    -class pyFTS.models.pwfts.ProbabilisticWeightedFLRG(order)[source]
    +class pyFTS.models.pwfts.ProbabilisticWeightedFLRG(order)

    Bases: pyFTS.models.hofts.HighOrderFLRG

    High Order Probabilistic Weighted Fuzzy Logical Relationship Group

    -append_rhs(c, **kwargs)[source]
    +append_rhs(c, **kwargs)
    -get_lower(sets)[source]
    +get_lower(sets)

    Returns the lower bound value for the RHS fuzzy sets

    @@ -807,7 +895,7 @@ US Dollar to Ringgit Malaysia,” Int. J. Comput. Intell. Appl., vol. 12, no. 1,
    -get_membership(data, sets)[source]
    +get_membership(data, sets)

    Returns the membership value of the FLRG for the input data

    @@ -828,13 +916,13 @@ US Dollar to Ringgit Malaysia,” Int. J. Comput. Intell. Appl., vol. 12, no. 1,
    -get_midpoint(sets)[source]
    +get_midpoint(sets)

    Return the expectation of the PWFLRG, the weighted sum

    -get_upper(sets)[source]
    +get_upper(sets)

    Returns the upper bound value for the RHS fuzzy sets

    @@ -850,54 +938,54 @@ US Dollar to Ringgit Malaysia,” Int. J. Comput. Intell. Appl., vol. 12, no. 1,
    -lhs_conditional_probability(x, sets, norm, uod, nbins)[source]
    +lhs_conditional_probability(x, sets, norm, uod, nbins)
    -partition_function(sets, uod, nbins=100)[source]
    +partition_function(sets, uod, nbins=100)
    -rhs_conditional_probability(x, sets, uod, nbins)[source]
    +rhs_conditional_probability(x, sets, uod, nbins)
    -rhs_unconditional_probability(c)[source]
    +rhs_unconditional_probability(c)
    -class pyFTS.models.pwfts.ProbabilisticWeightedFTS(**kwargs)[source]
    +class pyFTS.models.pwfts.ProbabilisticWeightedFTS(**kwargs)

    Bases: pyFTS.models.ifts.IntervalFTS

    High Order Probabilistic Weighted Fuzzy Time Series

    -add_new_PWFLGR(flrg)[source]
    +add_new_PWFLGR(flrg)
    -flrg_lhs_conditional_probability(x, flrg)[source]
    +flrg_lhs_conditional_probability(x, flrg)
    -flrg_lhs_unconditional_probability(flrg)[source]
    +flrg_lhs_unconditional_probability(flrg)
    -flrg_rhs_conditional_probability(x, flrg)[source]
    +flrg_rhs_conditional_probability(x, flrg)
    -forecast(data, **kwargs)[source]
    +forecast(data, **kwargs)

    Point forecast one step ahead

    @@ -918,7 +1006,7 @@ US Dollar to Ringgit Malaysia,” Int. J. Comput. Intell. Appl., vol. 12, no. 1,
    -forecast_ahead(data, steps, **kwargs)[source]
    +forecast_ahead(data, steps, **kwargs)

    Point forecast n steps ahead

    @@ -926,8 +1014,8 @@ US Dollar to Ringgit Malaysia,” Int. J. Comput. Intell. Appl., vol. 12, no. 1, @@ -940,7 +1028,7 @@ US Dollar to Ringgit Malaysia,” Int. J. Comput. Intell. Appl., vol. 12, no. 1,
    -forecast_ahead_distribution(ndata, steps, **kwargs)[source]
    +forecast_ahead_distribution(ndata, steps, **kwargs)

    Probabilistic forecast n steps ahead

    Parameters:
    • data – time series data with the minimal length equal to the max_lag of the model
    • -
    • steps – the number of steps ahead to forecast
    • -
    • start – in the multi step forecasting, the index of the data where to start forecasting
    • +
    • steps – the number of steps ahead to forecast (default: 1)
    • +
    • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
    @@ -949,7 +1037,7 @@ US Dollar to Ringgit Malaysia,” Int. J. Comput. Intell. Appl., vol. 12, no. 1, @@ -962,7 +1050,7 @@ US Dollar to Ringgit Malaysia,” Int. J. Comput. Intell. Appl., vol. 12, no. 1,
    -forecast_ahead_interval(data, steps, **kwargs)[source]
    +forecast_ahead_interval(data, steps, **kwargs)

    Interval forecast n steps ahead

    Parameters:
    • data – time series data with the minimal length equal to the max_lag of the model
    • steps – the number of steps ahead to forecast
    • -
    • kwargs – model specific parameters
    • +
    • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
    @@ -971,7 +1059,7 @@ US Dollar to Ringgit Malaysia,” Int. J. Comput. Intell. Appl., vol. 12, no. 1, @@ -984,7 +1072,7 @@ US Dollar to Ringgit Malaysia,” Int. J. Comput. Intell. Appl., vol. 12, no. 1,
    -forecast_distribution(ndata, **kwargs)[source]
    +forecast_distribution(ndata, **kwargs)

    Probabilistic forecast one step ahead

    Parameters:
    • data – time series data with the minimal length equal to the max_lag of the model
    • steps – the number of steps ahead to forecast
    • -
    • kwargs – model specific parameters
    • +
    • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
    @@ -1005,7 +1093,7 @@ US Dollar to Ringgit Malaysia,” Int. J. Comput. Intell. Appl., vol. 12, no. 1,
    -forecast_interval(ndata, **kwargs)[source]
    +forecast_interval(ndata, **kwargs)

    Interval forecast one step ahead

    @@ -1026,57 +1114,57 @@ US Dollar to Ringgit Malaysia,” Int. J. Comput. Intell. Appl., vol. 12, no. 1,
    -generate_flrg(data)[source]
    +generate_flrg(data)
    -generate_lhs_flrg(sample, explain=False)[source]
    +generate_lhs_flrg(sample, explain=False)
    -generate_lhs_flrg_fuzzyfied(sample, explain=False)[source]
    +generate_lhs_flrg_fuzzyfied(sample, explain=False)
    -get_lower(flrg)[source]
    +get_lower(flrg)
    -get_midpoint(flrg)[source]
    +get_midpoint(flrg)
    -get_upper(flrg)[source]
    +get_upper(flrg)
    -interval_heuristic(sample)[source]
    +interval_heuristic(sample)
    -interval_quantile(ndata, alpha)[source]
    +interval_quantile(ndata, alpha)
    -point_expected_value(sample, **kwargs)[source]
    +point_expected_value(sample, **kwargs)
    -point_heuristic(sample, **kwargs)[source]
    +point_heuristic(sample, **kwargs)
    -train(data, **kwargs)[source]
    +train(data, **kwargs)

    Method specific parameter fitting

    @@ -1094,14 +1182,14 @@ US Dollar to Ringgit Malaysia,” Int. J. Comput. Intell. Appl., vol. 12, no. 1,
    -update_model(data)[source]
    +update_model(data)
    -pyFTS.models.pwfts.visualize_distributions(model, **kwargs)[source]
    +pyFTS.models.pwfts.visualize_distributions(model, **kwargs)
    @@ -1112,29 +1200,29 @@ US Dollar to Ringgit Malaysia,” Int. J. Comput. Intell. Appl., vol. 12, no. 1, refined exponentially weighted fuzzy time series and an improved harmony search,” Int. J. Electr. Power Energy Syst., vol. 62, no. from 2005, pp. 118–129, 2014.

    -class pyFTS.models.sadaei.ExponentialyWeightedFLRG(LHS, **kwargs)[source]
    +class pyFTS.models.sadaei.ExponentialyWeightedFLRG(LHS, **kwargs)

    Bases: pyFTS.common.flrg.FLRG

    First Order Exponentialy Weighted Fuzzy Logical Relationship Group

    -append_rhs(c, **kwargs)[source]
    +append_rhs(c, **kwargs)
    -weights()[source]
    +weights()
    -class pyFTS.models.sadaei.ExponentialyWeightedFTS(**kwargs)[source]
    +class pyFTS.models.sadaei.ExponentialyWeightedFTS(**kwargs)

    Bases: pyFTS.common.fts.FTS

    First Order Exponentialy Weighted Fuzzy Time Series

    -forecast(ndata, **kwargs)[source]
    +forecast(ndata, **kwargs)

    Point forecast one step ahead

    @@ -1155,12 +1243,12 @@ refined exponentially weighted fuzzy time series and an improved harmony search,
    -generate_flrg(flrs, c)[source]
    +generate_flrg(flrs, c)
    -train(data, **kwargs)[source]
    +train(data, **kwargs)

    Method specific parameter fitting

    diff --git a/docs/build/html/pyFTS.models.incremental.html b/docs/build/html/pyFTS.models.incremental.html index f66f943..b92b748 100644 --- a/docs/build/html/pyFTS.models.incremental.html +++ b/docs/build/html/pyFTS.models.incremental.html @@ -119,24 +119,12 @@

    Meta model that wraps another FTS method and continously retrain it using a data window with the most recent data

    -class pyFTS.models.incremental.TimeVariant.Retrainer(**kwargs)[source]
    +class pyFTS.models.incremental.TimeVariant.Retrainer(**kwargs)

    Bases: pyFTS.common.fts.FTS

    Meta model for incremental/online learning

    -
    -
    -auto_update = None
    -

    If true the model is updated at each time and not recreated

    -
    - -
    -
    -batch_size = None
    -

    The batch interval between each retraining

    -
    -
    -forecast(data, **kwargs)[source]
    +forecast(data, **kwargs)

    Point forecast one step ahead

    @@ -155,45 +143,9 @@
    -
    -
    -fts_method = None
    -

    The FTS method to be called when a new model is build

    -
    - -
    -
    -fts_params = None
    -

    The FTS method specific parameters

    -
    - -
    -
    -model = None
    -

    The most recent trained model

    -
    - -
    -
    -partitioner = None
    -

    The most recent trained partitioner

    -
    - -
    -
    -partitioner_method = None
    -

    The partitioner method to be called when a new model is build

    -
    - -
    -
    -partitioner_params = None
    -

    The partitioner method parameters

    -
    -
    -train(data, **kwargs)[source]
    +train(data, **kwargs)

    Method specific parameter fitting

    @@ -209,12 +161,6 @@
    -
    -
    -window_length = None
    -

    The memory window length

    -
    -
    @@ -223,18 +169,12 @@

    Time Variant/Incremental Ensemble of FTS methods

    -class pyFTS.models.incremental.IncrementalEnsemble.IncrementalEnsembleFTS(**kwargs)[source]
    +class pyFTS.models.incremental.IncrementalEnsemble.IncrementalEnsembleFTS(**kwargs)

    Bases: pyFTS.models.ensemble.ensemble.EnsembleFTS

    Time Variant/Incremental Ensemble of FTS methods

    -
    -
    -batch_size = None
    -

    The batch interval between each retraining

    -
    -
    -forecast(data, **kwargs)[source]
    +forecast(data, **kwargs)

    Point forecast one step ahead

    @@ -253,39 +193,9 @@
    -
    -
    -fts_method = None
    -

    The FTS method to be called when a new model is build

    -
    - -
    -
    -fts_params = None
    -

    The FTS method specific parameters

    -
    - -
    -
    -num_models = None
    -

    The number of models to hold in the ensemble

    -
    - -
    -
    -partitioner_method = None
    -

    The partitioner method to be called when a new model is build

    -
    - -
    -
    -partitioner_params = None
    -

    The partitioner method parameters

    -
    -
    -train(data, **kwargs)[source]
    +train(data, **kwargs)

    Method specific parameter fitting

    @@ -301,12 +211,6 @@
    -
    -
    -window_length = None
    -

    The memory window length

    -
    -
    diff --git a/docs/build/html/pyFTS.models.multivariate.html b/docs/build/html/pyFTS.models.multivariate.html index f6485d8..f89e034 100644 --- a/docs/build/html/pyFTS.models.multivariate.html +++ b/docs/build/html/pyFTS.models.multivariate.html @@ -70,7 +70,8 @@
  • pyFTS.models.multivariate.common module
  • pyFTS.models.multivariate.variable module
  • pyFTS.models.multivariate.flrg module
  • -
  • pyFTS.models.multivariate.partitioner module
  • +
  • pyFTS.models.multivariate.partitioner module
  • +
  • pyFTS.models.multivariate.grid module
  • pyFTS.models.multivariate.mvfts module
  • pyFTS.models.multivariate.wmvfts module
  • pyFTS.models.multivariate.cmvfts module
  • @@ -125,17 +126,17 @@

    pyFTS.models.multivariate.FLR module

    -class pyFTS.models.multivariate.FLR.FLR[source]
    +class pyFTS.models.multivariate.FLR.FLR

    Bases: object

    Multivariate Fuzzy Logical Relationship

    -set_lhs(var, set)[source]
    +set_lhs(var, set)
    -set_rhs(set)[source]
    +set_rhs(set)
    @@ -145,12 +146,12 @@

    pyFTS.models.multivariate.common module

    -class pyFTS.models.multivariate.common.MultivariateFuzzySet(**kwargs)[source]
    +class pyFTS.models.multivariate.common.MultivariateFuzzySet(**kwargs)

    Bases: pyFTS.common.Composite.FuzzySet

    Multivariate Composite Fuzzy Set

    -append_set(variable, set)[source]
    +append_set(variable, set)

    Appends a new fuzzy set from a new variable

    @@ -168,7 +169,7 @@
    -membership(x)[source]
    +membership(x)

    Calculate the membership value of a given input

    @@ -184,19 +185,19 @@
    -set_target_variable(variable)[source]
    +set_target_variable(variable)
    -pyFTS.models.multivariate.common.fuzzyfy_instance(data_point, var, tuples=True)[source]
    +pyFTS.models.multivariate.common.fuzzyfy_instance(data_point, var, tuples=True)
    -pyFTS.models.multivariate.common.fuzzyfy_instance_clustered(data_point, cluster, **kwargs)[source]
    +pyFTS.models.multivariate.common.fuzzyfy_instance_clustered(data_point, cluster, **kwargs)
    @@ -204,35 +205,23 @@

    pyFTS.models.multivariate.variable module

    -class pyFTS.models.multivariate.variable.Variable(name, **kwargs)[source]
    +class pyFTS.models.multivariate.variable.Variable(name, **kwargs)

    Bases: object

    A variable of a fuzzy time series multivariate model. Each variable contains its own transformations and partitioners.

    -
    -
    -alias = None
    -

    A string with the alias of the variable

    -
    - -
    -
    -alpha_cut = None
    -

    Minimal membership value to be considered on fuzzyfication process

    -
    -
    -apply_inverse_transformations(data, **kwargs)[source]
    +apply_inverse_transformations(data, **kwargs)
    -apply_transformations(data, **kwargs)[source]
    +apply_transformations(data, **kwargs)
    -build(**kwargs)[source]
    +build(**kwargs)
    @@ -245,42 +234,6 @@ transformations and partitioners.

    -
    -
    -data_label = None
    -

    A string with the column name on DataFrame

    -
    - -
    -
    -data_type = None
    -

    The type of the data column on Pandas Dataframe

    -
    - -
    -
    -mask = None
    -

    The mask for format the data column on Pandas Dataframe

    -
    - -
    -
    -name = None
    -

    A string with the name of the variable

    -
    - -
    -
    -partitioner = None
    -

    UoD partitioner for the variable data

    -
    - -
    -
    -transformation = None
    -

    Pre processing transformation for the variable

    -
    -
    @@ -288,17 +241,17 @@ transformations and partitioners.

    pyFTS.models.multivariate.flrg module

    -class pyFTS.models.multivariate.flrg.FLRG(**kwargs)[source]
    +class pyFTS.models.multivariate.flrg.FLRG(**kwargs)

    Bases: pyFTS.common.flrg.FLRG

    Multivariate Fuzzy Logical Rule Group

    -append_rhs(fset, **kwargs)[source]
    +append_rhs(fset, **kwargs)
    -get_lower(sets)[source]
    +get_lower(sets)

    Returns the lower bound value for the RHS fuzzy sets

    @@ -314,7 +267,7 @@ transformations and partitioners.

    -get_membership(data, variables)[source]
    +get_membership(data, variables)

    Returns the membership value of the FLRG for the input data

    @@ -335,7 +288,7 @@ transformations and partitioners.

    -get_upper(sets)[source]
    +get_upper(sets)

    Returns the upper bound value for the RHS fuzzy sets

    @@ -351,23 +304,117 @@ transformations and partitioners.

    -set_lhs(var, fset)[source]
    +set_lhs(var, fset)
    -
    -

    pyFTS.models.multivariate.partitioner module

    -
    -
    +
    +

    pyFTS.models.multivariate.partitioner module

    +
    +
    +class pyFTS.models.multivariate.partitioner.MultivariatePartitioner(**kwargs)
    +

    Bases: pyFTS.partitioners.partitioner.Partitioner

    +

    Base class for partitioners which use the MultivariateFuzzySet

    +
    +
    +append(fset)
    +
    + +
    +
    +build(data)
    +

    Perform the partitioning of the Universe of Discourse

    +
    +++ + + + + + +
    Parameters:data – training data
    Returns:
    +
    + +
    +
    +build_index()
    +
    + +
    +
    +change_target_variable(variable)
    +
    + +
    +
    +format_data(data)
    +
    + +
    +
    +fuzzyfy(data, **kwargs)
    +

    Fuzzyfy the input data according to this partitioner fuzzy sets.

    + +++ + + + +
    Parameters:
      +
    • data – input value to be fuzzyfied
    • +
    • alpha_cut – the minimal membership value to be considered on fuzzyfication (only for mode=’sets’)
    • +
    • method – the fuzzyfication method (fuzzy: all fuzzy memberships, maximum: only the maximum membership)
    • +
    • mode – the fuzzyfication mode (sets: return the fuzzy sets names, vector: return a vector with the membership
    • +
    +
    +

    values for all fuzzy sets, both: return a list with tuples (fuzzy set, membership value) )

    +

    :returns a list with the fuzzyfied values, depending on the mode

    +
    + +
    +
    +prune()
    +
    + +
    +
    +search(data, **kwargs)
    +

    Perform a search for the nearest fuzzy sets of the point ‘data’. This function were designed to work with several +overlapped fuzzy sets.

    + +++ + + + + + +
    Parameters:
      +
    • data – the value to search for the nearest fuzzy sets
    • +
    • type – the return type: ‘index’ for the fuzzy set indexes or ‘name’ for fuzzy set names.
    • +
    +
    Returns:

    a list with the nearest fuzzy sets

    +
    +
    + +
    + + +
    +

    pyFTS.models.multivariate.grid module

    +
    -class pyFTS.models.multivariate.grid.GridCluster(**kwargs)[source]
    -

    Bases: pyFTS.models.multivariate.partitioner.MultivariatePartitioner

    +class pyFTS.models.multivariate.grid.GridCluster(**kwargs) +

    Bases: pyFTS.models.multivariate.partitioner.MultivariatePartitioner

    A cartesian product of all fuzzy sets of all variables

    -build(data)[source]
    +build(data)

    Perform the partitioning of the Universe of Discourse

    @@ -385,13 +432,13 @@ transformations and partitioners.

    -class pyFTS.models.multivariate.grid.IncrementalGridCluster(**kwargs)[source]
    -

    Bases: pyFTS.models.multivariate.partitioner.MultivariatePartitioner

    +class pyFTS.models.multivariate.grid.IncrementalGridCluster(**kwargs) +

    Bases: pyFTS.models.multivariate.partitioner.MultivariatePartitioner

    Create combinations of fuzzy sets of the variables on demand, incrementally increasing the multivariate fuzzy set base.

    -fuzzyfy(data, **kwargs)[source]
    +fuzzyfy(data, **kwargs)

    Fuzzyfy the input data according to this partitioner fuzzy sets.

    @@ -413,12 +460,12 @@ multivariate fuzzy set base.

    +incremental_search(data, **kwargs)
    -prune()[source]
    +prune()
    @@ -428,12 +475,12 @@ multivariate fuzzy set base.

    pyFTS.models.multivariate.mvfts module

    -class pyFTS.models.multivariate.mvfts.MVFTS(**kwargs)[source]
    +class pyFTS.models.multivariate.mvfts.MVFTS(**kwargs)

    Bases: pyFTS.common.fts.FTS

    Multivariate extension of Chen’s ConventionalFTS method

    -append_variable(var)[source]
    +append_variable(var)

    Append a new endogenous variable to the model

    @@ -449,7 +496,7 @@ multivariate fuzzy set base.

    -apply_transformations(data, params=None, updateUoD=False, **kwargs)[source]
    +apply_transformations(data, params=None, updateUoD=False, **kwargs)

    Apply the data transformations for data preprocessing

    @@ -472,7 +519,7 @@ multivariate fuzzy set base.

    -clone_parameters(model)[source]
    +clone_parameters(model)

    Import the parameters values from other model

    @@ -486,7 +533,7 @@ multivariate fuzzy set base.

    -forecast(data, **kwargs)[source]
    +forecast(data, **kwargs)

    Point forecast one step ahead

    @@ -507,7 +554,7 @@ multivariate fuzzy set base.

    -forecast_ahead(data, steps, **kwargs)[source]
    +forecast_ahead(data, steps, **kwargs)

    Point forecast n steps ahead

    @@ -515,8 +562,8 @@ multivariate fuzzy set base.

    @@ -527,9 +574,31 @@ multivariate fuzzy set base.

    Parameters:
    • data – time series data with the minimal length equal to the max_lag of the model
    • -
    • steps – the number of steps ahead to forecast
    • -
    • start – in the multi step forecasting, the index of the data where to start forecasting
    • +
    • steps – the number of steps ahead to forecast (default: 1)
    • +
    • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
    +
    +
    +forecast_ahead_interval(data, steps, **kwargs)
    +

    Interval forecast n steps ahead

    + +++ + + + + + +
    Parameters:
      +
    • data – time series data with the minimal length equal to the max_lag of the model
    • +
    • steps – the number of steps ahead to forecast
    • +
    • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
    • +
    +
    Returns:

    a list with the forecasted intervals

    +
    +
    +
    -forecast_interval(data, **kwargs)[source]
    +forecast_interval(data, **kwargs)

    Interval forecast one step ahead

    @@ -550,27 +619,27 @@ multivariate fuzzy set base.

    -format_data(data)[source]
    +format_data(data)
    -generate_flrg(flrs)[source]
    +generate_flrg(flrs)
    -generate_flrs(data)[source]
    +generate_flrs(data)
    -generate_lhs_flrs(data)[source]
    +generate_lhs_flrs(data)
    -train(data, **kwargs)[source]
    +train(data, **kwargs)

    Method specific parameter fitting

    @@ -590,7 +659,7 @@ multivariate fuzzy set base.

    -pyFTS.models.multivariate.mvfts.product_dict(**kwargs)[source]
    +pyFTS.models.multivariate.mvfts.product_dict(**kwargs)

    Code by Seth Johnson :param kwargs: :return:

    @@ -601,17 +670,17 @@ multivariate fuzzy set base.

    pyFTS.models.multivariate.wmvfts module

    -class pyFTS.models.multivariate.wmvfts.WeightedFLRG(**kwargs)[source]
    +class pyFTS.models.multivariate.wmvfts.WeightedFLRG(**kwargs)

    Bases: pyFTS.models.multivariate.flrg.FLRG

    Weighted Multivariate Fuzzy Logical Rule Group

    -append_rhs(fset, **kwargs)[source]
    +append_rhs(fset, **kwargs)
    -get_lower(sets)[source]
    +get_lower(sets)

    Returns the lower bound value for the RHS fuzzy sets

    @@ -627,7 +696,7 @@ multivariate fuzzy set base.

    -get_midpoint(sets)[source]
    +get_midpoint(sets)

    Returns the midpoint value for the RHS fuzzy sets

    @@ -643,7 +712,7 @@ multivariate fuzzy set base.

    -get_upper(sets)[source]
    +get_upper(sets)

    Returns the upper bound value for the RHS fuzzy sets

    @@ -659,19 +728,19 @@ multivariate fuzzy set base.

    -weights()[source]
    +weights()
    -class pyFTS.models.multivariate.wmvfts.WeightedMVFTS(**kwargs)[source]
    +class pyFTS.models.multivariate.wmvfts.WeightedMVFTS(**kwargs)

    Bases: pyFTS.models.multivariate.mvfts.MVFTS

    Weighted Multivariate FTS

    -generate_flrg(flrs)[source]
    +generate_flrg(flrs)
    @@ -681,17 +750,17 @@ multivariate fuzzy set base.

    pyFTS.models.multivariate.cmvfts module

    -class pyFTS.models.multivariate.cmvfts.ClusteredMVFTS(**kwargs)[source]
    +class pyFTS.models.multivariate.cmvfts.ClusteredMVFTS(**kwargs)

    Bases: pyFTS.models.multivariate.mvfts.MVFTS

    Meta model for high order, clustered multivariate FTS

    -check_data(data)[source]
    +check_data(data)
    -forecast(ndata, **kwargs)[source]
    +forecast(ndata, **kwargs)

    Point forecast one step ahead

    @@ -712,7 +781,7 @@ multivariate fuzzy set base.

    -forecast_ahead_multivariate(data, steps, **kwargs)[source]
    +forecast_ahead_multivariate(data, steps, **kwargs)

    Multivariate forecast n step ahead

    @@ -721,7 +790,7 @@ multivariate fuzzy set base.

    @@ -734,7 +803,7 @@ multivariate fuzzy set base.

    -forecast_multivariate(data, **kwargs)[source]
    +forecast_multivariate(data, **kwargs)

    Multivariate forecast one step ahead

    Parameters:
    • data – Pandas dataframe with one column for each variable and with the minimal length equal to the max_lag of the model
    • steps – the number of steps ahead to forecast
    • -
    • kwargs – model specific parameters
    • +
    • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
    @@ -753,32 +822,14 @@ multivariate fuzzy set base.

    -
    -
    -fts_method = None
    -

    The FTS method to be called when a new model is build

    -
    - -
    -
    -fts_params = None
    -

    The FTS method specific parameters

    -
    -
    -fuzzyfy(data)[source]
    +fuzzyfy(data)
    -
    -
    -model = None
    -

    The most recent trained model

    -
    -
    -train(data, **kwargs)[source]
    +train(data, **kwargs)

    Method specific parameter fitting

    @@ -801,18 +852,12 @@ multivariate fuzzy set base.

    pyFTS.models.multivariate.granular module

    -class pyFTS.models.multivariate.granular.GranularWMVFTS(**kwargs)[source]
    +class pyFTS.models.multivariate.granular.GranularWMVFTS(**kwargs)

    Bases: pyFTS.models.multivariate.cmvfts.ClusteredMVFTS

    Granular multivariate weighted high order FTS

    -
    -
    -model = None
    -

    The most recent trained model

    -
    -
    -train(data, **kwargs)[source]
    +train(data, **kwargs)

    Method specific parameter fitting

    diff --git a/docs/build/html/pyFTS.models.nonstationary.html b/docs/build/html/pyFTS.models.nonstationary.html index ac2fb75..2c1e961 100644 --- a/docs/build/html/pyFTS.models.nonstationary.html +++ b/docs/build/html/pyFTS.models.nonstationary.html @@ -123,39 +123,27 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.

    -class pyFTS.models.nonstationary.common.FuzzySet(name, mf, parameters, **kwargs)[source]
    +class pyFTS.models.nonstationary.common.FuzzySet(name, mf, parameters, **kwargs)

    Bases: pyFTS.common.FuzzySet.FuzzySet

    Non Stationary Fuzzy Sets

    -get_lower(t)[source]
    +get_lower(t)
    -get_midpoint(t)[source]
    +get_midpoint(t)
    -get_upper(t)[source]
    +get_upper(t)
    -
    -
    -location = None
    -

    Pertubation function that affects the location of the membership function

    -
    - -
    -
    -location_params = None
    -

    Parameters for location pertubation function

    -
    -
    -membership(x, t)[source]
    +membership(x, t)

    Calculate the membership value of a given input

    @@ -174,60 +162,36 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.

    -
    -
    -noise = None
    -

    Pertubation function that adds noise on the membership function

    -
    - -
    -
    -noise_params = None
    -

    Parameters for noise pertubation function

    -
    -
    -perform_location(t, param)[source]
    +perform_location(t, param)
    -perform_width(t, param)[source]
    +perform_width(t, param)
    -perturbate_parameters(t)[source]
    +perturbate_parameters(t)
    -
    -
    -width = None
    -

    Pertubation function that affects the width of the membership function

    -
    - -
    -
    -width_params = None
    -

    Parameters for width pertubation function

    -
    -
    -pyFTS.models.nonstationary.common.check_bounds(data, partitioner, t)[source]
    +pyFTS.models.nonstationary.common.check_bounds(data, partitioner, t)
    -pyFTS.models.nonstationary.common.check_bounds_index(data, partitioner, t)[source]
    +pyFTS.models.nonstationary.common.check_bounds_index(data, partitioner, t)
    -pyFTS.models.nonstationary.common.fuzzify(inst, t, fuzzySets)[source]
    +pyFTS.models.nonstationary.common.fuzzify(inst, t, fuzzySets)

    Calculate the membership values for a data point given nonstationary fuzzy sets

    @@ -249,12 +213,12 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.

    -pyFTS.models.nonstationary.common.fuzzySeries(data, fuzzySets, ordered_sets, window_size=1, method='fuzzy', const_t=None)[source]
    +pyFTS.models.nonstationary.common.fuzzySeries(data, fuzzySets, ordered_sets, window_size=1, method='fuzzy', const_t=None)
    -pyFTS.models.nonstationary.common.window_index(t, window_size)[source]
    +pyFTS.models.nonstationary.common.window_index(t, window_size)
    @@ -262,11 +226,11 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.

    pyFTS.models.nonstationary.cvfts module

    -class pyFTS.models.nonstationary.cvfts.ConditionalVarianceFTS(**kwargs)[source]
    +class pyFTS.models.nonstationary.cvfts.ConditionalVarianceFTS(**kwargs)

    Bases: pyFTS.models.hofts.HighOrderFTS

    -forecast(ndata, **kwargs)[source]
    +forecast(ndata, **kwargs)

    Point forecast one step ahead

    @@ -287,7 +251,7 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.

    -forecast_interval(ndata, **kwargs)[source]
    +forecast_interval(ndata, **kwargs)

    Interval forecast one step ahead

    @@ -308,22 +272,22 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.

    -generate_flrg(flrs, **kwargs)[source]
    +generate_flrg(flrs, **kwargs)
    -perturbation_factors(data, **kwargs)[source]
    +perturbation_factors(data, **kwargs)
    -perturbation_factors__old(data)[source]
    +perturbation_factors__old(data)
    -train(ndata, **kwargs)[source]
    +train(ndata, **kwargs)

    Method specific parameter fitting

    @@ -343,17 +307,17 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.

    -class pyFTS.models.nonstationary.cvfts.HighOrderNonstationaryFLRG(order, **kwargs)[source]
    +class pyFTS.models.nonstationary.cvfts.HighOrderNonstationaryFLRG(order, **kwargs)

    Bases: pyFTS.models.hofts.HighOrderFTS

    Conventional High Order Fuzzy Logical Relationship Group

    -append_lhs(c)[source]
    +append_lhs(c)
    -append_rhs(c, **kwargs)[source]
    +append_rhs(c, **kwargs)
    @@ -363,17 +327,17 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.

    pyFTS.models.nonstationary.flrg module

    -class pyFTS.models.nonstationary.flrg.NonStationaryFLRG(LHS, **kwargs)[source]
    +class pyFTS.models.nonstationary.flrg.NonStationaryFLRG(LHS, **kwargs)

    Bases: pyFTS.common.flrg.FLRG

    -get_key()[source]
    +get_key()

    Returns a unique identifier for this FLRG

    -get_lower(*args)[source]
    +get_lower(*args)

    Returns the lower bound value for the RHS fuzzy sets

    @@ -389,7 +353,7 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.

    -get_membership(data, *args)[source]
    +get_membership(data, *args)

    Returns the membership value of the FLRG for the input data

    @@ -410,7 +374,7 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.

    -get_midpoint(*args)[source]
    +get_midpoint(*args)

    Returns the midpoint value for the RHS fuzzy sets

    @@ -426,7 +390,7 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.

    -get_upper(*args)[source]
    +get_upper(*args)

    Returns the upper bound value for the RHS fuzzy sets

    @@ -442,7 +406,7 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.

    -unpack_args(*args)[source]
    +unpack_args(*args)
    @@ -452,29 +416,29 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.

    pyFTS.models.nonstationary.honsfts module

    -class pyFTS.models.nonstationary.honsfts.HighOrderNonStationaryFLRG(order, **kwargs)[source]
    +class pyFTS.models.nonstationary.honsfts.HighOrderNonStationaryFLRG(order, **kwargs)

    Bases: pyFTS.models.nonstationary.flrg.NonStationaryFLRG

    First Order NonStationary Fuzzy Logical Relationship Group

    -append_lhs(c)[source]
    +append_lhs(c)
    -append_rhs(c, **kwargs)[source]
    +append_rhs(c, **kwargs)
    -class pyFTS.models.nonstationary.honsfts.HighOrderNonStationaryFTS(name, **kwargs)[source]
    +class pyFTS.models.nonstationary.honsfts.HighOrderNonStationaryFTS(name, **kwargs)

    Bases: pyFTS.models.hofts.HighOrderFTS

    NonStationaryFTS Fuzzy Time Series

    -forecast(ndata, **kwargs)[source]
    +forecast(ndata, **kwargs)

    Point forecast one step ahead

    @@ -495,7 +459,7 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.

    -forecast_interval(ndata, **kwargs)[source]
    +forecast_interval(ndata, **kwargs)

    Interval forecast one step ahead

    @@ -516,12 +480,12 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.

    -generate_flrg(data, **kwargs)[source]
    +generate_flrg(data, **kwargs)
    -train(data, **kwargs)[source]
    +train(data, **kwargs)

    Method specific parameter fitting

    @@ -544,17 +508,17 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.

    pyFTS.models.nonstationary.nsfts module

    -class pyFTS.models.nonstationary.nsfts.ConventionalNonStationaryFLRG(LHS, **kwargs)[source]
    +class pyFTS.models.nonstationary.nsfts.ConventionalNonStationaryFLRG(LHS, **kwargs)

    Bases: pyFTS.models.nonstationary.flrg.NonStationaryFLRG

    First Order NonStationary Fuzzy Logical Relationship Group

    -append_rhs(c, **kwargs)[source]
    +append_rhs(c, **kwargs)
    -get_key()[source]
    +get_key()

    Returns a unique identifier for this FLRG

    @@ -562,17 +526,17 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.

    -class pyFTS.models.nonstationary.nsfts.NonStationaryFTS(**kwargs)[source]
    +class pyFTS.models.nonstationary.nsfts.NonStationaryFTS(**kwargs)

    Bases: pyFTS.common.fts.FTS

    NonStationaryFTS Fuzzy Time Series

    -conditional_perturbation_factors(data, **kwargs)[source]
    +conditional_perturbation_factors(data, **kwargs)
    -forecast(ndata, **kwargs)[source]
    +forecast(ndata, **kwargs)

    Point forecast one step ahead

    @@ -593,7 +557,7 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.

    -forecast_interval(ndata, **kwargs)[source]
    +forecast_interval(ndata, **kwargs)

    Interval forecast one step ahead

    @@ -614,12 +578,12 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.

    -generate_flrg(flrs, **kwargs)[source]
    +generate_flrg(flrs, **kwargs)
    -train(data, **kwargs)[source]
    +train(data, **kwargs)

    Method specific parameter fitting

    @@ -642,12 +606,12 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.

    pyFTS.models.nonstationary.partitioners module

    -class pyFTS.models.nonstationary.partitioners.PolynomialNonStationaryPartitioner(data, part, **kwargs)[source]
    +class pyFTS.models.nonstationary.partitioners.PolynomialNonStationaryPartitioner(data, part, **kwargs)

    Bases: pyFTS.partitioners.partitioner.Partitioner

    Non Stationary Universe of Discourse Partitioner

    -build(data)[source]
    +build(data)

    Perform the partitioning of the Universe of Discourse

    @@ -663,34 +627,34 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.

    -get_polynomial_perturbations(data, **kwargs)[source]
    +get_polynomial_perturbations(data, **kwargs)
    -poly_width(par1, par2, rng, deg)[source]
    +poly_width(par1, par2, rng, deg)
    -scale_down(x, pct)[source]
    +scale_down(x, pct)
    -scale_up(x, pct)[source]
    +scale_up(x, pct)
    -class pyFTS.models.nonstationary.partitioners.SimpleNonStationaryPartitioner(data, part, **kwargs)[source]
    +class pyFTS.models.nonstationary.partitioners.SimpleNonStationaryPartitioner(data, part, **kwargs)

    Bases: pyFTS.partitioners.partitioner.Partitioner

    Non Stationary Universe of Discourse Partitioner

    -build(data)[source]
    +build(data)

    Perform the partitioning of the Universe of Discourse

    @@ -708,7 +672,7 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.

    -pyFTS.models.nonstationary.partitioners.simplenonstationary_gridpartitioner_builder(data, npart, transformation)[source]
    +pyFTS.models.nonstationary.partitioners.simplenonstationary_gridpartitioner_builder(data, npart, transformation)
    @@ -717,22 +681,22 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.

    Pertubation functions for Non Stationary Fuzzy Sets

    -pyFTS.models.nonstationary.perturbation.exponential(x, parameters)[source]
    +pyFTS.models.nonstationary.perturbation.exponential(x, parameters)
    -pyFTS.models.nonstationary.perturbation.linear(x, parameters)[source]
    +pyFTS.models.nonstationary.perturbation.linear(x, parameters)
    -pyFTS.models.nonstationary.perturbation.periodic(x, parameters)[source]
    +pyFTS.models.nonstationary.perturbation.periodic(x, parameters)
    -pyFTS.models.nonstationary.perturbation.polynomial(x, parameters)[source]
    +pyFTS.models.nonstationary.perturbation.polynomial(x, parameters)
    @@ -740,12 +704,12 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.

    pyFTS.models.nonstationary.util module

    -pyFTS.models.nonstationary.util.plot_sets(partitioner, start=0, end=10, step=1, tam=[5, 5], colors=None, save=False, file=None, axes=None, data=None, window_size=1, only_lines=False)[source]
    +pyFTS.models.nonstationary.util.plot_sets(partitioner, start=0, end=10, step=1, tam=[5, 5], colors=None, save=False, file=None, axes=None, data=None, window_size=1, only_lines=False)
    -pyFTS.models.nonstationary.util.plot_sets_conditional(model, data, step=1, size=[5, 5], colors=None, save=False, file=None, axes=None, fig=None)[source]
    +pyFTS.models.nonstationary.util.plot_sets_conditional(model, data, step=1, size=[5, 5], colors=None, save=False, file=None, axes=None, fig=None)
    diff --git a/docs/build/html/pyFTS.models.seasonal.html b/docs/build/html/pyFTS.models.seasonal.html index f27206d..4a35623 100644 --- a/docs/build/html/pyFTS.models.seasonal.html +++ b/docs/build/html/pyFTS.models.seasonal.html @@ -118,143 +118,143 @@

    pyFTS.models.seasonal.SeasonalIndexer module

    -class pyFTS.models.seasonal.SeasonalIndexer.DataFrameSeasonalIndexer(index_fields, index_seasons, data_field, **kwargs)[source]
    +class pyFTS.models.seasonal.SeasonalIndexer.DataFrameSeasonalIndexer(index_fields, index_seasons, data_field, **kwargs)

    Bases: pyFTS.models.seasonal.SeasonalIndexer.SeasonalIndexer

    Use the Pandas.DataFrame index position to index the seasonality

    -get_data(data)[source]
    +get_data(data)
    -get_data_by_season(data, indexes)[source]
    +get_data_by_season(data, indexes)
    -get_index_by_season(indexes)[source]
    +get_index_by_season(indexes)
    -get_season_by_index(index)[source]
    +get_season_by_index(index)
    -get_season_of_data(data)[source]
    +get_season_of_data(data)
    -set_data(data, value)[source]
    +set_data(data, value)
    -class pyFTS.models.seasonal.SeasonalIndexer.DateTimeSeasonalIndexer(date_field, index_fields, index_seasons, data_field, **kwargs)[source]
    +class pyFTS.models.seasonal.SeasonalIndexer.DateTimeSeasonalIndexer(date_field, index_fields, index_seasons, data_field, **kwargs)

    Bases: pyFTS.models.seasonal.SeasonalIndexer.SeasonalIndexer

    Use a Pandas.DataFrame date field to index the seasonality

    -get_data(data)[source]
    +get_data(data)
    -get_data_by_season(data, indexes)[source]
    +get_data_by_season(data, indexes)
    -get_index(data)[source]
    +get_index(data)
    -get_index_by_season(indexes)[source]
    +get_index_by_season(indexes)
    -get_season_by_index(index)[source]
    +get_season_by_index(index)
    -get_season_of_data(data)[source]
    +get_season_of_data(data)
    -set_data(data, value)[source]
    +set_data(data, value)
    -class pyFTS.models.seasonal.SeasonalIndexer.LinearSeasonalIndexer(seasons, units, ignore=None, **kwargs)[source]
    +class pyFTS.models.seasonal.SeasonalIndexer.LinearSeasonalIndexer(seasons, units, ignore=None, **kwargs)

    Bases: pyFTS.models.seasonal.SeasonalIndexer.SeasonalIndexer

    Use the data array/list position to index the seasonality

    -get_data(data)[source]
    +get_data(data)
    -get_index_by_season(indexes)[source]
    +get_index_by_season(indexes)
    -get_season_by_index(index)[source]
    +get_season_by_index(index)
    -get_season_of_data(data)[source]
    +get_season_of_data(data)
    -class pyFTS.models.seasonal.SeasonalIndexer.SeasonalIndexer(num_seasons, **kwargs)[source]
    +class pyFTS.models.seasonal.SeasonalIndexer.SeasonalIndexer(num_seasons, **kwargs)

    Bases: object

    Seasonal Indexer. Responsible to find the seasonal index of a data point inside its data set

    -get_data(data)[source]
    +get_data(data)
    -get_data_by_season(data, indexes)[source]
    +get_data_by_season(data, indexes)
    -get_index(data)[source]
    +get_index(data)
    -get_index_by_season(indexes)[source]
    +get_index_by_season(indexes)
    -get_season_by_index(inde)[source]
    +get_season_by_index(inde)
    -get_season_of_data(data)[source]
    +get_season_of_data(data)
    @@ -264,12 +264,12 @@

    pyFTS.models.seasonal.cmsfts module

    -class pyFTS.models.seasonal.cmsfts.ContextualMultiSeasonalFTS(**kwargs)[source]
    +class pyFTS.models.seasonal.cmsfts.ContextualMultiSeasonalFTS(**kwargs)

    Bases: pyFTS.models.seasonal.sfts.SeasonalFTS

    Contextual Multi-Seasonal Fuzzy Time Series

    -forecast(data, **kwargs)[source]
    +forecast(data, **kwargs)

    Point forecast one step ahead

    @@ -290,7 +290,7 @@
    -forecast_ahead(data, steps, **kwargs)[source]
    +forecast_ahead(data, steps, **kwargs)

    Point forecast n steps ahead

    @@ -298,8 +298,8 @@ @@ -312,17 +312,17 @@
    -generate_flrg(flrs)[source]
    +generate_flrg(flrs)
    -get_midpoints(flrg, data)[source]
    +get_midpoints(flrg, data)
    -train(data, **kwargs)[source]
    +train(data, **kwargs)

    Method specific parameter fitting

    Parameters:
    • data – time series data with the minimal length equal to the max_lag of the model
    • -
    • steps – the number of steps ahead to forecast
    • -
    • start – in the multi step forecasting, the index of the data where to start forecasting
    • +
    • steps – the number of steps ahead to forecast (default: 1)
    • +
    • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
    @@ -342,12 +342,12 @@
    -class pyFTS.models.seasonal.cmsfts.ContextualSeasonalFLRG(seasonality)[source]
    +class pyFTS.models.seasonal.cmsfts.ContextualSeasonalFLRG(seasonality)

    Bases: pyFTS.models.seasonal.sfts.SeasonalFLRG

    Contextual Seasonal Fuzzy Logical Relationship Group

    -append_rhs(flr, **kwargs)[source]
    +append_rhs(flr, **kwargs)
    @@ -357,7 +357,7 @@

    pyFTS.models.seasonal.common module

    -class pyFTS.models.seasonal.common.DateTime[source]
    +class pyFTS.models.seasonal.common.DateTime

    Bases: enum.Enum

    Data and Time granularity for time granularity and seasonality identification

    @@ -469,12 +469,12 @@
    -class pyFTS.models.seasonal.common.FuzzySet(datepart, name, mf, parameters, centroid, alpha=1.0, **kwargs)[source]
    +class pyFTS.models.seasonal.common.FuzzySet(datepart, name, mf, parameters, centroid, alpha=1.0, **kwargs)

    Bases: pyFTS.common.FuzzySet.FuzzySet

    Temporal/Seasonal Fuzzy Set

    -transform(x)[source]
    +transform(x)

    Preprocess the data point for non native types

    @@ -492,7 +492,7 @@
    -pyFTS.models.seasonal.common.strip_datepart(date, date_part, mask='')[source]
    +pyFTS.models.seasonal.common.strip_datepart(date, date_part, mask='')
    @@ -500,12 +500,12 @@

    pyFTS.models.seasonal.msfts module

    -class pyFTS.models.seasonal.msfts.MultiSeasonalFTS(name, indexer, **kwargs)[source]
    +class pyFTS.models.seasonal.msfts.MultiSeasonalFTS(name, indexer, **kwargs)

    Bases: pyFTS.models.seasonal.sfts.SeasonalFTS

    Multi-Seasonal Fuzzy Time Series

    -forecast(data, **kwargs)[source]
    +forecast(data, **kwargs)

    Point forecast one step ahead

    @@ -526,7 +526,7 @@
    -forecast_ahead(data, steps, **kwargs)[source]
    +forecast_ahead(data, steps, **kwargs)

    Point forecast n steps ahead

    @@ -534,8 +534,8 @@ @@ -548,12 +548,12 @@
    -generate_flrg(flrs)[source]
    +generate_flrg(flrs)
    -train(data, **kwargs)[source]
    +train(data, **kwargs)

    Method specific parameter fitting

    Parameters:
    • data – time series data with the minimal length equal to the max_lag of the model
    • -
    • steps – the number of steps ahead to forecast
    • -
    • start – in the multi step forecasting, the index of the data where to start forecasting
    • +
    • steps – the number of steps ahead to forecast (default: 1)
    • +
    • start_at – in the multi step forecasting, the index of the data where to start forecasting (default: 0)
    @@ -576,12 +576,12 @@

    pyFTS.models.seasonal.partitioner module

    -class pyFTS.models.seasonal.partitioner.TimeGridPartitioner(**kwargs)[source]
    +class pyFTS.models.seasonal.partitioner.TimeGridPartitioner(**kwargs)

    Bases: pyFTS.partitioners.partitioner.Partitioner

    Even Length DateTime Grid Partitioner

    -build(data)[source]
    +build(data)

    Perform the partitioning of the Universe of Discourse

    @@ -597,18 +597,12 @@
    -build_index()[source]
    +build_index()
    -
    -
    -mask = None
    -

    A string with datetime formating mask

    -
    -
    -plot(ax)[source]
    +plot(ax)

    Plot the :param ax: :return:

    @@ -616,7 +610,7 @@
    -search(data, **kwargs)[source]
    +search(data, **kwargs)

    Perform a search for the nearest fuzzy sets of the point ‘data’. This function were designed to work with several overlapped fuzzy sets.

    @@ -637,12 +631,6 @@ overlapped fuzzy sets.

    -
    -
    -season = None
    -

    Seasonality, a pyFTS.models.seasonal.common.DateTime object

    -
    -
    @@ -655,17 +643,17 @@ overlapped fuzzy sets.

    S.-M. Chen, “Forecasting enrollments based on fuzzy time series,” Fuzzy Sets Syst., vol. 81, no. 3, pp. 311–319, 1996.

    -class pyFTS.models.seasonal.sfts.SeasonalFLRG(seasonality)[source]
    +class pyFTS.models.seasonal.sfts.SeasonalFLRG(seasonality)

    Bases: pyFTS.common.flrg.FLRG

    First Order Seasonal Fuzzy Logical Relationship Group

    -append_rhs(c, **kwargs)[source]
    +append_rhs(c, **kwargs)
    -get_key()[source]
    +get_key()

    Returns a unique identifier for this FLRG

    @@ -673,12 +661,12 @@ overlapped fuzzy sets.

    -class pyFTS.models.seasonal.sfts.SeasonalFTS(**kwargs)[source]
    +class pyFTS.models.seasonal.sfts.SeasonalFTS(**kwargs)

    Bases: pyFTS.common.fts.FTS

    First Order Seasonal Fuzzy Time Series

    -forecast(data, **kwargs)[source]
    +forecast(data, **kwargs)

    Point forecast one step ahead

    @@ -699,17 +687,17 @@ overlapped fuzzy sets.

    -generate_flrg(flrs)[source]
    +generate_flrg(flrs)
    -get_midpoints(flrg)[source]
    +get_midpoints(flrg)
    -train(data, **kwargs)[source]
    +train(data, **kwargs)

    Method specific parameter fitting

    diff --git a/docs/build/html/pyFTS.partitioners.html b/docs/build/html/pyFTS.partitioners.html index 79f3bc1..627c3be 100644 --- a/docs/build/html/pyFTS.partitioners.html +++ b/docs/build/html/pyFTS.partitioners.html @@ -125,12 +125,12 @@

    pyFTS.partitioners.partitioner module

    -class pyFTS.partitioners.partitioner.Partitioner(**kwargs)[source]
    +class pyFTS.partitioners.partitioner.Partitioner(**kwargs)

    Bases: object

    Universe of Discourse partitioner. Split data on several fuzzy sets

    -build(data)[source]
    +build(data)

    Perform the partitioning of the Universe of Discourse

    @@ -146,12 +146,12 @@
    -build_index()[source]
    +build_index()
    -check_bounds(data)[source]
    +check_bounds(data)

    Check if the input data is outside the known Universe of Discourse and, if it is, round it to the closest fuzzy set.

    @@ -167,15 +167,9 @@ fuzzy set.

    the data is inside the UoD.

    -
    -
    -extractor = None
    -

    Anonymous function used to extract a single primitive type from an object instance

    -
    -
    -fuzzyfy(data, **kwargs)[source]
    +fuzzyfy(data, **kwargs)

    Fuzzyfy the input data according to this partitioner fuzzy sets.

    @@ -197,7 +191,7 @@ fuzzy set.

    -get_name(counter)[source]
    +get_name(counter)

    Find the name of the fuzzy set given its counter id.

    @@ -211,15 +205,9 @@ fuzzy set.

    -
    -
    -kdtree = None
    -

    A spatial index to help in fuzzyfication

    -
    -
    -lower_set()[source]
    +lower_set()

    Return the fuzzy set on lower bound of the universe of discourse.

    @@ -231,33 +219,9 @@ fuzzy set.

    -
    -
    -membership_function = None
    -

    Fuzzy membership function (pyFTS.common.Membership)

    -
    - -
    -
    -name = None
    -

    partitioner name

    -
    - -
    -
    -ordered_sets = None
    -

    A ordered list of the fuzzy sets names, sorted by their middle point

    -
    - -
    -
    -partitions = None
    -

    The number of universe of discourse partitions, i.e., the number of fuzzy sets that will be created

    -
    -
    -plot(ax, rounding=0)[source]
    +plot(ax, rounding=0)

    Plot the partitioning using the Matplotlib axis ax

    @@ -271,7 +235,7 @@ fuzzy set.

    -plot_set(ax, s)[source]
    +plot_set(ax, s)

    Plot an isolate fuzzy set on Matplotlib axis

    @@ -287,15 +251,9 @@ fuzzy set.

    -
    -
    -prefix = None
    -

    prefix of auto generated partition names

    -
    -
    -search(data, **kwargs)[source]
    +search(data, **kwargs)

    Perform a search for the nearest fuzzy sets of the point ‘data’. This function were designed to work with several overlapped fuzzy sets.

    @@ -316,27 +274,9 @@ overlapped fuzzy sets.

    -
    -
    -setnames = None
    -

    list of partitions names. If None is given the partitions will be auto named with prefix

    -
    - -
    -
    -transformation = None
    -

    data transformation to be applied on data

    -
    - -
    -
    -type = None
    -

    The type of fuzzy sets that are generated by this partitioner

    -
    -
    -upper_set()[source]
    +upper_set()

    Return the fuzzy set on upper bound of the universe of discourse.

    @@ -348,12 +288,6 @@ overlapped fuzzy sets.

    -
    -
    -variable = None
    -

    In a multivariate context, the variable that contains this partitioner

    -
    -
    @@ -361,11 +295,11 @@ overlapped fuzzy sets.

    pyFTS.partitioners.CMeans module

    -class pyFTS.partitioners.CMeans.CMeansPartitioner(**kwargs)[source]
    +class pyFTS.partitioners.CMeans.CMeansPartitioner(**kwargs)

    Bases: pyFTS.partitioners.partitioner.Partitioner

    -build(data)[source]
    +build(data)

    Perform the partitioning of the Universe of Discourse

    @@ -383,12 +317,12 @@ overlapped fuzzy sets.

    -pyFTS.partitioners.CMeans.c_means(k, dados, tam)[source]
    +pyFTS.partitioners.CMeans.c_means(k, dados, tam)
    -pyFTS.partitioners.CMeans.distance(x, y)[source]
    +pyFTS.partitioners.CMeans.distance(x, y)
    @@ -398,12 +332,12 @@ overlapped fuzzy sets.

    Technol. Forecast. Social Change, vol. 73, no. 5, pp. 524–542, Jun. 2006.

    -class pyFTS.partitioners.Entropy.EntropyPartitioner(**kwargs)[source]
    +class pyFTS.partitioners.Entropy.EntropyPartitioner(**kwargs)

    Bases: pyFTS.partitioners.partitioner.Partitioner

    Huarng Entropy Partitioner

    -build(data)[source]
    +build(data)

    Perform the partitioning of the Universe of Discourse

    @@ -421,32 +355,32 @@ Technol. Forecast. Social Change, vol. 73, no. 5, pp. 524–542, Jun. 2006.

    -pyFTS.partitioners.Entropy.PMF(data, threshold)[source]
    +pyFTS.partitioners.Entropy.PMF(data, threshold)
    -pyFTS.partitioners.Entropy.bestSplit(data, npart)[source]
    +pyFTS.partitioners.Entropy.bestSplit(data, npart)
    -pyFTS.partitioners.Entropy.entropy(data, threshold)[source]
    +pyFTS.partitioners.Entropy.entropy(data, threshold)
    -pyFTS.partitioners.Entropy.informationGain(data, thres1, thres2)[source]
    +pyFTS.partitioners.Entropy.informationGain(data, thres1, thres2)
    -pyFTS.partitioners.Entropy.splitAbove(data, threshold)[source]
    +pyFTS.partitioners.Entropy.splitAbove(data, threshold)
    -pyFTS.partitioners.Entropy.splitBelow(data, threshold)[source]
    +pyFTS.partitioners.Entropy.splitBelow(data, threshold)
    @@ -456,11 +390,11 @@ Technol. Forecast. Social Change, vol. 73, no. 5, pp. 524–542, Jun. 2006.

    Comput. Math. Appl., vol. 56, no. 12, pp. 3052–3063, Dec. 2008. DOI: 10.1016/j.camwa.2008.07.033.

    -class pyFTS.partitioners.FCM.FCMPartitioner(**kwargs)[source]
    +class pyFTS.partitioners.FCM.FCMPartitioner(**kwargs)

    Bases: pyFTS.partitioners.partitioner.Partitioner

    -build(data)[source]
    +build(data)

    Perform the partitioning of the Universe of Discourse

    @@ -478,17 +412,17 @@ Comput. Math. Appl., vol. 56, no. 12, pp. 3052–3063, Dec. 2008. DOI: 10.1016/j
    -pyFTS.partitioners.FCM.fuzzy_cmeans(k, dados, tam, m, deltadist=0.001)[source]
    +pyFTS.partitioners.FCM.fuzzy_cmeans(k, dados, tam, m, deltadist=0.001)
    -pyFTS.partitioners.FCM.fuzzy_distance(x, y)[source]
    +pyFTS.partitioners.FCM.fuzzy_distance(x, y)
    -pyFTS.partitioners.FCM.membership(val, vals)[source]
    +pyFTS.partitioners.FCM.membership(val, vals)
    @@ -497,12 +431,12 @@ Comput. Math. Appl., vol. 56, no. 12, pp. 3052–3063, Dec. 2008. DOI: 10.1016/j

    Even Length Grid Partitioner

    -class pyFTS.partitioners.Grid.GridPartitioner(**kwargs)[source]
    +class pyFTS.partitioners.Grid.GridPartitioner(**kwargs)

    Bases: pyFTS.partitioners.partitioner.Partitioner

    Even Length Grid Partitioner

    -build(data)[source]
    +build(data)

    Perform the partitioning of the Universe of Discourse

    @@ -525,12 +459,12 @@ Comput. Math. Appl., vol. 56, no. 12, pp. 3052–3063, Dec. 2008. DOI: 10.1016/j Fuzzy Sets Syst., vol. 123, no. 3, pp. 387–394, Nov. 2001.

    -class pyFTS.partitioners.Huarng.HuarngPartitioner(**kwargs)[source]
    +class pyFTS.partitioners.Huarng.HuarngPartitioner(**kwargs)

    Bases: pyFTS.partitioners.partitioner.Partitioner

    Huarng Empirical Partitioner

    -build(data)[source]
    +build(data)

    Perform the partitioning of the Universe of Discourse

    @@ -552,12 +486,12 @@ Fuzzy Sets Syst., vol. 123, no. 3, pp. 387–394, Nov. 2001.

    Even Length Grid Partitioner

    -class pyFTS.partitioners.Singleton.SingletonPartitioner(**kwargs)[source]
    +class pyFTS.partitioners.Singleton.SingletonPartitioner(**kwargs)

    Bases: pyFTS.partitioners.partitioner.Partitioner

    Singleton Partitioner

    -build(data)[source]
    +build(data)

    Perform the partitioning of the Universe of Discourse

    @@ -579,12 +513,12 @@ Fuzzy Sets Syst., vol. 123, no. 3, pp. 387–394, Nov. 2001.

    Simple Partitioner for manually informed fuzzy sets

    -class pyFTS.partitioners.Simple.SimplePartitioner(**kwargs)[source]
    +class pyFTS.partitioners.Simple.SimplePartitioner(**kwargs)

    Bases: pyFTS.partitioners.partitioner.Partitioner

    Simple Partitioner for manually informed fuzzy sets

    -append(name, mf, parameters, **kwargs)[source]
    +append(name, mf, parameters, **kwargs)

    Append a new partition (fuzzy set) to the partitioner

    @@ -604,7 +538,7 @@ Fuzzy Sets Syst., vol. 123, no. 3, pp. 387–394, Nov. 2001.

    -append_complex(fs)[source]
    +append_complex(fs)
    @@ -615,7 +549,7 @@ Fuzzy Sets Syst., vol. 123, no. 3, pp. 387–394, Nov. 2001.

    Facility methods for pyFTS partitioners module

    -pyFTS.partitioners.Util.explore_partitioners(data, npart, methods=None, mf=None, transformation=None, size=[12, 10], save=False, file=None)[source]
    +pyFTS.partitioners.Util.explore_partitioners(data, npart, methods=None, mf=None, transformation=None, size=[12, 10], save=False, file=None)

    Create partitioners for the mf membership functions and npart partitions and show the partitioning images. :data: Time series data :npart: Maximum number of partitions of the universe of discourse @@ -630,12 +564,12 @@ Fuzzy Sets Syst., vol. 123, no. 3, pp. 387–394, Nov. 2001.

    -pyFTS.partitioners.Util.plot_partitioners(data, objs, tam=[12, 10], save=False, file=None, axis=None)[source]
    +pyFTS.partitioners.Util.plot_partitioners(data, objs, tam=[12, 10], save=False, file=None, axis=None)
    -pyFTS.partitioners.Util.plot_sets(data, sets, titles, size=[12, 10], save=False, file=None, axis=None)[source]
    +pyFTS.partitioners.Util.plot_sets(data, sets, titles, size=[12, 10], save=False, file=None, axis=None)
    @@ -643,7 +577,7 @@ Fuzzy Sets Syst., vol. 123, no. 3, pp. 387–394, Nov. 2001.

    pyFTS.partitioners.parallel_util module

    -pyFTS.partitioners.parallel_util.explore_partitioners(data, npart, methods=None, mf=None, tam=[12, 10], save=False, file=None)[source]
    +pyFTS.partitioners.parallel_util.explore_partitioners(data, npart, methods=None, mf=None, tam=[12, 10], save=False, file=None)
    diff --git a/docs/build/html/pyFTS.probabilistic.html b/docs/build/html/pyFTS.probabilistic.html index fd75b1d..da68342 100644 --- a/docs/build/html/pyFTS.probabilistic.html +++ b/docs/build/html/pyFTS.probabilistic.html @@ -110,14 +110,14 @@

    pyFTS.probabilistic.ProbabilityDistribution module

    -class pyFTS.probabilistic.ProbabilityDistribution.ProbabilityDistribution(type='KDE', **kwargs)[source]
    +class pyFTS.probabilistic.ProbabilityDistribution.ProbabilityDistribution(type='KDE', **kwargs)

    Bases: object

    Represents a discrete or continous probability distribution If type is histogram, the PDF is discrete If type is KDE the PDF is continuous

    -append(values)[source]
    +append(values)

    Increment the frequency count for the values

    @@ -131,7 +131,7 @@ If type is KDE the PDF is continuous

    -append_interval(intervals)[source]
    +append_interval(intervals)

    Increment the frequency count for all values inside an interval

    @@ -145,7 +145,7 @@ If type is KDE the PDF is continuous

    -averageloglikelihood(data)[source]
    +averageloglikelihood(data)

    Average log likelihood of the probability distribution with respect to data

    @@ -159,20 +159,14 @@ If type is KDE the PDF is continuous

    -
    -
    -bins = None
    -

    Number of bins on a discrete PDF

    -
    -
    -build_cdf_qtl()[source]
    +build_cdf_qtl()
    -crossentropy(q)[source]
    +crossentropy(q)

    Cross entropy between the actual probability distribution and the informed one, H(P,Q) = - ∑ P(x) log ( Q(x) )

    @@ -189,8 +183,8 @@ H(P,Q) = - ∑ P(x) log ( Q(x) )

    -cumulative(values)[source]
    -

    Return the cumulative probability densities for the input values, +cumulative(values) +

    Return the cumulative probability densities for the input values, such that F(x) = P(X <= x)

    @@ -206,7 +200,7 @@ such that F(x) = P(X <= x)

    -density(values)[source]
    +density(values)

    Return the probability densities for the input values

    @@ -222,7 +216,7 @@ such that F(x) = P(X <= x)

    -differential_offset(value)[source]
    +differential_offset(value)

    Auxiliary function for probability distributions of differentiated data

    @@ -238,7 +232,7 @@ such that F(x) = P(X <= x)

    -empiricalloglikelihood()[source]
    +empiricalloglikelihood()

    Empirical Log Likelihood of the probability distribution, L(P) = ∑ log( P(x) )

    @@ -252,14 +246,14 @@ such that F(x) = P(X <= x)

    -entropy()[source]
    +entropy()

    Return the entropy of the probability distribution, H(P) = E[ -ln P(X) ] = - ∑ P(x) log ( P(x) )

    :return:the entropy of the probability distribution

    -expected_value()[source]
    +expected_value()

    Return the expected value of the distribution, as E[X] = ∑ x * P(x)

    @@ -273,7 +267,7 @@ such that F(x) = P(X <= x)

    -kullbackleiblerdivergence(q)[source]
    +kullbackleiblerdivergence(q)

    Kullback-Leibler divergence between the actual probability distribution and the informed one. DKL(P || Q) = - ∑ P(x) log( P(X) / Q(x) )

    @@ -288,20 +282,14 @@ DKL(P || Q) = - ∑ P(x) log( P(X) / Q(x) )

    -
    -
    -labels = None
    -

    Bins labels on a discrete PDF

    -
    -
    -plot(axis=None, color='black', tam=[10, 6], title=None)[source]
    +plot(axis=None, color='black', tam=[10, 6], title=None)
    -pseudologlikelihood(data)[source]
    +pseudologlikelihood(data)

    Pseudo log likelihood of the probability distribution with respect to data

    @@ -317,8 +305,8 @@ DKL(P || Q) = - ∑ P(x) log( P(X) / Q(x) )

    -quantile(values)[source]
    -

    Return the Universe of Discourse values in relation to the quantile input values, +quantile(values) +

    Return the Universe of Discourse values in relation to the quantile input values, such that Q(tau) = min( {x | F(x) >= tau })

    @@ -334,7 +322,7 @@ such that Q(tau) = min( {x | F(x) >= tau })

    -set(value, density)[source]
    +set(value, density)

    Assert a probability ‘density’ for a certain value ‘value’, such that P(value) = density

    @@ -350,19 +338,6 @@ such that Q(tau) = min( {x | F(x) >= tau })

    -
    -
    -type = None
    -

    If type is histogram, the PDF is discrete -If type is KDE the PDF is continuous

    -
    - -
    -
    -uod = None
    -

    Universe of discourse

    -
    -
    @@ -371,24 +346,12 @@ If type is KDE the PDF is continuous

    Kernel Density Estimation

    -class pyFTS.probabilistic.kde.KernelSmoothing(h, kernel='epanechnikov')[source]
    +class pyFTS.probabilistic.kde.KernelSmoothing(**kwargs)

    Bases: object

    Kernel Density Estimation

    -
    -
    -h = None
    -

    Width parameter

    -
    - -
    -
    -kernel = None
    -

    Kernel function

    -
    -
    -kernel_function(u)[source]
    +kernel_function(u)

    Apply the kernel

    @@ -404,7 +367,7 @@ If type is KDE the PDF is continuous

    -probability(x, data)[source]
    +probability(x, **kwargs)

    Probability of the point x on data

    diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index 9fbac75..31f8861 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["index","modules","pyFTS","pyFTS.benchmarks","pyFTS.common","pyFTS.data","pyFTS.distributed","pyFTS.hyperparam","pyFTS.models","pyFTS.models.ensemble","pyFTS.models.incremental","pyFTS.models.multivariate","pyFTS.models.nonstationary","pyFTS.models.seasonal","pyFTS.partitioners","pyFTS.probabilistic","quickstart"],envversion:53,filenames:["index.rst","modules.rst","pyFTS.rst","pyFTS.benchmarks.rst","pyFTS.common.rst","pyFTS.data.rst","pyFTS.distributed.rst","pyFTS.hyperparam.rst","pyFTS.models.rst","pyFTS.models.ensemble.rst","pyFTS.models.incremental.rst","pyFTS.models.multivariate.rst","pyFTS.models.nonstationary.rst","pyFTS.models.seasonal.rst","pyFTS.partitioners.rst","pyFTS.probabilistic.rst","quickstart.rst"],objects:{"":{pyFTS:[2,0,0,"-"]},"pyFTS.benchmarks":{Measures:[3,0,0,"-"],ResidualAnalysis:[3,0,0,"-"],Util:[3,0,0,"-"],arima:[3,0,0,"-"],benchmarks:[3,0,0,"-"],knn:[3,0,0,"-"],naive:[3,0,0,"-"],quantreg:[3,0,0,"-"]},"pyFTS.benchmarks.Measures":{BoxLjungStatistic:[3,1,1,""],BoxPierceStatistic:[3,1,1,""],TheilsInequality:[3,1,1,""],UStatistic:[3,1,1,""],acf:[3,1,1,""],brier_score:[3,1,1,""],coverage:[3,1,1,""],crps:[3,1,1,""],get_distribution_statistics:[3,1,1,""],get_interval_statistics:[3,1,1,""],get_point_statistics:[3,1,1,""],heavyside:[3,1,1,""],heavyside_cdf:[3,1,1,""],mape:[3,1,1,""],mape_interval:[3,1,1,""],pinball:[3,1,1,""],pinball_mean:[3,1,1,""],pmf_to_cdf:[3,1,1,""],resolution:[3,1,1,""],rmse:[3,1,1,""],rmse_interval:[3,1,1,""],sharpness:[3,1,1,""],smape:[3,1,1,""],winkler_mean:[3,1,1,""],winkler_score:[3,1,1,""]},"pyFTS.benchmarks.ResidualAnalysis":{chi_squared:[3,1,1,""],compare_residuals:[3,1,1,""],plotResiduals:[3,1,1,""],plot_residuals:[3,1,1,""],residuals:[3,1,1,""],single_plot_residuals:[3,1,1,""]},"pyFTS.benchmarks.Util":{analytic_tabular_dataframe:[3,1,1,""],analytical_data_columns:[3,1,1,""],base_dataframe_columns:[3,1,1,""],cast_dataframe_to_synthetic:[3,1,1,""],cast_dataframe_to_synthetic_interval:[3,1,1,""],cast_dataframe_to_synthetic_point:[3,1,1,""],cast_dataframe_to_synthetic_probabilistic:[3,1,1,""],check_ignore_list:[3,1,1,""],check_replace_list:[3,1,1,""],create_benchmark_tables:[3,1,1,""],extract_measure:[3,1,1,""],find_best:[3,1,1,""],get_dataframe_from_bd:[3,1,1,""],insert_benchmark:[3,1,1,""],interval_dataframe_analytic_columns:[3,1,1,""],interval_dataframe_synthetic_columns:[3,1,1,""],open_benchmark_db:[3,1,1,""],plot_dataframe_interval:[3,1,1,""],plot_dataframe_interval_pinball:[3,1,1,""],plot_dataframe_point:[3,1,1,""],plot_dataframe_probabilistic:[3,1,1,""],point_dataframe_analytic_columns:[3,1,1,""],point_dataframe_synthetic_columns:[3,1,1,""],probabilistic_dataframe_analytic_columns:[3,1,1,""],probabilistic_dataframe_synthetic_columns:[3,1,1,""],process_common_data:[3,1,1,""],save_dataframe_interval:[3,1,1,""],save_dataframe_point:[3,1,1,""],save_dataframe_probabilistic:[3,1,1,""],scale:[3,1,1,""],scale_params:[3,1,1,""],stats:[3,1,1,""],tabular_dataframe_columns:[3,1,1,""],unified_scaled_interval:[3,1,1,""],unified_scaled_interval_pinball:[3,1,1,""],unified_scaled_point:[3,1,1,""],unified_scaled_probabilistic:[3,1,1,""]},"pyFTS.benchmarks.arima":{ARIMA:[3,2,1,""]},"pyFTS.benchmarks.arima.ARIMA":{ar:[3,3,1,""],forecast:[3,3,1,""],forecast_ahead_distribution:[3,3,1,""],forecast_ahead_interval:[3,3,1,""],forecast_distribution:[3,3,1,""],forecast_interval:[3,3,1,""],ma:[3,3,1,""],train:[3,3,1,""]},"pyFTS.benchmarks.benchmarks":{SelecaoSimples_MenorRMSE:[3,1,1,""],compareModelsPlot:[3,1,1,""],compareModelsTable:[3,1,1,""],get_benchmark_interval_methods:[3,1,1,""],get_benchmark_point_methods:[3,1,1,""],get_benchmark_probabilistic_methods:[3,1,1,""],get_interval_methods:[3,1,1,""],get_point_methods:[3,1,1,""],get_point_multivariate_methods:[3,1,1,""],get_probabilistic_methods:[3,1,1,""],pftsExploreOrderAndPartitions:[3,1,1,""],plotCompared:[3,1,1,""],plot_compared_series:[3,1,1,""],plot_point:[3,1,1,""],print_distribution_statistics:[3,1,1,""],print_interval_statistics:[3,1,1,""],print_point_statistics:[3,1,1,""],process_interval_jobs:[3,1,1,""],process_point_jobs:[3,1,1,""],process_probabilistic_jobs:[3,1,1,""],run_interval:[3,1,1,""],run_point:[3,1,1,""],run_probabilistic:[3,1,1,""],simpleSearch_RMSE:[3,1,1,""],sliding_window_benchmarks:[3,1,1,""]},"pyFTS.benchmarks.knn":{KNearestNeighbors:[3,2,1,""]},"pyFTS.benchmarks.knn.KNearestNeighbors":{forecast_distribution:[3,3,1,""],knn:[3,3,1,""],train:[3,3,1,""]},"pyFTS.benchmarks.naive":{Naive:[3,2,1,""]},"pyFTS.benchmarks.naive.Naive":{forecast:[3,3,1,""]},"pyFTS.benchmarks.quantreg":{QuantileRegression:[3,2,1,""]},"pyFTS.benchmarks.quantreg.QuantileRegression":{forecast:[3,3,1,""],forecast_ahead_distribution:[3,3,1,""],forecast_ahead_interval:[3,3,1,""],forecast_distribution:[3,3,1,""],forecast_interval:[3,3,1,""],interval_to_interval:[3,3,1,""],linearmodel:[3,3,1,""],point_to_interval:[3,3,1,""],train:[3,3,1,""]},"pyFTS.common":{Composite:[4,0,0,"-"],FLR:[4,0,0,"-"],FuzzySet:[4,0,0,"-"],Membership:[4,0,0,"-"],SortedCollection:[4,0,0,"-"],Transformations:[4,0,0,"-"],Util:[4,0,0,"-"],flrg:[4,0,0,"-"],fts:[4,0,0,"-"],tree:[4,0,0,"-"]},"pyFTS.common.Composite":{FuzzySet:[4,2,1,""]},"pyFTS.common.Composite.FuzzySet":{append:[4,3,1,""],append_set:[4,3,1,""],membership:[4,3,1,""],transform:[4,3,1,""]},"pyFTS.common.FLR":{FLR:[4,2,1,""],IndexedFLR:[4,2,1,""],generate_high_order_recurrent_flr:[4,1,1,""],generate_indexed_flrs:[4,1,1,""],generate_non_recurrent_flrs:[4,1,1,""],generate_recurrent_flrs:[4,1,1,""]},"pyFTS.common.FLR.FLR":{LHS:[4,4,1,""],RHS:[4,4,1,""]},"pyFTS.common.FLR.IndexedFLR":{index:[4,4,1,""]},"pyFTS.common.FuzzySet":{FuzzySet:[4,2,1,""],check_bounds:[4,1,1,""],check_bounds_index:[4,1,1,""],fuzzyfy:[4,1,1,""],fuzzyfy_instance:[4,1,1,""],fuzzyfy_instances:[4,1,1,""],fuzzyfy_series:[4,1,1,""],fuzzyfy_series_old:[4,1,1,""],get_fuzzysets:[4,1,1,""],get_maximum_membership_fuzzyset:[4,1,1,""],get_maximum_membership_fuzzyset_index:[4,1,1,""],grant_bounds:[4,1,1,""],set_ordered:[4,1,1,""]},"pyFTS.common.FuzzySet.FuzzySet":{Z:[4,4,1,""],alpha:[4,4,1,""],centroid:[4,4,1,""],membership:[4,3,1,""],mf:[4,4,1,""],name:[4,4,1,""],parameters:[4,4,1,""],partition_function:[4,3,1,""],transform:[4,3,1,""],type:[4,4,1,""],variable:[4,4,1,""]},"pyFTS.common.Membership":{bellmf:[4,1,1,""],gaussmf:[4,1,1,""],sigmf:[4,1,1,""],singleton:[4,1,1,""],trapmf:[4,1,1,""],trimf:[4,1,1,""]},"pyFTS.common.SortedCollection":{SortedCollection:[4,2,1,""]},"pyFTS.common.SortedCollection.SortedCollection":{around:[4,3,1,""],between:[4,3,1,""],clear:[4,3,1,""],copy:[4,3,1,""],count:[4,3,1,""],find:[4,3,1,""],find_ge:[4,3,1,""],find_gt:[4,3,1,""],find_le:[4,3,1,""],find_lt:[4,3,1,""],index:[4,3,1,""],insert:[4,3,1,""],insert_right:[4,3,1,""],inside:[4,3,1,""],key:[4,4,1,""],remove:[4,3,1,""]},"pyFTS.common.Transformations":{AdaptiveExpectation:[4,2,1,""],BoxCox:[4,2,1,""],Differential:[4,2,1,""],Scale:[4,2,1,""],Transformation:[4,2,1,""],Z:[4,1,1,""],aggregate:[4,1,1,""],roi:[4,1,1,""],smoothing:[4,1,1,""]},"pyFTS.common.Transformations.AdaptiveExpectation":{apply:[4,3,1,""],inverse:[4,3,1,""],parameters:[4,4,1,""]},"pyFTS.common.Transformations.BoxCox":{apply:[4,3,1,""],inverse:[4,3,1,""],parameters:[4,4,1,""]},"pyFTS.common.Transformations.Differential":{apply:[4,3,1,""],inverse:[4,3,1,""],parameters:[4,4,1,""]},"pyFTS.common.Transformations.Scale":{apply:[4,3,1,""],inverse:[4,3,1,""],parameters:[4,4,1,""]},"pyFTS.common.Transformations.Transformation":{apply:[4,3,1,""],inverse:[4,3,1,""]},"pyFTS.common.Util":{current_milli_time:[4,1,1,""],draw_sets_on_axis:[4,1,1,""],enumerate2:[4,1,1,""],load_env:[4,1,1,""],load_obj:[4,1,1,""],persist_env:[4,1,1,""],persist_obj:[4,1,1,""],plot_compared_intervals_ahead:[4,1,1,""],plot_density_rectange:[4,1,1,""],plot_distribution:[4,1,1,""],plot_interval:[4,1,1,""],plot_probability_distributions:[4,1,1,""],plot_rules:[4,1,1,""],show_and_save_image:[4,1,1,""],sliding_window:[4,1,1,""],uniquefilename:[4,1,1,""]},"pyFTS.common.flrg":{FLRG:[4,2,1,""]},"pyFTS.common.flrg.FLRG":{LHS:[4,4,1,""],RHS:[4,4,1,""],append_rhs:[4,3,1,""],get_key:[4,3,1,""],get_lower:[4,3,1,""],get_membership:[4,3,1,""],get_midpoint:[4,3,1,""],get_midpoints:[4,3,1,""],get_upper:[4,3,1,""],order:[4,4,1,""],reset_calculated_values:[4,3,1,""]},"pyFTS.common.fts":{FTS:[4,2,1,""]},"pyFTS.common.fts.FTS":{alpha_cut:[4,4,1,""],append_log:[4,3,1,""],append_rule:[4,3,1,""],append_transformation:[4,3,1,""],apply_inverse_transformations:[4,3,1,""],apply_transformations:[4,3,1,""],auto_update:[4,4,1,""],benchmark_only:[4,4,1,""],clone_parameters:[4,3,1,""],detail:[4,4,1,""],fit:[4,3,1,""],flrgs:[4,4,1,""],forecast:[4,3,1,""],forecast_ahead:[4,3,1,""],forecast_ahead_distribution:[4,3,1,""],forecast_ahead_interval:[4,3,1,""],forecast_ahead_multivariate:[4,3,1,""],forecast_distribution:[4,3,1,""],forecast_interval:[4,3,1,""],forecast_multivariate:[4,3,1,""],fuzzy:[4,3,1,""],get_UoD:[4,3,1,""],has_interval_forecasting:[4,4,1,""],has_point_forecasting:[4,4,1,""],has_probability_forecasting:[4,4,1,""],has_seasonality:[4,4,1,""],indexer:[4,4,1,""],is_clustered:[4,4,1,""],is_high_order:[4,4,1,""],is_multivariate:[4,4,1,""],is_wrapper:[4,4,1,""],lags:[4,4,1,""],len_total:[4,3,1,""],log:[4,4,1,""],max_lag:[4,4,1,""],merge:[4,3,1,""],min_order:[4,4,1,""],name:[4,4,1,""],order:[4,4,1,""],original_max:[4,4,1,""],original_min:[4,4,1,""],partitioner:[4,4,1,""],predict:[4,3,1,""],reset_calculated_values:[4,3,1,""],sets:[4,4,1,""],shortname:[4,4,1,""],train:[4,3,1,""],transformations:[4,4,1,""],transformations_param:[4,4,1,""],uod_clip:[4,4,1,""]},"pyFTS.common.tree":{FLRGTree:[4,2,1,""],FLRGTreeNode:[4,2,1,""],build_tree_without_order:[4,1,1,""],flat:[4,1,1,""]},"pyFTS.common.tree.FLRGTreeNode":{appendChild:[4,3,1,""],getChildren:[4,3,1,""],getStr:[4,3,1,""],paths:[4,3,1,""]},"pyFTS.data":{AirPassengers:[5,0,0,"-"],Bitcoin:[5,0,0,"-"],DowJones:[5,0,0,"-"],EURGBP:[5,0,0,"-"],EURUSD:[5,0,0,"-"],Enrollments:[5,0,0,"-"],Ethereum:[5,0,0,"-"],GBPUSD:[5,0,0,"-"],INMET:[5,0,0,"-"],Malaysia:[5,0,0,"-"],NASDAQ:[5,0,0,"-"],SONDA:[5,0,0,"-"],SP500:[5,0,0,"-"],TAIEX:[5,0,0,"-"],artificial:[5,0,0,"-"],common:[5,0,0,"-"],henon:[5,0,0,"-"],logistic_map:[5,0,0,"-"],lorentz:[5,0,0,"-"],mackey_glass:[5,0,0,"-"],rossler:[5,0,0,"-"],sunspots:[5,0,0,"-"]},"pyFTS.data.AirPassengers":{get_data:[5,1,1,""],get_dataframe:[5,1,1,""]},"pyFTS.data.Bitcoin":{get_data:[5,1,1,""],get_dataframe:[5,1,1,""]},"pyFTS.data.DowJones":{get_data:[5,1,1,""],get_dataframe:[5,1,1,""]},"pyFTS.data.EURGBP":{get_data:[5,1,1,""],get_dataframe:[5,1,1,""]},"pyFTS.data.EURUSD":{get_data:[5,1,1,""],get_dataframe:[5,1,1,""]},"pyFTS.data.Enrollments":{get_data:[5,1,1,""],get_dataframe:[5,1,1,""]},"pyFTS.data.Ethereum":{get_data:[5,1,1,""],get_dataframe:[5,1,1,""]},"pyFTS.data.GBPUSD":{get_data:[5,1,1,""],get_dataframe:[5,1,1,""]},"pyFTS.data.INMET":{get_dataframe:[5,1,1,""]},"pyFTS.data.Malaysia":{get_data:[5,1,1,""],get_dataframe:[5,1,1,""]},"pyFTS.data.NASDAQ":{get_data:[5,1,1,""],get_dataframe:[5,1,1,""]},"pyFTS.data.SONDA":{get_data:[5,1,1,""],get_dataframe:[5,1,1,""]},"pyFTS.data.SP500":{get_data:[5,1,1,""],get_dataframe:[5,1,1,""]},"pyFTS.data.TAIEX":{get_data:[5,1,1,""],get_dataframe:[5,1,1,""]},"pyFTS.data.artificial":{SignalEmulator:[5,2,1,""],generate_gaussian_linear:[5,1,1,""],generate_linear_periodic_gaussian:[5,1,1,""],generate_sinoidal_periodic_gaussian:[5,1,1,""],generate_uniform_linear:[5,1,1,""],random_walk:[5,1,1,""],white_noise:[5,1,1,""]},"pyFTS.data.artificial.SignalEmulator":{blip:[5,3,1,""],components:[5,4,1,""],incremental_gaussian:[5,3,1,""],periodic_gaussian:[5,3,1,""],run:[5,3,1,""],stationary_gaussian:[5,3,1,""]},"pyFTS.data.common":{get_dataframe:[5,1,1,""]},"pyFTS.data.henon":{get_data:[5,1,1,""],get_dataframe:[5,1,1,""]},"pyFTS.data.logistic_map":{get_data:[5,1,1,""]},"pyFTS.data.lorentz":{get_data:[5,1,1,""],get_dataframe:[5,1,1,""]},"pyFTS.data.mackey_glass":{get_data:[5,1,1,""]},"pyFTS.data.rossler":{get_data:[5,1,1,""],get_dataframe:[5,1,1,""]},"pyFTS.data.sunspots":{get_data:[5,1,1,""],get_dataframe:[5,1,1,""]},"pyFTS.distributed":{spark:[6,0,0,"-"]},"pyFTS.distributed.spark":{create_multivariate_model:[6,1,1,""],create_spark_conf:[6,1,1,""],create_univariate_model:[6,1,1,""],distributed_predict:[6,1,1,""],distributed_train:[6,1,1,""],get_clustered_partitioner:[6,1,1,""],get_partitioner:[6,1,1,""],get_variables:[6,1,1,""],share_parameters:[6,1,1,""],slave_forecast_multivariate:[6,1,1,""],slave_forecast_univariate:[6,1,1,""],slave_train_multivariate:[6,1,1,""],slave_train_univariate:[6,1,1,""]},"pyFTS.hyperparam":{Util:[7,0,0,"-"]},"pyFTS.hyperparam.Util":{create_hyperparam_tables:[7,1,1,""],insert_hyperparam:[7,1,1,""],open_hyperparam_db:[7,1,1,""]},"pyFTS.models":{chen:[8,0,0,"-"],cheng:[8,0,0,"-"],ensemble:[9,0,0,"-"],hofts:[8,0,0,"-"],hwang:[8,0,0,"-"],ifts:[8,0,0,"-"],incremental:[10,0,0,"-"],ismailefendi:[8,0,0,"-"],multivariate:[11,0,0,"-"],nonstationary:[12,0,0,"-"],pwfts:[8,0,0,"-"],sadaei:[8,0,0,"-"],seasonal:[13,0,0,"-"],song:[8,0,0,"-"],yu:[8,0,0,"-"]},"pyFTS.models.chen":{ConventionalFLRG:[8,2,1,""],ConventionalFTS:[8,2,1,""]},"pyFTS.models.chen.ConventionalFLRG":{append_rhs:[8,3,1,""],get_key:[8,3,1,""]},"pyFTS.models.chen.ConventionalFTS":{forecast:[8,3,1,""],generate_flrg:[8,3,1,""],train:[8,3,1,""]},"pyFTS.models.cheng":{TrendWeightedFLRG:[8,2,1,""],TrendWeightedFTS:[8,2,1,""]},"pyFTS.models.cheng.TrendWeightedFLRG":{weights:[8,3,1,""]},"pyFTS.models.cheng.TrendWeightedFTS":{generate_FLRG:[8,3,1,""]},"pyFTS.models.ensemble":{ensemble:[9,0,0,"-"],multiseasonal:[9,0,0,"-"]},"pyFTS.models.ensemble.ensemble":{AllMethodEnsembleFTS:[9,2,1,""],EnsembleFTS:[9,2,1,""],sampler:[9,1,1,""]},"pyFTS.models.ensemble.ensemble.AllMethodEnsembleFTS":{set_transformations:[9,3,1,""],train:[9,3,1,""]},"pyFTS.models.ensemble.ensemble.EnsembleFTS":{alpha:[9,4,1,""],append_model:[9,3,1,""],forecast:[9,3,1,""],forecast_ahead_distribution:[9,3,1,""],forecast_ahead_interval:[9,3,1,""],forecast_distribution:[9,3,1,""],forecast_interval:[9,3,1,""],get_distribution_interquantile:[9,3,1,""],get_interval:[9,3,1,""],get_models_forecasts:[9,3,1,""],get_point:[9,3,1,""],interval_method:[9,4,1,""],models:[9,4,1,""],parameters:[9,4,1,""],point_method:[9,4,1,""],train:[9,3,1,""]},"pyFTS.models.ensemble.multiseasonal":{SeasonalEnsembleFTS:[9,2,1,""],train_individual_model:[9,1,1,""]},"pyFTS.models.ensemble.multiseasonal.SeasonalEnsembleFTS":{forecast_distribution:[9,3,1,""],train:[9,3,1,""],update_uod:[9,3,1,""]},"pyFTS.models.hofts":{HighOrderFLRG:[8,2,1,""],HighOrderFTS:[8,2,1,""],WeightedHighOrderFLRG:[8,2,1,""],WeightedHighOrderFTS:[8,2,1,""]},"pyFTS.models.hofts.HighOrderFLRG":{append_lhs:[8,3,1,""],append_rhs:[8,3,1,""]},"pyFTS.models.hofts.HighOrderFTS":{configure_lags:[8,3,1,""],forecast:[8,3,1,""],generate_flrg:[8,3,1,""],generate_flrg_fuzzyfied:[8,3,1,""],generate_lhs_flrg:[8,3,1,""],generate_lhs_flrg_fuzzyfied:[8,3,1,""],train:[8,3,1,""]},"pyFTS.models.hofts.WeightedHighOrderFLRG":{append_lhs:[8,3,1,""],append_rhs:[8,3,1,""],get_lower:[8,3,1,""],get_midpoint:[8,3,1,""],get_upper:[8,3,1,""],weights:[8,3,1,""]},"pyFTS.models.hofts.WeightedHighOrderFTS":{generate_lhs_flrg_fuzzyfied:[8,3,1,""]},"pyFTS.models.hwang":{HighOrderFTS:[8,2,1,""]},"pyFTS.models.hwang.HighOrderFTS":{configure_lags:[8,3,1,""],forecast:[8,3,1,""],train:[8,3,1,""]},"pyFTS.models.ifts":{IntervalFTS:[8,2,1,""]},"pyFTS.models.ifts.IntervalFTS":{forecast_interval:[8,3,1,""],get_lower:[8,3,1,""],get_sequence_membership:[8,3,1,""],get_upper:[8,3,1,""]},"pyFTS.models.incremental":{IncrementalEnsemble:[10,0,0,"-"],TimeVariant:[10,0,0,"-"]},"pyFTS.models.incremental.IncrementalEnsemble":{IncrementalEnsembleFTS:[10,2,1,""]},"pyFTS.models.incremental.IncrementalEnsemble.IncrementalEnsembleFTS":{batch_size:[10,4,1,""],forecast:[10,3,1,""],fts_method:[10,4,1,""],fts_params:[10,4,1,""],num_models:[10,4,1,""],partitioner_method:[10,4,1,""],partitioner_params:[10,4,1,""],train:[10,3,1,""],window_length:[10,4,1,""]},"pyFTS.models.incremental.TimeVariant":{Retrainer:[10,2,1,""]},"pyFTS.models.incremental.TimeVariant.Retrainer":{auto_update:[10,4,1,""],batch_size:[10,4,1,""],forecast:[10,3,1,""],fts_method:[10,4,1,""],fts_params:[10,4,1,""],model:[10,4,1,""],partitioner:[10,4,1,""],partitioner_method:[10,4,1,""],partitioner_params:[10,4,1,""],train:[10,3,1,""],window_length:[10,4,1,""]},"pyFTS.models.ismailefendi":{ImprovedWeightedFLRG:[8,2,1,""],ImprovedWeightedFTS:[8,2,1,""]},"pyFTS.models.ismailefendi.ImprovedWeightedFLRG":{append_rhs:[8,3,1,""],weights:[8,3,1,""]},"pyFTS.models.ismailefendi.ImprovedWeightedFTS":{forecast:[8,3,1,""],generate_flrg:[8,3,1,""],train:[8,3,1,""]},"pyFTS.models.multivariate":{FLR:[11,0,0,"-"],cmvfts:[11,0,0,"-"],common:[11,0,0,"-"],flrg:[11,0,0,"-"],granular:[11,0,0,"-"],grid:[11,0,0,"-"],mvfts:[11,0,0,"-"],variable:[11,0,0,"-"],wmvfts:[11,0,0,"-"]},"pyFTS.models.multivariate.FLR":{FLR:[11,2,1,""]},"pyFTS.models.multivariate.FLR.FLR":{set_lhs:[11,3,1,""],set_rhs:[11,3,1,""]},"pyFTS.models.multivariate.cmvfts":{ClusteredMVFTS:[11,2,1,""]},"pyFTS.models.multivariate.cmvfts.ClusteredMVFTS":{check_data:[11,3,1,""],forecast:[11,3,1,""],forecast_ahead_multivariate:[11,3,1,""],forecast_multivariate:[11,3,1,""],fts_method:[11,4,1,""],fts_params:[11,4,1,""],fuzzyfy:[11,3,1,""],model:[11,4,1,""],train:[11,3,1,""]},"pyFTS.models.multivariate.common":{MultivariateFuzzySet:[11,2,1,""],fuzzyfy_instance:[11,1,1,""],fuzzyfy_instance_clustered:[11,1,1,""]},"pyFTS.models.multivariate.common.MultivariateFuzzySet":{append_set:[11,3,1,""],membership:[11,3,1,""],set_target_variable:[11,3,1,""]},"pyFTS.models.multivariate.flrg":{FLRG:[11,2,1,""]},"pyFTS.models.multivariate.flrg.FLRG":{append_rhs:[11,3,1,""],get_lower:[11,3,1,""],get_membership:[11,3,1,""],get_upper:[11,3,1,""],set_lhs:[11,3,1,""]},"pyFTS.models.multivariate.granular":{GranularWMVFTS:[11,2,1,""]},"pyFTS.models.multivariate.granular.GranularWMVFTS":{model:[11,4,1,""],train:[11,3,1,""]},"pyFTS.models.multivariate.grid":{GridCluster:[11,2,1,""],IncrementalGridCluster:[11,2,1,""]},"pyFTS.models.multivariate.grid.GridCluster":{build:[11,3,1,""]},"pyFTS.models.multivariate.grid.IncrementalGridCluster":{fuzzyfy:[11,3,1,""],incremental_search:[11,3,1,""],prune:[11,3,1,""]},"pyFTS.models.multivariate.mvfts":{MVFTS:[11,2,1,""],product_dict:[11,1,1,""]},"pyFTS.models.multivariate.mvfts.MVFTS":{append_variable:[11,3,1,""],apply_transformations:[11,3,1,""],clone_parameters:[11,3,1,""],forecast:[11,3,1,""],forecast_ahead:[11,3,1,""],forecast_interval:[11,3,1,""],format_data:[11,3,1,""],generate_flrg:[11,3,1,""],generate_flrs:[11,3,1,""],generate_lhs_flrs:[11,3,1,""],train:[11,3,1,""]},"pyFTS.models.multivariate.variable":{Variable:[11,2,1,""]},"pyFTS.models.multivariate.variable.Variable":{alias:[11,4,1,""],alpha_cut:[11,4,1,""],apply_inverse_transformations:[11,3,1,""],apply_transformations:[11,3,1,""],build:[11,3,1,""],data_label:[11,4,1,""],data_type:[11,4,1,""],mask:[11,4,1,""],name:[11,4,1,""],partitioner:[11,4,1,""],transformation:[11,4,1,""]},"pyFTS.models.multivariate.wmvfts":{WeightedFLRG:[11,2,1,""],WeightedMVFTS:[11,2,1,""]},"pyFTS.models.multivariate.wmvfts.WeightedFLRG":{append_rhs:[11,3,1,""],get_lower:[11,3,1,""],get_midpoint:[11,3,1,""],get_upper:[11,3,1,""],weights:[11,3,1,""]},"pyFTS.models.multivariate.wmvfts.WeightedMVFTS":{generate_flrg:[11,3,1,""]},"pyFTS.models.nonstationary":{common:[12,0,0,"-"],cvfts:[12,0,0,"-"],flrg:[12,0,0,"-"],honsfts:[12,0,0,"-"],nsfts:[12,0,0,"-"],partitioners:[12,0,0,"-"],perturbation:[12,0,0,"-"],util:[12,0,0,"-"]},"pyFTS.models.nonstationary.common":{FuzzySet:[12,2,1,""],check_bounds:[12,1,1,""],check_bounds_index:[12,1,1,""],fuzzify:[12,1,1,""],fuzzySeries:[12,1,1,""],window_index:[12,1,1,""]},"pyFTS.models.nonstationary.common.FuzzySet":{get_lower:[12,3,1,""],get_midpoint:[12,3,1,""],get_upper:[12,3,1,""],location:[12,4,1,""],location_params:[12,4,1,""],membership:[12,3,1,""],noise:[12,4,1,""],noise_params:[12,4,1,""],perform_location:[12,3,1,""],perform_width:[12,3,1,""],perturbate_parameters:[12,3,1,""],width:[12,4,1,""],width_params:[12,4,1,""]},"pyFTS.models.nonstationary.cvfts":{ConditionalVarianceFTS:[12,2,1,""],HighOrderNonstationaryFLRG:[12,2,1,""]},"pyFTS.models.nonstationary.cvfts.ConditionalVarianceFTS":{forecast:[12,3,1,""],forecast_interval:[12,3,1,""],generate_flrg:[12,3,1,""],perturbation_factors:[12,3,1,""],perturbation_factors__old:[12,3,1,""],train:[12,3,1,""]},"pyFTS.models.nonstationary.cvfts.HighOrderNonstationaryFLRG":{append_lhs:[12,3,1,""],append_rhs:[12,3,1,""]},"pyFTS.models.nonstationary.flrg":{NonStationaryFLRG:[12,2,1,""]},"pyFTS.models.nonstationary.flrg.NonStationaryFLRG":{get_key:[12,3,1,""],get_lower:[12,3,1,""],get_membership:[12,3,1,""],get_midpoint:[12,3,1,""],get_upper:[12,3,1,""],unpack_args:[12,3,1,""]},"pyFTS.models.nonstationary.honsfts":{HighOrderNonStationaryFLRG:[12,2,1,""],HighOrderNonStationaryFTS:[12,2,1,""]},"pyFTS.models.nonstationary.honsfts.HighOrderNonStationaryFLRG":{append_lhs:[12,3,1,""],append_rhs:[12,3,1,""]},"pyFTS.models.nonstationary.honsfts.HighOrderNonStationaryFTS":{forecast:[12,3,1,""],forecast_interval:[12,3,1,""],generate_flrg:[12,3,1,""],train:[12,3,1,""]},"pyFTS.models.nonstationary.nsfts":{ConventionalNonStationaryFLRG:[12,2,1,""],NonStationaryFTS:[12,2,1,""]},"pyFTS.models.nonstationary.nsfts.ConventionalNonStationaryFLRG":{append_rhs:[12,3,1,""],get_key:[12,3,1,""]},"pyFTS.models.nonstationary.nsfts.NonStationaryFTS":{conditional_perturbation_factors:[12,3,1,""],forecast:[12,3,1,""],forecast_interval:[12,3,1,""],generate_flrg:[12,3,1,""],train:[12,3,1,""]},"pyFTS.models.nonstationary.partitioners":{PolynomialNonStationaryPartitioner:[12,2,1,""],SimpleNonStationaryPartitioner:[12,2,1,""],simplenonstationary_gridpartitioner_builder:[12,1,1,""]},"pyFTS.models.nonstationary.partitioners.PolynomialNonStationaryPartitioner":{build:[12,3,1,""],get_polynomial_perturbations:[12,3,1,""],poly_width:[12,3,1,""],scale_down:[12,3,1,""],scale_up:[12,3,1,""]},"pyFTS.models.nonstationary.partitioners.SimpleNonStationaryPartitioner":{build:[12,3,1,""]},"pyFTS.models.nonstationary.perturbation":{exponential:[12,1,1,""],linear:[12,1,1,""],periodic:[12,1,1,""],polynomial:[12,1,1,""]},"pyFTS.models.nonstationary.util":{plot_sets:[12,1,1,""],plot_sets_conditional:[12,1,1,""]},"pyFTS.models.pwfts":{ProbabilisticWeightedFLRG:[8,2,1,""],ProbabilisticWeightedFTS:[8,2,1,""],visualize_distributions:[8,1,1,""]},"pyFTS.models.pwfts.ProbabilisticWeightedFLRG":{append_rhs:[8,3,1,""],get_lower:[8,3,1,""],get_membership:[8,3,1,""],get_midpoint:[8,3,1,""],get_upper:[8,3,1,""],lhs_conditional_probability:[8,3,1,""],partition_function:[8,3,1,""],rhs_conditional_probability:[8,3,1,""],rhs_unconditional_probability:[8,3,1,""]},"pyFTS.models.pwfts.ProbabilisticWeightedFTS":{add_new_PWFLGR:[8,3,1,""],flrg_lhs_conditional_probability:[8,3,1,""],flrg_lhs_unconditional_probability:[8,3,1,""],flrg_rhs_conditional_probability:[8,3,1,""],forecast:[8,3,1,""],forecast_ahead:[8,3,1,""],forecast_ahead_distribution:[8,3,1,""],forecast_ahead_interval:[8,3,1,""],forecast_distribution:[8,3,1,""],forecast_interval:[8,3,1,""],generate_flrg:[8,3,1,""],generate_lhs_flrg:[8,3,1,""],generate_lhs_flrg_fuzzyfied:[8,3,1,""],get_lower:[8,3,1,""],get_midpoint:[8,3,1,""],get_upper:[8,3,1,""],interval_heuristic:[8,3,1,""],interval_quantile:[8,3,1,""],point_expected_value:[8,3,1,""],point_heuristic:[8,3,1,""],train:[8,3,1,""],update_model:[8,3,1,""]},"pyFTS.models.sadaei":{ExponentialyWeightedFLRG:[8,2,1,""],ExponentialyWeightedFTS:[8,2,1,""]},"pyFTS.models.sadaei.ExponentialyWeightedFLRG":{append_rhs:[8,3,1,""],weights:[8,3,1,""]},"pyFTS.models.sadaei.ExponentialyWeightedFTS":{forecast:[8,3,1,""],generate_flrg:[8,3,1,""],train:[8,3,1,""]},"pyFTS.models.seasonal":{SeasonalIndexer:[13,0,0,"-"],cmsfts:[13,0,0,"-"],common:[13,0,0,"-"],msfts:[13,0,0,"-"],partitioner:[13,0,0,"-"],sfts:[13,0,0,"-"]},"pyFTS.models.seasonal.SeasonalIndexer":{DataFrameSeasonalIndexer:[13,2,1,""],DateTimeSeasonalIndexer:[13,2,1,""],LinearSeasonalIndexer:[13,2,1,""],SeasonalIndexer:[13,2,1,""]},"pyFTS.models.seasonal.SeasonalIndexer.DataFrameSeasonalIndexer":{get_data:[13,3,1,""],get_data_by_season:[13,3,1,""],get_index_by_season:[13,3,1,""],get_season_by_index:[13,3,1,""],get_season_of_data:[13,3,1,""],set_data:[13,3,1,""]},"pyFTS.models.seasonal.SeasonalIndexer.DateTimeSeasonalIndexer":{get_data:[13,3,1,""],get_data_by_season:[13,3,1,""],get_index:[13,3,1,""],get_index_by_season:[13,3,1,""],get_season_by_index:[13,3,1,""],get_season_of_data:[13,3,1,""],set_data:[13,3,1,""]},"pyFTS.models.seasonal.SeasonalIndexer.LinearSeasonalIndexer":{get_data:[13,3,1,""],get_index_by_season:[13,3,1,""],get_season_by_index:[13,3,1,""],get_season_of_data:[13,3,1,""]},"pyFTS.models.seasonal.SeasonalIndexer.SeasonalIndexer":{get_data:[13,3,1,""],get_data_by_season:[13,3,1,""],get_index:[13,3,1,""],get_index_by_season:[13,3,1,""],get_season_by_index:[13,3,1,""],get_season_of_data:[13,3,1,""]},"pyFTS.models.seasonal.cmsfts":{ContextualMultiSeasonalFTS:[13,2,1,""],ContextualSeasonalFLRG:[13,2,1,""]},"pyFTS.models.seasonal.cmsfts.ContextualMultiSeasonalFTS":{forecast:[13,3,1,""],forecast_ahead:[13,3,1,""],generate_flrg:[13,3,1,""],get_midpoints:[13,3,1,""],train:[13,3,1,""]},"pyFTS.models.seasonal.cmsfts.ContextualSeasonalFLRG":{append_rhs:[13,3,1,""]},"pyFTS.models.seasonal.common":{DateTime:[13,2,1,""],FuzzySet:[13,2,1,""],strip_datepart:[13,1,1,""]},"pyFTS.models.seasonal.common.DateTime":{day_of_month:[13,4,1,""],day_of_week:[13,4,1,""],day_of_year:[13,4,1,""],half:[13,4,1,""],hour:[13,4,1,""],hour_of_month:[13,4,1,""],hour_of_week:[13,4,1,""],hour_of_year:[13,4,1,""],minute:[13,4,1,""],minute_of_day:[13,4,1,""],minute_of_month:[13,4,1,""],minute_of_week:[13,4,1,""],minute_of_year:[13,4,1,""],month:[13,4,1,""],quarter:[13,4,1,""],second_of_day:[13,4,1,""],second_of_hour:[13,4,1,""],second_of_minute:[13,4,1,""],sixth:[13,4,1,""],third:[13,4,1,""],year:[13,4,1,""]},"pyFTS.models.seasonal.common.FuzzySet":{transform:[13,3,1,""]},"pyFTS.models.seasonal.msfts":{MultiSeasonalFTS:[13,2,1,""]},"pyFTS.models.seasonal.msfts.MultiSeasonalFTS":{forecast:[13,3,1,""],forecast_ahead:[13,3,1,""],generate_flrg:[13,3,1,""],train:[13,3,1,""]},"pyFTS.models.seasonal.partitioner":{TimeGridPartitioner:[13,2,1,""]},"pyFTS.models.seasonal.partitioner.TimeGridPartitioner":{build:[13,3,1,""],build_index:[13,3,1,""],mask:[13,4,1,""],plot:[13,3,1,""],search:[13,3,1,""],season:[13,4,1,""]},"pyFTS.models.seasonal.sfts":{SeasonalFLRG:[13,2,1,""],SeasonalFTS:[13,2,1,""]},"pyFTS.models.seasonal.sfts.SeasonalFLRG":{append_rhs:[13,3,1,""],get_key:[13,3,1,""]},"pyFTS.models.seasonal.sfts.SeasonalFTS":{forecast:[13,3,1,""],generate_flrg:[13,3,1,""],get_midpoints:[13,3,1,""],train:[13,3,1,""]},"pyFTS.models.song":{ConventionalFTS:[8,2,1,""]},"pyFTS.models.song.ConventionalFTS":{flr_membership_matrix:[8,3,1,""],forecast:[8,3,1,""],operation_matrix:[8,3,1,""],train:[8,3,1,""]},"pyFTS.models.yu":{WeightedFLRG:[8,2,1,""],WeightedFTS:[8,2,1,""]},"pyFTS.models.yu.WeightedFLRG":{append_rhs:[8,3,1,""],weights:[8,3,1,""]},"pyFTS.models.yu.WeightedFTS":{forecast:[8,3,1,""],generate_FLRG:[8,3,1,""],train:[8,3,1,""]},"pyFTS.partitioners":{CMeans:[14,0,0,"-"],Entropy:[14,0,0,"-"],FCM:[14,0,0,"-"],Grid:[14,0,0,"-"],Huarng:[14,0,0,"-"],Simple:[14,0,0,"-"],Singleton:[14,0,0,"-"],Util:[14,0,0,"-"],parallel_util:[14,0,0,"-"],partitioner:[14,0,0,"-"]},"pyFTS.partitioners.CMeans":{CMeansPartitioner:[14,2,1,""],c_means:[14,1,1,""],distance:[14,1,1,""]},"pyFTS.partitioners.CMeans.CMeansPartitioner":{build:[14,3,1,""]},"pyFTS.partitioners.Entropy":{EntropyPartitioner:[14,2,1,""],PMF:[14,1,1,""],bestSplit:[14,1,1,""],entropy:[14,1,1,""],informationGain:[14,1,1,""],splitAbove:[14,1,1,""],splitBelow:[14,1,1,""]},"pyFTS.partitioners.Entropy.EntropyPartitioner":{build:[14,3,1,""]},"pyFTS.partitioners.FCM":{FCMPartitioner:[14,2,1,""],fuzzy_cmeans:[14,1,1,""],fuzzy_distance:[14,1,1,""],membership:[14,1,1,""]},"pyFTS.partitioners.FCM.FCMPartitioner":{build:[14,3,1,""]},"pyFTS.partitioners.Grid":{GridPartitioner:[14,2,1,""]},"pyFTS.partitioners.Grid.GridPartitioner":{build:[14,3,1,""]},"pyFTS.partitioners.Huarng":{HuarngPartitioner:[14,2,1,""]},"pyFTS.partitioners.Huarng.HuarngPartitioner":{build:[14,3,1,""]},"pyFTS.partitioners.Simple":{SimplePartitioner:[14,2,1,""]},"pyFTS.partitioners.Simple.SimplePartitioner":{append:[14,3,1,""],append_complex:[14,3,1,""]},"pyFTS.partitioners.Singleton":{SingletonPartitioner:[14,2,1,""]},"pyFTS.partitioners.Singleton.SingletonPartitioner":{build:[14,3,1,""]},"pyFTS.partitioners.Util":{explore_partitioners:[14,1,1,""],plot_partitioners:[14,1,1,""],plot_sets:[14,1,1,""]},"pyFTS.partitioners.parallel_util":{explore_partitioners:[14,1,1,""]},"pyFTS.partitioners.partitioner":{Partitioner:[14,2,1,""]},"pyFTS.partitioners.partitioner.Partitioner":{build:[14,3,1,""],build_index:[14,3,1,""],check_bounds:[14,3,1,""],extractor:[14,4,1,""],fuzzyfy:[14,3,1,""],get_name:[14,3,1,""],kdtree:[14,4,1,""],lower_set:[14,3,1,""],membership_function:[14,4,1,""],name:[14,4,1,""],ordered_sets:[14,4,1,""],partitions:[14,4,1,""],plot:[14,3,1,""],plot_set:[14,3,1,""],prefix:[14,4,1,""],search:[14,3,1,""],setnames:[14,4,1,""],transformation:[14,4,1,""],type:[14,4,1,""],upper_set:[14,3,1,""],variable:[14,4,1,""]},"pyFTS.probabilistic":{ProbabilityDistribution:[15,0,0,"-"],kde:[15,0,0,"-"]},"pyFTS.probabilistic.ProbabilityDistribution":{ProbabilityDistribution:[15,2,1,""]},"pyFTS.probabilistic.ProbabilityDistribution.ProbabilityDistribution":{append:[15,3,1,""],append_interval:[15,3,1,""],averageloglikelihood:[15,3,1,""],bins:[15,4,1,""],build_cdf_qtl:[15,3,1,""],crossentropy:[15,3,1,""],cumulative:[15,3,1,""],density:[15,3,1,""],differential_offset:[15,3,1,""],empiricalloglikelihood:[15,3,1,""],entropy:[15,3,1,""],expected_value:[15,3,1,""],kullbackleiblerdivergence:[15,3,1,""],labels:[15,4,1,""],plot:[15,3,1,""],pseudologlikelihood:[15,3,1,""],quantile:[15,3,1,""],set:[15,3,1,""],type:[15,4,1,""],uod:[15,4,1,""]},"pyFTS.probabilistic.kde":{KernelSmoothing:[15,2,1,""]},"pyFTS.probabilistic.kde.KernelSmoothing":{h:[15,4,1,""],kernel:[15,4,1,""],kernel_function:[15,3,1,""],probability:[15,3,1,""]},pyFTS:{benchmarks:[3,0,0,"-"],common:[4,0,0,"-"],conf:[2,0,0,"-"],data:[5,0,0,"-"],distributed:[6,0,0,"-"],hyperparam:[7,0,0,"-"],models:[8,0,0,"-"],partitioners:[14,0,0,"-"],probabilistic:[15,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"],"4":["py","attribute","Python attribute"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:method","4":"py:attribute"},terms:{"261459a0":5,"57a":5,"5egspc":5,"boolean":[3,4,14],"case":4,"class":[3,4,5,8,9,10,11,12,13,14,15,16],"default":[3,4,5],"enum":13,"fa\u00e7ad":[3,4],"final":[4,5],"float":[3,4,5],"function":[3,4,7,12,13,14,15,16],"guimar\u00e3":[0,8],"h\u00e9non":5,"import":[4,11,16],"int":[8,16],"na\u00efv":3,"new":[4,9,10,11,14],"organiza\u00e7\u00e3o":5,"petr\u00f4nio":8,"r\u00f6ssler":5,"return":[3,4,5,6,7,8,9,10,11,12,13,14,15],"short":[4,8,16],"true":[3,4,5,10,11],"try":4,"var":[5,11],"while":4,And:3,FTS:[0,3,4,7,8,9,10,11,12,13],For:3,LHS:[4,8,12],One:14,RHS:[4,8,11,12],The:[3,4,5,7,9,10,11,14,15,16],Then:[3,16],There:16,These:[0,16],Use:13,abdullah:[8,16],acc:4,accept:4,accord:[11,14],account:15,accuraci:[3,7],acf:3,actual:[4,15],adapt:4,adaptiveexpect:4,add:[3,4,12],add_new_pwflgr:8,added:[4,5],adding:4,addit:5,address:[3,4],affect:12,after:5,age:4,aged:4,aggreg:[4,9],ahead:[3,4,8,9,10,11,12,13,16],ahed:16,airlin:5,airpasseng:[1,2],alabama:5,alia:[3,4,11],all:[3,4,9,11,14,15,16],allmethodensembleft:9,almost:16,alpha:[4,7,8,9,13],alpha_cut:[4,11,14],alreadi:5,also:[0,4,16],ambientai:5,analysi:3,analytic_tabular_datafram:3,analytical_data_column:3,angela:4,anonym:14,anoth:10,api:[0,4],app:6,append:[4,9,11,14,15],append_complex:14,append_interv:15,append_lh:[8,12],append_log:4,append_model:9,append_rh:[4,8,11,12,13],append_rul:4,append_set:[4,11],append_transform:4,append_vari:11,appendchild:4,appl:[8,14,16],appli:[3,4,11,14,15],apply_inverse_transform:[4,11],apply_transform:[4,11],approach:[3,14,16],arg:12,argument:[3,4,14],arima:[1,2],arima_model:3,around:4,arrai:[4,5,12,13],artifici:[1,2],ascend:3,aspx:5,assert:15,assign:[4,15],assoc:3,associ:5,ata:3,atmospher:5,atribut:3,attibut:4,attractor:5,auto:14,auto_upd:[4,10],autocorrel:3,autom:5,automat:4,auxiliar:4,auxiliari:15,averag:[3,5,15],averageloglikelihood:15,avg:5,axes:12,axi:[3,4,14,15],azim:3,bar:3,base:[3,4,5,8,9,10,11,12,13,14,15,16],base_dataframe_column:3,batch:[4,10],batch_sav:4,batch_siz:10,befor:16,begin:4,being:3,bell:4,bellmf:4,belo:[0,5],belog:4,below:16,benchmark:[1,2,4,7],benchmark_method:3,benchmark_methods_paramet:3,benchmark_model:3,benchmark_onli:4,bestsplit:14,better:16,between:[4,10,15],bill:4,bin:[3,15],bisect:4,bitcoin:[1,2],bivari:5,black:15,blip:5,blue:4,both:[4,11,14],bound:[4,5,8,11,12,14],box:[3,4,16],boxcox:4,boxljungstatist:3,boxpiercestatist:3,brasil:5,brasilia:5,brazil:[0,9],brazilian:[0,9],brier:3,brier_scor:3,btc:5,build:[10,11,12,13,14],build_cdf_qtl:15,build_index:[13,14],build_method:3,build_tree_without_ord:4,built:[5,14],buseco:5,busi:5,c_mean:14,calcul:[4,11,12],call:[4,10,11],camwa:14,can:[3,4,16],cancel:5,capabl:3,capit:5,cartesian:11,cast_dataframe_to_synthet:3,cast_dataframe_to_synthetic_interv:3,cast_dataframe_to_synthetic_point:3,cast_dataframe_to_synthetic_probabilist:3,ccst:5,center:4,centroid:[4,13],certain:15,chain:5,chang:[5,14,16],chao:5,chaotic:[1,2],characterist:16,cheap:0,check:[4,5,14,16],check_bound:[4,12,14],check_bounds_index:[4,12],check_data:11,check_ignore_list:3,check_replace_list:3,chen:[1,2,11,13,16],cheng:[1,2,14,16],chi:3,chi_squar:3,chia:8,child:4,chissom:[8,16],clear:4,clip:4,clone:16,clone_paramet:[4,11],closest:14,cluster:[3,4,11],clusteredmvft:11,cmap:4,cmean:[1,2],cmeanspartition:[14,16],cmsft:[2,8],cmvft:[2,8],code:[11,16],coeffici:[3,5],colab:16,colabor:0,color:[3,4,12,15],colormap:4,column:[4,11],columun:4,com:[5,16],combin:11,common:[1,2,3,6,7,8,9,10,14,16],commun:5,compar:[3,4],compare_residu:3,comparemodelsplot:3,comparemodelst:3,complet:5,complex:5,complic:5,compon:[5,9],composit:[1,2,5,11],compress:5,comput:[8,9,14,16],computation:0,condens:3,condit:3,conditional_perturbation_factor:12,conditionalvarianceft:12,conf:[0,1],confer:8,configure_lag:8,congress:9,conn:[3,7],connect:[3,7],consid:[4,11,14],const_t:12,constant:5,contain:[3,4,11,14,16],content:[0,1],context:[6,14],contextu:13,contextualmultiseasonalft:13,contextualseasonalflrg:13,contin:[10,15],continu:[3,5,15],control:5,convent:[8,12,13],conventionalflrg:8,conventionalft:[8,11],conventionalnonstationaryflrg:12,copi:4,cost:[14,16],count:[4,15],counter:14,covavg:3,coverag:3,covstd:3,cox:[4,16],creat:[3,4,5,7,9,11,14,16],create_benchmark_t:3,create_hyperparam_t:7,create_multivariate_model:6,create_spark_conf:6,create_univariate_model:6,criteria:3,cross:[4,15],crossentropi:15,crp:3,crps1avg:3,crps1std:3,crps2avg:3,crps2std:3,crps_distr:3,crps_interv:3,crpsavg:3,crpsstd:3,csv:5,cumul:15,current:[3,5],current_milli_tim:4,cut:[4,7],cvft:[2,8],dado:[4,5,14],dai:5,daili:5,data:[0,1,2,3,4,6,7,8,9,10,11,12,13,14,15,16],data_column:3,data_field:13,data_label:11,data_point:11,data_typ:11,databas:[3,7],datafram:[3,4,5,11,13],dataframeseasonalindex:13,dataset:[1,2,3,4,7],date:[3,13],date_field:13,date_part:13,datepart:13,datetim:13,datetimeseasonalindex:13,david:4,day_of_month:13,day_of_week:13,day_of_year:13,dealer:5,dec:14,decemb:5,decis:3,decompress:5,defin:[3,7],defuzzyf:16,deg:12,delet:4,deltadist:14,demand:11,demo:16,densiti:[3,4,15],departa:0,depend:[3,4,11,14,16],dependeci:4,deri:[8,16],design:[3,4,7,13,14],detail:4,determin:3,determinist:[5,14],develop:[0,16],deviat:3,dict:[3,4],dictionari:[3,4],differenti:[4,5,15,16],differential_offset:15,diffus:[8,16],dill:4,dimension:5,directli:[4,16],discours:[3,4,11,12,13,14,15,16],discret:15,disk:[4,14],dispi:[1,2,3,4],displac:12,displai:3,distanc:[3,14],distribut:[1,2,3,4,5,8,9,15],distributed_predict:6,distributed_train:6,diverg:15,dji:5,dkl:15,dnf:5,document:0,doi10:8,doi:[0,3,5,14],dollar:[8,16],don:5,dow:5,dowjon:[1,2],download:5,draw_sets_on_axi:4,dure:[3,4],dynam:5,each:[3,4,5,9,10,11,16],easi:[0,4],easier:4,edu:5,edward:5,efendi:[8,16],effect:[14,16],effici:4,electr:[0,8,16],eletr:5,elev:3,empir:[14,15],empiricalloglikelihood:15,emul:5,enayatifar:[8,16],end:12,endogen:11,energi:[8,16],engin:0,enrol:[1,2,8,13,16],ensembl:[1,2,4,8,10],ensembleft:[9,10],entir:4,entropi:[1,2,15,16],entropypartition:[14,16],enumerate2:4,environ:4,epanechnikov:15,equal:[3,4,8,9,10,11,12,13,16],equat:5,error:3,espaciai:5,esrl:5,estim:[3,15],etc:[4,16],eth:5,ethereum:[1,2],eur:[1,2],eurgbp:5,eurusd:5,even:[13,14],evolutionari:[1,2],exact:4,exampl:0,except:4,exchang:[5,8,16],execut:3,exist:5,expect:[4,8,15],expected_valu:15,experi:3,expert:[0,8,16],explain:[4,8],explanatory_vari:6,exploit:0,explore_partition:14,exponenti:[8,9,12,16],exponentiali:8,exponentialyweightedflrg:8,exponentialyweightedft:8,express:3,extens:11,extern:[3,4],externalforecast:3,externalmodel:3,extract:[3,5,14],extract_measur:3,extractor:14,extremum:9,facil:[3,4,5,7,14],fall:3,fals:[3,4,5,8,11,12,14],fcm:[1,2],fcmpartition:[14,16],feder:0,fetch:4,field:[5,13],fig:[4,12],figur:4,file:[3,4,5,12,14],file_analyt:3,file_path:4,file_synthet:3,filenam:[3,4,5],filenem:[3,7],filesystem:4,fill:4,filter:3,financ:5,find:[4,13,14],find_best:3,find_g:4,find_gt:4,find_l:4,find_lt:4,first:[3,4,8,12,13],fit:[3,4,8,9,10,11,12,13],five:4,flag:4,flashquot:5,flat:4,flow:5,flr:[1,2,8,12,13],flr_membership_matrix:8,flrg:[1,2,8,13],flrg_lhs_conditional_prob:8,flrg_lhs_unconditional_prob:8,flrg_rhs_conditional_prob:8,flrgtree:4,flrgtreenod:4,foreast:3,forecast:[3,4,8,9,10,11,12,13,14,16],forecast_ahead:[4,8,11,13],forecast_ahead_distribut:[3,4,8,9],forecast_ahead_interv:[3,4,8,9],forecast_ahead_multivari:[4,11],forecast_distribut:[3,4,8,9],forecast_interv:[3,4,8,9,11,12],forecast_multivari:[4,11],forex:5,fork:0,format:[3,7,11,13],format_data:11,forward:4,found:[4,16],frederico:[0,8],frequenc:15,from:[0,3,4,5,8,11,14,15,16],fset:[8,11],fts:[1,2,3,8,9,10,11,12,13],fts_method:[10,11],fts_param:[10,11],fuzz:8,fuzzi:[2,4,8,9,11,12,13,14],fuzzif:[14,16],fuzzifi:[4,12],fuzzy_cmean:14,fuzzy_dist:14,fuzzy_set:4,fuzzydata:4,fuzzyf:[4,11,14,16],fuzzyfi:[4,11,14],fuzzyfy_inst:[4,11],fuzzyfy_instance_clust:11,fuzzyfy_seri:4,fuzzyfy_series_old:4,fuzzyseri:12,fuzzyset:[1,2,8,11,12,13],gadelha:[0,8],gani:[8,16],garibaldi:12,gaussian:[4,5],gaussmf:4,gbp:[1,2],gbpusd:5,gcos_wgsp:5,gener:[1,2,4,14,16],generate_flr:11,generate_flrg:[8,11,12,13],generate_flrg_fuzzyfi:8,generate_gaussian_linear:5,generate_high_order_recurrent_flr:4,generate_indexed_flr:4,generate_lhs_flr:11,generate_lhs_flrg:8,generate_lhs_flrg_fuzzyfi:8,generate_linear_periodic_gaussian:5,generate_non_recurrent_flr:4,generate_recurrent_flr:4,generate_sinoidal_periodic_gaussian:5,generate_uniform_linear:5,gerai:0,get:[3,4,5],get_benchmark_interval_method:3,get_benchmark_point_method:3,get_benchmark_probabilistic_method:3,get_clustered_partition:6,get_data:[5,13],get_data_by_season:13,get_datafram:5,get_dataframe_from_bd:3,get_distribution_interquantil:9,get_distribution_statist:3,get_fuzzyset:4,get_index:13,get_index_by_season:13,get_interv:9,get_interval_method:3,get_interval_statist:3,get_kei:[4,8,12,13],get_low:[4,8,11,12],get_maximum_membership_fuzzyset:4,get_maximum_membership_fuzzyset_index:4,get_membership:[4,8,11,12],get_midpoint:[4,8,11,12,13],get_models_forecast:9,get_nam:14,get_partition:6,get_point:9,get_point_method:3,get_point_multivariate_method:3,get_point_statist:3,get_polynomial_perturb:12,get_probabilistic_method:3,get_season_by_index:13,get_season_of_data:13,get_sequence_membership:8,get_uod:4,get_upp:[4,8,11,12],get_vari:6,getchildren:4,getstr:4,git:16,github:[0,16],given:[3,4,11,12,14,15],glass:[1,2],good:16,googl:16,gov:5,grant_bound:4,granular:[2,8,13],granularwmvft:11,greater:[4,5],grid:[1,2,3,11,13],gridclust:11,gridpartition:[3,14,16],gridsearch:[1,2],group:[3,4,8,11,12,13],half:13,hand:4,handl:[4,8],hard:4,harmoni:[8,16],has_interval_forecast:4,has_point_forecast:4,has_probability_forecast:4,has_season:4,head:0,heavysid:3,heavyside_cdf:3,height:14,help:14,henon:[1,2],here:16,heteroskedast:12,high:[3,4,8,11,12],highorderflrg:8,highorderft:[8,12],highordernonstationaryflrg:12,highordernonstationaryft:12,histogram:15,histori:5,hoang:8,hoft:[1,2,12],hold:10,honsft:[2,8],horizon:[3,4],horizont:[0,5],hossein:8,hour:[3,13],hour_of_month:13,hour_of_week:13,hour_of_year:13,hourli:5,http:[0,5,16],huarng:[1,2,16],huarngpartition:[14,16],human:0,hwang:[1,2],hybrid:[8,16],hyndman:5,hyperparam:[1,2],hyperparamet:7,identif:13,identifi:[3,4,7,8,12,13],ieee:[8,12],ifmg:0,ifnmg:0,ift:[1,2],ignor:[3,13],imag:[4,14],implement:[4,13,16],improv:[8,14,16],improvedweightedflrg:8,improvedweightedft:8,inc:[3,4],increas:11,increment:[1,2,3,4,5,8,11,15],incremental_gaussian:5,incremental_search:11,incrementalensembl:[2,8],incrementalensembleft:10,incrementalgridclust:11,ind:13,indentifi:[3,7],index:[3,4,5,8,9,11,13,14],index_field:13,index_season:13,index_seri:5,indexedflr:4,indic:[3,4,5],inequ:3,infer:5,infil:3,inform:[3,4,14,15],informationgain:14,initi:[4,5],initial_valu:5,inmet:[1,2],innov:[8,16],inp:5,input:[4,8,11,12,14,15],insert:[3,4,5,7],insert_benchmark:3,insert_hyperparam:7,insert_right:4,insid:[3,4,13,14,15],inst:[4,12],instal:0,instanc:[5,11,12,14,16],instead:4,instituit:0,institut:0,instituto:5,integ:[3,4],integr:5,intel:[8,16],intellig:[8,9],intend:0,interfer:5,intern:8,internet:5,interpol:4,interpret:4,interv:[3,4,8,9,10,11,12,14,15,16],interval_dataframe_analytic_column:3,interval_dataframe_synthetic_column:3,interval_heurist:8,interval_method:9,interval_quantil:8,interval_to_interv:3,intervalar:16,intervalft:8,introduc:16,introspect:4,invers:[4,16],ipynb:16,is_clust:4,is_high_ord:4,is_multivari:4,is_wrapp:4,ismail:[8,16],ismailefendi:[1,2],isol:14,item:4,itemgett:4,iter:[4,5],its:[5,8,11,13,14,16],ixic:5,janeiro:9,januari:5,jaroszewski:12,javedani:8,jeng:8,job:3,johnson:11,jonathan:12,jone:[4,5],journal:5,jun:[14,16],jupyt:16,kde:[1,2],kdtree:14,kei:[3,4],kernel:15,kernel_funct:15,kernelsmooth:15,knearestneighbor:3,knn:[1,2],known:14,kullback:15,kullbackleiblerdiverg:15,kwarg:[3,4,5,6,8,9,10,11,12,13,14,15],lab:0,label:[3,4,15],lag:[4,5,7,16],lambda:4,largest:4,last:4,later:16,layman:0,lcolor:4,learn:10,lee:8,left:4,legend:[3,4],leibler:15,len_tot:4,length:[3,4,5,8,9,10,11,12,13,14,16],less:4,lett:5,level:4,lgd:4,lhs_conditional_prob:8,librari:[2,5],like:[4,16],likelihood:15,limit:4,lin:14,line:4,linear:[5,12],linearmodel:3,linearseasonalindex:13,linewidth:[3,4],linspac:5,list:[3,4,5,8,9,10,11,12,13,14,15,16],ljung:3,lo_param:3,load:[4,5,8,16],load_env:4,load_obj:4,local:5,locat:[4,5,12],location_param:12,log:[4,15],logic:[4,8,11,12,13],logist:[4,5],logistic_map:[1,2],look:4,lookup:4,lorentz:[1,2],lorenz:5,loss:3,lower:[4,5,8,11,12,14],lower_set:14,mackei:[1,2],mackey_glass:5,mai:5,main:16,malaysia:[1,2,8,16],mandatori:4,mani:16,manual:14,map:[4,5],mape:3,mape_interv:3,marcin:12,market:5,mask:[11,13],mass:4,match:4,math:[5,14],mathemat:5,matplotlib:[4,14],max:4,max_inc:5,max_ini:5,max_lag:[3,4,8,9,10,11,12,13],maxim:4,maximum:[4,5,11,14],mean:[3,4,5,9],measur:[1,2,7],mech:[8,16],median:9,membership:[1,2,7,8,11,12,14,16],membership_funct:14,memori:[4,10],merg:4,meta:[9,10,11],meteorologia:5,method:[0,3,4,5,7,8,9,10,11,12,13,14,16],metric:3,mft:3,middl:14,midpoint:[4,8,11,12],min:[4,15],min_inc:5,min_ini:5,min_ord:4,mina:0,mind:0,ming:8,minim:[3,4,8,9,10,11,12,13,14],minimum:[4,5,16],minut:13,minute_of_dai:13,minute_of_month:13,minute_of_week:13,minute_of_year:13,mix:9,mode:[4,11,14],model:[0,1,2,3,4,5,6,7,14,16],modelo:3,models_fo:3,models_ho:3,modul:[0,1,16],monash:5,monovari:4,month:13,monthli:[3,5],more:16,most:[10,11,16],move:3,msft:[2,8],mu_inc:5,mu_ini:5,mu_max:5,mu_min:5,much:4,multi:[3,4,8,11,13],multiseason:[2,8],multiseasonalft:13,multivari:[1,2,3,4,5,8,14],multivariatefuzzyset:11,multivariatepartition:11,musikasuwan:12,mvft:[2,8],nacion:5,naiv:[1,2],name:[3,4,5,7,9,11,12,13,14],nasdaq:[1,2],nation:5,nativ:[4,13],natur:5,nbin:[4,8],nbsp:0,ndata:[3,4,8,11,12],nearest:[3,13,14],need:4,neighbor:3,next:[4,16],nice:4,noaa:5,node:[3,4],nois:[5,12],noise_param:12,non:[3,4,5,12,13,16],none:[3,4,5,9,10,11,12,13,14,15],nonperiod:5,nonstationari:[1,2,4,8],nonstationaryflrg:12,nonstationaryft:12,norm:8,normal:[9,16],north:0,norton:5,notebook:16,noth:16,nov:[14,16],now:4,npart:[12,14],nsft:[2,8],num:5,num_batch:4,num_model:10,num_season:13,number:[3,4,5,7,8,9,10,11,13,14,15,16],numer:16,numpi:[4,5],obj:[3,4,14],object:[3,4,5,8,9,11,13,14,15],objectsist:3,occur:4,occurr:4,old:4,older:4,oldest:4,onc:4,one:[3,4,5,7,8,9,10,11,12,13,15,16],ones:4,onli:[4,11,14],onlin:10,only_lin:12,open:[3,7],open_benchmark_db:3,open_hyperparam_db:7,oper:[4,16],operation_matrix:8,option:[3,4,9,14],order:[3,4,7,8,11,12,13,14,16],ordered_set:[4,12,14],ordin:4,org:[0,5],origin:[3,4,16],original_max:4,original_min:4,oscil:5,other:[3,4,9,11],otherwis:3,out:16,outfil:3,outlier:5,output:[14,16],outsid:14,over:4,overlap:[13,14,16],own:11,p500:5,packag:[0,1],page:0,pair:5,panda:[3,4,5,11,13],par1:12,par2:12,parallel_util:[1,2],param:[3,4,5,11,12,13],paramet:[3,4,5,6,7,8,9,10,11,12,13,14,15,16],parametr:16,part:[6,12],partit:[3,4,7,11,12,13,14,16],partition:[1,2,3,4,7,8,9,10,16],partition_funct:[4,8],partitioner_method:10,partitioner_param:10,partitioners_method:3,partitioners_model:3,pass:4,passeng:5,past:4,path:[3,4,14],pattern:4,pct:12,pdf:15,percent:3,percentag:3,percentu:[3,4],perform:[3,7,11,12,13,14,16],perform_loc:12,perform_width:12,period:[5,12],periodic_gaussian:5,persist:4,persist_env:4,persist_obj:4,person:[4,5],pertub:12,perturb:[2,8],perturbate_paramet:12,perturbation_factor:12,perturbation_factors__old:12,pesquisa:5,pftsexploreorderandpartit:3,php:5,phy:[5,8,16],physiolog:5,pictur:[3,4],pierc:3,pinbal:3,pinball_mean:3,pip:16,plambda:4,plot:[3,4,13,14,15],plot_compared_intervals_ahead:4,plot_compared_seri:3,plot_dataframe_interv:3,plot_dataframe_interval_pinbal:3,plot_dataframe_point:3,plot_dataframe_probabilist:3,plot_density_rectang:4,plot_distribut:4,plot_interv:4,plot_partition:14,plot_point:3,plot_probability_distribut:4,plot_residu:3,plot_rul:4,plot_set:[12,14],plot_sets_condit:12,plotcompar:3,plotforecast:3,plotresidu:3,pmf:[4,14],pmf_to_cdf:3,point:[3,4,8,9,10,11,12,13,14,15,16],point_dataframe_analytic_column:3,point_dataframe_synthetic_column:3,point_expected_valu:8,point_heurist:8,point_method:9,point_to_interv:3,poit:4,poly_width:12,polynomi:12,polynomialnonstationarypartition:12,poor:5,por:3,posit:[4,13],post:4,posterior:3,postprocess:[4,16],power:[4,8,16],pprint:4,pre:[4,11],prebuilt:3,predict:[3,4,8,9,11,12,16],prefix:14,preprocess:[4,11,13,16],previou:5,primari:3,primit:14,print:3,print_distribution_statist:3,print_interval_statist:3,print_point_statist:3,probabil:3,probabilist:[1,2,3,4,8,9,16],probabilistic_dataframe_analytic_column:3,probabilistic_dataframe_synthetic_column:3,probabilisticweightedflrg:8,probabilisticweightedft:8,probabilitydist:4,probabilitydistribut:[1,2,3,4,8,9],probabl:[3,4,8,9,15],problem:8,procedur:[3,4],process:[3,4,5,11],process_common_data:3,process_interval_job:3,process_point_job:3,process_probabilistic_job:3,product:[5,8,11,16],product_dict:11,prof:0,progress:3,project:[14,16],propos:16,provid:[0,4,9,16],prune:11,psd:5,pseudo:15,pseudologlikelihood:15,pwflrg:8,pwft:[1,2],python:[2,16],q05:3,q25:3,q75:3,q95:3,quantil:[3,9,15],quantile_regress:3,quantileregress:3,quantreg:[1,2],quarter:13,queri:3,quick:0,quot:5,quotat:5,rais:4,random:5,random_walk:5,rang:[3,16],rank:3,rate:[8,16],read:5,readabl:0,real:[4,16],recent:[10,11,16],record:4,recreat:10,recurr:[4,5],red:[3,4],reference_data:4,refin:[8,16],regress:3,relat:15,relationship:[4,8,11,12,13],remov:4,ren:8,render:5,replac:3,repo:16,repr:4,repres:[3,4,8,9,11,15],represent:16,research:[0,16],reset:4,reset_calculated_valu:4,residu:3,residualanalysi:[1,2],resolut:[3,4],respect:[4,15],respons:13,result:[3,4,7,13,14],retrain:10,revers:4,review:[3,16],rhs_conditional_prob:8,rhs_unconditional_prob:8,right:4,ringgit:[8,16],rio:9,rmse:3,rmse_interv:3,rmseavg:3,rmsestd:3,rng:12,robert:5,roger:4,roi:4,root:3,rossler:[1,2],round:14,rule:[3,4,11,16],rules_by_axi:4,run:[3,5],run_interv:3,run_point:3,run_probabilist:3,sadaei:[1,2,16],salang:12,same:[4,9],sampl:[3,5,8,16],sampler:9,save:[3,4,12,14],save_best:3,save_dataframe_interv:3,save_dataframe_point:3,save_dataframe_probabilist:3,save_model:4,scale:[3,4,16],scale_down:12,scale_param:3,scale_up:12,scan:4,scheme:[3,7,16],scienc:5,scientist:0,score:3,search:[0,4,8,13,14,16],season:[1,2,3,4,8,9,16],seasonalensembleft:9,seasonalflrg:13,seasonalft:13,seasonalindex:[2,8],second_of_dai:13,second_of_hour:13,second_of_minut:13,secur:5,selecaosimples_menorrms:3,select:5,sep:5,separ:5,sequenc:4,seri:[1,2,3,4,8,9,10,11,12,13,14],set:[3,4,7,8,11,12,13,14,15,16],set_data:13,set_lh:11,set_ord:4,set_rh:11,set_target_vari:11,set_transform:9,seth:11,setnam:14,sever:[3,4,5,9,13,14],severiano:8,sft:[2,8],shape:4,share:9,share_paramet:6,shared_partition:6,sharp:3,sharpavg:3,sharpstd:3,shortnam:4,show:[4,14],show_and_save_imag:4,shyi:8,side:4,sigma:5,sigma_inc:5,sigma_ini:5,sigma_max:5,sigma_min:5,sigmf:4,sigmoid:4,signal:5,signalemul:5,silva:[0,8,9],simpl:[0,1,2,5,13],simplenonstationary_gridpartitioner_build:12,simplenonstationarypartition:12,simplepartition:14,simpler:4,simplesearch_rms:3,singl:[4,14],single_plot_residu:3,singleton:[1,2,4],singletonpartition:14,sinoid:5,sistema:5,sixth:13,size:[3,4,12,14],slave_forecast_multivari:6,slave_forecast_univari:6,slave_train_multivari:6,slave_train_univari:6,slice:4,slide:[3,4],sliding_window:4,sliding_window_benchmark:3,smape:3,smith:4,smooth:[4,16],social:[14,16],solar:8,sonda:[1,2],song:[1,2,13,16],sort:[4,14],sort_ascend:3,sort_column:3,sortedcollect:[1,2],sourc:[3,4,5,6,7,8,9,10,11,12,13,14,15],sp500:5,space:4,spark:[1,2],spatial:14,specif:[3,4,8,9,10,11,12,13],split:[3,4,14],splitabov:14,splitbelow:14,splite:16,sql:3,sqlite3:[3,7],sqlite:[3,7],squar:3,ssci:8,standard:[3,5,16],start:[0,3,4,5,8,11,12,13],stat:[3,8,16],station:5,stationari:12,stationary_gaussian:5,statist:[0,3],statsmodel:3,step:[3,4,8,9,10,11,12,13,16],steps_ahead:[3,4],stochast:5,stock:5,store:[3,4,7],strang:5,string:[4,11,13,14],strip_datepart:13,structur:[4,13],student:0,style:4,submodul:[0,1],subpackag:[0,1],suitabl:0,sum:8,sunspot:[1,2],superset:4,support:4,symbol:5,symmetr:3,symposium:8,synthet:[1,2,3],syst:[8,13,14,16],system:[5,8,12],tabl:[3,7],tabular_dataframe_column:3,tag:[3,7],taiex:[1,2,8,16],taiwan:5,take:16,tam:[3,4,12,14,15],target:3,target_vari:[4,6],tau:[3,5,15],technol:[14,16],tempeatur:5,tempor:[4,13,16],term:[3,4,8,16],test:[3,4,16],test_data:3,than:[4,5,16],thei:4,theil:3,theilsinequ:3,theoret:3,theori:16,thi:[0,4,5,8,11,12,13,14,15,16],third:13,thoma:4,those:4,thres1:14,thres2:14,threshold:14,through:5,time:[1,2,3,4,8,9,10,11,12,13,14],time_from:4,time_to:4,timegridpartition:13,times2:3,timeseri:5,timevari:[2,8],titl:[3,14,15],tool:[0,16],total:[4,5],tradit:8,train:[3,4,8,9,10,11,12,13,14],train_data:[3,9],train_individual_model:9,transact:12,transform:[1,2,3,7,11,12,13,14,16],transformations_param:4,transit:[4,16],translat:16,trapezoid:[4,14,16],trapmf:4,tree:[1,2],trend:[8,16],trendweightedflrg:8,trendweightedft:8,triangular:4,trigger:4,trimf:4,tsa:3,tsdl:5,tun:7,tupl:[3,4,7,11,14],two:5,twse:5,type:[3,4,5,6,11,13,14,15,16],typeonlegend:[3,4],uavg:3,ufmg:0,under:4,unified_scaled_interv:3,unified_scaled_interval_pinbal:3,unified_scaled_point:3,unified_scaled_probabilist:3,uniform:5,uniqu:[4,8,9,12,13],uniquefilenam:4,unit:13,univari:5,univers:[0,3,4,5,11,12,13,14,15,16],unpack_arg:12,uod:[3,4,7,8,11,14,15],uod_clip:4,up_param:3,updat:10,update_model:8,update_uod:9,updateuod:[4,11],upper:[4,5,8,11,12,14],upper_set:14,url:[0,3,5,6],usa:5,usag:0,usd:[1,2],use:[0,4],used:[3,4,7,8,9,14,16],user:[3,7],using:[4,8,10,14,16],ustatist:3,ustd:3,usual:[4,16],util:[1,2,8],val:14,valid:4,valu:[3,4,5,7,8,9,10,11,12,13,14,15,16],valueerror:4,variabl:[2,4,6,8,14],varianc:[4,5],variant:10,variat:5,vector:[4,11,14],veri:[5,8],verif:3,verifi:14,visualize_distribut:8,vmax:5,vmin:5,vol:[8,13,14,16],walk:5,want:0,weather:3,weight:[5,8,11,16],weightedflrg:[8,11],weightedft:8,weightedhighorderflrg:8,weightedhighorderft:8,weightedmvft:11,were:[13,14],when:[4,10,11,14],where:[3,4,8,11,13],which:[3,4,7,16],white_nois:5,whose:0,width:[4,12,14,15],width_param:12,window:[3,4,10],window_index:12,window_kei:3,window_length:10,window_s:12,windows:[3,4],winkler:3,winkler_mean:3,winkler_scor:3,without:4,wmvft:[2,8],word:[3,7],work:[4,13,14],wrap:[3,9,10],wrapper:4,www:5,xiii:9,yahoo:5,year:13,yearli:5,yeh:[14,16],you:4,young:4,younger:4,youngest:4,zenodo:0},titles:["pyFTS - Fuzzy Time Series for Python","pyFTS","pyFTS package","pyFTS.benchmarks package","pyFTS.common package","pyFTS.data package","pyFTS.distributed package","pyFTS.hyperparam package","pyFTS.models package","pyFTS.models.ensemble package","pyFTS.models.incremental package","pyFTS.models.multivariate package","pyFTS.models.nonstationary package","pyFTS.models.seasonal package","pyFTS.partitioners package","pyFTS.probabilistic package","pyFTS Quick Start"],titleterms:{FTS:16,airpasseng:5,arima:3,artifici:5,benchmark:3,bitcoin:5,chaotic:5,chen:8,cheng:8,cmean:14,cmsft:13,cmvft:11,common:[4,5,11,12,13],composit:4,conf:2,content:[2,3,4,5,6,7,8,9,10,11,12,13,14,15],cvft:12,data:5,dataset:5,dispi:6,distribut:6,dowjon:5,enrol:5,ensembl:9,entropi:14,ethereum:5,eur:5,evolutionari:7,exampl:16,fcm:14,flr:[4,11],flrg:[4,11,12],fts:4,fuzzi:[0,16],fuzzyset:4,gbp:5,gener:5,glass:5,granular:11,grid:14,gridsearch:7,henon:5,hoft:8,honsft:12,how:[0,16],huarng:14,hwang:8,hyperparam:7,ift:8,increment:10,incrementalensembl:10,index:0,inmet:5,instal:16,ismailefendi:8,kde:15,knn:3,librari:0,logistic_map:5,lorentz:5,mackei:5,malaysia:5,measur:3,membership:4,model:[8,9,10,11,12,13],modul:[2,3,4,5,6,7,8,9,10,11,12,13,14,15],msft:13,multiseason:9,multivari:11,mvft:11,naiv:3,nasdaq:5,nonstationari:12,nsft:12,packag:[2,3,4,5,6,7,8,9,10,11,12,13,14,15],parallel_util:14,partition:[11,12,13,14],perturb:12,probabilist:15,probabilitydistribut:15,pwft:8,pyft:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],python:0,quantreg:3,quick:16,refer:[0,16],residualanalysi:3,rossler:5,sadaei:8,season:13,seasonalindex:13,seri:[0,5,16],sft:13,simpl:14,singleton:14,sonda:5,song:8,sortedcollect:4,spark:6,start:16,submodul:[2,3,4,5,6,7,8,9,10,11,12,13,14,15],subpackag:[2,8],sunspot:5,synthet:5,taiex:5,time:[0,5,16],timevari:10,transform:4,tree:4,usag:16,usd:5,util:[3,4,7,12,14],variabl:11,what:[0,16],wmvft:11}}) \ No newline at end of file +Search.setIndex({docnames:["index","modules","pyFTS","pyFTS.benchmarks","pyFTS.common","pyFTS.data","pyFTS.distributed","pyFTS.hyperparam","pyFTS.models","pyFTS.models.ensemble","pyFTS.models.incremental","pyFTS.models.multivariate","pyFTS.models.nonstationary","pyFTS.models.seasonal","pyFTS.partitioners","pyFTS.probabilistic","quickstart"],envversion:53,filenames:["index.rst","modules.rst","pyFTS.rst","pyFTS.benchmarks.rst","pyFTS.common.rst","pyFTS.data.rst","pyFTS.distributed.rst","pyFTS.hyperparam.rst","pyFTS.models.rst","pyFTS.models.ensemble.rst","pyFTS.models.incremental.rst","pyFTS.models.multivariate.rst","pyFTS.models.nonstationary.rst","pyFTS.models.seasonal.rst","pyFTS.partitioners.rst","pyFTS.probabilistic.rst","quickstart.rst"],objects:{"":{pyFTS:[2,0,0,"-"]},"pyFTS.benchmarks":{BSTS:[3,0,0,"-"],Measures:[3,0,0,"-"],ResidualAnalysis:[3,0,0,"-"],Tests:[3,0,0,"-"],Util:[3,0,0,"-"],arima:[3,0,0,"-"],benchmarks:[3,0,0,"-"],gaussianproc:[3,0,0,"-"],knn:[3,0,0,"-"],naive:[3,0,0,"-"],quantreg:[3,0,0,"-"]},"pyFTS.benchmarks.BSTS":{ARIMA:[3,1,1,""]},"pyFTS.benchmarks.BSTS.ARIMA":{forecast:[3,2,1,""],forecast_ahead_distribution:[3,2,1,""],forecast_ahead_interval:[3,2,1,""],forecast_distribution:[3,2,1,""],forecast_interval:[3,2,1,""],inference:[3,2,1,""],train:[3,2,1,""]},"pyFTS.benchmarks.Measures":{TheilsInequality:[3,3,1,""],UStatistic:[3,3,1,""],acf:[3,3,1,""],brier_score:[3,3,1,""],coverage:[3,3,1,""],crps:[3,3,1,""],get_distribution_ahead_statistics:[3,3,1,""],get_distribution_statistics:[3,3,1,""],get_interval_ahead_statistics:[3,3,1,""],get_interval_statistics:[3,3,1,""],get_point_statistics:[3,3,1,""],logarithm_score:[3,3,1,""],mape:[3,3,1,""],mape_interval:[3,3,1,""],pinball:[3,3,1,""],pinball_mean:[3,3,1,""],resolution:[3,3,1,""],rmse:[3,3,1,""],rmse_interval:[3,3,1,""],sharpness:[3,3,1,""],smape:[3,3,1,""],winkler_mean:[3,3,1,""],winkler_score:[3,3,1,""]},"pyFTS.benchmarks.ResidualAnalysis":{chi_squared:[3,3,1,""],compare_residuals:[3,3,1,""],plotResiduals:[3,3,1,""],plot_residuals:[3,3,1,""],residuals:[3,3,1,""],single_plot_residuals:[3,3,1,""]},"pyFTS.benchmarks.Tests":{BoxLjungStatistic:[3,3,1,""],BoxPierceStatistic:[3,3,1,""],format_experiment_table:[3,3,1,""],post_hoc_tests:[3,3,1,""],test_mean_equality:[3,3,1,""]},"pyFTS.benchmarks.Util":{analytic_tabular_dataframe:[3,3,1,""],analytical_data_columns:[3,3,1,""],base_dataframe_columns:[3,3,1,""],cast_dataframe_to_synthetic:[3,3,1,""],cast_dataframe_to_synthetic_interval:[3,3,1,""],cast_dataframe_to_synthetic_point:[3,3,1,""],cast_dataframe_to_synthetic_probabilistic:[3,3,1,""],check_ignore_list:[3,3,1,""],check_replace_list:[3,3,1,""],create_benchmark_tables:[3,3,1,""],extract_measure:[3,3,1,""],find_best:[3,3,1,""],get_dataframe_from_bd:[3,3,1,""],insert_benchmark:[3,3,1,""],interval_dataframe_analytic_columns:[3,3,1,""],interval_dataframe_synthetic_columns:[3,3,1,""],open_benchmark_db:[3,3,1,""],plot_dataframe_interval:[3,3,1,""],plot_dataframe_interval_pinball:[3,3,1,""],plot_dataframe_point:[3,3,1,""],plot_dataframe_probabilistic:[3,3,1,""],point_dataframe_analytic_columns:[3,3,1,""],point_dataframe_synthetic_columns:[3,3,1,""],probabilistic_dataframe_analytic_columns:[3,3,1,""],probabilistic_dataframe_synthetic_columns:[3,3,1,""],process_common_data2:[3,3,1,""],process_common_data:[3,3,1,""],save_dataframe_interval:[3,3,1,""],save_dataframe_point:[3,3,1,""],save_dataframe_probabilistic:[3,3,1,""],scale:[3,3,1,""],scale_params:[3,3,1,""],simple_synthetic_dataframe:[3,3,1,""],stats:[3,3,1,""],tabular_dataframe_columns:[3,3,1,""],unified_scaled_interval:[3,3,1,""],unified_scaled_interval_pinball:[3,3,1,""],unified_scaled_point:[3,3,1,""],unified_scaled_probabilistic:[3,3,1,""]},"pyFTS.benchmarks.arima":{ARIMA:[3,1,1,""]},"pyFTS.benchmarks.arima.ARIMA":{ar:[3,2,1,""],forecast:[3,2,1,""],forecast_ahead_distribution:[3,2,1,""],forecast_ahead_interval:[3,2,1,""],forecast_distribution:[3,2,1,""],forecast_interval:[3,2,1,""],ma:[3,2,1,""],train:[3,2,1,""]},"pyFTS.benchmarks.benchmarks":{SelecaoSimples_MenorRMSE:[3,3,1,""],common_process_interval_jobs:[3,3,1,""],common_process_point_jobs:[3,3,1,""],common_process_probabilistic_jobs:[3,3,1,""],compareModelsPlot:[3,3,1,""],compareModelsTable:[3,3,1,""],get_benchmark_interval_methods:[3,3,1,""],get_benchmark_point_methods:[3,3,1,""],get_benchmark_probabilistic_methods:[3,3,1,""],get_interval_methods:[3,3,1,""],get_point_methods:[3,3,1,""],get_point_multivariate_methods:[3,3,1,""],get_probabilistic_methods:[3,3,1,""],pftsExploreOrderAndPartitions:[3,3,1,""],plotCompared:[3,3,1,""],plot_compared_series:[3,3,1,""],plot_point:[3,3,1,""],print_distribution_statistics:[3,3,1,""],print_interval_statistics:[3,3,1,""],print_point_statistics:[3,3,1,""],process_interval_jobs2:[3,3,1,""],process_interval_jobs:[3,3,1,""],process_point_jobs2:[3,3,1,""],process_point_jobs:[3,3,1,""],process_probabilistic_jobs2:[3,3,1,""],process_probabilistic_jobs:[3,3,1,""],run_interval2:[3,3,1,""],run_interval:[3,3,1,""],run_point2:[3,3,1,""],run_point:[3,3,1,""],run_probabilistic2:[3,3,1,""],run_probabilistic:[3,3,1,""],simpleSearch_RMSE:[3,3,1,""],sliding_window_benchmarks2:[3,3,1,""],sliding_window_benchmarks:[3,3,1,""]},"pyFTS.benchmarks.gaussianproc":{GPR:[3,1,1,""]},"pyFTS.benchmarks.gaussianproc.GPR":{forecast:[3,2,1,""],forecast_ahead:[3,2,1,""],forecast_ahead_distribution:[3,2,1,""],forecast_ahead_interval:[3,2,1,""],forecast_distribution:[3,2,1,""],forecast_interval:[3,2,1,""],train:[3,2,1,""]},"pyFTS.benchmarks.knn":{KNearestNeighbors:[3,1,1,""]},"pyFTS.benchmarks.knn.KNearestNeighbors":{forecast:[3,2,1,""],forecast_ahead:[3,2,1,""],forecast_ahead_distribution:[3,2,1,""],forecast_ahead_interval:[3,2,1,""],forecast_distribution:[3,2,1,""],forecast_interval:[3,2,1,""],knn:[3,2,1,""],train:[3,2,1,""]},"pyFTS.benchmarks.naive":{Naive:[3,1,1,""]},"pyFTS.benchmarks.naive.Naive":{forecast:[3,2,1,""]},"pyFTS.benchmarks.quantreg":{QuantileRegression:[3,1,1,""]},"pyFTS.benchmarks.quantreg.QuantileRegression":{forecast:[3,2,1,""],forecast_ahead_distribution:[3,2,1,""],forecast_ahead_interval:[3,2,1,""],forecast_distribution:[3,2,1,""],forecast_interval:[3,2,1,""],interval_to_interval:[3,2,1,""],linearmodel:[3,2,1,""],point_to_interval:[3,2,1,""],train:[3,2,1,""]},"pyFTS.common":{Composite:[4,0,0,"-"],FLR:[4,0,0,"-"],FuzzySet:[4,0,0,"-"],Membership:[4,0,0,"-"],SortedCollection:[4,0,0,"-"],Transformations:[4,0,0,"-"],Util:[4,0,0,"-"],flrg:[4,0,0,"-"],fts:[4,0,0,"-"],tree:[4,0,0,"-"]},"pyFTS.common.Composite":{FuzzySet:[4,1,1,""]},"pyFTS.common.Composite.FuzzySet":{append:[4,2,1,""],append_set:[4,2,1,""],membership:[4,2,1,""],transform:[4,2,1,""]},"pyFTS.common.FLR":{FLR:[4,1,1,""],IndexedFLR:[4,1,1,""],generate_high_order_recurrent_flr:[4,3,1,""],generate_indexed_flrs:[4,3,1,""],generate_non_recurrent_flrs:[4,3,1,""],generate_recurrent_flrs:[4,3,1,""]},"pyFTS.common.FuzzySet":{FuzzySet:[4,1,1,""],check_bounds:[4,3,1,""],check_bounds_index:[4,3,1,""],fuzzyfy:[4,3,1,""],fuzzyfy_instance:[4,3,1,""],fuzzyfy_instances:[4,3,1,""],fuzzyfy_series:[4,3,1,""],fuzzyfy_series_old:[4,3,1,""],get_fuzzysets:[4,3,1,""],get_maximum_membership_fuzzyset:[4,3,1,""],get_maximum_membership_fuzzyset_index:[4,3,1,""],grant_bounds:[4,3,1,""],set_ordered:[4,3,1,""]},"pyFTS.common.FuzzySet.FuzzySet":{membership:[4,2,1,""],partition_function:[4,2,1,""],transform:[4,2,1,""]},"pyFTS.common.Membership":{bellmf:[4,3,1,""],gaussmf:[4,3,1,""],sigmf:[4,3,1,""],singleton:[4,3,1,""],trapmf:[4,3,1,""],trimf:[4,3,1,""]},"pyFTS.common.SortedCollection":{SortedCollection:[4,1,1,""]},"pyFTS.common.SortedCollection.SortedCollection":{around:[4,2,1,""],between:[4,2,1,""],clear:[4,2,1,""],copy:[4,2,1,""],count:[4,2,1,""],find:[4,2,1,""],find_ge:[4,2,1,""],find_gt:[4,2,1,""],find_le:[4,2,1,""],find_lt:[4,2,1,""],index:[4,2,1,""],insert:[4,2,1,""],insert_right:[4,2,1,""],inside:[4,2,1,""],key:[4,4,1,""],remove:[4,2,1,""]},"pyFTS.common.Transformations":{AdaptiveExpectation:[4,1,1,""],BoxCox:[4,1,1,""],Differential:[4,1,1,""],Scale:[4,1,1,""],Transformation:[4,1,1,""],Z:[4,3,1,""],aggregate:[4,3,1,""],roi:[4,3,1,""],smoothing:[4,3,1,""]},"pyFTS.common.Transformations.AdaptiveExpectation":{apply:[4,2,1,""],inverse:[4,2,1,""],parameters:[4,4,1,""]},"pyFTS.common.Transformations.BoxCox":{apply:[4,2,1,""],inverse:[4,2,1,""],parameters:[4,4,1,""]},"pyFTS.common.Transformations.Differential":{apply:[4,2,1,""],inverse:[4,2,1,""],parameters:[4,4,1,""]},"pyFTS.common.Transformations.Scale":{apply:[4,2,1,""],inverse:[4,2,1,""],parameters:[4,4,1,""]},"pyFTS.common.Transformations.Transformation":{apply:[4,2,1,""],inverse:[4,2,1,""]},"pyFTS.common.Util":{current_milli_time:[4,3,1,""],draw_sets_on_axis:[4,3,1,""],enumerate2:[4,3,1,""],load_env:[4,3,1,""],load_obj:[4,3,1,""],persist_env:[4,3,1,""],persist_obj:[4,3,1,""],plot_compared_intervals_ahead:[4,3,1,""],plot_density_rectange:[4,3,1,""],plot_distribution2:[4,3,1,""],plot_distribution:[4,3,1,""],plot_interval2:[4,3,1,""],plot_interval:[4,3,1,""],plot_probability_distributions:[4,3,1,""],plot_rules:[4,3,1,""],show_and_save_image:[4,3,1,""],sliding_window:[4,3,1,""],uniquefilename:[4,3,1,""]},"pyFTS.common.flrg":{FLRG:[4,1,1,""]},"pyFTS.common.flrg.FLRG":{append_rhs:[4,2,1,""],get_key:[4,2,1,""],get_lower:[4,2,1,""],get_membership:[4,2,1,""],get_midpoint:[4,2,1,""],get_midpoints:[4,2,1,""],get_upper:[4,2,1,""],reset_calculated_values:[4,2,1,""]},"pyFTS.common.fts":{FTS:[4,1,1,""]},"pyFTS.common.fts.FTS":{append_log:[4,2,1,""],append_rule:[4,2,1,""],append_transformation:[4,2,1,""],apply_inverse_transformations:[4,2,1,""],apply_transformations:[4,2,1,""],clip_uod:[4,2,1,""],clone_parameters:[4,2,1,""],fit:[4,2,1,""],forecast:[4,2,1,""],forecast_ahead:[4,2,1,""],forecast_ahead_distribution:[4,2,1,""],forecast_ahead_interval:[4,2,1,""],forecast_ahead_multivariate:[4,2,1,""],forecast_distribution:[4,2,1,""],forecast_interval:[4,2,1,""],forecast_multivariate:[4,2,1,""],fuzzy:[4,2,1,""],get_UoD:[4,2,1,""],len_total:[4,2,1,""],merge:[4,2,1,""],predict:[4,2,1,""],reset_calculated_values:[4,2,1,""],train:[4,2,1,""]},"pyFTS.common.tree":{FLRGTree:[4,1,1,""],FLRGTreeNode:[4,1,1,""],build_tree_without_order:[4,3,1,""],flat:[4,3,1,""]},"pyFTS.common.tree.FLRGTreeNode":{appendChild:[4,2,1,""],getChildren:[4,2,1,""],getStr:[4,2,1,""],paths:[4,2,1,""]},"pyFTS.data":{AirPassengers:[5,0,0,"-"],Bitcoin:[5,0,0,"-"],DowJones:[5,0,0,"-"],EURGBP:[5,0,0,"-"],EURUSD:[5,0,0,"-"],Enrollments:[5,0,0,"-"],Ethereum:[5,0,0,"-"],GBPUSD:[5,0,0,"-"],INMET:[5,0,0,"-"],Malaysia:[5,0,0,"-"],NASDAQ:[5,0,0,"-"],SONDA:[5,0,0,"-"],SP500:[5,0,0,"-"],TAIEX:[5,0,0,"-"],artificial:[5,0,0,"-"],common:[5,0,0,"-"],henon:[5,0,0,"-"],logistic_map:[5,0,0,"-"],lorentz:[5,0,0,"-"],mackey_glass:[5,0,0,"-"],rossler:[5,0,0,"-"],sunspots:[5,0,0,"-"]},"pyFTS.data.AirPassengers":{get_data:[5,3,1,""],get_dataframe:[5,3,1,""]},"pyFTS.data.Bitcoin":{get_data:[5,3,1,""],get_dataframe:[5,3,1,""]},"pyFTS.data.DowJones":{get_data:[5,3,1,""],get_dataframe:[5,3,1,""]},"pyFTS.data.EURGBP":{get_data:[5,3,1,""],get_dataframe:[5,3,1,""]},"pyFTS.data.EURUSD":{get_data:[5,3,1,""],get_dataframe:[5,3,1,""]},"pyFTS.data.Enrollments":{get_data:[5,3,1,""],get_dataframe:[5,3,1,""]},"pyFTS.data.Ethereum":{get_data:[5,3,1,""],get_dataframe:[5,3,1,""]},"pyFTS.data.GBPUSD":{get_data:[5,3,1,""],get_dataframe:[5,3,1,""]},"pyFTS.data.INMET":{get_dataframe:[5,3,1,""]},"pyFTS.data.Malaysia":{get_data:[5,3,1,""],get_dataframe:[5,3,1,""]},"pyFTS.data.NASDAQ":{get_data:[5,3,1,""],get_dataframe:[5,3,1,""]},"pyFTS.data.SONDA":{get_data:[5,3,1,""],get_dataframe:[5,3,1,""]},"pyFTS.data.SP500":{get_data:[5,3,1,""],get_dataframe:[5,3,1,""]},"pyFTS.data.TAIEX":{get_data:[5,3,1,""],get_dataframe:[5,3,1,""]},"pyFTS.data.artificial":{SignalEmulator:[5,1,1,""],generate_gaussian_linear:[5,3,1,""],generate_linear_periodic_gaussian:[5,3,1,""],generate_sinoidal_periodic_gaussian:[5,3,1,""],generate_uniform_linear:[5,3,1,""],random_walk:[5,3,1,""],white_noise:[5,3,1,""]},"pyFTS.data.artificial.SignalEmulator":{blip:[5,2,1,""],incremental_gaussian:[5,2,1,""],periodic_gaussian:[5,2,1,""],run:[5,2,1,""],stationary_gaussian:[5,2,1,""]},"pyFTS.data.common":{get_dataframe:[5,3,1,""]},"pyFTS.data.henon":{get_data:[5,3,1,""],get_dataframe:[5,3,1,""]},"pyFTS.data.logistic_map":{get_data:[5,3,1,""]},"pyFTS.data.lorentz":{get_data:[5,3,1,""],get_dataframe:[5,3,1,""]},"pyFTS.data.mackey_glass":{get_data:[5,3,1,""]},"pyFTS.data.rossler":{get_data:[5,3,1,""],get_dataframe:[5,3,1,""]},"pyFTS.data.sunspots":{get_data:[5,3,1,""],get_dataframe:[5,3,1,""]},"pyFTS.distributed":{spark:[6,0,0,"-"]},"pyFTS.distributed.spark":{create_multivariate_model:[6,3,1,""],create_spark_conf:[6,3,1,""],create_univariate_model:[6,3,1,""],distributed_predict:[6,3,1,""],distributed_train:[6,3,1,""],get_clustered_partitioner:[6,3,1,""],get_partitioner:[6,3,1,""],get_variables:[6,3,1,""],share_parameters:[6,3,1,""],slave_forecast_multivariate:[6,3,1,""],slave_forecast_univariate:[6,3,1,""],slave_train_multivariate:[6,3,1,""],slave_train_univariate:[6,3,1,""]},"pyFTS.hyperparam":{Util:[7,0,0,"-"]},"pyFTS.hyperparam.Util":{create_hyperparam_tables:[7,3,1,""],insert_hyperparam:[7,3,1,""],open_hyperparam_db:[7,3,1,""]},"pyFTS.models":{chen:[8,0,0,"-"],cheng:[8,0,0,"-"],ensemble:[9,0,0,"-"],hofts:[8,0,0,"-"],hwang:[8,0,0,"-"],ifts:[8,0,0,"-"],incremental:[10,0,0,"-"],ismailefendi:[8,0,0,"-"],multivariate:[11,0,0,"-"],nonstationary:[12,0,0,"-"],pwfts:[8,0,0,"-"],sadaei:[8,0,0,"-"],seasonal:[13,0,0,"-"],song:[8,0,0,"-"],yu:[8,0,0,"-"]},"pyFTS.models.chen":{ConventionalFLRG:[8,1,1,""],ConventionalFTS:[8,1,1,""]},"pyFTS.models.chen.ConventionalFLRG":{append_rhs:[8,2,1,""],get_key:[8,2,1,""]},"pyFTS.models.chen.ConventionalFTS":{forecast:[8,2,1,""],generate_flrg:[8,2,1,""],train:[8,2,1,""]},"pyFTS.models.cheng":{TrendWeightedFLRG:[8,1,1,""],TrendWeightedFTS:[8,1,1,""]},"pyFTS.models.cheng.TrendWeightedFLRG":{weights:[8,2,1,""]},"pyFTS.models.cheng.TrendWeightedFTS":{generate_FLRG:[8,2,1,""]},"pyFTS.models.ensemble":{ensemble:[9,0,0,"-"],multiseasonal:[9,0,0,"-"]},"pyFTS.models.ensemble.ensemble":{AllMethodEnsembleFTS:[9,1,1,""],EnsembleFTS:[9,1,1,""],SimpleEnsembleFTS:[9,1,1,""],sampler:[9,3,1,""]},"pyFTS.models.ensemble.ensemble.AllMethodEnsembleFTS":{set_transformations:[9,2,1,""],train:[9,2,1,""]},"pyFTS.models.ensemble.ensemble.EnsembleFTS":{append_model:[9,2,1,""],forecast:[9,2,1,""],forecast_ahead_distribution:[9,2,1,""],forecast_ahead_interval:[9,2,1,""],forecast_distribution:[9,2,1,""],forecast_interval:[9,2,1,""],get_UoD:[9,2,1,""],get_distribution_interquantile:[9,2,1,""],get_interval:[9,2,1,""],get_models_forecasts:[9,2,1,""],get_point:[9,2,1,""],train:[9,2,1,""]},"pyFTS.models.ensemble.ensemble.SimpleEnsembleFTS":{train:[9,2,1,""]},"pyFTS.models.ensemble.multiseasonal":{SeasonalEnsembleFTS:[9,1,1,""],train_individual_model:[9,3,1,""]},"pyFTS.models.ensemble.multiseasonal.SeasonalEnsembleFTS":{forecast_distribution:[9,2,1,""],train:[9,2,1,""],update_uod:[9,2,1,""]},"pyFTS.models.hofts":{HighOrderFLRG:[8,1,1,""],HighOrderFTS:[8,1,1,""],WeightedHighOrderFLRG:[8,1,1,""],WeightedHighOrderFTS:[8,1,1,""]},"pyFTS.models.hofts.HighOrderFLRG":{append_lhs:[8,2,1,""],append_rhs:[8,2,1,""]},"pyFTS.models.hofts.HighOrderFTS":{configure_lags:[8,2,1,""],forecast:[8,2,1,""],generate_flrg:[8,2,1,""],generate_flrg_fuzzyfied:[8,2,1,""],generate_lhs_flrg:[8,2,1,""],generate_lhs_flrg_fuzzyfied:[8,2,1,""],train:[8,2,1,""]},"pyFTS.models.hofts.WeightedHighOrderFLRG":{append_lhs:[8,2,1,""],append_rhs:[8,2,1,""],get_lower:[8,2,1,""],get_midpoint:[8,2,1,""],get_upper:[8,2,1,""],weights:[8,2,1,""]},"pyFTS.models.hofts.WeightedHighOrderFTS":{generate_lhs_flrg_fuzzyfied:[8,2,1,""]},"pyFTS.models.hwang":{HighOrderFTS:[8,1,1,""]},"pyFTS.models.hwang.HighOrderFTS":{configure_lags:[8,2,1,""],forecast:[8,2,1,""],train:[8,2,1,""]},"pyFTS.models.ifts":{IntervalFTS:[8,1,1,""],WeightedIntervalFTS:[8,1,1,""]},"pyFTS.models.ifts.IntervalFTS":{forecast_ahead_interval:[8,2,1,""],forecast_interval:[8,2,1,""],get_lower:[8,2,1,""],get_sequence_membership:[8,2,1,""],get_upper:[8,2,1,""]},"pyFTS.models.ifts.WeightedIntervalFTS":{forecast_ahead_interval:[8,2,1,""],forecast_interval:[8,2,1,""],get_lower:[8,2,1,""],get_sequence_membership:[8,2,1,""],get_upper:[8,2,1,""]},"pyFTS.models.incremental":{IncrementalEnsemble:[10,0,0,"-"],TimeVariant:[10,0,0,"-"]},"pyFTS.models.incremental.IncrementalEnsemble":{IncrementalEnsembleFTS:[10,1,1,""]},"pyFTS.models.incremental.IncrementalEnsemble.IncrementalEnsembleFTS":{forecast:[10,2,1,""],train:[10,2,1,""]},"pyFTS.models.incremental.TimeVariant":{Retrainer:[10,1,1,""]},"pyFTS.models.incremental.TimeVariant.Retrainer":{forecast:[10,2,1,""],train:[10,2,1,""]},"pyFTS.models.ismailefendi":{ImprovedWeightedFLRG:[8,1,1,""],ImprovedWeightedFTS:[8,1,1,""]},"pyFTS.models.ismailefendi.ImprovedWeightedFLRG":{append_rhs:[8,2,1,""],weights:[8,2,1,""]},"pyFTS.models.ismailefendi.ImprovedWeightedFTS":{forecast:[8,2,1,""],generate_flrg:[8,2,1,""],train:[8,2,1,""]},"pyFTS.models.multivariate":{FLR:[11,0,0,"-"],cmvfts:[11,0,0,"-"],common:[11,0,0,"-"],flrg:[11,0,0,"-"],granular:[11,0,0,"-"],grid:[11,0,0,"-"],mvfts:[11,0,0,"-"],partitioner:[11,0,0,"-"],variable:[11,0,0,"-"],wmvfts:[11,0,0,"-"]},"pyFTS.models.multivariate.FLR":{FLR:[11,1,1,""]},"pyFTS.models.multivariate.FLR.FLR":{set_lhs:[11,2,1,""],set_rhs:[11,2,1,""]},"pyFTS.models.multivariate.cmvfts":{ClusteredMVFTS:[11,1,1,""]},"pyFTS.models.multivariate.cmvfts.ClusteredMVFTS":{check_data:[11,2,1,""],forecast:[11,2,1,""],forecast_ahead_multivariate:[11,2,1,""],forecast_multivariate:[11,2,1,""],fuzzyfy:[11,2,1,""],train:[11,2,1,""]},"pyFTS.models.multivariate.common":{MultivariateFuzzySet:[11,1,1,""],fuzzyfy_instance:[11,3,1,""],fuzzyfy_instance_clustered:[11,3,1,""]},"pyFTS.models.multivariate.common.MultivariateFuzzySet":{append_set:[11,2,1,""],membership:[11,2,1,""],set_target_variable:[11,2,1,""]},"pyFTS.models.multivariate.flrg":{FLRG:[11,1,1,""]},"pyFTS.models.multivariate.flrg.FLRG":{append_rhs:[11,2,1,""],get_lower:[11,2,1,""],get_membership:[11,2,1,""],get_upper:[11,2,1,""],set_lhs:[11,2,1,""]},"pyFTS.models.multivariate.granular":{GranularWMVFTS:[11,1,1,""]},"pyFTS.models.multivariate.granular.GranularWMVFTS":{train:[11,2,1,""]},"pyFTS.models.multivariate.grid":{GridCluster:[11,1,1,""],IncrementalGridCluster:[11,1,1,""]},"pyFTS.models.multivariate.grid.GridCluster":{build:[11,2,1,""]},"pyFTS.models.multivariate.grid.IncrementalGridCluster":{fuzzyfy:[11,2,1,""],incremental_search:[11,2,1,""],prune:[11,2,1,""]},"pyFTS.models.multivariate.mvfts":{MVFTS:[11,1,1,""],product_dict:[11,3,1,""]},"pyFTS.models.multivariate.mvfts.MVFTS":{append_variable:[11,2,1,""],apply_transformations:[11,2,1,""],clone_parameters:[11,2,1,""],forecast:[11,2,1,""],forecast_ahead:[11,2,1,""],forecast_ahead_interval:[11,2,1,""],forecast_interval:[11,2,1,""],format_data:[11,2,1,""],generate_flrg:[11,2,1,""],generate_flrs:[11,2,1,""],generate_lhs_flrs:[11,2,1,""],train:[11,2,1,""]},"pyFTS.models.multivariate.partitioner":{MultivariatePartitioner:[11,1,1,""]},"pyFTS.models.multivariate.partitioner.MultivariatePartitioner":{append:[11,2,1,""],build:[11,2,1,""],build_index:[11,2,1,""],change_target_variable:[11,2,1,""],format_data:[11,2,1,""],fuzzyfy:[11,2,1,""],prune:[11,2,1,""],search:[11,2,1,""]},"pyFTS.models.multivariate.variable":{Variable:[11,1,1,""]},"pyFTS.models.multivariate.variable.Variable":{apply_inverse_transformations:[11,2,1,""],apply_transformations:[11,2,1,""],build:[11,2,1,""]},"pyFTS.models.multivariate.wmvfts":{WeightedFLRG:[11,1,1,""],WeightedMVFTS:[11,1,1,""]},"pyFTS.models.multivariate.wmvfts.WeightedFLRG":{append_rhs:[11,2,1,""],get_lower:[11,2,1,""],get_midpoint:[11,2,1,""],get_upper:[11,2,1,""],weights:[11,2,1,""]},"pyFTS.models.multivariate.wmvfts.WeightedMVFTS":{generate_flrg:[11,2,1,""]},"pyFTS.models.nonstationary":{common:[12,0,0,"-"],cvfts:[12,0,0,"-"],flrg:[12,0,0,"-"],honsfts:[12,0,0,"-"],nsfts:[12,0,0,"-"],partitioners:[12,0,0,"-"],perturbation:[12,0,0,"-"],util:[12,0,0,"-"]},"pyFTS.models.nonstationary.common":{FuzzySet:[12,1,1,""],check_bounds:[12,3,1,""],check_bounds_index:[12,3,1,""],fuzzify:[12,3,1,""],fuzzySeries:[12,3,1,""],window_index:[12,3,1,""]},"pyFTS.models.nonstationary.common.FuzzySet":{get_lower:[12,2,1,""],get_midpoint:[12,2,1,""],get_upper:[12,2,1,""],membership:[12,2,1,""],perform_location:[12,2,1,""],perform_width:[12,2,1,""],perturbate_parameters:[12,2,1,""]},"pyFTS.models.nonstationary.cvfts":{ConditionalVarianceFTS:[12,1,1,""],HighOrderNonstationaryFLRG:[12,1,1,""]},"pyFTS.models.nonstationary.cvfts.ConditionalVarianceFTS":{forecast:[12,2,1,""],forecast_interval:[12,2,1,""],generate_flrg:[12,2,1,""],perturbation_factors:[12,2,1,""],perturbation_factors__old:[12,2,1,""],train:[12,2,1,""]},"pyFTS.models.nonstationary.cvfts.HighOrderNonstationaryFLRG":{append_lhs:[12,2,1,""],append_rhs:[12,2,1,""]},"pyFTS.models.nonstationary.flrg":{NonStationaryFLRG:[12,1,1,""]},"pyFTS.models.nonstationary.flrg.NonStationaryFLRG":{get_key:[12,2,1,""],get_lower:[12,2,1,""],get_membership:[12,2,1,""],get_midpoint:[12,2,1,""],get_upper:[12,2,1,""],unpack_args:[12,2,1,""]},"pyFTS.models.nonstationary.honsfts":{HighOrderNonStationaryFLRG:[12,1,1,""],HighOrderNonStationaryFTS:[12,1,1,""]},"pyFTS.models.nonstationary.honsfts.HighOrderNonStationaryFLRG":{append_lhs:[12,2,1,""],append_rhs:[12,2,1,""]},"pyFTS.models.nonstationary.honsfts.HighOrderNonStationaryFTS":{forecast:[12,2,1,""],forecast_interval:[12,2,1,""],generate_flrg:[12,2,1,""],train:[12,2,1,""]},"pyFTS.models.nonstationary.nsfts":{ConventionalNonStationaryFLRG:[12,1,1,""],NonStationaryFTS:[12,1,1,""]},"pyFTS.models.nonstationary.nsfts.ConventionalNonStationaryFLRG":{append_rhs:[12,2,1,""],get_key:[12,2,1,""]},"pyFTS.models.nonstationary.nsfts.NonStationaryFTS":{conditional_perturbation_factors:[12,2,1,""],forecast:[12,2,1,""],forecast_interval:[12,2,1,""],generate_flrg:[12,2,1,""],train:[12,2,1,""]},"pyFTS.models.nonstationary.partitioners":{PolynomialNonStationaryPartitioner:[12,1,1,""],SimpleNonStationaryPartitioner:[12,1,1,""],simplenonstationary_gridpartitioner_builder:[12,3,1,""]},"pyFTS.models.nonstationary.partitioners.PolynomialNonStationaryPartitioner":{build:[12,2,1,""],get_polynomial_perturbations:[12,2,1,""],poly_width:[12,2,1,""],scale_down:[12,2,1,""],scale_up:[12,2,1,""]},"pyFTS.models.nonstationary.partitioners.SimpleNonStationaryPartitioner":{build:[12,2,1,""]},"pyFTS.models.nonstationary.perturbation":{exponential:[12,3,1,""],linear:[12,3,1,""],periodic:[12,3,1,""],polynomial:[12,3,1,""]},"pyFTS.models.nonstationary.util":{plot_sets:[12,3,1,""],plot_sets_conditional:[12,3,1,""]},"pyFTS.models.pwfts":{ProbabilisticWeightedFLRG:[8,1,1,""],ProbabilisticWeightedFTS:[8,1,1,""],visualize_distributions:[8,3,1,""]},"pyFTS.models.pwfts.ProbabilisticWeightedFLRG":{append_rhs:[8,2,1,""],get_lower:[8,2,1,""],get_membership:[8,2,1,""],get_midpoint:[8,2,1,""],get_upper:[8,2,1,""],lhs_conditional_probability:[8,2,1,""],partition_function:[8,2,1,""],rhs_conditional_probability:[8,2,1,""],rhs_unconditional_probability:[8,2,1,""]},"pyFTS.models.pwfts.ProbabilisticWeightedFTS":{add_new_PWFLGR:[8,2,1,""],flrg_lhs_conditional_probability:[8,2,1,""],flrg_lhs_unconditional_probability:[8,2,1,""],flrg_rhs_conditional_probability:[8,2,1,""],forecast:[8,2,1,""],forecast_ahead:[8,2,1,""],forecast_ahead_distribution:[8,2,1,""],forecast_ahead_interval:[8,2,1,""],forecast_distribution:[8,2,1,""],forecast_interval:[8,2,1,""],generate_flrg:[8,2,1,""],generate_lhs_flrg:[8,2,1,""],generate_lhs_flrg_fuzzyfied:[8,2,1,""],get_lower:[8,2,1,""],get_midpoint:[8,2,1,""],get_upper:[8,2,1,""],interval_heuristic:[8,2,1,""],interval_quantile:[8,2,1,""],point_expected_value:[8,2,1,""],point_heuristic:[8,2,1,""],train:[8,2,1,""],update_model:[8,2,1,""]},"pyFTS.models.sadaei":{ExponentialyWeightedFLRG:[8,1,1,""],ExponentialyWeightedFTS:[8,1,1,""]},"pyFTS.models.sadaei.ExponentialyWeightedFLRG":{append_rhs:[8,2,1,""],weights:[8,2,1,""]},"pyFTS.models.sadaei.ExponentialyWeightedFTS":{forecast:[8,2,1,""],generate_flrg:[8,2,1,""],train:[8,2,1,""]},"pyFTS.models.seasonal":{SeasonalIndexer:[13,0,0,"-"],cmsfts:[13,0,0,"-"],common:[13,0,0,"-"],msfts:[13,0,0,"-"],partitioner:[13,0,0,"-"],sfts:[13,0,0,"-"]},"pyFTS.models.seasonal.SeasonalIndexer":{DataFrameSeasonalIndexer:[13,1,1,""],DateTimeSeasonalIndexer:[13,1,1,""],LinearSeasonalIndexer:[13,1,1,""],SeasonalIndexer:[13,1,1,""]},"pyFTS.models.seasonal.SeasonalIndexer.DataFrameSeasonalIndexer":{get_data:[13,2,1,""],get_data_by_season:[13,2,1,""],get_index_by_season:[13,2,1,""],get_season_by_index:[13,2,1,""],get_season_of_data:[13,2,1,""],set_data:[13,2,1,""]},"pyFTS.models.seasonal.SeasonalIndexer.DateTimeSeasonalIndexer":{get_data:[13,2,1,""],get_data_by_season:[13,2,1,""],get_index:[13,2,1,""],get_index_by_season:[13,2,1,""],get_season_by_index:[13,2,1,""],get_season_of_data:[13,2,1,""],set_data:[13,2,1,""]},"pyFTS.models.seasonal.SeasonalIndexer.LinearSeasonalIndexer":{get_data:[13,2,1,""],get_index_by_season:[13,2,1,""],get_season_by_index:[13,2,1,""],get_season_of_data:[13,2,1,""]},"pyFTS.models.seasonal.SeasonalIndexer.SeasonalIndexer":{get_data:[13,2,1,""],get_data_by_season:[13,2,1,""],get_index:[13,2,1,""],get_index_by_season:[13,2,1,""],get_season_by_index:[13,2,1,""],get_season_of_data:[13,2,1,""]},"pyFTS.models.seasonal.cmsfts":{ContextualMultiSeasonalFTS:[13,1,1,""],ContextualSeasonalFLRG:[13,1,1,""]},"pyFTS.models.seasonal.cmsfts.ContextualMultiSeasonalFTS":{forecast:[13,2,1,""],forecast_ahead:[13,2,1,""],generate_flrg:[13,2,1,""],get_midpoints:[13,2,1,""],train:[13,2,1,""]},"pyFTS.models.seasonal.cmsfts.ContextualSeasonalFLRG":{append_rhs:[13,2,1,""]},"pyFTS.models.seasonal.common":{DateTime:[13,1,1,""],FuzzySet:[13,1,1,""],strip_datepart:[13,3,1,""]},"pyFTS.models.seasonal.common.DateTime":{day_of_month:[13,4,1,""],day_of_week:[13,4,1,""],day_of_year:[13,4,1,""],half:[13,4,1,""],hour:[13,4,1,""],hour_of_month:[13,4,1,""],hour_of_week:[13,4,1,""],hour_of_year:[13,4,1,""],minute:[13,4,1,""],minute_of_day:[13,4,1,""],minute_of_month:[13,4,1,""],minute_of_week:[13,4,1,""],minute_of_year:[13,4,1,""],month:[13,4,1,""],quarter:[13,4,1,""],second_of_day:[13,4,1,""],second_of_hour:[13,4,1,""],second_of_minute:[13,4,1,""],sixth:[13,4,1,""],third:[13,4,1,""],year:[13,4,1,""]},"pyFTS.models.seasonal.common.FuzzySet":{transform:[13,2,1,""]},"pyFTS.models.seasonal.msfts":{MultiSeasonalFTS:[13,1,1,""]},"pyFTS.models.seasonal.msfts.MultiSeasonalFTS":{forecast:[13,2,1,""],forecast_ahead:[13,2,1,""],generate_flrg:[13,2,1,""],train:[13,2,1,""]},"pyFTS.models.seasonal.partitioner":{TimeGridPartitioner:[13,1,1,""]},"pyFTS.models.seasonal.partitioner.TimeGridPartitioner":{build:[13,2,1,""],build_index:[13,2,1,""],plot:[13,2,1,""],search:[13,2,1,""]},"pyFTS.models.seasonal.sfts":{SeasonalFLRG:[13,1,1,""],SeasonalFTS:[13,1,1,""]},"pyFTS.models.seasonal.sfts.SeasonalFLRG":{append_rhs:[13,2,1,""],get_key:[13,2,1,""]},"pyFTS.models.seasonal.sfts.SeasonalFTS":{forecast:[13,2,1,""],generate_flrg:[13,2,1,""],get_midpoints:[13,2,1,""],train:[13,2,1,""]},"pyFTS.models.song":{ConventionalFTS:[8,1,1,""]},"pyFTS.models.song.ConventionalFTS":{flr_membership_matrix:[8,2,1,""],forecast:[8,2,1,""],operation_matrix:[8,2,1,""],train:[8,2,1,""]},"pyFTS.models.yu":{WeightedFLRG:[8,1,1,""],WeightedFTS:[8,1,1,""]},"pyFTS.models.yu.WeightedFLRG":{append_rhs:[8,2,1,""],weights:[8,2,1,""]},"pyFTS.models.yu.WeightedFTS":{forecast:[8,2,1,""],generate_FLRG:[8,2,1,""],train:[8,2,1,""]},"pyFTS.partitioners":{CMeans:[14,0,0,"-"],Entropy:[14,0,0,"-"],FCM:[14,0,0,"-"],Grid:[14,0,0,"-"],Huarng:[14,0,0,"-"],Simple:[14,0,0,"-"],Singleton:[14,0,0,"-"],Util:[14,0,0,"-"],parallel_util:[14,0,0,"-"],partitioner:[14,0,0,"-"]},"pyFTS.partitioners.CMeans":{CMeansPartitioner:[14,1,1,""],c_means:[14,3,1,""],distance:[14,3,1,""]},"pyFTS.partitioners.CMeans.CMeansPartitioner":{build:[14,2,1,""]},"pyFTS.partitioners.Entropy":{EntropyPartitioner:[14,1,1,""],PMF:[14,3,1,""],bestSplit:[14,3,1,""],entropy:[14,3,1,""],informationGain:[14,3,1,""],splitAbove:[14,3,1,""],splitBelow:[14,3,1,""]},"pyFTS.partitioners.Entropy.EntropyPartitioner":{build:[14,2,1,""]},"pyFTS.partitioners.FCM":{FCMPartitioner:[14,1,1,""],fuzzy_cmeans:[14,3,1,""],fuzzy_distance:[14,3,1,""],membership:[14,3,1,""]},"pyFTS.partitioners.FCM.FCMPartitioner":{build:[14,2,1,""]},"pyFTS.partitioners.Grid":{GridPartitioner:[14,1,1,""]},"pyFTS.partitioners.Grid.GridPartitioner":{build:[14,2,1,""]},"pyFTS.partitioners.Huarng":{HuarngPartitioner:[14,1,1,""]},"pyFTS.partitioners.Huarng.HuarngPartitioner":{build:[14,2,1,""]},"pyFTS.partitioners.Simple":{SimplePartitioner:[14,1,1,""]},"pyFTS.partitioners.Simple.SimplePartitioner":{append:[14,2,1,""],append_complex:[14,2,1,""]},"pyFTS.partitioners.Singleton":{SingletonPartitioner:[14,1,1,""]},"pyFTS.partitioners.Singleton.SingletonPartitioner":{build:[14,2,1,""]},"pyFTS.partitioners.Util":{explore_partitioners:[14,3,1,""],plot_partitioners:[14,3,1,""],plot_sets:[14,3,1,""]},"pyFTS.partitioners.parallel_util":{explore_partitioners:[14,3,1,""]},"pyFTS.partitioners.partitioner":{Partitioner:[14,1,1,""]},"pyFTS.partitioners.partitioner.Partitioner":{build:[14,2,1,""],build_index:[14,2,1,""],check_bounds:[14,2,1,""],fuzzyfy:[14,2,1,""],get_name:[14,2,1,""],lower_set:[14,2,1,""],plot:[14,2,1,""],plot_set:[14,2,1,""],search:[14,2,1,""],upper_set:[14,2,1,""]},"pyFTS.probabilistic":{ProbabilityDistribution:[15,0,0,"-"],kde:[15,0,0,"-"]},"pyFTS.probabilistic.ProbabilityDistribution":{ProbabilityDistribution:[15,1,1,""]},"pyFTS.probabilistic.ProbabilityDistribution.ProbabilityDistribution":{append:[15,2,1,""],append_interval:[15,2,1,""],averageloglikelihood:[15,2,1,""],build_cdf_qtl:[15,2,1,""],crossentropy:[15,2,1,""],cumulative:[15,2,1,""],density:[15,2,1,""],differential_offset:[15,2,1,""],empiricalloglikelihood:[15,2,1,""],entropy:[15,2,1,""],expected_value:[15,2,1,""],kullbackleiblerdivergence:[15,2,1,""],plot:[15,2,1,""],pseudologlikelihood:[15,2,1,""],quantile:[15,2,1,""],set:[15,2,1,""]},"pyFTS.probabilistic.kde":{KernelSmoothing:[15,1,1,""]},"pyFTS.probabilistic.kde.KernelSmoothing":{kernel_function:[15,2,1,""],probability:[15,2,1,""]},pyFTS:{benchmarks:[3,0,0,"-"],common:[4,0,0,"-"],conf:[2,0,0,"-"],data:[5,0,0,"-"],distributed:[6,0,0,"-"],hyperparam:[7,0,0,"-"],models:[8,0,0,"-"],partitioners:[14,0,0,"-"],probabilistic:[15,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","function","Python function"],"4":["py","attribute","Python attribute"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:function","4":"py:attribute"},terms:{"261459a0":5,"57a":5,"5egspc":5,"boolean":[3,4,14],"case":4,"class":[3,4,5,8,9,10,11,12,13,14,15,16],"default":[3,4,5,8,9,11,13],"enum":13,"fa\u00e7ad":3,"final":[4,5],"float":[3,5],"function":[3,4,7,11,12,13,14,15,16],"guimar\u00e3":[0,8],"h\u00e9non":5,"import":[4,11,16],"int":[8,16],"na\u00efv":3,"new":[4,9,11,14],"organiza\u00e7\u00e3o":5,"petr\u00f4nio":8,"r\u00f6ssler":5,"return":[3,4,5,6,7,8,9,10,11,12,13,14,15],"short":[4,8,16],"true":[3,4,5,11],"try":4,"var":[5,11],"while":4,And:3,FTS:[0,3,4,7,8,9,10,11,12,13],For:3,LHS:[4,8,12],One:14,RHS:[4,8,11,12],The:[3,4,5,7,14,15,16],Then:[3,16],There:[3,16],These:[0,16],Use:13,abdullah:[8,16],acc:4,accept:4,accord:[11,14],account:15,accuraci:[3,7],acf:3,actual:[4,15],adapt:4,adaptiveexpect:4,add:[3,4],add_new_pwflgr:8,added:[4,5],adding:4,addit:5,address:[3,4],after:5,age:4,aged:4,aggreg:[4,9],ahead:[3,4,8,9,10,11,12,13,16],ahed:16,airlin:5,airpasseng:[1,2],alabama:5,alia:3,all:[3,4,9,11,14,15,16],allmethodensembleft:9,almost:16,alpha:[3,4,7,8,9,13],alpha_cut:[4,11,14],alreadi:5,also:[0,16],ambientai:5,analysi:3,analytic_tabular_datafram:3,analytical_data_column:3,angela:4,anoth:10,api:[0,4],app:6,append:[4,9,11,14,15],append_complex:14,append_interv:15,append_lh:[8,12],append_log:4,append_model:9,append_rh:[4,8,11,12,13],append_rul:4,append_set:[4,11],append_transform:4,append_vari:11,appendchild:4,appl:[8,14,16],appli:[3,4,11,15],apply_inverse_transform:[4,11],apply_transform:[4,11],approach:[3,14,16],arg:12,argument:[3,4,14],arima:[1,2],arima_model:3,around:4,arrai:[4,5,12,13],artifici:[1,2],ascend:3,aspx:5,assert:15,assign:[4,15],assoc:3,associ:5,ata:3,atmospher:5,atribut:3,attibut:4,attractor:5,autocorrel:3,autom:5,automat:4,auxiliar:4,auxiliari:15,averag:[3,5,15],averageloglikelihood:15,avg:5,axes:12,axi:[3,4,14,15],azim:3,bar:3,base:[3,4,5,8,9,10,11,12,13,14,15,16],base_dataframe_column:3,batch:4,batch_sav:4,befor:16,begin:4,being:3,bell:4,bellmf:4,belo:[0,5],below:16,benchmark:[1,2,7],benchmark_method:3,benchmark_methods_paramet:3,benchmark_model:3,bestsplit:14,better:16,between:[3,4,15],bill:4,bisect:4,bitcoin:[1,2],bivari:5,black:15,blip:5,blue:4,both:[4,11,14],bound:[4,5,8,9,11,12,14],box:[3,4,16],boxcox:4,boxljungstatist:3,boxpiercestatist:3,brasil:5,brasilia:5,brazil:[0,9],brazilian:[0,9],brier:3,brier_scor:3,bst:[1,2],btc:5,build:[11,12,13,14],build_cdf_qtl:15,build_index:[11,13,14],build_method:3,build_tree_without_ord:4,built:[5,14],buseco:5,busi:5,c_mean:14,calcul:[4,11,12],call:4,camwa:14,can:[3,4,16],cancel:5,capabl:3,capit:5,cartesian:11,cast_dataframe_to_synthet:3,cast_dataframe_to_synthetic_interv:3,cast_dataframe_to_synthetic_point:3,cast_dataframe_to_synthetic_probabilist:3,ccst:5,centroid:[4,13],certain:15,chain:5,chang:[5,14,16],change_target_vari:11,chao:5,chaotic:[1,2],characterist:16,cheap:0,check:[4,5,14,16],check_bound:[4,12,14],check_bounds_index:[4,12],check_data:11,check_ignore_list:3,check_replace_list:3,chen:[1,2,11,13,16],cheng:[1,2,14,16],chi:3,chi_squar:3,chia:8,child:4,chissom:[8,16],clear:4,clip_uod:4,clone:16,clone_paramet:[4,11],closest:14,cluster:[3,4,11],clusteredmvft:11,cmap:4,cmean:[1,2],cmeanspartition:[14,16],cmsft:[2,8],cmvft:[2,8],code:[11,16],coeffici:[3,5],colab:16,colabor:0,color:[3,4,12,15],colormap:4,column:[4,11],columun:4,com:[5,16],combin:11,common:[1,2,3,6,7,8,9,10,14,16],common_process_interval_job:3,common_process_point_job:3,common_process_probabilistic_job:3,commun:5,compar:[3,4],compare_residu:3,comparemodelsplot:3,comparemodelst:3,complet:5,complex:5,complic:5,compon:5,composit:[1,2,5,11],compress:5,comput:[8,9,14,16],computation:0,condens:3,condit:3,conditional_perturbation_factor:12,conditionalvarianceft:12,conf:[0,1],confer:8,confid:3,configure_lag:8,congress:9,conn:[3,7],connect:[3,7],consid:[4,11,14],const_t:12,constant:5,contain:[3,4,11,16],content:[0,1],context:6,contextu:13,contextualmultiseasonalft:13,contextualseasonalflrg:13,contin:[10,15],continu:[3,5,15],control:[3,5],control_method:3,convent:[8,12,13],conventionalflrg:8,conventionalft:[8,11],conventionalnonstationaryflrg:12,copi:4,cost:[14,16],count:[4,15],counter:14,covavg:3,coverag:3,covstd:3,cox:[4,16],creat:[3,4,5,7,9,11,14,16],create_benchmark_t:3,create_hyperparam_t:7,create_multivariate_model:6,create_spark_conf:6,create_univariate_model:6,criteria:3,cross:[4,15],crossentropi:15,crp:3,crps1avg:3,crps1std:3,crps2avg:3,crps2std:3,crps_distr:3,crps_interv:3,crpsavg:3,crpsstd:3,csv:[3,5],cumul:15,current:[3,5],current_milli_tim:4,cut:7,cvft:[2,8],dado:[4,5,14],dai:5,daili:5,data:[0,1,2,3,4,6,7,8,9,10,11,12,13,14,15,16],data_column:3,data_field:13,data_point:11,databas:[3,7],datafram:[3,4,5,11,13],dataframeseasonalindex:13,dataset:[1,2,3,4,7],date:[3,13],date_field:13,date_part:13,datepart:13,datetim:13,datetimeseasonalindex:13,david:4,day_of_month:13,day_of_week:13,day_of_year:13,dealer:5,dec:14,decemb:5,decis:3,decompress:5,defin:[3,7],defuzzyf:16,deg:12,delet:4,deltadist:14,demand:11,demo:16,densiti:[3,4,15],departa:0,depend:[3,4,11,14,16],deri:[8,16],design:[3,4,7,11,13,14],determin:3,determinist:[5,14],develop:[0,16],deviat:3,dict:[3,4],dictionari:[3,4],differ:3,differenti:[4,5,15,16],differential_offset:15,diffus:[8,16],dill:4,dimension:5,directli:[4,16],discours:[3,11,12,13,14,15,16],discret:15,disk:[4,14],dispi:[1,2,3,4],displac:12,displai:3,distanc:[3,14],distribut:[1,2,3,4,5,8,9,15],distributed_predict:6,distributed_train:6,diverg:15,dji:5,dkl:15,dnf:5,document:0,doi10:8,doi:[0,3,5,14],dollar:[8,16],don:5,dow:5,dowjon:[1,2],download:5,draw_sets_on_axi:4,dure:[3,4],dynam:5,each:[3,4,5,11,16],easi:[0,4],easier:4,edu:5,edward:5,efendi:[8,16],effect:[14,16],effici:4,electr:[0,8,16],eletr:5,elev:3,empir:[14,15],empiricalloglikelihood:15,emul:5,enayatifar:[8,16],end:12,endogen:11,energi:[8,16],engin:0,enrol:[1,2,8,13,16],ensembl:[1,2,8,10],ensembleft:[9,10],entir:4,entropi:[1,2,15,16],entropypartition:[14,16],enumerate2:4,environ:4,equal:[3,4,8,9,10,11,12,13,16],equat:5,error:3,espaciai:5,esrl:5,estim:[3,15],etc:16,eth:5,ethereum:[1,2],eur:[1,2],eurgbp:5,eurusd:5,even:[13,14],evolutionari:[1,2],exact:4,exampl:0,except:4,exchang:[5,8,16],exclud:3,execut:3,exist:5,expect:[4,8,15],expected_valu:15,experi:3,expert:[0,8,16],explain:[4,8],explanatory_vari:6,exploit:0,explore_partition:14,exponenti:[8,12,16],exponentiali:8,exponentialyweightedflrg:8,exponentialyweightedft:8,express:3,extens:11,extern:3,externalforecast:3,externalmodel:3,extract:[3,5],extract_measur:3,facil:[3,4,5,7,14],fall:3,fals:[3,4,5,8,9,11,12,14],fcm:[1,2],fcmpartition:[14,16],feder:0,fetch:4,field:[5,13],fig:[4,12],figur:4,file:[3,4,5,12,14],file_analyt:3,file_path:4,file_synthet:3,filenam:[3,4,5],filenem:[3,7],filesystem:4,fill:4,filter:3,financ:5,find:[4,13,14],find_best:3,find_g:4,find_gt:4,find_l:4,find_lt:4,finner:3,first:[3,4,8,12,13],fit:[3,4,8,9,10,11,12,13],five:4,flag:4,flashquot:5,flat:4,flow:5,flr:[1,2,8,12,13],flr_membership_matrix:8,flrg:[1,2,8,13],flrg_lhs_conditional_prob:8,flrg_lhs_unconditional_prob:8,flrg_rhs_conditional_prob:8,flrgtree:4,flrgtreenod:4,foreast:3,forecast:[3,4,8,9,10,11,12,13,14,16],forecast_ahead:[3,4,8,11,13],forecast_ahead_distribut:[3,4,8,9],forecast_ahead_interv:[3,4,8,9,11],forecast_ahead_multivari:[4,11],forecast_distribut:[3,4,8,9],forecast_interv:[3,4,8,9,11,12],forecast_multivari:[4,11],forex:5,fork:0,format:[3,7],format_data:11,format_experiment_t:3,forward:4,found:[4,16],frederico:[0,8],frequenc:15,friedman:3,from:[0,3,4,5,8,11,15,16],fset:[8,11],fts:[1,2,3,8,9,10,11,12,13],fts_method:3,fuzz:8,fuzzi:[2,4,8,9,11,12,13,14],fuzzif:[14,16],fuzzifi:[4,12],fuzzy_cmean:14,fuzzy_dist:14,fuzzy_set:4,fuzzydata:4,fuzzyf:[4,11,14,16],fuzzyfi:[4,11,14],fuzzyfy_inst:[4,11],fuzzyfy_instance_clust:11,fuzzyfy_seri:4,fuzzyfy_series_old:4,fuzzyseri:12,fuzzyset:[1,2,8,11,12,13],gadelha:[0,8],gani:[8,16],garibaldi:12,gaussian:[4,5],gaussian_proc:3,gaussianproc:[1,2],gaussmf:4,gbp:[1,2],gbpusd:5,gcos_wgsp:5,gener:[1,2,4,16],generate_flr:11,generate_flrg:[8,11,12,13],generate_flrg_fuzzyfi:8,generate_gaussian_linear:5,generate_high_order_recurrent_flr:4,generate_indexed_flr:4,generate_lhs_flr:11,generate_lhs_flrg:8,generate_lhs_flrg_fuzzyfi:8,generate_linear_periodic_gaussian:5,generate_non_recurrent_flr:4,generate_recurrent_flr:4,generate_sinoidal_periodic_gaussian:5,generate_uniform_linear:5,gerai:0,get:[3,4,5],get_benchmark_interval_method:3,get_benchmark_point_method:3,get_benchmark_probabilistic_method:3,get_clustered_partition:6,get_data:[5,13],get_data_by_season:13,get_datafram:5,get_dataframe_from_bd:3,get_distribution_ahead_statist:3,get_distribution_interquantil:9,get_distribution_statist:3,get_fuzzyset:4,get_index:13,get_index_by_season:13,get_interv:9,get_interval_ahead_statist:3,get_interval_method:3,get_interval_statist:3,get_kei:[4,8,12,13],get_low:[4,8,11,12],get_maximum_membership_fuzzyset:4,get_maximum_membership_fuzzyset_index:4,get_membership:[4,8,11,12],get_midpoint:[4,8,11,12,13],get_models_forecast:9,get_nam:14,get_partition:6,get_point:9,get_point_method:3,get_point_multivariate_method:3,get_point_statist:3,get_polynomial_perturb:12,get_probabilistic_method:3,get_season_by_index:13,get_season_of_data:13,get_sequence_membership:8,get_uod:[4,9],get_upp:[4,8,11,12],get_vari:6,getchildren:4,getstr:4,git:16,github:[0,16],given:[3,4,11,12,14,15],glass:[1,2],good:[3,16],googl:16,gov:5,gpr:3,grant_bound:4,granular:[2,8,13],granularwmvft:11,greater:[4,5],grid:[1,2,3,8,13],gridclust:11,gridpartition:[3,14,16],gridsearch:[1,2],group:[3,4,8,11,12,13],h_0:3,h_1:3,half:13,handl:[4,8],hard:4,harmoni:[8,16],head:0,height:14,henon:[1,2],here:16,heteroskedast:12,high:[3,8,11,12],highorderflrg:8,highorderft:[8,12],highordernonstationaryflrg:12,highordernonstationaryft:12,histogram:15,histori:5,hoang:8,hoc:3,hoft:[1,2,12],homogen:9,honsft:[2,8],horizon:[3,4],horizont:[0,5],hossein:8,hour:[3,13],hour_of_month:13,hour_of_week:13,hour_of_year:13,hourli:5,http:[0,5,16],huarng:[1,2,16],huarngpartition:[14,16],human:0,hwang:[1,2],hybrid:[8,16],hyndman:5,hyperparam:[1,2],hyperparamet:7,identif:13,identifi:[3,4,7,8,12,13],ieee:[8,12],ifmg:0,ifnmg:0,ift:[1,2],ignor:[3,13],imag:[4,14],implement:[4,13,16],improv:[8,14,16],improvedweightedflrg:8,improvedweightedft:8,inc:[3,4],increas:11,increment:[1,2,3,5,8,11,15],incremental_gaussian:5,incremental_search:11,incrementalensembl:[2,8],incrementalensembleft:10,incrementalgridclust:11,ind:13,indentifi:[3,7],index:[3,4,5,8,9,11,13,14],index_field:13,index_season:13,index_seri:5,indexedflr:4,indic:[3,4,5],inequ:3,infer:[3,5],infil:3,inform:[3,14,15],informationgain:14,initi:[4,5],initial_valu:5,inmet:[1,2],innov:[8,16],inp:5,input:[4,8,11,12,14,15],insert:[3,4,5,7],insert_benchmark:3,insert_hyperparam:7,insert_right:4,insid:[3,4,13,14,15],inst:[4,12],instal:0,instanc:[5,11,12,16],instead:4,instituit:0,institut:0,instituto:5,integ:3,integr:5,intel:[8,16],intellig:[8,9],intend:0,interfer:5,intern:8,internet:5,interpol:4,interpret:4,interv:[3,4,8,9,11,12,14,15,16],interval_dataframe_analytic_column:3,interval_dataframe_synthetic_column:3,interval_heurist:8,interval_quantil:8,interval_to_interv:3,intervalar:16,intervalft:8,introduc:16,introspect:4,invers:[4,16],ipynb:16,ismail:[8,16],ismailefendi:[1,2],isol:14,item:4,itemgett:4,iter:[4,5],its:[5,8,11,13,14,16],ixic:5,janeiro:9,januari:5,jaroszewski:12,javedani:8,jeng:8,job:3,johnson:11,jonathan:12,jone:[4,5],journal:[3,5],jstor:3,jun:[14,16],jupyt:16,kde:[1,2],kei:[3,4],kernel:15,kernel_funct:15,kernelsmooth:15,knearestneighbor:3,knn:[1,2],known:14,kullback:15,kullbackleiblerdiverg:15,kwarg:[3,4,5,6,8,9,10,11,12,13,14,15],lab:0,label:[3,4],lag:[4,5,7,16],lambda:4,last:4,later:16,layman:0,lcolor:4,learn:10,least:3,lee:8,left:4,legend:[3,4],leibler:15,len_tot:4,length:[3,4,5,8,9,10,11,12,13,14,16],less:4,lett:5,level:[3,4],lgd:4,lhs_conditional_prob:8,librari:[2,5],like:[4,16],likelihood:15,lin:14,line:4,linear:[5,12],linearmodel:3,linearseasonalindex:13,linewidth:[3,4],linspac:5,list:[3,4,5,8,9,10,11,12,13,14,15,16],ljung:3,lo_param:3,load:[4,5,8,16],load_env:4,load_obj:4,local:5,locat:[4,5],log:[4,15],logarithm:3,logarithm_scor:3,logic:[4,8,11,12,13],logist:[4,5],logistic_map:[1,2],look:4,lookup:4,lorentz:[1,2],lorenz:5,loss:3,lower:[4,5,8,11,12,14],lower_set:14,mackei:[1,2],mackey_glass:5,mai:5,main:16,make:3,malaysia:[1,2,8,16],mani:16,manual:14,map:[4,5],mape:3,mape_interv:3,marcin:12,market:5,mask:13,match:4,math:[5,14],mathemat:5,matplotlib:[4,14],max:4,max_inc:5,max_ini:5,max_lag:[3,4,8,9,10,11,12,13],maximum:[4,5,11,14],mean:[3,4,5],measur:[1,2,7],mech:[8,16],median:4,membership:[1,2,7,8,11,12,14,16],memori:4,merg:4,meta:[9,10,11],meteorologia:5,method:[0,3,4,5,7,8,9,10,11,12,13,14,16],metric:3,mft:3,midpoint:[4,8,11,12],min:[4,15],min_inc:5,min_ini:5,mina:0,mind:0,ming:8,minim:[3,4,8,9,10,11,12,13,14],minimum:[5,16],minut:13,minute_of_dai:13,minute_of_month:13,minute_of_week:13,minute_of_year:13,mode:[4,11,14],model:[0,1,2,3,4,5,6,7,14,16],modelo:3,models_fo:3,models_ho:3,modul:[0,1,16],monash:5,month:13,monthli:[3,5],more:16,most:[10,16],move:3,msft:[2,8],mu_inc:5,mu_ini:5,mu_max:5,mu_min:5,much:4,multi:[3,4,8,9,11,13],multiseason:[2,8],multiseasonalft:13,multivari:[1,2,3,4,5,8],multivariatefuzzyset:11,multivariatepartition:11,musikasuwan:12,mvft:[2,8],nacion:5,naiv:[1,2],name:[3,4,5,7,9,11,12,13,14],nasdaq:[1,2],nation:5,nativ:[4,13],natur:5,nbin:[4,8],nbsp:0,ndata:[3,4,8,11,12],nearest:[11,13,14],neighbor:3,next:[4,16],nice:4,noaa:5,node:[3,4],nois:5,non:[3,4,5,12,13,16],none:[3,4,5,11,12,13,14,15],nonperiod:5,nonstationari:[1,2,8],nonstationaryflrg:12,nonstationaryft:12,norm:8,normal:16,north:0,norton:5,notebook:16,noth:16,nov:[14,16],now:4,npart:[12,14],nsft:[2,3,8],num:5,num_batch:4,num_season:13,number:[3,4,5,7,8,9,11,13,14,16],numer:16,numpi:[4,5],obj:[3,4,14],object:[3,4,5,8,9,11,13,14,15],objectsist:3,occur:4,occurr:4,old:4,older:4,oldest:4,onc:4,one:[3,4,5,7,8,9,10,11,12,13,15,16],ones:4,onli:[4,11,14],onlin:10,only_lin:12,open:[3,7],open_benchmark_db:3,open_hyperparam_db:7,oper:[4,16],operation_matrix:8,option:[3,4,14],order:[3,4,7,8,9,11,12,13,16],ordered_set:[4,12],ordin:4,org:[0,3,5],origin:[3,4,16],oscil:5,other:[3,4,9,11],otherwis:3,out:16,outfil:3,outlier:5,output:[14,16],outsid:14,over:4,overlap:[11,13,14,16],own:11,p500:5,packag:[0,1],page:0,pair:[3,5],panda:[3,4,5,11,13],par1:12,par2:12,parallel_util:[1,2],param:[3,4,5,11,12,13],paramet:[3,4,5,6,7,8,9,10,11,12,13,14,15,16],parametr:16,part:[6,12],partit:[3,4,7,9,11,12,13,14,16],partition:[1,2,3,4,7,8,9,16],partition_funct:[4,8],partitioner_method:3,partitioners_method:3,partitioners_model:3,pass:4,passeng:5,path:[3,4,14],pattern:4,pct:12,pdf:15,percent:3,percentag:3,percentu:[3,4],perform:[3,7,11,12,13,14,16],perform_loc:12,perform_width:12,period:[5,12],periodic_gaussian:5,persist:4,persist_env:4,persist_obj:4,person:[4,5],pertub:12,perturb:[2,8],perturbate_paramet:12,perturbation_factor:12,perturbation_factors__old:12,pesquisa:5,pftsexploreorderandpartit:3,php:5,phy:[5,8,16],physiolog:5,pictur:[3,4],pierc:3,pinbal:3,pinball_mean:3,pip:16,plambda:4,plot:[3,4,13,14,15],plot_compared_intervals_ahead:4,plot_compared_seri:3,plot_dataframe_interv:3,plot_dataframe_interval_pinbal:3,plot_dataframe_point:3,plot_dataframe_probabilist:3,plot_density_rectang:4,plot_distribut:4,plot_distribution2:4,plot_interv:4,plot_interval2:4,plot_partition:14,plot_point:3,plot_probability_distribut:4,plot_residu:3,plot_rul:4,plot_set:[12,14],plot_sets_condit:12,plotcompar:3,plotforecast:3,plotresidu:3,pmf:[4,14],point:[3,4,8,9,10,11,12,13,14,15,16],point_dataframe_analytic_column:3,point_dataframe_synthetic_column:3,point_expected_valu:8,point_heurist:8,point_to_interv:3,poit:4,poly_width:12,polynomi:12,polynomialnonstationarypartition:12,poor:5,por:3,posit:[4,13],post:[3,4],post_hoc:3,post_hoc_test:3,posterior:3,postprocess:[4,16],power:[4,8,16],pprint:4,pre:4,prebuilt:3,predict:[3,4,8,9,11,12,16],preprocess:[4,11,13,16],previou:5,primari:3,print:3,print_distribution_statist:3,print_interval_statist:3,print_point_statist:3,probabil:3,probabilist:[1,2,3,4,8,9,16],probabilistic_dataframe_analytic_column:3,probabilistic_dataframe_synthetic_column:3,probabilisticweightedflrg:8,probabilisticweightedft:8,probabilitydist:4,probabilitydistribut:[1,2,3,4,8,9],probabl:[3,4,8,9,15],problem:8,procedur:[3,4],process:[3,4,5],process_common_data2:3,process_common_data:3,process_interval_job:3,process_interval_jobs2:3,process_point_job:3,process_point_jobs2:3,process_probabilistic_job:3,process_probabilistic_jobs2:3,product:[5,8,11,16],product_dict:11,prof:0,progress:3,project:[14,16],propos:16,provid:[0,4,9,16],prune:11,psd:5,pseudo:15,pseudologlikelihood:15,pwflrg:8,pwft:[1,2],python:[2,16],q05:3,q25:3,q75:3,q95:3,quantil:[3,4,9,15],quantile_regress:3,quantileregress:3,quantreg:[1,2],quarter:13,queri:3,quick:0,quot:5,quotat:5,rais:4,random:5,random_walk:5,rang:[3,16],rank:3,rate:[8,16],ration:3,read:[3,5],readabl:0,real:[4,16],recent:[10,16],record:4,recurr:[4,5],red:[3,4],reference_data:4,refin:[8,16],regress:3,relat:15,relationship:[4,8,11,12,13],remov:4,ren:8,render:5,replac:3,repo:16,repr:4,repres:[3,4,8,9,11,15],represent:16,research:[0,16],reset:4,reset_calculated_valu:4,residu:3,residualanalysi:[1,2],resolut:[3,4],respect:15,respons:13,result:[3,4,7,13,14],retrain:10,revers:4,review:[3,16],rhs_conditional_prob:8,rhs_unconditional_prob:8,right:4,ringgit:[8,16],rio:9,rmse:3,rmse_interv:3,rmseavg:3,rmsestd:3,rng:12,robert:5,roger:4,roi:4,root:3,rossler:[1,2],round:14,royal:3,rule:[3,4,11,16],rules_by_axi:4,run:[3,5],run_interv:3,run_interval2:3,run_point2:3,run_point:3,run_probabilist:3,run_probabilistic2:3,sadaei:[1,2,16],salang:12,same:[3,4,9],sampl:[3,4,5,8,16],sampler:9,save:[3,4,12,14],save_best:3,save_dataframe_interv:3,save_dataframe_point:3,save_dataframe_probabilist:3,save_model:4,scale:[3,4,16],scale_down:12,scale_param:3,scale_up:12,scan:4,scheme:[3,7,16],scienc:5,scientist:0,score:3,search:[0,4,8,11,13,14,16],season:[1,2,3,4,8,9,16],seasonalensembleft:9,seasonalflrg:13,seasonalft:13,seasonalindex:[2,8],second_of_dai:13,second_of_hour:13,second_of_minut:13,secur:5,selecaosimples_menorrms:3,select:5,sep:5,separ:5,sequenc:4,seri:[1,2,3,4,8,9,10,11,12,13,14],set:[3,4,7,8,11,12,13,14,15,16],set_data:13,set_lh:11,set_ord:4,set_rh:11,set_target_vari:11,set_transform:9,seth:11,sever:[3,4,5,9,11,13,14],severiano:8,sft:[2,8],shape:4,share:9,share_paramet:6,shared_partition:6,sharp:3,sharpavg:3,sharpstd:3,show:[4,14],show_and_save_imag:4,shyi:8,sigma:5,sigma_inc:5,sigma_ini:5,sigma_max:5,sigma_min:5,sigmf:4,sigmoid:4,signal:5,signalemul:5,signific:3,silva:[0,8,9],simpl:[0,1,2,5,13],simple_synthetic_datafram:3,simpleensembleft:9,simplenonstationary_gridpartitioner_build:12,simplenonstationarypartition:12,simplepartition:14,simpler:4,simplesearch_rms:3,singl:4,single_plot_residu:3,singleton:[1,2,4],singletonpartition:14,sinoid:5,sistema:5,sixth:13,size:[3,4,12,14],sklearn:3,slave_forecast_multivari:6,slave_forecast_univari:6,slave_train_multivari:6,slave_train_univari:6,slice:4,slide:[3,4],sliding_window:4,sliding_window_benchmark:3,sliding_window_benchmarks2:3,smape:3,smith:4,smooth:[4,16],social:[14,16],societi:3,solar:8,sonda:[1,2],song:[1,2,13,16],sort:4,sort_ascend:3,sort_column:3,sortedcollect:[1,2],sourc:[4,5],sp500:5,space:4,spark:[1,2],specif:[3,4,8,9,10,11,12,13],split:[3,4,14],splitabov:14,splitbelow:14,splite:16,sql:3,sqlite3:[3,7],sqlite:[3,7],squar:3,ssci:8,stabl:3,standard:[3,5,16],start:[0,3,4,5,8,9,11,12,13],start_at:[3,4,8,9,11,13],stat:[3,8,16],station:5,stationari:12,stationary_gaussian:5,statist:[0,3],statsmodel:3,std:3,step:[3,4,8,9,10,11,12,13,16],steps_ahead:[3,4],stochast:5,stock:5,store:[3,4,7],strang:5,string:14,strip_datepart:13,structur:[4,13],student:0,style:4,submodul:[0,1],subpackag:[0,1],suitabl:0,sum:8,sunspot:[1,2],superset:4,support:4,symbol:5,symmetr:3,symposium:8,synthesi:3,synthet:[1,2,3],syst:[8,13,14,16],system:[5,8,12],tabl:[3,7],tabular_dataframe_column:3,tag:[3,7],taiex:[1,2,8,16],taiwan:5,take:16,tam:[3,4,12,14,15],target:3,target_vari:[4,6],tau:[3,5,15],technol:[14,16],tempeatur:5,tempor:[4,13,16],term:[3,4,8,16],test:[1,2,4,16],test_data:3,test_mean_equ:3,than:[4,5,16],thei:4,theil:3,theilsinequ:3,theoret:3,theori:16,thi:[0,4,5,8,11,12,13,14,15,16],third:13,thoma:4,those:4,thres1:14,thres2:14,threshold:14,through:5,time:[1,2,3,4,8,9,10,11,12,13,14],time_from:4,time_to:4,timegridpartition:13,times2:3,timeseri:5,timevari:[2,8],titl:[3,14,15],tool:[0,16],total:[4,5],tradit:8,train:[3,4,8,9,10,11,12,13,14],train_data:[3,9],train_individual_model:9,transact:12,transform:[1,2,3,7,11,12,13,14,16],transit:[4,16],translat:16,trapezoid:[4,14,16],trapmf:4,tree:[1,2],trend:[8,16],trendweightedflrg:8,trendweightedft:8,triangular:4,trigger:4,trimf:4,tsa:3,tsdl:5,tun:7,tupl:[3,4,7,11,14],two:5,twse:5,type:[3,4,5,6,11,13,14,15,16],typeonlegend:[3,4],uavg:3,ufmg:0,under:4,unified_scaled_interv:3,unified_scaled_interval_pinbal:3,unified_scaled_point:3,unified_scaled_probabilist:3,uniform:5,uniqu:[4,8,12,13],uniquefilenam:4,unit:13,univari:5,univers:[0,3,5,11,12,13,14,15,16],unpack_arg:12,uod:[3,4,7,8,14],up_param:3,update_model:8,update_uod:9,updateuod:[4,11],upper:[4,5,8,11,12,14],upper_set:14,url:[0,3,5,6],urlhttp:3,usa:5,usag:0,usd:[1,2],use:[0,4,11],used:[3,4,7,8,14,16],user:[3,7],using:[4,8,10,14,16],ustatist:3,ustd:3,usual:[4,16],util:[1,2,8],val:14,valid:4,valu:[3,4,5,7,8,9,10,11,12,13,14,15,16],valueerror:4,variabl:[2,4,6,8],varianc:[4,5],variant:10,variat:[5,9],vector:[4,11,14],veri:[5,8],verif:3,verifi:14,visualize_distribut:8,vmax:5,vmin:5,vol:[8,13,14,16],walk:5,want:0,weather:3,weight:[5,8,11,16],weightedflrg:[8,11],weightedft:8,weightedhighorderflrg:8,weightedhighorderft:8,weightedintervalft:8,weightedmvft:11,were:[11,13,14],when:[4,14],where:[3,4,8,9,11,13],which:[3,4,7,11,16],white_nois:5,whose:0,width:[4,14],window:[3,4,10],window_index:12,window_kei:3,window_s:12,windows:[3,4],winkler:3,winkler_mean:3,winkler_scor:3,without:4,wmvft:[2,8],word:[3,7],work:[4,11,13,14],wrap:[3,9,10],www:[3,5],xiii:9,yahoo:5,year:13,yearli:5,yeh:[14,16],you:4,young:4,younger:4,youngest:4,zenodo:0},titles:["pyFTS - Fuzzy Time Series for Python","pyFTS","pyFTS package","pyFTS.benchmarks package","pyFTS.common package","pyFTS.data package","pyFTS.distributed package","pyFTS.hyperparam package","pyFTS.models package","pyFTS.models.ensemble package","pyFTS.models.incremental package","pyFTS.models.multivariate package","pyFTS.models.nonstationary package","pyFTS.models.seasonal package","pyFTS.partitioners package","pyFTS.probabilistic package","pyFTS Quick Start"],titleterms:{FTS:16,airpasseng:5,arima:3,artifici:5,benchmark:3,bitcoin:5,bst:3,chaotic:5,chen:8,cheng:8,cmean:14,cmsft:13,cmvft:11,common:[4,5,11,12,13],composit:4,conf:2,content:[2,3,4,5,6,7,8,9,10,11,12,13,14,15],cvft:12,data:5,dataset:5,dispi:6,distribut:6,dowjon:5,enrol:5,ensembl:9,entropi:14,ethereum:5,eur:5,evolutionari:7,exampl:16,fcm:14,flr:[4,11],flrg:[4,11,12],fts:4,fuzzi:[0,16],fuzzyset:4,gaussianproc:3,gbp:5,gener:5,glass:5,granular:11,grid:[11,14],gridsearch:7,henon:5,hoft:8,honsft:12,how:[0,16],huarng:14,hwang:8,hyperparam:7,ift:8,increment:10,incrementalensembl:10,index:0,inmet:5,instal:16,ismailefendi:8,kde:15,knn:3,librari:0,logistic_map:5,lorentz:5,mackei:5,malaysia:5,measur:3,membership:4,model:[8,9,10,11,12,13],modul:[2,3,4,5,6,7,8,9,10,11,12,13,14,15],msft:13,multiseason:9,multivari:11,mvft:11,naiv:3,nasdaq:5,nonstationari:12,nsft:12,packag:[2,3,4,5,6,7,8,9,10,11,12,13,14,15],parallel_util:14,partition:[11,12,13,14],perturb:12,probabilist:15,probabilitydistribut:15,pwft:8,pyft:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],python:0,quantreg:3,quick:16,refer:[0,16],residualanalysi:3,rossler:5,sadaei:8,season:13,seasonalindex:13,seri:[0,5,16],sft:13,simpl:14,singleton:14,sonda:5,song:8,sortedcollect:4,spark:6,start:16,submodul:[2,3,4,5,6,7,8,9,10,11,12,13,14,15],subpackag:[2,8],sunspot:5,synthet:5,taiex:5,test:3,time:[0,5,16],timevari:10,transform:4,tree:4,usag:16,usd:5,util:[3,4,7,12,14],variabl:11,what:[0,16],wmvft:11}}) \ No newline at end of file diff --git a/docs/pyFTS.benchmarks.rst b/docs/pyFTS.benchmarks.rst index e24fe17..aa387f6 100644 --- a/docs/pyFTS.benchmarks.rst +++ b/docs/pyFTS.benchmarks.rst @@ -37,6 +37,14 @@ pyFTS.benchmarks.ResidualAnalysis module :undoc-members: :show-inheritance: +pyFTS.benchmarks.Tests module +----------------------------- + +.. automodule:: pyFTS.benchmarks.Tests + :members: + :undoc-members: + :show-inheritance: + pyFTS.benchmarks.Util module ---------------------------- @@ -77,5 +85,21 @@ pyFTS.benchmarks.quantreg module :undoc-members: :show-inheritance: +pyFTS.benchmarks.gaussianproc module +------------------------------------ + +.. automodule:: pyFTS.benchmarks.gaussianproc + :members: + :undoc-members: + :show-inheritance: + +pyFTS.benchmarks.BSTS module +---------------------------- + +.. automodule:: pyFTS.benchmarks.BSTS + :members: + :undoc-members: + :show-inheritance: + diff --git a/docs/pyFTS.models.multivariate.rst b/docs/pyFTS.models.multivariate.rst index 3ca4fb3..3495924 100644 --- a/docs/pyFTS.models.multivariate.rst +++ b/docs/pyFTS.models.multivariate.rst @@ -52,9 +52,9 @@ pyFTS.models.multivariate.partitioner module :members: :undoc-members: :show-inheritance: - - pyFTS.models.multivariate.grid module ------------------------------------------- + +pyFTS.models.multivariate.grid module +-------------------------------------- .. automodule:: pyFTS.models.multivariate.grid :members: @@ -86,7 +86,7 @@ pyFTS.models.multivariate.cmvfts module :show-inheritance: pyFTS.models.multivariate.granular module ---------------------------------------------- +----------------------------------------- .. automodule:: pyFTS.models.multivariate.granular :members: diff --git a/pyFTS/benchmarks/Measures.py b/pyFTS/benchmarks/Measures.py index fdf91a4..d8dacd8 100644 --- a/pyFTS/benchmarks/Measures.py +++ b/pyFTS/benchmarks/Measures.py @@ -135,38 +135,6 @@ def TheilsInequality(targets, forecasts): return us / (ys + fs) -def BoxPierceStatistic(data, h): - """ - Q Statistic for Box-Pierce test - - :param data: - :param h: - :return: - """ - n = len(data) - s = 0 - for k in np.arange(1, h + 1): - r = acf(data, k) - s += r ** 2 - return n * s - - -def BoxLjungStatistic(data, h): - """ - Q Statistic for Ljung–Box test - - :param data: - :param h: - :return: - """ - n = len(data) - s = 0 - for k in np.arange(1, h + 1): - r = acf(data, k) - s += r ** 2 / (n - k) - return n * (n - 2) * s - - def sharpness(forecasts): """Sharpness - Mean size of the intervals""" tmp = [i[1] - i[0] for i in forecasts] @@ -182,6 +150,7 @@ def resolution(forecasts): def coverage(targets, forecasts): """Percent of target values that fall inside forecasted interval""" + preds = [] for i in np.arange(0, len(forecasts)): if targets[i] >= forecasts[i][0] and targets[i] <= forecasts[i][1]: @@ -200,6 +169,7 @@ def pinball(tau, target, forecast): :param forecast: :return: float, distance of forecast to the tau-quantile of the target """ + if target >= forecast: return np.subtract(target, forecast) * tau else: @@ -215,6 +185,7 @@ def pinball_mean(tau, targets, forecasts): :param forecasts: list of prediction intervals :return: float, the pinball loss mean for tau quantile """ + if tau <= 0.5: preds = [pinball(tau, targets[i], forecasts[i][0]) for i in np.arange(0, len(forecasts))] else: @@ -223,7 +194,15 @@ def pinball_mean(tau, targets, forecasts): def winkler_score(tau, target, forecast): - '''R. L. Winkler, A Decision-Theoretic Approach to Interval Estimation, J. Am. Stat. Assoc. 67 (337) (1972) 187–191. doi:10.2307/2284720. ''' + """ + R. L. Winkler, A Decision-Theoretic Approach to Interval Estimation, J. Am. Stat. Assoc. 67 (337) (1972) 187–191. doi:10.2307/2284720. + + :param tau: + :param target: + :param forecast: + :return: + """ + delta = forecast[1] - forecast[0] if forecast[0] <= target <= forecast[1]: return delta @@ -242,20 +221,21 @@ def winkler_mean(tau, targets, forecasts): :param forecasts: list of prediction intervals :return: float, the Winkler score mean for tau quantile """ + preds = [winkler_score(tau, targets[i], forecasts[i]) for i in np.arange(0, len(forecasts))] return np.nanmean(preds) def brier_score(targets, densities): - ''' + """ Brier Score for probabilistic forecasts. Brier (1950). "Verification of Forecasts Expressed in Terms of Probability". Monthly Weather Review. 78: 1–3. :param targets: a list with the target values :param densities: a list with pyFTS.probabil objectsistic.ProbabilityDistribution :return: float - ''' + """ if not isinstance(densities, list): densities = [densities] @@ -276,14 +256,15 @@ def brier_score(targets, densities): def logarithm_score(targets, densities): - ''' + """ Logarithm Score for probabilistic forecasts. Good IJ (1952). “Rational Decisions.”Journal of the Royal Statistical Society B,14(1),107–114. URLhttps://www.jstor.org/stable/2984087. :param targets: a list with the target values :param densities: a list with pyFTS.probabil objectsistic.ProbabilityDistribution :return: float - ''' + """ + _ls = float(0.0) if isinstance(densities, ProbabilityDistribution.ProbabilityDistribution): densities = [densities] @@ -297,13 +278,14 @@ def logarithm_score(targets, densities): def crps(targets, densities): - ''' + """ Continuous Ranked Probability Score :param targets: a list with the target values :param densities: a list with pyFTS.probabil objectsistic.ProbabilityDistribution :return: float - ''' + """ + _crps = float(0.0) if isinstance(densities, ProbabilityDistribution.ProbabilityDistribution): densities = [densities] @@ -317,14 +299,14 @@ def crps(targets, densities): def get_point_statistics(data, model, **kwargs): - ''' + """ Condensate all measures for point forecasters :param data: test data :param model: FTS model with point forecasting capability :param kwargs: :return: a list with the RMSE, SMAPE and U Statistic - ''' + """ steps_ahead = kwargs.get('steps_ahead', 1) kwargs['type'] = 'point' @@ -385,7 +367,7 @@ def get_interval_statistics(data, model, **kwargs): :param model: FTS model with interval forecasting capability :param kwargs: :return: a list with the sharpness, resolution, coverage, .05 pinball mean, - .25 pinball mean, .75 pinball mean and .95 pinball mean. + .25 pinball mean, .75 pinball mean and .95 pinball mean. """ steps_ahead = kwargs.get('steps_ahead', 1) @@ -432,7 +414,7 @@ def get_interval_ahead_statistics(data, intervals, **kwargs): :param model: FTS model with interval forecasting capability :param kwargs: :return: a list with the sharpness, resolution, coverage, .05 pinball mean, - .25 pinball mean, .75 pinball mean and .95 pinball mean. + .25 pinball mean, .75 pinball mean and .95 pinball mean. """ l = len(intervals) @@ -470,6 +452,7 @@ def get_distribution_statistics(data, model, **kwargs): :param kwargs: :return: a list with the CRPS and execution time """ + steps_ahead = kwargs.get('steps_ahead', 1) kwargs['type'] = 'distribution' diff --git a/pyFTS/benchmarks/Tests.py b/pyFTS/benchmarks/Tests.py new file mode 100644 index 0000000..f684f33 --- /dev/null +++ b/pyFTS/benchmarks/Tests.py @@ -0,0 +1,164 @@ + +import numpy as np +import pandas as pd + +from pyFTS.benchmarks.Measures import acf + + +def BoxPierceStatistic(data, h): + """ + Q Statistic for Box-Pierce test + + :param data: + :param h: + :return: + """ + n = len(data) + s = 0 + for k in np.arange(1, h + 1): + r = acf(data, k) + s += r ** 2 + return n * s + + +def BoxLjungStatistic(data, h): + """ + Q Statistic for Ljung–Box test + + :param data: + :param h: + :return: + """ + n = len(data) + s = 0 + for k in np.arange(1, h + 1): + r = acf(data, k) + s += r ** 2 / (n - k) + return n * (n - 2) * s + + +def format_experiment_table(df, exclude=[], replace={}, csv=True, std=False): + rows = [] + columns = [] + datasets = df.Dataset.unique() + models = df.Model.unique() + for model in models: + test = np.any([model.rfind(k) != -1 for k in exclude]) if len(exclude) > 0 else False + if not test: + columns.append(model) + + for dataset in datasets: + row = [dataset] + if std: + row_std = [dataset] + for model in columns: + avg = np.nanmin(df[(df.Dataset == dataset) & (df.Model == model)]["AVG"].values) + row.append(round(avg, 3)) + if std: + _std = np.nanmin(df[(df.Dataset == dataset) & (df.Model == model)]["STD"].values) + row_std.append("(" + str(round(_std, 3)) + ")") + + rows.append(row) + if std: + rows.append(row_std) + + for k in range(len(columns)): + if columns[k] in replace: + columns[k] = replace[columns[k]] + + columns.insert(0, "dataset") + + if csv: + header = "" + for k in range(len(columns)): + if k > 0: + header += "," + header += columns[k] + + body = "" + for k in range(len(rows)): + row = "" + for w in range(len(rows[k])): + if w > 0: + row += "," + row += str(rows[k][w]) + body += '\n{}'.format(row) + + return header + body + else: + ret = pd.DataFrame(rows, columns=columns) + return ret + + +def test_mean_equality(tests, alpha=.05, method='friedman'): + ''' + Test for the equality of the means, with alpha confidence level. + + H_0: There's no significant difference between the means + H_1: There is at least one significant difference between the means + + :param tests: + :param alpha: + :param method: + :return: + ''' + from stac.stac import nonparametric_tests as npt + + methods = tests.columns[1:] + + values = [] + for k in methods: + values.append(tests[k].values) + + if method=='quade': + f_value, p_value, rankings, pivots = npt.quade_test(*values) + elif method=='friedman': + f_value, p_value, rankings, pivots = npt.friedman_aligned_ranks_test(*values) + else: + raise Exception('Unknown test method!') + + print("F-Value: {} \tp-Value: {}".format(f_value, p_value)) + + print("\nH0 is rejected!\n") if p_value < alpha else print("\nH0 is accepted!\n") + + post_hoc = {} + rows = [] + for k in np.arange(0, len(methods)): + rows.append([methods[k], rankings[k]]) + post_hoc[methods[k]] = pivots[k] + + return [pd.DataFrame(rows, columns=['METHOD', 'RANK']).sort_values(['RANK']), post_hoc] + + +def post_hoc_tests(post_hoc, control_method, alpha=.05, method='finner'): + ''' + Finner paired post-hoc test with NSFTS as control method. + + $H_0$: There is no significant difference between the means + + $H_1$: There is a significant difference between the means + + :param post_hoc: + :param control_method: + :param alpha: + :param method: + :return: + ''' + from stac.stac import nonparametric_tests as npt + + if method == 'bonferroni_dunn': + comparisons, z_values, p_values, adj_p_values = npt.bonferroni_dunn_test(post_hoc,control_method) + elif method == 'holm': + comparisons, z_values, p_values, adj_p_values = npt.holm_test(post_hoc,control_method) + elif method == 'finner': + comparisons, z_values, p_values, adj_p_values = npt.finner_test(post_hoc, control_method) + else: + raise Exception('Unknown test method!') + + rows = [] + for k in np.arange(len(comparisons)): + test = 'H0 Accepted' if adj_p_values[k] > alpha else 'H0 Rejected' + rows.append([comparisons[k], z_values[k], p_values[k], adj_p_values[k], test]) + + return pd.DataFrame(rows, columns=['COMPARISON', 'Z-VALUE', 'P-VALUE', 'ADJUSTED P-VALUE', 'Result']) + diff --git a/pyFTS/benchmarks/Util.py b/pyFTS/benchmarks/Util.py index 6aa73b9..941b292 100644 --- a/pyFTS/benchmarks/Util.py +++ b/pyFTS/benchmarks/Util.py @@ -177,6 +177,46 @@ def find_best(dataframe, criteria, ascending): return ret +def simple_synthetic_dataframe(file, tag, measure, sql=None): + ''' + Read experiments results from sqlite3 database in 'file', make a synthesis of the results + of the metric 'measure' with the same 'tag', returning a Pandas DataFrame with the mean results. + + :param file: sqlite3 database file name + :param tag: common tag of the experiments + :param measure: metric to synthetize + :return: Pandas DataFrame with the mean results + ''' + df = get_dataframe_from_bd(file,"tag = '{}' and measure = '{}' {}" + .format(tag, measure, + '' if sql is None else 'and {}'.format(sql))) + data = [] + + models = df.Model.unique() + datasets = df.Dataset.unique() + for dataset in datasets: + for model in models: + _filter = (df.Dataset == dataset) & (df.Model == model) + avg = np.nanmean(df[_filter].Value) + std = np.nanstd(df[_filter].Value) + data.append([dataset, model, avg, std]) + + dat = pd.DataFrame(data, columns=['Dataset', 'Model', 'AVG', 'STD']) + dat = dat.sort_values(['AVG', 'STD']) + + best = [] + + for dataset in datasets: + for model in models: + ix = dat[(dat.Dataset == dataset) & (dat.Model == model)].index[0] + best.append(ix) + + ret = dat.loc[best].sort_values(['AVG', 'STD']) + ret.groupby('Dataset') + + return ret + + def analytic_tabular_dataframe(dataframe): experiments = len(dataframe.columns) - len(base_dataframe_columns()) - 1 models = dataframe.Model.unique() diff --git a/pyFTS/benchmarks/arima.py b/pyFTS/benchmarks/arima.py index 2476c89..78885cf 100644 --- a/pyFTS/benchmarks/arima.py +++ b/pyFTS/benchmarks/arima.py @@ -154,7 +154,7 @@ class ARIMA(fts.FTS): ret.append(tmp) - return ret + return ret[-steps:] def forecast_distribution(self, data, **kwargs): @@ -217,5 +217,5 @@ class ARIMA(fts.FTS): ret.append(dist) - return ret + return ret[-steps:] diff --git a/pyFTS/common/Membership.py b/pyFTS/common/Membership.py index c708ed0..644c786 100644 --- a/pyFTS/common/Membership.py +++ b/pyFTS/common/Membership.py @@ -15,6 +15,7 @@ def trimf(x, parameters): :param parameters: a list with 3 real values :return: the membership value of x given the parameters """ + xx = np.round(x, 3) if xx < parameters[0]: return 0 @@ -34,6 +35,7 @@ def trapmf(x, parameters): :param parameters: a list with 4 real values :return: the membership value of x given the parameters """ + if x < parameters[0]: return 0 elif parameters[0] <= x < parameters[1]: @@ -54,6 +56,7 @@ def gaussmf(x, parameters): :param parameters: a list with 2 real values (mean and variance) :return: the membership value of x given the parameters """ + return math.exp((-(x - parameters[0])**2)/(2 * parameters[1]**2)) @@ -65,6 +68,7 @@ def bellmf(x, parameters): :param parameters: :return: """ + return 1 / (1 + abs((x - parameters[2]) / parameters[0]) ** (2 * parameters[1])) diff --git a/pyFTS/common/fts.py b/pyFTS/common/fts.py index 6650858..d6a4fa9 100644 --- a/pyFTS/common/fts.py +++ b/pyFTS/common/fts.py @@ -104,11 +104,11 @@ class FTS(object): :param data: time series with minimal length to the order of the model :keyword type: the forecasting type, one of these values: point(default), interval, distribution or multivariate. - :keyword steps_ahead: The forecasting horizon, i. e., the number of steps ahead to forecast - :keyword start: in the multi step forecasting, the index of the data where to start forecasting - :keyword distributed: boolean, indicate if the forecasting procedure will be distributed in a dispy cluster + :keyword steps_ahead: The forecasting horizon, i. e., the number of steps ahead to forecast (default value: 1) + :keyword start_at: in the multi step forecasting, the index of the data where to start forecasting (default value: 0) + :keyword distributed: boolean, indicate if the forecasting procedure will be distributed in a dispy cluster (default value: False) :keyword nodes: a list with the dispy cluster nodes addresses - :keyword explain: try to explain, step by step, the one-step-ahead point forecasting result given the input data. + :keyword explain: try to explain, step by step, the one-step-ahead point forecasting result given the input data. (default value: False) :keyword generators: for multivariate methods on multi step ahead forecasting, generators is a dict where the keys are the dataframe columun names (except the target_variable) and the values are lambda functions that accept one value (the actual value of the variable) and return the next value or trained FTS @@ -227,17 +227,22 @@ class FTS(object): Point forecast n steps ahead :param data: time series data with the minimal length equal to the max_lag of the model - :param steps: the number of steps ahead to forecast - :keyword start: in the multi step forecasting, the index of the data where to start forecasting + :param steps: the number of steps ahead to forecast (default: 1) + :keyword start_at: in the multi step forecasting, the index of the data where to start forecasting (default: 0) :return: a list with the forecasted values """ + if len(data) < self.max_lag: + return data + if isinstance(data, np.ndarray): data = data.tolist() + start = kwargs.get('start_at',0) + ret = [] - for k in np.arange(0, steps): - tmp = self.forecast(data[k:self.max_lag+k], **kwargs) + for k in np.arange(start+self.max_lag, steps): + tmp = self.forecast(data[k-self.max_lag:k], **kwargs) if isinstance(tmp,(list, np.ndarray)): tmp = tmp[-1] @@ -245,7 +250,7 @@ class FTS(object): ret.append(tmp) data.append(tmp) - return ret + return ret[-steps:] def forecast_ahead_interval(self, data, steps, **kwargs): """ @@ -253,7 +258,7 @@ class FTS(object): :param data: time series data with the minimal length equal to the max_lag of the model :param steps: the number of steps ahead to forecast - :param kwargs: model specific parameters + :keyword start_at: in the multi step forecasting, the index of the data where to start forecasting (default: 0) :return: a list with the forecasted intervals """ raise NotImplementedError('This model do not perform multi step ahead interval forecasts!') @@ -264,7 +269,7 @@ class FTS(object): :param data: time series data with the minimal length equal to the max_lag of the model :param steps: the number of steps ahead to forecast - :param kwargs: model specific parameters + :keyword start_at: in the multi step forecasting, the index of the data where to start forecasting (default: 0) :return: a list with the forecasted Probability Distributions """ raise NotImplementedError('This model do not perform multi step ahead distribution forecasts!') @@ -275,7 +280,7 @@ class FTS(object): :param data: Pandas dataframe with one column for each variable and with the minimal length equal to the max_lag of the model :param steps: the number of steps ahead to forecast - :param kwargs: model specific parameters + :keyword start_at: in the multi step forecasting, the index of the data where to start forecasting (default: 0) :return: a Pandas Dataframe object representing the forecasted values for each variable """ raise NotImplementedError('This model do not perform one step ahead multivariate forecasts!') diff --git a/pyFTS/models/ensemble/ensemble.py b/pyFTS/models/ensemble/ensemble.py index 95433cd..729b111 100644 --- a/pyFTS/models/ensemble/ensemble.py +++ b/pyFTS/models/ensemble/ensemble.py @@ -192,9 +192,9 @@ class EnsembleFTS(fts.FTS): ret = [] - start = kwargs.get('start', self.order) + start = kwargs.get('start_at', self.order) - sample = [[k] for k in data[start - self.order: start]] + sample = [[k] for k in data[start: start+self.order]] for k in np.arange(self.order, steps + self.order): forecasts = [] @@ -216,7 +216,7 @@ class EnsembleFTS(fts.FTS): ret.append(interval) - return ret + return ret[-steps:] def forecast_distribution(self, data, **kwargs): ret = [] @@ -253,11 +253,11 @@ class EnsembleFTS(fts.FTS): ret = [] - start = kwargs.get('start', self.order) + start = kwargs.get('start_at', self.order) uod = self.get_UoD() - sample = [[k] for k in data[start - self.order: start]] + sample = [[k] for k in data[start: start+self.order]] for k in np.arange(self.order, steps+self.order): forecasts = [] @@ -282,7 +282,7 @@ class EnsembleFTS(fts.FTS): ret.append(dist) - return ret + return ret[-steps:] class SimpleEnsembleFTS(EnsembleFTS): diff --git a/pyFTS/models/ifts.py b/pyFTS/models/ifts.py index ee59292..4772e8c 100644 --- a/pyFTS/models/ifts.py +++ b/pyFTS/models/ifts.py @@ -88,7 +88,8 @@ class IntervalFTS(hofts.HighOrderFTS): return ret def forecast_ahead_interval(self, data, steps, **kwargs): - ret = [[x, x] for x in data[:self.max_lag]] + start = kwargs.get('start_at', 0) + ret = [[x, x] for x in data[start:start+self.max_lag]] for k in np.arange(self.max_lag, self.max_lag + steps): interval_lower = self.clip_uod(self.forecast_interval([x[0] for x in ret[k - self.max_lag: k]])[0]) interval_upper = self.clip_uod(self.forecast_interval([x[1] for x in ret[k - self.max_lag: k]])[0]) @@ -172,7 +173,8 @@ class WeightedIntervalFTS(hofts.WeightedHighOrderFTS): return ret def forecast_ahead_interval(self, data, steps, **kwargs): - ret = [[x, x] for x in data[:self.max_lag]] + start = kwargs.get('start_at', 0) + ret = [[x, x] for x in data[start:start + self.max_lag]] for k in np.arange(self.max_lag, self.max_lag + steps): interval_lower = self.clip_uod(self.forecast_interval([x[0] for x in ret[k - self.max_lag: k]])[0]) interval_upper = self.clip_uod(self.forecast_interval([x[1] for x in ret[k - self.max_lag: k]])[0]) diff --git a/pyFTS/models/multivariate/cmvfts.py b/pyFTS/models/multivariate/cmvfts.py index 2e66a48..8b0afb5 100644 --- a/pyFTS/models/multivariate/cmvfts.py +++ b/pyFTS/models/multivariate/cmvfts.py @@ -111,7 +111,9 @@ class ClusteredMVFTS(mvfts.MVFTS): ndata = self.apply_transformations(data) - ret = ndata.iloc[:self.order] + start = kwargs.get('start_at', 0) + + ret = ndata.iloc[start:self.order+start] for k in np.arange(0, steps): sample = ret.iloc[k:self.order+k] diff --git a/pyFTS/models/multivariate/grid.py b/pyFTS/models/multivariate/grid.py index 4dc4b88..2a28416 100644 --- a/pyFTS/models/multivariate/grid.py +++ b/pyFTS/models/multivariate/grid.py @@ -37,6 +37,7 @@ class IncrementalGridCluster(partitioner.MultivariatePartitioner): Create combinations of fuzzy sets of the variables on demand, incrementally increasing the multivariate fuzzy set base. """ + def __init__(self, **kwargs): super(IncrementalGridCluster, self).__init__(**kwargs) self.name="IncrementalGridCluster" diff --git a/pyFTS/models/multivariate/mvfts.py b/pyFTS/models/multivariate/mvfts.py index 73de64d..fdacfc0 100644 --- a/pyFTS/models/multivariate/mvfts.py +++ b/pyFTS/models/multivariate/mvfts.py @@ -169,9 +169,11 @@ class MVFTS(fts.FTS): ndata = self.apply_transformations(data) + start = kwargs.get('start_at', self.order) + ret = [] for k in np.arange(0, steps): - ix = ndata.index[-self.max_lag:] + ix = ndata.index[start-self.max_lag+k:k+start] sample = ndata.loc[ix] tmp = self.forecast(sample, **kwargs) @@ -199,7 +201,7 @@ class MVFTS(fts.FTS): ndata = ndata.append(new_data_point, ignore_index=True) - return ret + return ret[-steps] def forecast_interval(self, data, **kwargs): ret = [] @@ -244,6 +246,61 @@ class MVFTS(fts.FTS): params=data[self.target_variable.data_label].values) return ret + def forecast_ahead_interval(self, data, steps, **kwargs): + generators = kwargs.get('generators', None) + + if generators is None: + raise Exception('You must provide parameter \'generators\'! generators is a dict where the keys' + + ' are the dataframe column names (except the target_variable) and the values are ' + + 'lambda functions that accept one value (the actual value of the variable) ' + ' and return the next value or trained FTS models that accept the actual values and ' + 'forecast new ones.') + + ndata = self.apply_transformations(data) + + start = kwargs.get('start_at', self.order) + + ret = [] + ix = ndata.index[start - self.max_lag:] + lo = [ndata.loc[k] for k in ix] + up = [ndata.loc[k] for k in ix] + for k in np.arange(0, steps): + tmp_lo = self.forecast_interval(lo[-self.max_lag:], **kwargs) + tmp_up = self.forecast_interval(up[-self.max_lag:], **kwargs) + + ret.append([min(tmp_lo), max(tmp_up)]) + + new_data_point_lo = {} + new_data_point_up = {} + + for data_label in generators.keys(): + if data_label != self.target_variable.data_label: + if isinstance(generators[data_label], LambdaType): + last_data_point_lo = lo.loc[lo.index[-1]] + new_data_point_lo[data_label] = generators[data_label](last_data_point_lo[data_label]) + last_data_point_up = up.loc[up.index[-1]] + new_data_point_up[data_label] = generators[data_label](last_data_point_up[data_label]) + elif isinstance(generators[data_label], fts.FTS): + model = generators[data_label] + last_data_point_lo = lo.loc[lo.index[-model.order]] + last_data_point_up = up.loc[up.index[-model.order]] + + if not model.is_multivariate: + last_data_point_lo = last_data_point_lo[data_label].values + last_data_point_up = last_data_point_up[data_label].values + + new_data_point_lo[data_label] = model.forecast(last_data_point_lo)[0] + new_data_point_up[data_label] = model.forecast(last_data_point_up)[0] + + new_data_point_lo[self.target_variable.data_label] = min(tmp_lo) + new_data_point_up[self.target_variable.data_label] = max(tmp_up) + + lo = lo.append(new_data_point_lo, ignore_index=True) + up = up.append(new_data_point_up, ignore_index=True) + + return ret[-steps] + + def clone_parameters(self, model): super(MVFTS, self).clone_parameters(model) diff --git a/pyFTS/models/multivariate/wmvfts.py b/pyFTS/models/multivariate/wmvfts.py index a969ef7..63c1ee3 100644 --- a/pyFTS/models/multivariate/wmvfts.py +++ b/pyFTS/models/multivariate/wmvfts.py @@ -51,7 +51,6 @@ class WeightedFLRG(mvflrg.FLRG): self.upper = up.dot(self.weights()) return self.upper - def __str__(self): _str = "" for k in self.RHS.keys(): diff --git a/pyFTS/partitioners/partitioner.py b/pyFTS/partitioners/partitioner.py index 1f75b8b..2493d31 100644 --- a/pyFTS/partitioners/partitioner.py +++ b/pyFTS/partitioners/partitioner.py @@ -180,21 +180,22 @@ class Partitioner(object): return sets def check_bounds(self, data): - ''' + """ Check if the input data is outside the known Universe of Discourse and, if it is, round it to the closest fuzzy set. :param data: input data to be verified :return: the index of the closest fuzzy set when data is outside de universe of discourse or None if the data is inside the UoD. - ''' + """ + if data < self.min: return 0 elif data > self.max: return self.partitions-1 def search(self, data, **kwargs): - ''' + """ Perform a search for the nearest fuzzy sets of the point 'data'. This function were designed to work with several overlapped fuzzy sets. @@ -202,7 +203,8 @@ class Partitioner(object): :param type: the return type: 'index' for the fuzzy set indexes or 'name' for fuzzy set names. :param results: the number of nearest fuzzy sets to return :return: a list with the nearest fuzzy sets - ''' + """ + if self.kdtree is None: self.build_index() diff --git a/pyFTS/tests/general.py b/pyFTS/tests/general.py index da2d1e4..43bbd06 100644 --- a/pyFTS/tests/general.py +++ b/pyFTS/tests/general.py @@ -54,20 +54,18 @@ datasets['SP500'] = SP500.get_data()[10000:15000] methods = [ arima.ARIMA,arima.ARIMA, - quantreg.QuantileRegression,quantreg.QuantileRegression, + quantreg.QuantileRegression, BSTS.ARIMA,BSTS.ARIMA, - knn.KNearestNeighbors,knn.KNearestNeighbors + knn.KNearestNeighbors ] methods_parameters = [ - {'order':(2,0,0), 'alpha':.05}, - {'order':(2,0,0), 'alpha':.25}, - {'order':2, 'alpha':.05}, - {'order':2, 'alpha':.25}, - {'order': (2, 0, 0), 'alpha': .05}, - {'order': (2, 0, 0), 'alpha': .25}, - {'order': 2, 'alpha': .05}, - {'order': 2, 'alpha': .25} + {'order':(1,0,0), 'alpha':.05}, + {'order':(1,0,1), 'alpha':.05}, + {'order':1, 'dist': True}, + {'order': (1, 0, 0), 'alpha': .05}, + {'order': (1, 0, 1), 'alpha': .05}, + {'order': 1} ] for dataset_name, dataset in datasets.items(): @@ -81,8 +79,7 @@ for dataset_name, dataset in datasets.items(): orders=[], steps_ahead=[10], partitions=[], - type='interval', + type='distribution', distributed=True, nodes=['192.168.0.110', '192.168.0.107','192.168.0.106'], file="experiments.db", dataset=dataset_name, tag="experiments") -# file="tmp.db", dataset='TAIEX', tag="experiments") #''' \ No newline at end of file