diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle
index b127453..f613efa 100644
Binary files a/docs/build/doctrees/environment.pickle and b/docs/build/doctrees/environment.pickle differ
diff --git a/docs/build/doctrees/pyFTS.common.doctree b/docs/build/doctrees/pyFTS.common.doctree
index 12205ff..e91bc38 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.models.doctree b/docs/build/doctrees/pyFTS.models.doctree
index 9714acb..7eb4aaa 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 881c1d5..ed22af5 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.nonstationary.doctree b/docs/build/doctrees/pyFTS.models.nonstationary.doctree
index 1bf8bfd..c5f45c3 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.partitioners.doctree b/docs/build/doctrees/pyFTS.partitioners.doctree
index 9753960..8024bc1 100644
Binary files a/docs/build/doctrees/pyFTS.partitioners.doctree and b/docs/build/doctrees/pyFTS.partitioners.doctree differ
diff --git a/docs/build/html/_modules/pyFTS/common/fts.html b/docs/build/html/_modules/pyFTS/common/fts.html
index ae66fd4..f6e7fcc 100644
--- a/docs/build/html/_modules/pyFTS/common/fts.html
+++ b/docs/build/html/_modules/pyFTS/common/fts.html
@@ -167,6 +167,7 @@
: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 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.
:return: a numpy array with the forecasted data
"""
@@ -416,6 +417,7 @@
if save:
Util.persist_obj(self, file_path)
+
[docs] def clone_parameters(self, model):
"""
Import the parameters values from other model
diff --git a/docs/build/html/_modules/pyFTS/models/chen.html b/docs/build/html/_modules/pyFTS/models/chen.html
index 4623c94..781e000 100644
--- a/docs/build/html/_modules/pyFTS/models/chen.html
+++ b/docs/build/html/_modules/pyFTS/models/chen.html
@@ -130,22 +130,36 @@
[docs] def forecast(self, ndata, **kwargs):
-
l = len(ndata)
+
explain = kwargs.get('explain',False)
+
+
l = len(ndata) if not explain else 1
ret = []
for k in np.arange(0, l):
-
mv = FuzzySet.fuzzyfy_instance(ndata[k], self.sets)
+
actual = FuzzySet.get_maximum_membership_fuzzyset(ndata[k], self.sets)
-
actual = FuzzySet.get_maximum_membership_fuzzyset(ndata[k], self.sets) #self.sets[np.argwhere(mv == max(mv))[0, 0]]
+
if explain:
+
print("Fuzzyfication:\n\n {} -> {} \n".format(ndata[k], actual.name))
if actual.name not in self.flrgs:
ret.append(actual.centroid)
+
+
if explain:
+
print("Rules:\n\n {} -> {} (Naïve)\t Midpoint: {} \n\n".format(actual.name, actual.name,actual.centroid))
+
else:
_flrg = self.flrgs[actual.name]
-
ret.append(_flrg.get_midpoint(self.sets))
+
mp = _flrg.get_midpoint(self.sets)
+
+
ret.append(mp)
+
+
if explain:
+
print("Rules:\n\n {} \t Midpoint: {} \n".format(str(_flrg), mp))
+
+
print("Deffuzyfied value: {} \n".format(mp))
return ret
diff --git a/docs/build/html/_modules/pyFTS/models/hofts.html b/docs/build/html/_modules/pyFTS/models/hofts.html
index d1dbefe..c956567 100644
--- a/docs/build/html/_modules/pyFTS/models/hofts.html
+++ b/docs/build/html/_modules/pyFTS/models/hofts.html
@@ -136,7 +136,7 @@
self.max_lag = self.order
self.lags = np.arange(1, self.order+1)
-[docs] def generate_lhs_flrg(self, sample):
+
[docs] def generate_lhs_flrg(self, sample, explain=False):
lags = {}
flrgs = []
@@ -145,6 +145,9 @@
lhs = FuzzySet.fuzzyfy(sample[o-1], partitioner=self.partitioner, mode="sets", alpha_cut=self.alpha_cut)
lags[ct] = lhs
+
if explain:
+
print("\t (Lag {}) {} -> {} \n".format(o, sample[o-1], lhs))
+
root = tree.FLRGTreeNode(None)
tree.build_tree_without_order(root, lags, 0)
@@ -185,27 +188,50 @@
[docs] def forecast(self, ndata, **kwargs):
+
explain = kwargs.get('explain', False)
+
ret = []
-
l = len(ndata)
+
l = len(ndata) if not explain else self.max_lag + 1
if l < self.max_lag:
return ndata
for k in np.arange(self.max_lag, l+1):
-
flrgs = self.generate_lhs_flrg(ndata[k - self.max_lag: k])
+
+
if explain:
+
print("Fuzzyfication \n")
+
+
flrgs = self.generate_lhs_flrg(ndata[k - self.max_lag: k], explain)
+
+
if explain:
+
print("Rules:\n")
tmp = []
for flrg in flrgs:
if flrg.get_key() not in self.flrgs:
if len(flrg.LHS) > 0:
-
tmp.append(self.sets[flrg.LHS[-1]].centroid)
+
mp = self.sets[flrg.LHS[-1]].centroid
+
tmp.append(mp)
+
+
if explain:
+
print("\t {} -> {} (Naïve)\t Midpoint: {}\n".format(str(flrg.LHS), flrg.LHS[-1],
+
mp))
+
else:
flrg = self.flrgs[flrg.get_key()]
-
tmp.append(flrg.get_midpoint(self.sets))
+
mp = flrg.get_midpoint(self.sets)
+
tmp.append(mp)
-
ret.append(np.nanmean(tmp))
+
if explain:
+
print("\t {} \t Midpoint: {}\n".format(str(flrg), mp))
+
+
final = np.nanmean(tmp)
+
ret.append(final)
+
+
if explain:
+
print("Deffuzyfied value: {} \n".format(final))
return ret
diff --git a/docs/build/html/_modules/pyFTS/models/ifts.html b/docs/build/html/_modules/pyFTS/models/ifts.html
index 1115246..c9ee781 100644
--- a/docs/build/html/_modules/pyFTS/models/ifts.html
+++ b/docs/build/html/_modules/pyFTS/models/ifts.html
@@ -148,7 +148,7 @@
for flrg in flrgs:
if len(flrg.LHS) > 0:
- # achar o os bounds de cada FLRG, ponderados pela pertinência
+
mv = flrg.get_membership(sample, self.sets)
up.append(mv * self.get_upper(flrg))
lo.append(mv * self.get_lower(flrg))
diff --git a/docs/build/html/_modules/pyFTS/models/ismailefendi.html b/docs/build/html/_modules/pyFTS/models/ismailefendi.html
index 007804a..f544092 100644
--- a/docs/build/html/_modules/pyFTS/models/ismailefendi.html
+++ b/docs/build/html/_modules/pyFTS/models/ismailefendi.html
@@ -131,7 +131,7 @@
if flr.LHS in self.flrgs:
self.flrgs[flr.LHS].append_rhs(flr.RHS)
else:
- self.flrgs[flr.LHS] = ImprovedWeightedFLRG(flr.LHS);
+ self.flrgs[flr.LHS] = ImprovedWeightedFLRG(flr.LHS)
self.flrgs[flr.LHS].append_rhs(flr.RHS)
[docs] def train(self, ndata, **kwargs):
@@ -141,7 +141,8 @@
self.generate_flrg(flrs)
[docs] def forecast(self, ndata, **kwargs):
-
l = 1
+
+
explain = kwargs.get('explain', False)
if self.partitioner is not None:
ordered_sets = self.partitioner.ordered_sets
@@ -149,7 +150,8 @@
ordered_sets = FuzzySet.set_ordered(self.sets)
ndata = np.array(ndata)
-
l = len(ndata)
+
+
l = len(ndata) if not explain else 1
ret = []
@@ -157,13 +159,28 @@
actual = FuzzySet.get_maximum_membership_fuzzyset(ndata[k], self.sets, ordered_sets)
+
if explain:
+
print("Fuzzyfication:\n\n {} -> {} \n".format(ndata[k], actual.name))
+
if actual.name not in self.flrgs:
ret.append(actual.centroid)
+
+
if explain:
+
print("Rules:\n\n {} -> {} (Naïve)\t Midpoint: {} \n\n".format(actual.name, actual.name,actual.centroid))
+
else:
flrg = self.flrgs[actual.name]
mp = flrg.get_midpoints(self.sets)
-
ret.append(mp.dot(flrg.weights()))
+
final = mp.dot(flrg.weights())
+
+
ret.append(final)
+
+
if explain:
+
print("Rules:\n\n {} \n\n ".format(str(flrg)))
+
print("Midpoints: \n\n {}\n\n".format(mp))
+
+
print("Deffuzyfied value: {} \n".format(final))
return ret
diff --git a/docs/build/html/_modules/pyFTS/models/nonstationary/util.html b/docs/build/html/_modules/pyFTS/models/nonstationary/util.html
index c52b00c..ba215f5 100644
--- a/docs/build/html/_modules/pyFTS/models/nonstationary/util.html
+++ b/docs/build/html/_modules/pyFTS/models/nonstationary/util.html
@@ -129,7 +129,7 @@
[docs]def plot_sets_conditional(model, data, step=1, size=[5, 5], colors=None,
-
save=False, file=None, axes=None):
+
save=False, file=None, axes=None, fig=None):
range = np.arange(0, len(data), step)
ticks = []
if axes is None:
@@ -151,11 +151,11 @@
else:
axes.plot([t, t + 1, t], param,c=set.metadata['color'])
-
ticks.extend(["t+"+str(t),""])
+
#ticks.extend(["t+"+str(t),""])
axes.set_ylabel("Universe of Discourse")
axes.set_xlabel("Time")
-
plt.xticks([k for k in range], ticks, rotation='vertical')
+
#plt.xticks([k for k in range], ticks, rotation='vertical')
handles0, labels0 = axes.get_legend_handles_labels()
lgd = axes.legend(handles0, labels0, loc=2, bbox_to_anchor=(1, 1))
diff --git a/docs/build/html/_modules/pyFTS/models/pwfts.html b/docs/build/html/_modules/pyFTS/models/pwfts.html
index 6182a93..cf63345 100644
--- a/docs/build/html/_modules/pyFTS/models/pwfts.html
+++ b/docs/build/html/_modules/pyFTS/models/pwfts.html
@@ -196,7 +196,7 @@
else:
self.generate_flrg(data)
-[docs] def generate_lhs_flrg(self, sample):
+
[docs] def generate_lhs_flrg(self, sample, explain=False):
lags = {}
flrgs = []
@@ -206,6 +206,9 @@
lags[ct] = lhs
+
if explain:
+
print("\t (Lag {}) {} -> {} \n".format(o, sample[o-1], lhs))
+
root = tree.FLRGTreeNode(None)
tree.build_tree_without_order(root, lags, 0)
@@ -300,9 +303,6 @@
cond.append(tmp)
ret = sum(np.array(cond))
else:
-
##########################################
-
# this may be the problem! TEST IT!!!
-
##########################################
pi = 1 / len(flrg.LHS)
ret = sum(np.array([pi * self.sets[s].membership(x) for s in flrg.LHS]))
return ret
@@ -346,27 +346,48 @@
[docs] def point_heuristic(self, sample, **kwargs):
-
flrgs = self.generate_lhs_flrg(sample)
+
explain = kwargs.get('explain', False)
+
+
if explain:
+
print("Fuzzyfication \n")
+
+
flrgs = self.generate_lhs_flrg(sample, explain)
mp = []
norms = []
+
+
if explain:
+
print("Rules:\n")
+
for flrg in flrgs:
norm = self.flrg_lhs_conditional_probability(sample, flrg)
+
if norm == 0:
norm = self.flrg_lhs_unconditional_probability(flrg)
+
+
+
if explain:
+
print("\t {} \t Midpoint: {}\t Norm: {}\n".format(str(self.flrgs[flrg.get_key()]),
+
self.get_midpoint(flrg), norm))
+
mp.append(norm * self.get_midpoint(flrg))
norms.append(norm)
norm = sum(norms)
-
if norm == 0:
-
return 0
-
else:
-
return sum(mp) / norm
+
final = sum(mp) / norm if norm != 0 else 0
+
+
if explain:
+
print("Deffuzyfied value: {} \n".format(final))
+
return final
[docs] def point_expected_value(self, sample, **kwargs):
-
return self.forecast_distribution(sample)[0].expected_value()
+ explain = kwargs.get('explain', False)
+ dist = self.forecast_distribution(sample)[0]
+
+ final = dist.expected_value()
+ return final
[docs] def forecast_interval(self, ndata, **kwargs):
diff --git a/docs/build/html/_modules/pyFTS/models/sadaei.html b/docs/build/html/_modules/pyFTS/models/sadaei.html
index de65e0a..f924f41 100644
--- a/docs/build/html/_modules/pyFTS/models/sadaei.html
+++ b/docs/build/html/_modules/pyFTS/models/sadaei.html
@@ -145,7 +145,8 @@
self.generate_flrg(flrs, self.c)
[docs] def forecast(self, ndata, **kwargs):
-
l = 1
+
+
explain = kwargs.get('explain', False)
if self.partitioner is not None:
ordered_sets = self.partitioner.ordered_sets
@@ -162,13 +163,28 @@
actual = FuzzySet.get_maximum_membership_fuzzyset(ndata[k], self.sets, ordered_sets)
+
if explain:
+
print("Fuzzyfication:\n\n {} -> {} \n".format(ndata[k], actual.name))
+
if actual.name not in self.flrgs:
ret.append(actual.centroid)
+
+
if explain:
+
print("Rules:\n\n {} -> {} (Naïve)\t Midpoint: {} \n\n".format(actual.name, actual.name,actual.centroid))
+
else:
flrg = self.flrgs[actual.name]
mp = flrg.get_midpoints(self.sets)
-
ret.append(mp.dot(flrg.weights()))
+
final = mp.dot(flrg.weights())
+
+
ret.append(final)
+
+
if explain:
+
print("Rules:\n\n {} \n\n ".format(str(flrg)))
+
print("Midpoints: \n\n {}\n\n".format(mp))
+
+
print("Deffuzyfied value: {} \n".format(final))
return ret
diff --git a/docs/build/html/_modules/pyFTS/models/yu.html b/docs/build/html/_modules/pyFTS/models/yu.html
index bd54588..b2303f4 100644
--- a/docs/build/html/_modules/pyFTS/models/yu.html
+++ b/docs/build/html/_modules/pyFTS/models/yu.html
@@ -138,6 +138,8 @@
[docs] def forecast(self, ndata, **kwargs):
+
explain = kwargs.get('explain', False)
+
if self.partitioner is not None:
ordered_sets = self.partitioner.ordered_sets
else:
@@ -145,7 +147,7 @@
ndata = np.array(ndata)
-
l = len(ndata)
+
l = len(ndata) if not explain else 1
ret = []
@@ -153,13 +155,28 @@
actual = FuzzySet.get_maximum_membership_fuzzyset(ndata[k], self.sets, ordered_sets)
+
if explain:
+
print("Fuzzyfication:\n\n {} -> {} \n\n".format(ndata[k], actual.name))
+
if actual.name not in self.flrgs:
ret.append(actual.centroid)
+
+
if explain:
+
print("Rules:\n\n {} -> {} (Naïve)\t Midpoint: {} \n\n".format(actual.name, actual.name,actual.centroid))
+
else:
flrg = self.flrgs[actual.name]
mp = flrg.get_midpoints(self.sets)
-
ret.append(mp.dot(flrg.weights(self.sets)))
+
final = mp.dot(flrg.weights(self.sets))
+
+
ret.append(final)
+
+
if explain:
+
print("Rules:\n\n {} \n\n ".format(str(flrg)))
+
print("Midpoints: \n\n {}\n\n".format(mp))
+
+
print("Deffuzyfied value: {} \n".format(final))
return ret
diff --git a/docs/build/html/_modules/pyFTS/partitioners/partitioner.html b/docs/build/html/_modules/pyFTS/partitioners/partitioner.html
index 4425f6a..5c705a6 100644
--- a/docs/build/html/_modules/pyFTS/partitioners/partitioner.html
+++ b/docs/build/html/_modules/pyFTS/partitioners/partitioner.html
@@ -150,19 +150,35 @@
pass
[docs] def get_name(self, counter):
+
"""
+
Find the name of the fuzzy set given its counter id.
+
+
:param counter: The number of the fuzzy set
+
:return: String
+
"""
return self.prefix + str(counter) if self.setnames is None else self.setnames[counter]
[docs] def lower_set(self):
+
"""
+
Return the fuzzy set on lower bound of the universe of discourse.
+
+
:return: Fuzzy Set
+
"""
return self.sets[self.ordered_sets[0]]
[docs] def upper_set(self):
+
"""
+
Return the fuzzy set on upper bound of the universe of discourse.
+
+
:return: Fuzzy Set
+
"""
return self.sets[self.ordered_sets[-1]]
[docs] def plot(self, ax):
"""
-
Plot the
-
:param ax:
-
:return:
+
Plot the partitioning using the Matplotlib axis ax
+
+
:param ax: Matplotlib axis
"""
ax.set_title(self.name)
ax.set_ylim([0, 1])
@@ -182,6 +198,12 @@
ax.xaxis.set_ticks(x)
[docs] def plot_set(self, ax, s):
+
"""
+
Plot an isolate fuzzy set on Matplotlib axis
+
+
:param ax: Matplotlib axis
+
:param s: Fuzzy Set
+
"""
if s.mf == Membership.trimf:
ax.plot([s.parameters[0], s.parameters[1], s.parameters[2]], [0, s.alpha, 0])
elif s.mf == Membership.gaussmf:
@@ -191,12 +213,24 @@
elif s.mf == Membership.trapmf:
ax.plot(s.parameters, [0, s.alpha, s.alpha, 0])
-
def __str__(self):
+ """
+ Return a string representation of the partitioner, the list of fuzzy sets and their parameters
+
+ :return:
+ """
tmp = self.name + ":\n"
for key in self.sets.keys():
tmp += str(self.sets[key])+ "\n"
- return tmp
+ return tmp
+
+ def __len__(self):
+ """
+ Return the number of partitions
+
+ :return: number of partitions
+ """
+ return self.partitions
diff --git a/docs/build/html/pyFTS.common.html b/docs/build/html/pyFTS.common.html
index 613ee7e..68647fd 100644
--- a/docs/build/html/pyFTS.common.html
+++ b/docs/build/html/pyFTS.common.html
@@ -1818,6 +1818,7 @@ needed to forecast a single step ahead
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
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.
diff --git a/docs/build/html/pyFTS.models.ensemble.html b/docs/build/html/pyFTS.models.ensemble.html
index 0b82334..cbca2b1 100644
--- a/docs/build/html/pyFTS.models.ensemble.html
+++ b/docs/build/html/pyFTS.models.ensemble.html
@@ -239,7 +239,7 @@
-Returns: | a list with the forecasted Probability Distributions
+ |
---|
Returns: | a list with probabilistic.ProbabilityDistribution objects representing the forecasted Probability Distributions
|
@@ -260,7 +260,7 @@
-Returns: | a list with the forecasted intervals
+ |
---|
Returns: | a list with the prediction intervals
|
@@ -345,7 +345,7 @@
-Returns: | a list with the forecasted Probability Distributions
+ |
---|
Returns: | a list with probabilistic.ProbabilityDistribution objects representing the forecasted Probability Distributions
|
diff --git a/docs/build/html/pyFTS.models.html b/docs/build/html/pyFTS.models.html
index 015e18e..702bd01 100644
--- a/docs/build/html/pyFTS.models.html
+++ b/docs/build/html/pyFTS.models.html
@@ -471,7 +471,7 @@ using Fuzzy Time Series. 2017 IEEE International Conference on Fuzzy Systems. DO
-
-
generate_lhs_flrg
(sample)[source]
+generate_lhs_flrg
(sample, explain=False)[source]
@@ -575,7 +575,7 @@ In: Computational Intelligence (SSCI), 2016 IEEE Symposium Series on. IEEE, 2016
-Returns: | a list with the forecasted intervals
+ |
---|
Returns: | a list with the prediction intervals
|
@@ -893,7 +893,7 @@ US Dollar to Ringgit Malaysia,” Int. J. Comput. Intell. Appl., vol. 12, no. 1,
-Returns: | a list with the forecasted Probability Distributions
+ |
---|
Returns: | a list with probabilistic.ProbabilityDistribution objects representing the forecasted Probability Distributions
|
@@ -914,7 +914,7 @@ US Dollar to Ringgit Malaysia,” Int. J. Comput. Intell. Appl., vol. 12, no. 1,
-Returns: | a list with the forecasted intervals
+ |
---|
Returns: | a list with the prediction intervals
|
@@ -928,7 +928,7 @@ US Dollar to Ringgit Malaysia,” Int. J. Comput. Intell. Appl., vol. 12, no. 1,
-
-
generate_lhs_flrg
(sample)[source]
+generate_lhs_flrg
(sample, explain=False)[source]
diff --git a/docs/build/html/pyFTS.models.nonstationary.html b/docs/build/html/pyFTS.models.nonstationary.html
index d0911e3..3c9a9f7 100644
--- a/docs/build/html/pyFTS.models.nonstationary.html
+++ b/docs/build/html/pyFTS.models.nonstationary.html
@@ -299,7 +299,7 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.
-Returns: | a list with the forecasted intervals
+ |
---|
Returns: | a list with the prediction intervals
|
@@ -507,7 +507,7 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.
-Returns: | a list with the forecasted intervals
+ |
---|
Returns: | a list with the prediction intervals
|
@@ -605,7 +605,7 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.
-Returns: | a list with the forecasted intervals
+ |
---|
Returns: | a list with the prediction intervals
|
@@ -745,7 +745,7 @@ IEEE Transactions on Fuzzy Systems, v. 16, n. 4, p. 1072-1086, 2008.
-
-
pyFTS.models.nonstationary.util.
plot_sets_conditional
(model, data, step=1, size=[5, 5], colors=None, save=False, file=None, axes=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)[source]
diff --git a/docs/build/html/pyFTS.partitioners.html b/docs/build/html/pyFTS.partitioners.html
index 2e29378..1a47cf2 100644
--- a/docs/build/html/pyFTS.partitioners.html
+++ b/docs/build/html/pyFTS.partitioners.html
@@ -146,12 +146,32 @@
-
get_name
(counter)[source]
-
+Find the name of the fuzzy set given its counter id.
+
+
+
+
+Parameters: | counter – The number of the fuzzy set |
+
+Returns: | String |
+
+
+
+
-
lower_set
()[source]
-
+Return the fuzzy set on lower bound of the universe of discourse.
+
+
+
+
+Returns: | Fuzzy Set |
+
+
+
+
-
@@ -174,15 +194,34 @@
-
plot
(ax)[source]
-Plot the
-:param ax:
-:return:
+Plot the partitioning using the Matplotlib axis ax
+
+
+
+
+Parameters: | ax – Matplotlib axis |
+
+
+
-
plot_set
(ax, s)[source]
-
+Plot an isolate fuzzy set on Matplotlib axis
+
+
+
+
+Parameters: |
+- ax – Matplotlib axis
+- s – Fuzzy Set
+
+ |
+
+
+
+
-
@@ -205,7 +244,16 @@
-
upper_set
()[source]
-
+Return the fuzzy set on upper bound of the universe of discourse.
+
+
+
+
+Returns: | Fuzzy Set |
+
+
+
+
diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js
index aeb5a16..e61d3d8 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.models","pyFTS.models.ensemble","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.models.rst","pyFTS.models.ensemble.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_probabilistic_methods:[3,1,1,""],pftsExploreOrderAndPartitions:[3,1,1,""],plotCompared:[3,1,1,""],plot_compared_intervals_ahead:[3,1,1,""],plot_compared_series:[3,1,1,""],plot_density_rectange:[3,1,1,""],plot_distribution:[3,1,1,""],plot_interval:[3,1,1,""],plot_point:[3,1,1,""],plot_probability_distributions:[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,""]},"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,""],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,""],distributed_predict:[4,1,1,""],distributed_train:[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_rules:[4,1,1,""],show_and_save_image:[4,1,1,""],simple_model_predict:[4,1,1,""],simple_model_train:[4,1,1,""],sliding_window:[4,1,1,""],start_dispy_cluster:[4,1,1,""],stop_dispy_cluster:[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,""]},"pyFTS.common.fts":{FTS:[4,2,1,""]},"pyFTS.common.fts.FTS":{alpha_cut:[4,4,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_distribution:[4,3,1,""],forecast_interval:[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_high_order:[4,4,1,""],is_multivariate:[4,4,1,""],len_total:[4,3,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,""],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,"-"],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.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":{generate_gaussian_linear:[5,1,1,""],generate_uniform_linear:[5,1,1,""],random_walk:[5,1,1,""],white_noise:[5,1,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.models":{chen:[6,0,0,"-"],cheng:[6,0,0,"-"],ensemble:[7,0,0,"-"],hofts:[6,0,0,"-"],hwang:[6,0,0,"-"],ifts:[6,0,0,"-"],ismailefendi:[6,0,0,"-"],multivariate:[8,0,0,"-"],nonstationary:[9,0,0,"-"],pwfts:[6,0,0,"-"],sadaei:[6,0,0,"-"],seasonal:[10,0,0,"-"],song:[6,0,0,"-"],yu:[6,0,0,"-"]},"pyFTS.models.chen":{ConventionalFLRG:[6,2,1,""],ConventionalFTS:[6,2,1,""]},"pyFTS.models.chen.ConventionalFLRG":{append_rhs:[6,3,1,""],get_key:[6,3,1,""]},"pyFTS.models.chen.ConventionalFTS":{forecast:[6,3,1,""],generate_flrg:[6,3,1,""],train:[6,3,1,""]},"pyFTS.models.cheng":{TrendWeightedFLRG:[6,2,1,""],TrendWeightedFTS:[6,2,1,""]},"pyFTS.models.cheng.TrendWeightedFLRG":{weights:[6,3,1,""]},"pyFTS.models.cheng.TrendWeightedFTS":{generate_FLRG:[6,3,1,""]},"pyFTS.models.ensemble":{ensemble:[7,0,0,"-"],multiseasonal:[7,0,0,"-"]},"pyFTS.models.ensemble.ensemble":{AllMethodEnsembleFTS:[7,2,1,""],EnsembleFTS:[7,2,1,""],sampler:[7,1,1,""]},"pyFTS.models.ensemble.ensemble.AllMethodEnsembleFTS":{set_transformations:[7,3,1,""],train:[7,3,1,""]},"pyFTS.models.ensemble.ensemble.EnsembleFTS":{append_model:[7,3,1,""],forecast:[7,3,1,""],forecast_ahead_distribution:[7,3,1,""],forecast_ahead_interval:[7,3,1,""],forecast_distribution:[7,3,1,""],forecast_interval:[7,3,1,""],get_distribution_interquantile:[7,3,1,""],get_interval:[7,3,1,""],get_models_forecasts:[7,3,1,""],get_point:[7,3,1,""],models:[7,4,1,""],parameters:[7,4,1,""],train:[7,3,1,""]},"pyFTS.models.ensemble.multiseasonal":{SeasonalEnsembleFTS:[7,2,1,""],train_individual_model:[7,1,1,""]},"pyFTS.models.ensemble.multiseasonal.SeasonalEnsembleFTS":{forecast_distribution:[7,3,1,""],train:[7,3,1,""],update_uod:[7,3,1,""]},"pyFTS.models.hofts":{HighOrderFLRG:[6,2,1,""],HighOrderFTS:[6,2,1,""]},"pyFTS.models.hofts.HighOrderFLRG":{append_lhs:[6,3,1,""],append_rhs:[6,3,1,""]},"pyFTS.models.hofts.HighOrderFTS":{configure_lags:[6,3,1,""],forecast:[6,3,1,""],generate_flrg:[6,3,1,""],generate_lhs_flrg:[6,3,1,""],train:[6,3,1,""]},"pyFTS.models.hwang":{HighOrderFTS:[6,2,1,""]},"pyFTS.models.hwang.HighOrderFTS":{configure_lags:[6,3,1,""],forecast:[6,3,1,""],train:[6,3,1,""]},"pyFTS.models.ifts":{IntervalFTS:[6,2,1,""]},"pyFTS.models.ifts.IntervalFTS":{forecast_interval:[6,3,1,""],get_lower:[6,3,1,""],get_sequence_membership:[6,3,1,""],get_upper:[6,3,1,""]},"pyFTS.models.ismailefendi":{ImprovedWeightedFLRG:[6,2,1,""],ImprovedWeightedFTS:[6,2,1,""]},"pyFTS.models.ismailefendi.ImprovedWeightedFLRG":{append_rhs:[6,3,1,""],weights:[6,3,1,""]},"pyFTS.models.ismailefendi.ImprovedWeightedFTS":{forecast:[6,3,1,""],generate_flrg:[6,3,1,""],train:[6,3,1,""]},"pyFTS.models.multivariate":{FLR:[8,0,0,"-"],common:[8,0,0,"-"],flrg:[8,0,0,"-"],mvfts:[8,0,0,"-"],variable:[8,0,0,"-"]},"pyFTS.models.multivariate.FLR":{FLR:[8,2,1,""]},"pyFTS.models.multivariate.FLR.FLR":{set_lhs:[8,3,1,""],set_rhs:[8,3,1,""]},"pyFTS.models.multivariate.common":{fuzzyfy_instance:[8,1,1,""]},"pyFTS.models.multivariate.flrg":{FLRG:[8,2,1,""]},"pyFTS.models.multivariate.flrg.FLRG":{append_rhs:[8,3,1,""],get_membership:[8,3,1,""],set_lhs:[8,3,1,""]},"pyFTS.models.multivariate.mvfts":{MVFTS:[8,2,1,""]},"pyFTS.models.multivariate.mvfts.MVFTS":{append_variable:[8,3,1,""],apply_transformations:[8,3,1,""],clone_parameters:[8,3,1,""],forecast:[8,3,1,""],format_data:[8,3,1,""],generate_flrg:[8,3,1,""],generate_flrs:[8,3,1,""],generate_lhs_flrs:[8,3,1,""],train:[8,3,1,""]},"pyFTS.models.multivariate.variable":{Variable:[8,2,1,""]},"pyFTS.models.multivariate.variable.Variable":{alias:[8,4,1,""],apply_inverse_transformations:[8,3,1,""],apply_transformations:[8,3,1,""],build:[8,3,1,""],data_label:[8,4,1,""],name:[8,4,1,""]},"pyFTS.models.nonstationary":{common:[9,0,0,"-"],cvfts:[9,0,0,"-"],flrg:[9,0,0,"-"],honsfts:[9,0,0,"-"],nsfts:[9,0,0,"-"],partitioners:[9,0,0,"-"],perturbation:[9,0,0,"-"],util:[9,0,0,"-"]},"pyFTS.models.nonstationary.common":{FuzzySet:[9,2,1,""],check_bounds:[9,1,1,""],check_bounds_index:[9,1,1,""],fuzzify:[9,1,1,""],fuzzySeries:[9,1,1,""],window_index:[9,1,1,""]},"pyFTS.models.nonstationary.common.FuzzySet":{get_lower:[9,3,1,""],get_midpoint:[9,3,1,""],get_upper:[9,3,1,""],location:[9,4,1,""],location_params:[9,4,1,""],membership:[9,3,1,""],noise:[9,4,1,""],noise_params:[9,4,1,""],perform_location:[9,3,1,""],perform_width:[9,3,1,""],perturbate_parameters:[9,3,1,""],width:[9,4,1,""],width_params:[9,4,1,""]},"pyFTS.models.nonstationary.cvfts":{ConditionalVarianceFTS:[9,2,1,""],HighOrderNonstationaryFLRG:[9,2,1,""]},"pyFTS.models.nonstationary.cvfts.ConditionalVarianceFTS":{forecast:[9,3,1,""],forecast_interval:[9,3,1,""],generate_flrg:[9,3,1,""],perturbation_factors:[9,3,1,""],perturbation_factors__old:[9,3,1,""],train:[9,3,1,""]},"pyFTS.models.nonstationary.cvfts.HighOrderNonstationaryFLRG":{append_lhs:[9,3,1,""],append_rhs:[9,3,1,""]},"pyFTS.models.nonstationary.flrg":{NonStationaryFLRG:[9,2,1,""]},"pyFTS.models.nonstationary.flrg.NonStationaryFLRG":{get_key:[9,3,1,""],get_lower:[9,3,1,""],get_membership:[9,3,1,""],get_midpoint:[9,3,1,""],get_upper:[9,3,1,""],unpack_args:[9,3,1,""]},"pyFTS.models.nonstationary.honsfts":{HighOrderNonStationaryFLRG:[9,2,1,""],HighOrderNonStationaryFTS:[9,2,1,""]},"pyFTS.models.nonstationary.honsfts.HighOrderNonStationaryFLRG":{append_lhs:[9,3,1,""],append_rhs:[9,3,1,""]},"pyFTS.models.nonstationary.honsfts.HighOrderNonStationaryFTS":{forecast:[9,3,1,""],forecast_interval:[9,3,1,""],generate_flrg:[9,3,1,""],train:[9,3,1,""]},"pyFTS.models.nonstationary.nsfts":{ConventionalNonStationaryFLRG:[9,2,1,""],NonStationaryFTS:[9,2,1,""]},"pyFTS.models.nonstationary.nsfts.ConventionalNonStationaryFLRG":{append_rhs:[9,3,1,""],get_key:[9,3,1,""]},"pyFTS.models.nonstationary.nsfts.NonStationaryFTS":{conditional_perturbation_factors:[9,3,1,""],forecast:[9,3,1,""],forecast_interval:[9,3,1,""],generate_flrg:[9,3,1,""],train:[9,3,1,""]},"pyFTS.models.nonstationary.partitioners":{PolynomialNonStationaryPartitioner:[9,2,1,""],SimpleNonStationaryPartitioner:[9,2,1,""],simplenonstationary_gridpartitioner_builder:[9,1,1,""]},"pyFTS.models.nonstationary.partitioners.PolynomialNonStationaryPartitioner":{build:[9,3,1,""],get_polynomial_perturbations:[9,3,1,""],poly_width:[9,3,1,""],scale_down:[9,3,1,""],scale_up:[9,3,1,""]},"pyFTS.models.nonstationary.partitioners.SimpleNonStationaryPartitioner":{build:[9,3,1,""]},"pyFTS.models.nonstationary.perturbation":{exponential:[9,1,1,""],linear:[9,1,1,""],periodic:[9,1,1,""],polynomial:[9,1,1,""]},"pyFTS.models.nonstationary.util":{plot_sets:[9,1,1,""],plot_sets_conditional:[9,1,1,""]},"pyFTS.models.pwfts":{ProbabilisticWeightedFLRG:[6,2,1,""],ProbabilisticWeightedFTS:[6,2,1,""],visualize_distributions:[6,1,1,""]},"pyFTS.models.pwfts.ProbabilisticWeightedFLRG":{append_rhs:[6,3,1,""],get_lower:[6,3,1,""],get_membership:[6,3,1,""],get_midpoint:[6,3,1,""],get_upper:[6,3,1,""],lhs_conditional_probability:[6,3,1,""],partition_function:[6,3,1,""],rhs_conditional_probability:[6,3,1,""],rhs_unconditional_probability:[6,3,1,""]},"pyFTS.models.pwfts.ProbabilisticWeightedFTS":{add_new_PWFLGR:[6,3,1,""],flrg_lhs_conditional_probability:[6,3,1,""],flrg_lhs_unconditional_probability:[6,3,1,""],flrg_rhs_conditional_probability:[6,3,1,""],forecast:[6,3,1,""],forecast_ahead:[6,3,1,""],forecast_ahead_distribution:[6,3,1,""],forecast_ahead_interval:[6,3,1,""],forecast_distribution:[6,3,1,""],forecast_interval:[6,3,1,""],generate_flrg:[6,3,1,""],generate_lhs_flrg:[6,3,1,""],get_lower:[6,3,1,""],get_midpoint:[6,3,1,""],get_upper:[6,3,1,""],interval_heuristic:[6,3,1,""],interval_quantile:[6,3,1,""],point_expected_value:[6,3,1,""],point_heuristic:[6,3,1,""],train:[6,3,1,""],update_model:[6,3,1,""]},"pyFTS.models.sadaei":{ExponentialyWeightedFLRG:[6,2,1,""],ExponentialyWeightedFTS:[6,2,1,""]},"pyFTS.models.sadaei.ExponentialyWeightedFLRG":{append_rhs:[6,3,1,""],weights:[6,3,1,""]},"pyFTS.models.sadaei.ExponentialyWeightedFTS":{forecast:[6,3,1,""],generate_flrg:[6,3,1,""],train:[6,3,1,""]},"pyFTS.models.seasonal":{SeasonalIndexer:[10,0,0,"-"],cmsfts:[10,0,0,"-"],common:[10,0,0,"-"],msfts:[10,0,0,"-"],partitioner:[10,0,0,"-"],sfts:[10,0,0,"-"]},"pyFTS.models.seasonal.SeasonalIndexer":{DataFrameSeasonalIndexer:[10,2,1,""],DateTimeSeasonalIndexer:[10,2,1,""],LinearSeasonalIndexer:[10,2,1,""],SeasonalIndexer:[10,2,1,""]},"pyFTS.models.seasonal.SeasonalIndexer.DataFrameSeasonalIndexer":{get_data:[10,3,1,""],get_data_by_season:[10,3,1,""],get_index_by_season:[10,3,1,""],get_season_by_index:[10,3,1,""],get_season_of_data:[10,3,1,""],set_data:[10,3,1,""]},"pyFTS.models.seasonal.SeasonalIndexer.DateTimeSeasonalIndexer":{get_data:[10,3,1,""],get_data_by_season:[10,3,1,""],get_index:[10,3,1,""],get_index_by_season:[10,3,1,""],get_season_by_index:[10,3,1,""],get_season_of_data:[10,3,1,""],set_data:[10,3,1,""]},"pyFTS.models.seasonal.SeasonalIndexer.LinearSeasonalIndexer":{get_data:[10,3,1,""],get_index_by_season:[10,3,1,""],get_season_by_index:[10,3,1,""],get_season_of_data:[10,3,1,""]},"pyFTS.models.seasonal.SeasonalIndexer.SeasonalIndexer":{get_data:[10,3,1,""],get_data_by_season:[10,3,1,""],get_index:[10,3,1,""],get_index_by_season:[10,3,1,""],get_season_by_index:[10,3,1,""],get_season_of_data:[10,3,1,""]},"pyFTS.models.seasonal.cmsfts":{ContextualMultiSeasonalFTS:[10,2,1,""],ContextualSeasonalFLRG:[10,2,1,""]},"pyFTS.models.seasonal.cmsfts.ContextualMultiSeasonalFTS":{forecast:[10,3,1,""],forecast_ahead:[10,3,1,""],generate_flrg:[10,3,1,""],get_midpoints:[10,3,1,""],train:[10,3,1,""]},"pyFTS.models.seasonal.cmsfts.ContextualSeasonalFLRG":{append_rhs:[10,3,1,""]},"pyFTS.models.seasonal.common":{DateTime:[10,2,1,""],FuzzySet:[10,2,1,""],strip_datepart:[10,1,1,""]},"pyFTS.models.seasonal.common.DateTime":{day_of_month:[10,4,1,""],day_of_week:[10,4,1,""],day_of_year:[10,4,1,""],hour:[10,4,1,""],hour_of_day:[10,4,1,""],hour_of_month:[10,4,1,""],hour_of_week:[10,4,1,""],hour_of_year:[10,4,1,""],minute_of_day:[10,4,1,""],minute_of_hour:[10,4,1,""],minute_of_month:[10,4,1,""],minute_of_week:[10,4,1,""],minute_of_year:[10,4,1,""],month:[10,4,1,""],second:[10,4,1,""],second_of_day:[10,4,1,""],second_of_hour:[10,4,1,""],second_of_minute:[10,4,1,""],year:[10,4,1,""]},"pyFTS.models.seasonal.common.FuzzySet":{membership:[10,3,1,""]},"pyFTS.models.seasonal.msfts":{MultiSeasonalFTS:[10,2,1,""]},"pyFTS.models.seasonal.msfts.MultiSeasonalFTS":{forecast:[10,3,1,""],forecast_ahead:[10,3,1,""],generate_flrg:[10,3,1,""],train:[10,3,1,""]},"pyFTS.models.seasonal.partitioner":{TimeGridPartitioner:[10,2,1,""]},"pyFTS.models.seasonal.partitioner.TimeGridPartitioner":{build:[10,3,1,""],plot:[10,3,1,""]},"pyFTS.models.seasonal.sfts":{SeasonalFLRG:[10,2,1,""],SeasonalFTS:[10,2,1,""]},"pyFTS.models.seasonal.sfts.SeasonalFLRG":{append_rhs:[10,3,1,""],get_key:[10,3,1,""]},"pyFTS.models.seasonal.sfts.SeasonalFTS":{forecast:[10,3,1,""],generate_flrg:[10,3,1,""],get_midpoints:[10,3,1,""],train:[10,3,1,""]},"pyFTS.models.song":{ConventionalFTS:[6,2,1,""]},"pyFTS.models.song.ConventionalFTS":{flr_membership_matrix:[6,3,1,""],forecast:[6,3,1,""],operation_matrix:[6,3,1,""],train:[6,3,1,""]},"pyFTS.models.yu":{WeightedFLRG:[6,2,1,""],WeightedFTS:[6,2,1,""]},"pyFTS.models.yu.WeightedFLRG":{append_rhs:[6,3,1,""],weights:[6,3,1,""]},"pyFTS.models.yu.WeightedFTS":{forecast:[6,3,1,""],generate_FLRG:[6,3,1,""],train:[6,3,1,""]},"pyFTS.partitioners":{CMeans:[11,0,0,"-"],Entropy:[11,0,0,"-"],FCM:[11,0,0,"-"],Grid:[11,0,0,"-"],Huarng:[11,0,0,"-"],Singleton:[11,0,0,"-"],Util:[11,0,0,"-"],parallel_util:[11,0,0,"-"],partitioner:[11,0,0,"-"]},"pyFTS.partitioners.CMeans":{CMeansPartitioner:[11,2,1,""],c_means:[11,1,1,""],distance:[11,1,1,""]},"pyFTS.partitioners.CMeans.CMeansPartitioner":{build:[11,3,1,""]},"pyFTS.partitioners.Entropy":{EntropyPartitioner:[11,2,1,""],PMF:[11,1,1,""],bestSplit:[11,1,1,""],entropy:[11,1,1,""],informationGain:[11,1,1,""],splitAbove:[11,1,1,""],splitBelow:[11,1,1,""]},"pyFTS.partitioners.Entropy.EntropyPartitioner":{build:[11,3,1,""]},"pyFTS.partitioners.FCM":{FCMPartitioner:[11,2,1,""],fuzzy_cmeans:[11,1,1,""],fuzzy_distance:[11,1,1,""],membership:[11,1,1,""]},"pyFTS.partitioners.FCM.FCMPartitioner":{build:[11,3,1,""]},"pyFTS.partitioners.Grid":{GridPartitioner:[11,2,1,""]},"pyFTS.partitioners.Grid.GridPartitioner":{build:[11,3,1,""]},"pyFTS.partitioners.Huarng":{HuarngPartitioner:[11,2,1,""]},"pyFTS.partitioners.Huarng.HuarngPartitioner":{build:[11,3,1,""]},"pyFTS.partitioners.Singleton":{SingletonPartitioner:[11,2,1,""]},"pyFTS.partitioners.Singleton.SingletonPartitioner":{build:[11,3,1,""]},"pyFTS.partitioners.Util":{explore_partitioners:[11,1,1,""],plot_partitioners:[11,1,1,""],plot_sets:[11,1,1,""]},"pyFTS.partitioners.parallel_util":{explore_partitioners:[11,1,1,""]},"pyFTS.partitioners.partitioner":{Partitioner:[11,2,1,""]},"pyFTS.partitioners.partitioner.Partitioner":{build:[11,3,1,""],get_name:[11,3,1,""],lower_set:[11,3,1,""],membership_function:[11,4,1,""],name:[11,4,1,""],partitions:[11,4,1,""],plot:[11,3,1,""],plot_set:[11,3,1,""],prefix:[11,4,1,""],setnames:[11,4,1,""],transformation:[11,4,1,""],upper_set:[11,3,1,""]},"pyFTS.probabilistic":{ProbabilityDistribution:[12,0,0,"-"],kde:[12,0,0,"-"]},"pyFTS.probabilistic.ProbabilityDistribution":{ProbabilityDistribution:[12,2,1,""]},"pyFTS.probabilistic.ProbabilityDistribution.ProbabilityDistribution":{append:[12,3,1,""],append_interval:[12,3,1,""],averageloglikelihood:[12,3,1,""],bins:[12,4,1,""],build_cdf_qtl:[12,3,1,""],crossentropy:[12,3,1,""],cumulative:[12,3,1,""],density:[12,3,1,""],differential_offset:[12,3,1,""],empiricalloglikelihood:[12,3,1,""],entropy:[12,3,1,""],expected_value:[12,3,1,""],kullbackleiblerdivergence:[12,3,1,""],labels:[12,4,1,""],plot:[12,3,1,""],pseudologlikelihood:[12,3,1,""],quantile:[12,3,1,""],set:[12,3,1,""],type:[12,4,1,""],uod:[12,4,1,""]},"pyFTS.probabilistic.kde":{KernelSmoothing:[12,2,1,""]},"pyFTS.probabilistic.kde.KernelSmoothing":{h:[12,4,1,""],kernel:[12,4,1,""],kernel_function:[12,3,1,""],probability:[12,3,1,""]},pyFTS:{benchmarks:[3,0,0,"-"],common:[4,0,0,"-"],conf:[2,0,0,"-"],data:[5,0,0,"-"],models:[6,0,0,"-"],partitioners:[11,0,0,"-"],probabilistic:[12,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,11],"case":4,"class":[3,4,6,7,8,9,10,11,12,13],"default":[3,4,5],"enum":10,"fa\u00e7ad":[3,4],"final":4,"float":[3,4,5],"function":[3,4,9,11,12,13],"guimar\u00e3":[0,6],"h\u00e9non":5,"import":[4,8,13],"int":[6,13],"na\u00efv":3,"new":[4,7,8],"organiza\u00e7\u00e3o":5,"petr\u00f4nio":6,"r\u00f6ssler":5,"return":[3,4,5,6,7,8,9,10,11,12],"short":[4,6,13],"true":[3,4],"var":[5,8],"while":4,And:3,FTS:[0,3,4,6,7,8,9,10],For:3,LHS:[4,6,9],RHS:[4,6,9],The:[3,4,5,11,12,13],Then:[3,13],There:13,These:[0,13],Use:10,abdullah:[6,13],acc:4,account:12,accuraci:3,acf:3,actual:12,adapt:4,adaptiveexpect:4,add:[3,4,9],add_new_pwflgr:6,added:4,address:[3,4],affect:9,after:5,age:4,aged:4,aggreg:[4,7],ahead:[3,4,6,7,8,9,10,13],ahed:13,airlin:5,airpasseng:[1,2],alabama:5,alia:[3,4,8],all:[3,4,12,13],allmethodensembleft:7,almost:13,alpha:[4,6,7,10],alpha_cut:4,alreadi:5,also:[0,4,13],ambientai:5,analysi:3,analytic_tabular_datafram:3,analytical_data_column:3,angela:4,api:[0,4],append:[4,7,8,12],append_interv:12,append_lh:[6,9],append_model:7,append_rh:[4,6,8,9,10],append_set:4,append_transform:4,append_vari:8,appendchild:4,appl:[6,11,13],appli:[3,4,8,11,12],apply_inverse_transform:[4,8],apply_transform:[4,8],approach:[3,11,13],arg:9,argument:[3,4],arima:[1,2],arima_model:3,around:4,arrai:[4,5,9,10],artifici:[1,2],ascend:3,aspx:5,assert:12,assign:[4,12],assoc:3,associ:5,ata:3,atmospher:5,atribut:3,attibut:4,attractor:5,auto:11,auto_upd:4,autocorrel:3,autom:5,automat:4,auxiliar:3,auxiliari:12,averag:[3,5,12],averageloglikelihood:12,avg:5,axes:9,axi:[3,4,11,12],azim:3,bar:3,base:[3,4,6,7,8,9,10,11,12,13],base_dataframe_column:3,batch:4,batch_sav:4,befor:13,being:3,bell:4,bellmf:4,belo:[0,5],belog:4,below:13,benchmark:[1,2,4],benchmark_method:3,benchmark_methods_paramet:3,benchmark_model:3,benchmark_onli:4,bestsplit:11,better:13,between:[3,4,12],bill:4,bin:[3,12],bisect:4,bitcoin:[1,2],bivari:5,black:12,blue:3,bound:[4,5,6,9],box:[3,4,13],boxcox:4,boxljungstatist:3,boxpiercestatist:3,brasil:5,brasilia:5,brazil:0,brazilian:0,brier:3,brier_scor:3,btc:5,build:[8,9,10,11],build_cdf_qtl:12,build_method:3,build_tree_without_ord:4,built:11,buseco:5,busi:5,c_mean:11,calcul:[4,9,10],call:4,camwa:11,can:[3,4,13],capabl:3,capit:5,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,10],certain:12,chang:[5,11,13],chao:5,chaotic:[1,2],characterist:13,cheap:0,check:[4,5,13],check_bound:[4,9],check_bounds_index:[4,9],check_ignore_list:3,check_replace_list:3,chen:[1,2,8,10,13],cheng:[1,2,11,13],chi:3,chi_squar:3,chia:6,child:4,chissom:[6,13],clear:4,clip:4,clone:13,clone_paramet:[4,8],cluster:[3,4],cmap:3,cmean:[1,2],cmeanspartition:[11,13],cmsft:[2,6],code:13,coeffici:[3,5],colab:13,colabor:0,color:[3,9,12],column:[4,8],com:[5,13],common:[1,2,3,6,7,11,13],commun:5,compar:3,compare_residu:3,comparemodelsplot:3,comparemodelst:3,complet:5,complic:5,compon:7,composit:[1,2,5],compress:5,comput:[6,11,13],computation:0,condens:3,condit:3,conditional_perturbation_factor:9,conditionalvarianceft:9,conf:[0,1],confer:6,configure_lag:6,conn:3,connect:3,consid:4,const_t:9,constant:5,contain:[3,4,8,13],content:[0,1],contextu:10,contextualmultiseasonalft:10,contextualseasonalflrg:10,contin:12,continu:[3,5,12],control:5,convent:[6,9,10],conventionalflrg:6,conventionalft:[6,8],conventionalnonstationaryflrg:9,copi:4,cost:[11,13],count:[4,12],counter:11,covavg:3,coverag:3,covstd:3,cox:[4,13],creat:[3,4,11,13],create_benchmark_t:3,criteria:3,cross:[4,12],crossentropi:12,crp:3,crps1avg:3,crps1std:3,crps2avg:3,crps2std:3,crps_distr:3,crps_interv:3,crpsavg:3,crpsstd:3,csv:5,cummul:[],cumul:12,current:3,current_milli_tim:4,cut:4,cvft:[2,6],dado:[4,5,11],dai:5,daili:5,data:[0,1,2,3,4,6,7,8,9,10,11,12,13],data_column:3,data_field:10,data_label:8,data_point:8,databas:3,datafram:[3,4,5,8,10],dataframeseasonalindex:10,dataset:[1,2,3,4],date:[3,10],date_field:10,date_part:10,datepart:10,datetim:10,datetimeseasonalindex:10,david:4,day_of_month:10,day_of_week:10,day_of_year:10,dealer:5,dec:11,decemb:5,decis:3,decompress:5,defin:3,defuzzyf:13,deg:9,delet:4,deltadist:11,demo:13,densiti:[3,12],departa:0,depend:[3,4,13],dependeci:4,deri:[6,13],design:[3,4],detail:4,determin:3,determinist:[5,11],develop:[0,13],deviat:3,dict:[3,4],dictionari:[3,4],differenti:[4,5,12,13],differential_offset:12,diffus:[6,13],dill:4,dimension:5,directli:[4,13],discours:[3,4,9,10,11,12,13],discret:12,disk:[4,11],dispi:[3,4],displac:9,displai:3,distanc:[3,11],distribut:[3,4,5,6,7,12],distributed_predict:4,distributed_train:4,diverg:12,dji:5,dnf:5,document:0,doi10:6,doi:[0,3,5,11],dollar:[6,13],don:5,dow:5,dowjon:[1,2],download:5,draw_sets_on_axi:4,dure:[3,4],dynam:5,each:[3,4,5,7,8,13],easi:[0,4],easier:4,edu:5,edward:5,efendi:[6,13],effect:[11,13],effici:4,electr:[0,6,13],elev:3,empir:[11,12],empiricalloglikelihood:12,enayatifar:[6,13],end:9,endogen:8,energi:[6,13],engin:0,enrol:[1,2,6,10,13],ensembl:[2,4,6],ensembleft:7,entir:4,entropi:[1,2,12,13],entropypartition:[11,13],enumer:10,enumerate2:4,environ:4,epanechnikov:12,equal:[3,4,6,7,8,9,10,13],equat:5,error:3,espaciai:5,esrl:5,estim:[3,12],etc:[4,13],eth:5,ethereum:[1,2],eur:[1,2],eurgbp:5,eurusd:5,even:[10,11],exact:4,exampl:0,exchang:[5,6,13],execut:3,exist:5,expect:[4,6,12],expected_valu:12,experi:3,expert:[0,6,13],exploit:0,explore_partition:11,exponenti:[6,9,13],exponentiali:6,exponentialyweightedflrg:6,exponentialyweightedft:6,express:3,extens:8,extern:[3,4],externalforecast:3,externalmodel:3,extract:[3,5],extract_measur:3,facil:[3,4,5,11],fall:3,fals:[3,4,8,9,11],fcm:[1,2],fcmpartition:[11,13],feder:0,fetch:4,field:[5,10],fig:[3,4],figur:4,file:[3,4,5,9,11],file_analyt:3,file_path:4,file_synthet:3,filenam:[3,4,5],filenem:3,filesystem:4,fill:3,filter:3,financ:5,find:[4,10],find_best:3,find_g:4,find_gt:4,find_l:4,find_lt:4,first:[3,4,6,9,10],fit:[3,4,6,7,8,9,10],five:4,flag:4,flashquot:5,flat:4,flow:5,flr:[1,2,6,9,10],flr_membership_matrix:6,flrg:[1,2,6,10],flrg_lhs_conditional_prob:6,flrg_lhs_unconditional_prob:6,flrg_rhs_conditional_prob:6,flrgtree:4,flrgtreenod:4,foreast:3,forecast:[3,4,6,7,8,9,10,11,13],forecast_ahead:[4,6,10],forecast_ahead_distribut:[3,4,6,7],forecast_ahead_interv:[3,4,6,7],forecast_distribut:[3,4,6,7],forecast_interv:[3,4,6,7,9],forex:5,fork:0,format:3,format_data:8,forward:4,found:[4,13],frederico:[0,6],frequenc:12,from:[0,3,4,5,6,8,12,13],fset:8,fts:[1,2,3,6,7,8,9,10],fts_method:4,fuzz:6,fuzzi:[2,4,6,8,9,10,11],fuzzif:[11,13],fuzzifi:[4,9],fuzzy_cmean:11,fuzzy_dist:11,fuzzy_set:4,fuzzydata:4,fuzzyf:[4,13],fuzzyfi:4,fuzzyfy_inst:[4,8],fuzzyfy_seri:4,fuzzyfy_series_old:4,fuzzyseri:9,fuzzyset:[1,2,6,9,10],gadelha:[0,6],gani:[6,13],garibaldi:9,gaussian:[4,5],gaussmf:4,gbp:[1,2],gbpusd:5,gcos_wgsp:5,gener:[4,5,11,13],generate_flr:8,generate_flrg:[6,8,9,10],generate_gaussian_linear:5,generate_high_order_recurrent_flr:4,generate_indexed_flr:4,generate_lhs_flr:8,generate_lhs_flrg:6,generate_non_recurrent_flr:4,generate_recurrent_flr:4,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_data:[5,10],get_data_by_season:10,get_datafram:5,get_dataframe_from_bd:3,get_distribution_interquantil:7,get_distribution_statist:3,get_fuzzyset:4,get_index:10,get_index_by_season:10,get_interv:7,get_interval_method:3,get_interval_statist:3,get_kei:[4,6,9,10],get_low:[4,6,9],get_maximum_membership_fuzzyset:4,get_maximum_membership_fuzzyset_index:4,get_membership:[4,6,8,9],get_midpoint:[4,6,9,10],get_models_forecast:7,get_nam:11,get_point:7,get_point_method:3,get_point_statist:3,get_polynomial_perturb:9,get_probabilistic_method:3,get_season_by_index:10,get_season_of_data:10,get_sequence_membership:6,get_uod:4,get_upp:[4,6,9],getchildren:4,getstr:4,git:13,github:[0,13],given:[3,4,9,10,11,12],glass:[1,2],good:13,googl:13,gov:5,grant_bound:4,greater:4,grid:[1,2,3,10],gridpartition:[3,11,13],group:[3,4,6,8,9,10],hand:4,handl:[4,6],hard:4,harmoni:[6,13],has_interval_forecast:4,has_point_forecast:4,has_probability_forecast:4,has_season:4,head:0,heavysid:3,heavyside_cdf:3,height:11,henon:[1,2],here:13,heteroskedast:9,high:[3,4,6,9],highorderflrg:6,highorderft:[6,9],highordernonstationaryflrg:9,highordernonstationaryft:9,histogram:12,histori:5,hoang:6,hoft:[1,2,9],honsft:[2,6],horizon:[3,4],horizont:[0,5],hossein:6,hour:[3,10],hour_of_dai:10,hour_of_month:10,hour_of_week:10,hour_of_year:10,http:[0,5,13],http_server:4,huarng:[1,2,13],huarngpartition:[11,13],human:0,hwang:[1,2],hybrid:[6,13],hyndman:5,identifi:[3,4,6,9,10],ieee:[6,9],ifmg:0,ifnmg:0,ift:[1,2],ignor:[3,10],imag:[4,11],implement:[4,10,13],improv:[6,11,13],improvedweightedflrg:6,improvedweightedft:6,inc:[3,4],increment:[3,4,5,12],ind:10,indentifi:3,index:[3,4,5,7,10],index_field:10,index_season:10,index_seri:5,indexedflr:4,indic:[3,4,5],inequ:3,infer:5,infil:3,inform:[3,4,12],informationgain:11,initi:[4,5],initial_valu:5,inmet:[1,2],innov:[6,13],inp:5,input:[4,6,8,9,10,12],insert:[3,4],insert_benchmark:3,insert_right:4,insid:[3,4,10,12],inst:[4,9],instal:0,instanc:[9,13],instead:4,instituit:0,institut:0,instituto:5,integ:[3,4],integr:5,intel:[6,13],intellig:6,intend:0,intern:6,internet:5,interpol:3,interpret:4,interv:[3,4,6,7,9,11,12,13],interval_dataframe_analytic_column:3,interval_dataframe_synthetic_column:3,interval_heurist:6,interval_quantil:6,interval_to_interv:3,intervalar:13,intervalft:6,introduc:13,introspect:4,invers:[4,13],ipynb:13,is_high_ord:4,is_multivari:4,ismail:[6,13],ismailefendi:[1,2],item:4,itemgett:4,iter:[4,5],its:[5,6,8,10,13],ixic:5,januari:5,jaroszewski:9,javedani:6,jeng:6,job:3,jonathan:9,jone:[4,5],journal:5,jun:[11,13],jupyt:13,kde:[1,2],kei:[3,4],kernel:12,kernel_funct:12,kernelsmooth:12,knearestneighbor:3,knn:[1,2],kullback:12,kullbackleiblerdiverg:12,kwarg:[3,4,6,7,8,9,10,11,12],lab:0,label:[3,12],lag:[4,5,13],largest:4,last:4,later:13,layman:0,lcolor:3,lee:6,left:4,legend:[3,4],leibler:12,len_tot:4,length:[3,4,6,7,8,9,10,11,13],less:4,lett:5,level:4,lgd:4,lhs_conditional_prob:6,librari:[2,5],like:[4,13],likelihood:12,limit:4,lin:11,linear:[5,9],linearmodel:3,linearseasonalindex:10,linewidth:3,linspac:5,list:[3,4,5,6,7,8,9,10,11,12,13],ljung:3,lo_param:3,load:[4,5,6,13],load_env:4,load_obj:4,local:5,locat:[4,9],location_param:9,log:[4,12],logic:[4,6,8,9,10],logist:[4,5],logistic_map:[1,2],look:4,lookup:4,lorentz:[1,2],lorenz:5,loss:3,lower:[4,5,6,9],lower_set:11,mackei:[1,2],mackey_glass:5,mai:5,main:13,malaysia:[6,13],mandatori:4,mani:13,map:[3,5],mape:3,mape_interv:3,marcin:9,market:5,mass:4,match:4,math:[5,11],mathemat:5,matplotlib:4,max:4,max_inc:5,max_ini:5,max_lag:[3,4,6,7,8,9,10],maxim:4,maximum:[4,11],mean:[3,4,5],measur:[1,2],mech:[6,13],membership:[1,2,6,8,9,10,11,13],membership_funct:11,memori:4,merg:4,meta:7,meteorologia:5,method:[0,3,4,5,6,7,8,9,10,11,13],metric:3,mft:3,midpoint:[4,9],min:4,min_inc:5,min_ini:5,min_ord:4,mina:0,mind:0,ming:6,minim:[3,4,6,7,8,9,10],minimum:[4,13],minute_of_dai:10,minute_of_hour:10,minute_of_month:10,minute_of_week:10,minute_of_year:10,mode:4,model:[0,1,2,3,4,5,11,13],modelo:3,models_fo:3,models_ho:3,modul:[0,1,13],monash:5,month:10,monthli:[3,5],more:13,most:13,move:3,msft:[2,6],mu_inc:5,mu_ini:5,much:4,multi:[3,4,10],multiseason:[2,6],multiseasonalft:10,multivari:[2,4,5,6],musikasuwan:9,mvft:[2,6],nacion:5,naiv:[1,2],name:[3,4,5,7,8,9,10,11],nasdaq:[1,2],nation:5,natur:5,nbin:[4,6],nbsp:0,ndata:[3,4,6,9],nearest:3,need:4,neighbor:3,next:13,nice:4,noaa:5,node:[3,4],nois:9,noise_param:9,non:[3,4,9,13],none:[3,4,5,7,8,9,10,11,12],nonperiod:5,nonstationari:[2,4,6],nonstationaryflrg:9,nonstationaryft:9,norm:6,normal:13,north:0,norton:5,notebook:13,noth:13,nov:[11,13],now:4,npart:[9,11],nsft:[2,6],num:5,num_batch:4,num_season:10,number:[3,4,5,6,7,10,11,12,13],numer:13,numpi:[4,5],obj:[3,4,11],object:[3,4,8,10,11,12],objectsist:3,occur:4,occurr:4,old:4,older:4,oldest:4,onc:4,one:[3,4,6,7,8,9,10,12,13],onli:4,only_lin:9,open:3,open_benchmark_db:3,oper:[4,13],operation_matrix:6,option:[3,4],order:[3,4,6,9,10,13],ordered_set:[4,9],ordin:4,org:[0,5],origin:[3,4,13],original_max:4,original_min:4,oscil:5,other:[3,4,7,8],otherwis:3,out:13,outfil:3,output:[11,13],over:4,overlap:13,own:8,p500:5,packag:[0,1],page:0,pair:5,panda:[3,4,5,10],par1:9,par2:9,parallel_util:[1,2],param:[3,4,8,9,10,11],paramet:[3,4,5,6,7,8,9,10,11,12,13],parametr:13,part:9,partit:[3,4,9,10,11,13],partition:[1,2,3,4,6,7,8,13],partition_funct:[4,6],partitioners_method:3,partitioners_model:3,pass:3,passeng:5,past:4,path:[3,4,11],pattern:4,pct:9,pdf:12,percent:3,percentag:3,percentu:[3,4],perform:[3,9,10,11,13],perform_loc:9,perform_width:9,period:9,persist:4,persist_env:4,persist_obj:4,person:[4,5],pertub:9,perturb:[2,6],perturbate_paramet:9,perturbation_factor:9,perturbation_factors__old:9,pesquisa:5,pftsexploreorderandpartit:3,php:5,phy:[5,6,13],physiolog:5,pictur:[3,4],pierc:3,pinbal:3,pinball_mean:3,pip:13,plambda:4,plot:[3,10,11,12],plot_compared_intervals_ahead:3,plot_compared_seri:3,plot_dataframe_interv:3,plot_dataframe_interval_pinbal:3,plot_dataframe_point:3,plot_dataframe_probabilist:3,plot_density_rectang:3,plot_distribut:3,plot_interv:3,plot_partition:11,plot_point:3,plot_probability_distribut:3,plot_residu:3,plot_rul:4,plot_set:[9,11],plot_sets_condit:9,plotcompar:3,plotforecast:3,plotresidu:3,pmf:[3,11],pmf_to_cdf:3,point:[3,4,6,7,8,9,10,12,13],point_dataframe_analytic_column:3,point_dataframe_synthetic_column:3,point_expected_valu:6,point_heurist:6,point_to_interv:3,poit:3,poly_width:9,polynomi:9,polynomialnonstationarypartition:9,poor:5,posit:[4,10],post:4,posterior:3,postprocess:[4,13],power:[4,6,13],pprint:4,pre:4,prebuilt:3,predict:[3,4,13],prefix:11,preprocess:[4,8,13],primari:3,print:3,print_distribution_statist:3,print_interval_statist:3,print_point_statist:3,probabil:3,probabilist:[1,2,3,4,6,7,13],probabilistic_dataframe_analytic_column:3,probabilistic_dataframe_synthetic_column:3,probabilisticweightedflrg:6,probabilisticweightedft:6,probabilitydist:3,probabilitydistribut:[1,2,3,4],probabl:[3,4,6,7,12],problem:6,procedur:[3,4],process:[3,4,5],process_common_data:3,process_interval_job:3,process_point_job:3,process_probabilistic_job:3,product:[5,6,13],prof:0,progress:3,project:[11,13],propos:13,provid:[0,4,13],psd:5,pseudo:12,pseudologlikelihood:12,pwflrg:6,pwft:[1,2],python:[2,13],q05:3,q25:3,q75:3,q95:3,quantil:[3,7,12],quantile_regress:3,quantileregress:3,quantreg:[1,2],queri:3,quick:0,quot:5,quotat:5,rais:4,random_walk:5,rang:[3,13],rank:3,rate:[6,13],read:5,readabl:0,real:[4,13],recent:13,record:4,recurr:4,red:3,reference_data:3,refin:[6,13],regress:3,relationship:[4,6,8,9,10],remov:4,ren:6,replac:3,repo:13,repr:4,repres:[3,4,12],represent:13,research:[0,13],residu:3,residualanalysi:[1,2],resolut:3,respect:[4,12],respons:10,result:[3,4],revers:4,review:[3,13],rhs_conditional_prob:6,rhs_unconditional_prob:6,right:4,ringgit:[6,13],rmse:3,rmse_interv:3,rmseavg:3,rmsestd:3,rng:9,robert:5,roger:4,roi:4,root:3,rossler:[1,2],rule:[3,4,8,13],rules_by_axi:4,run:3,run_interv:3,run_point:3,run_probabilist:3,sadaei:[1,2,13],salang:9,same:4,sampl:[3,5,6,13],sampler:7,save:[3,4,9,11],save_best:3,save_dataframe_interv:3,save_dataframe_point:3,save_dataframe_probabilist:3,save_model:4,scale:[3,4,13],scale_down:9,scale_param:3,scale_up:9,scan:4,scheme:[3,13],scienc:5,scientist:0,score:3,search:[0,4,6,13],season:[2,3,4,6,13],seasonalensembleft:7,seasonalflrg:10,seasonalft:10,seasonalindex:[2,6],second:10,second_of_dai:10,second_of_hour:10,second_of_minut:10,secur:5,selecaosimples_menorrms:3,select:5,sep:5,separ:5,sequenc:4,seri:[1,2,3,4,6,7,8,9,10,11],set:[3,4,6,8,9,10,11,12,13],set_data:10,set_lh:8,set_ord:4,set_rh:8,set_transform:7,setnam:11,sever:[3,11],severiano:6,sft:[2,6],shape:4,sharp:3,sharpavg:3,sharpstd:3,shortnam:4,show:[4,11],show_and_save_imag:4,shyi:6,side:4,sigma_inc:5,sigma_ini:5,sigmf:4,sigmoid:4,silva:[0,6],simpl:[0,5,10],simple_model_predict:4,simple_model_train:4,simplenonstationary_gridpartitioner_build:9,simplenonstationarypartition:9,simpler:4,simplesearch_rms:3,singl:4,single_plot_residu:3,singleton:[1,2,4],singletonpartition:11,sistema:5,size:[3,4,9,11],slice:4,slide:[3,4],sliding_window:4,sliding_window_benchmark:3,smape:3,smith:4,smooth:[4,13],social:[11,13],solar:6,sonda:[1,2],song:[1,2,10,13],sort:4,sort_ascend:3,sort_column:3,sortedcollect:[1,2],sourc:[3,4,5,6,7,8,9,10,11,12],sp500:5,space:3,specif:[3,4,6,7,8,9,10],split:[3,4,11],splitabov:11,splitbelow:11,splite:13,sql:3,sqlite3:3,sqlite:3,squar:3,ssci:6,standard:[3,5,13],start:[0,3,4,9],start_dispy_clust:4,stat:[3,6,13],station:5,stationari:9,statist:[0,3],statsmodel:3,step:[3,4,6,7,8,9,10,13],steps_ahead:[3,4],stochast:5,stock:5,stop_dispy_clust:4,store:[3,4],strang:5,string:[4,8,11],strip_datepart:10,structur:4,student:0,submodul:[0,1],subpackag:[0,1],suitabl:0,sum:6,sunspot:[1,2],superset:4,support:4,symbol:5,symmetr:3,symposium:6,synthet:[3,5],syst:[6,10,11,13],system:[5,6,9],tabl:3,tabular_dataframe_column:3,tag:3,taiex:[1,2,6,13],taiwan:5,take:13,tam:[3,9,11,12],target:3,tau:[3,5],technol:[11,13],tempor:[4,10,13],term:[3,6,13],test:[3,4,13],test_data:3,than:[4,13],thei:4,theil:3,theilsinequ:3,theoret:3,theori:13,thi:[0,4,5,6,9,10,12,13],thoma:4,those:4,thres1:11,thres2:11,threshold:11,through:5,time:[1,2,3,4,6,7,8,9,10,11],time_from:3,time_to:3,timegridpartition:10,times2:3,timeseri:5,titl:[3,11,12],tool:[0,13],total:5,tradit:6,train:[3,4,6,7,8,9,10,11],train_data:[3,7],train_individual_model:7,train_method:4,train_paramet:4,transact:9,transform:[1,2,3,8,9,11,13],transformations_param:4,transit:[4,13],translat:13,trapezoid:[4,11,13],trapmf:4,tree:[1,2],trend:[6,13],trendweightedflrg:6,trendweightedft:6,triangular:4,trigger:4,trimf:4,tsa:3,tsdl:5,tupl:3,two:5,twse:5,type:[3,4,5,12,13],typeonlegend:3,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,6,9,10],uniquefilenam:4,unit:10,univari:5,univers:[0,3,4,5,9,10,11,12,13],unpack_arg:9,uod:[3,4,6,12],uod_clip:4,up_param:3,update_model:6,update_uod:7,updateuod:[4,8],upper:[4,5,6,9],upper_set:11,url:[0,3,5],usa:5,usag:0,usd:[1,2],use:[0,4],used:[3,4,6,11,13],user:3,using:[4,6,13],ustatist:3,ustd:3,usual:[4,13],util:[1,2,6],val:11,valid:4,valu:[3,4,5,6,7,8,9,10,12,13],valueerror:4,variabl:[2,4,6],varianc:[4,5],vector:4,veri:[5,6],verif:3,visualize_distribut:6,vmax:5,vmin:5,vol:[6,10,11,13],want:0,weather:3,weight:[5,6,13],weightedflrg:6,weightedft:6,when:4,where:[3,4],which:[3,4,13],white_nois:5,whose:0,width:[9,11,12],width_param:9,window:[3,4],window_index:9,window_kei:3,window_s:9,windows:[3,4],winkler:3,winkler_mean:3,winkler_scor:3,without:4,word:3,work:4,wrap:3,www:5,yahoo:5,year:10,yearli:5,yeh:[11,13],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.models package","pyFTS.models.ensemble package","pyFTS.models.multivariate package","pyFTS.models.nonstationary package","pyFTS.models.seasonal package","pyFTS.partitioners package","pyFTS.probabilistic package","pyFTS Quick Start"],titleterms:{FTS:13,airpasseng:5,arima:3,artifici:5,benchmark:3,bitcoin:5,chaotic:5,chen:6,cheng:6,cmean:11,cmsft:10,common:[4,5,8,9,10],composit:4,conf:2,content:[2,3,4,5,6,7,8,9,10,11,12],cvft:9,data:5,dataset:5,dowjon:5,enrol:5,ensembl:7,entropi:11,ethereum:5,eur:5,exampl:13,fcm:11,flr:[4,8],flrg:[4,8,9],fts:4,fuzzi:[0,13],fuzzyset:4,gbp:5,glass:5,grid:11,henon:5,hoft:6,honsft:9,how:[0,13],huarng:11,hwang:6,ift:6,index:0,inmet:5,instal:13,ismailefendi:6,kde:12,knn:3,librari:0,logistic_map:5,lorentz:5,mackei:5,measur:3,membership:4,model:[6,7,8,9,10],modul:[2,3,4,5,6,7,8,9,10,11,12],msft:10,multiseason:7,multivari:8,mvft:8,naiv:3,nasdaq:5,nonstationari:9,nsft:9,packag:[2,3,4,5,6,7,8,9,10,11,12],parallel_util:11,partition:[9,10,11],perturb:9,probabilist:12,probabilitydistribut:12,pwft:6,pyft:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],pyftsa:[],python:0,quantreg:3,quick:13,refer:[0,13],residualanalysi:3,rossler:5,sadaei:6,season:10,seasonalindex:10,seri:[0,5,13],sft:10,singleton:11,sonda:5,song:6,sortedcollect:4,start:13,submodul:[2,3,4,5,6,7,8,9,10,11,12],subpackag:[2,6],sunspot:5,taiex:5,time:[0,5,13],transform:4,tree:4,usag:13,usd:5,util:[3,4,9,11],variabl:8,what:[0,13]}})
\ No newline at end of file
+Search.setIndex({docnames:["index","modules","pyFTS","pyFTS.benchmarks","pyFTS.common","pyFTS.data","pyFTS.models","pyFTS.models.ensemble","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.models.rst","pyFTS.models.ensemble.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_probabilistic_methods:[3,1,1,""],pftsExploreOrderAndPartitions:[3,1,1,""],plotCompared:[3,1,1,""],plot_compared_intervals_ahead:[3,1,1,""],plot_compared_series:[3,1,1,""],plot_density_rectange:[3,1,1,""],plot_distribution:[3,1,1,""],plot_interval:[3,1,1,""],plot_point:[3,1,1,""],plot_probability_distributions:[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,""]},"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,""],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,""],distributed_predict:[4,1,1,""],distributed_train:[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_rules:[4,1,1,""],show_and_save_image:[4,1,1,""],simple_model_predict:[4,1,1,""],simple_model_train:[4,1,1,""],sliding_window:[4,1,1,""],start_dispy_cluster:[4,1,1,""],stop_dispy_cluster:[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,""]},"pyFTS.common.fts":{FTS:[4,2,1,""]},"pyFTS.common.fts.FTS":{alpha_cut:[4,4,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_distribution:[4,3,1,""],forecast_interval:[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_high_order:[4,4,1,""],is_multivariate:[4,4,1,""],len_total:[4,3,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,""],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,"-"],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.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":{generate_gaussian_linear:[5,1,1,""],generate_uniform_linear:[5,1,1,""],random_walk:[5,1,1,""],white_noise:[5,1,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.models":{chen:[6,0,0,"-"],cheng:[6,0,0,"-"],ensemble:[7,0,0,"-"],hofts:[6,0,0,"-"],hwang:[6,0,0,"-"],ifts:[6,0,0,"-"],ismailefendi:[6,0,0,"-"],multivariate:[8,0,0,"-"],nonstationary:[9,0,0,"-"],pwfts:[6,0,0,"-"],sadaei:[6,0,0,"-"],seasonal:[10,0,0,"-"],song:[6,0,0,"-"],yu:[6,0,0,"-"]},"pyFTS.models.chen":{ConventionalFLRG:[6,2,1,""],ConventionalFTS:[6,2,1,""]},"pyFTS.models.chen.ConventionalFLRG":{append_rhs:[6,3,1,""],get_key:[6,3,1,""]},"pyFTS.models.chen.ConventionalFTS":{forecast:[6,3,1,""],generate_flrg:[6,3,1,""],train:[6,3,1,""]},"pyFTS.models.cheng":{TrendWeightedFLRG:[6,2,1,""],TrendWeightedFTS:[6,2,1,""]},"pyFTS.models.cheng.TrendWeightedFLRG":{weights:[6,3,1,""]},"pyFTS.models.cheng.TrendWeightedFTS":{generate_FLRG:[6,3,1,""]},"pyFTS.models.ensemble":{ensemble:[7,0,0,"-"],multiseasonal:[7,0,0,"-"]},"pyFTS.models.ensemble.ensemble":{AllMethodEnsembleFTS:[7,2,1,""],EnsembleFTS:[7,2,1,""],sampler:[7,1,1,""]},"pyFTS.models.ensemble.ensemble.AllMethodEnsembleFTS":{set_transformations:[7,3,1,""],train:[7,3,1,""]},"pyFTS.models.ensemble.ensemble.EnsembleFTS":{append_model:[7,3,1,""],forecast:[7,3,1,""],forecast_ahead_distribution:[7,3,1,""],forecast_ahead_interval:[7,3,1,""],forecast_distribution:[7,3,1,""],forecast_interval:[7,3,1,""],get_distribution_interquantile:[7,3,1,""],get_interval:[7,3,1,""],get_models_forecasts:[7,3,1,""],get_point:[7,3,1,""],models:[7,4,1,""],parameters:[7,4,1,""],train:[7,3,1,""]},"pyFTS.models.ensemble.multiseasonal":{SeasonalEnsembleFTS:[7,2,1,""],train_individual_model:[7,1,1,""]},"pyFTS.models.ensemble.multiseasonal.SeasonalEnsembleFTS":{forecast_distribution:[7,3,1,""],train:[7,3,1,""],update_uod:[7,3,1,""]},"pyFTS.models.hofts":{HighOrderFLRG:[6,2,1,""],HighOrderFTS:[6,2,1,""]},"pyFTS.models.hofts.HighOrderFLRG":{append_lhs:[6,3,1,""],append_rhs:[6,3,1,""]},"pyFTS.models.hofts.HighOrderFTS":{configure_lags:[6,3,1,""],forecast:[6,3,1,""],generate_flrg:[6,3,1,""],generate_lhs_flrg:[6,3,1,""],train:[6,3,1,""]},"pyFTS.models.hwang":{HighOrderFTS:[6,2,1,""]},"pyFTS.models.hwang.HighOrderFTS":{configure_lags:[6,3,1,""],forecast:[6,3,1,""],train:[6,3,1,""]},"pyFTS.models.ifts":{IntervalFTS:[6,2,1,""]},"pyFTS.models.ifts.IntervalFTS":{forecast_interval:[6,3,1,""],get_lower:[6,3,1,""],get_sequence_membership:[6,3,1,""],get_upper:[6,3,1,""]},"pyFTS.models.ismailefendi":{ImprovedWeightedFLRG:[6,2,1,""],ImprovedWeightedFTS:[6,2,1,""]},"pyFTS.models.ismailefendi.ImprovedWeightedFLRG":{append_rhs:[6,3,1,""],weights:[6,3,1,""]},"pyFTS.models.ismailefendi.ImprovedWeightedFTS":{forecast:[6,3,1,""],generate_flrg:[6,3,1,""],train:[6,3,1,""]},"pyFTS.models.multivariate":{FLR:[8,0,0,"-"],common:[8,0,0,"-"],flrg:[8,0,0,"-"],mvfts:[8,0,0,"-"],variable:[8,0,0,"-"]},"pyFTS.models.multivariate.FLR":{FLR:[8,2,1,""]},"pyFTS.models.multivariate.FLR.FLR":{set_lhs:[8,3,1,""],set_rhs:[8,3,1,""]},"pyFTS.models.multivariate.common":{fuzzyfy_instance:[8,1,1,""]},"pyFTS.models.multivariate.flrg":{FLRG:[8,2,1,""]},"pyFTS.models.multivariate.flrg.FLRG":{append_rhs:[8,3,1,""],get_membership:[8,3,1,""],set_lhs:[8,3,1,""]},"pyFTS.models.multivariate.mvfts":{MVFTS:[8,2,1,""]},"pyFTS.models.multivariate.mvfts.MVFTS":{append_variable:[8,3,1,""],apply_transformations:[8,3,1,""],clone_parameters:[8,3,1,""],forecast:[8,3,1,""],format_data:[8,3,1,""],generate_flrg:[8,3,1,""],generate_flrs:[8,3,1,""],generate_lhs_flrs:[8,3,1,""],train:[8,3,1,""]},"pyFTS.models.multivariate.variable":{Variable:[8,2,1,""]},"pyFTS.models.multivariate.variable.Variable":{alias:[8,4,1,""],apply_inverse_transformations:[8,3,1,""],apply_transformations:[8,3,1,""],build:[8,3,1,""],data_label:[8,4,1,""],name:[8,4,1,""]},"pyFTS.models.nonstationary":{common:[9,0,0,"-"],cvfts:[9,0,0,"-"],flrg:[9,0,0,"-"],honsfts:[9,0,0,"-"],nsfts:[9,0,0,"-"],partitioners:[9,0,0,"-"],perturbation:[9,0,0,"-"],util:[9,0,0,"-"]},"pyFTS.models.nonstationary.common":{FuzzySet:[9,2,1,""],check_bounds:[9,1,1,""],check_bounds_index:[9,1,1,""],fuzzify:[9,1,1,""],fuzzySeries:[9,1,1,""],window_index:[9,1,1,""]},"pyFTS.models.nonstationary.common.FuzzySet":{get_lower:[9,3,1,""],get_midpoint:[9,3,1,""],get_upper:[9,3,1,""],location:[9,4,1,""],location_params:[9,4,1,""],membership:[9,3,1,""],noise:[9,4,1,""],noise_params:[9,4,1,""],perform_location:[9,3,1,""],perform_width:[9,3,1,""],perturbate_parameters:[9,3,1,""],width:[9,4,1,""],width_params:[9,4,1,""]},"pyFTS.models.nonstationary.cvfts":{ConditionalVarianceFTS:[9,2,1,""],HighOrderNonstationaryFLRG:[9,2,1,""]},"pyFTS.models.nonstationary.cvfts.ConditionalVarianceFTS":{forecast:[9,3,1,""],forecast_interval:[9,3,1,""],generate_flrg:[9,3,1,""],perturbation_factors:[9,3,1,""],perturbation_factors__old:[9,3,1,""],train:[9,3,1,""]},"pyFTS.models.nonstationary.cvfts.HighOrderNonstationaryFLRG":{append_lhs:[9,3,1,""],append_rhs:[9,3,1,""]},"pyFTS.models.nonstationary.flrg":{NonStationaryFLRG:[9,2,1,""]},"pyFTS.models.nonstationary.flrg.NonStationaryFLRG":{get_key:[9,3,1,""],get_lower:[9,3,1,""],get_membership:[9,3,1,""],get_midpoint:[9,3,1,""],get_upper:[9,3,1,""],unpack_args:[9,3,1,""]},"pyFTS.models.nonstationary.honsfts":{HighOrderNonStationaryFLRG:[9,2,1,""],HighOrderNonStationaryFTS:[9,2,1,""]},"pyFTS.models.nonstationary.honsfts.HighOrderNonStationaryFLRG":{append_lhs:[9,3,1,""],append_rhs:[9,3,1,""]},"pyFTS.models.nonstationary.honsfts.HighOrderNonStationaryFTS":{forecast:[9,3,1,""],forecast_interval:[9,3,1,""],generate_flrg:[9,3,1,""],train:[9,3,1,""]},"pyFTS.models.nonstationary.nsfts":{ConventionalNonStationaryFLRG:[9,2,1,""],NonStationaryFTS:[9,2,1,""]},"pyFTS.models.nonstationary.nsfts.ConventionalNonStationaryFLRG":{append_rhs:[9,3,1,""],get_key:[9,3,1,""]},"pyFTS.models.nonstationary.nsfts.NonStationaryFTS":{conditional_perturbation_factors:[9,3,1,""],forecast:[9,3,1,""],forecast_interval:[9,3,1,""],generate_flrg:[9,3,1,""],train:[9,3,1,""]},"pyFTS.models.nonstationary.partitioners":{PolynomialNonStationaryPartitioner:[9,2,1,""],SimpleNonStationaryPartitioner:[9,2,1,""],simplenonstationary_gridpartitioner_builder:[9,1,1,""]},"pyFTS.models.nonstationary.partitioners.PolynomialNonStationaryPartitioner":{build:[9,3,1,""],get_polynomial_perturbations:[9,3,1,""],poly_width:[9,3,1,""],scale_down:[9,3,1,""],scale_up:[9,3,1,""]},"pyFTS.models.nonstationary.partitioners.SimpleNonStationaryPartitioner":{build:[9,3,1,""]},"pyFTS.models.nonstationary.perturbation":{exponential:[9,1,1,""],linear:[9,1,1,""],periodic:[9,1,1,""],polynomial:[9,1,1,""]},"pyFTS.models.nonstationary.util":{plot_sets:[9,1,1,""],plot_sets_conditional:[9,1,1,""]},"pyFTS.models.pwfts":{ProbabilisticWeightedFLRG:[6,2,1,""],ProbabilisticWeightedFTS:[6,2,1,""],visualize_distributions:[6,1,1,""]},"pyFTS.models.pwfts.ProbabilisticWeightedFLRG":{append_rhs:[6,3,1,""],get_lower:[6,3,1,""],get_membership:[6,3,1,""],get_midpoint:[6,3,1,""],get_upper:[6,3,1,""],lhs_conditional_probability:[6,3,1,""],partition_function:[6,3,1,""],rhs_conditional_probability:[6,3,1,""],rhs_unconditional_probability:[6,3,1,""]},"pyFTS.models.pwfts.ProbabilisticWeightedFTS":{add_new_PWFLGR:[6,3,1,""],flrg_lhs_conditional_probability:[6,3,1,""],flrg_lhs_unconditional_probability:[6,3,1,""],flrg_rhs_conditional_probability:[6,3,1,""],forecast:[6,3,1,""],forecast_ahead:[6,3,1,""],forecast_ahead_distribution:[6,3,1,""],forecast_ahead_interval:[6,3,1,""],forecast_distribution:[6,3,1,""],forecast_interval:[6,3,1,""],generate_flrg:[6,3,1,""],generate_lhs_flrg:[6,3,1,""],get_lower:[6,3,1,""],get_midpoint:[6,3,1,""],get_upper:[6,3,1,""],interval_heuristic:[6,3,1,""],interval_quantile:[6,3,1,""],point_expected_value:[6,3,1,""],point_heuristic:[6,3,1,""],train:[6,3,1,""],update_model:[6,3,1,""]},"pyFTS.models.sadaei":{ExponentialyWeightedFLRG:[6,2,1,""],ExponentialyWeightedFTS:[6,2,1,""]},"pyFTS.models.sadaei.ExponentialyWeightedFLRG":{append_rhs:[6,3,1,""],weights:[6,3,1,""]},"pyFTS.models.sadaei.ExponentialyWeightedFTS":{forecast:[6,3,1,""],generate_flrg:[6,3,1,""],train:[6,3,1,""]},"pyFTS.models.seasonal":{SeasonalIndexer:[10,0,0,"-"],cmsfts:[10,0,0,"-"],common:[10,0,0,"-"],msfts:[10,0,0,"-"],partitioner:[10,0,0,"-"],sfts:[10,0,0,"-"]},"pyFTS.models.seasonal.SeasonalIndexer":{DataFrameSeasonalIndexer:[10,2,1,""],DateTimeSeasonalIndexer:[10,2,1,""],LinearSeasonalIndexer:[10,2,1,""],SeasonalIndexer:[10,2,1,""]},"pyFTS.models.seasonal.SeasonalIndexer.DataFrameSeasonalIndexer":{get_data:[10,3,1,""],get_data_by_season:[10,3,1,""],get_index_by_season:[10,3,1,""],get_season_by_index:[10,3,1,""],get_season_of_data:[10,3,1,""],set_data:[10,3,1,""]},"pyFTS.models.seasonal.SeasonalIndexer.DateTimeSeasonalIndexer":{get_data:[10,3,1,""],get_data_by_season:[10,3,1,""],get_index:[10,3,1,""],get_index_by_season:[10,3,1,""],get_season_by_index:[10,3,1,""],get_season_of_data:[10,3,1,""],set_data:[10,3,1,""]},"pyFTS.models.seasonal.SeasonalIndexer.LinearSeasonalIndexer":{get_data:[10,3,1,""],get_index_by_season:[10,3,1,""],get_season_by_index:[10,3,1,""],get_season_of_data:[10,3,1,""]},"pyFTS.models.seasonal.SeasonalIndexer.SeasonalIndexer":{get_data:[10,3,1,""],get_data_by_season:[10,3,1,""],get_index:[10,3,1,""],get_index_by_season:[10,3,1,""],get_season_by_index:[10,3,1,""],get_season_of_data:[10,3,1,""]},"pyFTS.models.seasonal.cmsfts":{ContextualMultiSeasonalFTS:[10,2,1,""],ContextualSeasonalFLRG:[10,2,1,""]},"pyFTS.models.seasonal.cmsfts.ContextualMultiSeasonalFTS":{forecast:[10,3,1,""],forecast_ahead:[10,3,1,""],generate_flrg:[10,3,1,""],get_midpoints:[10,3,1,""],train:[10,3,1,""]},"pyFTS.models.seasonal.cmsfts.ContextualSeasonalFLRG":{append_rhs:[10,3,1,""]},"pyFTS.models.seasonal.common":{DateTime:[10,2,1,""],FuzzySet:[10,2,1,""],strip_datepart:[10,1,1,""]},"pyFTS.models.seasonal.common.DateTime":{day_of_month:[10,4,1,""],day_of_week:[10,4,1,""],day_of_year:[10,4,1,""],hour:[10,4,1,""],hour_of_day:[10,4,1,""],hour_of_month:[10,4,1,""],hour_of_week:[10,4,1,""],hour_of_year:[10,4,1,""],minute_of_day:[10,4,1,""],minute_of_hour:[10,4,1,""],minute_of_month:[10,4,1,""],minute_of_week:[10,4,1,""],minute_of_year:[10,4,1,""],month:[10,4,1,""],second:[10,4,1,""],second_of_day:[10,4,1,""],second_of_hour:[10,4,1,""],second_of_minute:[10,4,1,""],year:[10,4,1,""]},"pyFTS.models.seasonal.common.FuzzySet":{membership:[10,3,1,""]},"pyFTS.models.seasonal.msfts":{MultiSeasonalFTS:[10,2,1,""]},"pyFTS.models.seasonal.msfts.MultiSeasonalFTS":{forecast:[10,3,1,""],forecast_ahead:[10,3,1,""],generate_flrg:[10,3,1,""],train:[10,3,1,""]},"pyFTS.models.seasonal.partitioner":{TimeGridPartitioner:[10,2,1,""]},"pyFTS.models.seasonal.partitioner.TimeGridPartitioner":{build:[10,3,1,""],plot:[10,3,1,""]},"pyFTS.models.seasonal.sfts":{SeasonalFLRG:[10,2,1,""],SeasonalFTS:[10,2,1,""]},"pyFTS.models.seasonal.sfts.SeasonalFLRG":{append_rhs:[10,3,1,""],get_key:[10,3,1,""]},"pyFTS.models.seasonal.sfts.SeasonalFTS":{forecast:[10,3,1,""],generate_flrg:[10,3,1,""],get_midpoints:[10,3,1,""],train:[10,3,1,""]},"pyFTS.models.song":{ConventionalFTS:[6,2,1,""]},"pyFTS.models.song.ConventionalFTS":{flr_membership_matrix:[6,3,1,""],forecast:[6,3,1,""],operation_matrix:[6,3,1,""],train:[6,3,1,""]},"pyFTS.models.yu":{WeightedFLRG:[6,2,1,""],WeightedFTS:[6,2,1,""]},"pyFTS.models.yu.WeightedFLRG":{append_rhs:[6,3,1,""],weights:[6,3,1,""]},"pyFTS.models.yu.WeightedFTS":{forecast:[6,3,1,""],generate_FLRG:[6,3,1,""],train:[6,3,1,""]},"pyFTS.partitioners":{CMeans:[11,0,0,"-"],Entropy:[11,0,0,"-"],FCM:[11,0,0,"-"],Grid:[11,0,0,"-"],Huarng:[11,0,0,"-"],Singleton:[11,0,0,"-"],Util:[11,0,0,"-"],parallel_util:[11,0,0,"-"],partitioner:[11,0,0,"-"]},"pyFTS.partitioners.CMeans":{CMeansPartitioner:[11,2,1,""],c_means:[11,1,1,""],distance:[11,1,1,""]},"pyFTS.partitioners.CMeans.CMeansPartitioner":{build:[11,3,1,""]},"pyFTS.partitioners.Entropy":{EntropyPartitioner:[11,2,1,""],PMF:[11,1,1,""],bestSplit:[11,1,1,""],entropy:[11,1,1,""],informationGain:[11,1,1,""],splitAbove:[11,1,1,""],splitBelow:[11,1,1,""]},"pyFTS.partitioners.Entropy.EntropyPartitioner":{build:[11,3,1,""]},"pyFTS.partitioners.FCM":{FCMPartitioner:[11,2,1,""],fuzzy_cmeans:[11,1,1,""],fuzzy_distance:[11,1,1,""],membership:[11,1,1,""]},"pyFTS.partitioners.FCM.FCMPartitioner":{build:[11,3,1,""]},"pyFTS.partitioners.Grid":{GridPartitioner:[11,2,1,""]},"pyFTS.partitioners.Grid.GridPartitioner":{build:[11,3,1,""]},"pyFTS.partitioners.Huarng":{HuarngPartitioner:[11,2,1,""]},"pyFTS.partitioners.Huarng.HuarngPartitioner":{build:[11,3,1,""]},"pyFTS.partitioners.Singleton":{SingletonPartitioner:[11,2,1,""]},"pyFTS.partitioners.Singleton.SingletonPartitioner":{build:[11,3,1,""]},"pyFTS.partitioners.Util":{explore_partitioners:[11,1,1,""],plot_partitioners:[11,1,1,""],plot_sets:[11,1,1,""]},"pyFTS.partitioners.parallel_util":{explore_partitioners:[11,1,1,""]},"pyFTS.partitioners.partitioner":{Partitioner:[11,2,1,""]},"pyFTS.partitioners.partitioner.Partitioner":{build:[11,3,1,""],get_name:[11,3,1,""],lower_set:[11,3,1,""],membership_function:[11,4,1,""],name:[11,4,1,""],partitions:[11,4,1,""],plot:[11,3,1,""],plot_set:[11,3,1,""],prefix:[11,4,1,""],setnames:[11,4,1,""],transformation:[11,4,1,""],upper_set:[11,3,1,""]},"pyFTS.probabilistic":{ProbabilityDistribution:[12,0,0,"-"],kde:[12,0,0,"-"]},"pyFTS.probabilistic.ProbabilityDistribution":{ProbabilityDistribution:[12,2,1,""]},"pyFTS.probabilistic.ProbabilityDistribution.ProbabilityDistribution":{append:[12,3,1,""],append_interval:[12,3,1,""],averageloglikelihood:[12,3,1,""],bins:[12,4,1,""],build_cdf_qtl:[12,3,1,""],crossentropy:[12,3,1,""],cumulative:[12,3,1,""],density:[12,3,1,""],differential_offset:[12,3,1,""],empiricalloglikelihood:[12,3,1,""],entropy:[12,3,1,""],expected_value:[12,3,1,""],kullbackleiblerdivergence:[12,3,1,""],labels:[12,4,1,""],plot:[12,3,1,""],pseudologlikelihood:[12,3,1,""],quantile:[12,3,1,""],set:[12,3,1,""],type:[12,4,1,""],uod:[12,4,1,""]},"pyFTS.probabilistic.kde":{KernelSmoothing:[12,2,1,""]},"pyFTS.probabilistic.kde.KernelSmoothing":{h:[12,4,1,""],kernel:[12,4,1,""],kernel_function:[12,3,1,""],probability:[12,3,1,""]},pyFTS:{benchmarks:[3,0,0,"-"],common:[4,0,0,"-"],conf:[2,0,0,"-"],data:[5,0,0,"-"],models:[6,0,0,"-"],partitioners:[11,0,0,"-"],probabilistic:[12,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,11],"case":4,"class":[3,4,6,7,8,9,10,11,12,13],"default":[3,4,5],"enum":10,"fa\u00e7ad":[3,4],"final":4,"float":[3,4,5],"function":[3,4,9,11,12,13],"guimar\u00e3":[0,6],"h\u00e9non":5,"import":[4,8,13],"int":[6,13],"na\u00efv":3,"new":[4,7,8],"organiza\u00e7\u00e3o":5,"petr\u00f4nio":6,"r\u00f6ssler":5,"return":[3,4,5,6,7,8,9,10,11,12],"short":[4,6,13],"true":[3,4],"try":4,"var":[5,8],"while":4,And:3,FTS:[0,3,4,6,7,8,9,10],For:3,LHS:[4,6,9],RHS:[4,6,9],The:[3,4,5,11,12,13],Then:[3,13],There:13,These:[0,13],Use:10,abdullah:[6,13],acc:4,account:12,accuraci:3,acf:3,actual:12,adapt:4,adaptiveexpect:4,add:[3,4,9],add_new_pwflgr:6,added:4,address:[3,4],affect:9,after:5,age:4,aged:4,aggreg:[4,7],ahead:[3,4,6,7,8,9,10,13],ahed:13,airlin:5,airpasseng:[1,2],alabama:5,alia:[3,4,8],all:[3,4,12,13],allmethodensembleft:7,almost:13,alpha:[4,6,7,10],alpha_cut:4,alreadi:5,also:[0,4,13],ambientai:5,analysi:3,analytic_tabular_datafram:3,analytical_data_column:3,angela:4,api:[0,4],append:[4,7,8,12],append_interv:12,append_lh:[6,9],append_model:7,append_rh:[4,6,8,9,10],append_set:4,append_transform:4,append_vari:8,appendchild:4,appl:[6,11,13],appli:[3,4,8,11,12],apply_inverse_transform:[4,8],apply_transform:[4,8],approach:[3,11,13],arg:9,argument:[3,4],arima:[1,2],arima_model:3,around:4,arrai:[4,5,9,10],artifici:[1,2],ascend:3,aspx:5,assert:12,assign:[4,12],assoc:3,associ:5,ata:3,atmospher:5,atribut:3,attibut:4,attractor:5,auto:11,auto_upd:4,autocorrel:3,autom:5,automat:4,auxiliar:3,auxiliari:12,averag:[3,5,12],averageloglikelihood:12,avg:5,axes:9,axi:[3,4,11,12],azim:3,bar:3,base:[3,4,6,7,8,9,10,11,12,13],base_dataframe_column:3,batch:4,batch_sav:4,befor:13,being:3,bell:4,bellmf:4,belo:[0,5],belog:4,below:13,benchmark:[1,2,4],benchmark_method:3,benchmark_methods_paramet:3,benchmark_model:3,benchmark_onli:4,bestsplit:11,better:13,between:[3,4,12],bill:4,bin:[3,12],bisect:4,bitcoin:[1,2],bivari:5,black:12,blue:3,bound:[4,5,6,9,11],box:[3,4,13],boxcox:4,boxljungstatist:3,boxpiercestatist:3,brasil:5,brasilia:5,brazil:0,brazilian:0,brier:3,brier_scor:3,btc:5,build:[8,9,10,11],build_cdf_qtl:12,build_method:3,build_tree_without_ord:4,built:11,buseco:5,busi:5,c_mean:11,calcul:[4,9,10],call:4,camwa:11,can:[3,4,13],capabl:3,capit:5,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,10],certain:12,chang:[5,11,13],chao:5,chaotic:[1,2],characterist:13,cheap:0,check:[4,5,13],check_bound:[4,9],check_bounds_index:[4,9],check_ignore_list:3,check_replace_list:3,chen:[1,2,8,10,13],cheng:[1,2,11,13],chi:3,chi_squar:3,chia:6,child:4,chissom:[6,13],clear:4,clip:4,clone:13,clone_paramet:[4,8],cluster:[3,4],cmap:3,cmean:[1,2],cmeanspartition:[11,13],cmsft:[2,6],code:13,coeffici:[3,5],colab:13,colabor:0,color:[3,9,12],column:[4,8],com:[5,13],common:[1,2,3,6,7,11,13],commun:5,compar:3,compare_residu:3,comparemodelsplot:3,comparemodelst:3,complet:5,complic:5,compon:7,composit:[1,2,5],compress:5,comput:[6,11,13],computation:0,condens:3,condit:3,conditional_perturbation_factor:9,conditionalvarianceft:9,conf:[0,1],confer:6,configure_lag:6,conn:3,connect:3,consid:4,const_t:9,constant:5,contain:[3,4,8,13],content:[0,1],contextu:10,contextualmultiseasonalft:10,contextualseasonalflrg:10,contin:12,continu:[3,5,12],control:5,convent:[6,9,10],conventionalflrg:6,conventionalft:[6,8],conventionalnonstationaryflrg:9,copi:4,cost:[11,13],count:[4,12],counter:11,covavg:3,coverag:3,covstd:3,cox:[4,13],creat:[3,4,11,13],create_benchmark_t:3,criteria:3,cross:[4,12],crossentropi:12,crp:3,crps1avg:3,crps1std:3,crps2avg:3,crps2std:3,crps_distr:3,crps_interv:3,crpsavg:3,crpsstd:3,csv:5,cumul:12,current:3,current_milli_tim:4,cut:4,cvft:[2,6],dado:[4,5,11],dai:5,daili:5,data:[0,1,2,3,4,6,7,8,9,10,11,12,13],data_column:3,data_field:10,data_label:8,data_point:8,databas:3,datafram:[3,4,5,8,10],dataframeseasonalindex:10,dataset:[1,2,3,4],date:[3,10],date_field:10,date_part:10,datepart:10,datetim:10,datetimeseasonalindex:10,david:4,day_of_month:10,day_of_week:10,day_of_year:10,dealer:5,dec:11,decemb:5,decis:3,decompress:5,defin:3,defuzzyf:13,deg:9,delet:4,deltadist:11,demo:13,densiti:[3,12],departa:0,depend:[3,4,13],dependeci:4,deri:[6,13],design:[3,4],detail:4,determin:3,determinist:[5,11],develop:[0,13],deviat:3,dict:[3,4],dictionari:[3,4],differenti:[4,5,12,13],differential_offset:12,diffus:[6,13],dill:4,dimension:5,directli:[4,13],discours:[3,4,9,10,11,12,13],discret:12,disk:[4,11],dispi:[3,4],displac:9,displai:3,distanc:[3,11],distribut:[3,4,5,6,7,12],distributed_predict:4,distributed_train:4,diverg:12,dji:5,dnf:5,document:0,doi10:6,doi:[0,3,5,11],dollar:[6,13],don:5,dow:5,dowjon:[1,2],download:5,draw_sets_on_axi:4,dure:[3,4],dynam:5,each:[3,4,5,7,8,13],easi:[0,4],easier:4,edu:5,edward:5,efendi:[6,13],effect:[11,13],effici:4,electr:[0,6,13],elev:3,empir:[11,12],empiricalloglikelihood:12,enayatifar:[6,13],end:9,endogen:8,energi:[6,13],engin:0,enrol:[1,2,6,10,13],ensembl:[2,4,6],ensembleft:7,entir:4,entropi:[1,2,12,13],entropypartition:[11,13],enumer:10,enumerate2:4,environ:4,epanechnikov:12,equal:[3,4,6,7,8,9,10,13],equat:5,error:3,espaciai:5,esrl:5,estim:[3,12],etc:[4,13],eth:5,ethereum:[1,2],eur:[1,2],eurgbp:5,eurusd:5,even:[10,11],exact:4,exampl:0,exchang:[5,6,13],execut:3,exist:5,expect:[4,6,12],expected_valu:12,experi:3,expert:[0,6,13],explain:[4,6],exploit:0,explore_partition:11,exponenti:[6,9,13],exponentiali:6,exponentialyweightedflrg:6,exponentialyweightedft:6,express:3,extens:8,extern:[3,4],externalforecast:3,externalmodel:3,extract:[3,5],extract_measur:3,facil:[3,4,5,11],fall:3,fals:[3,4,6,8,9,11],fcm:[1,2],fcmpartition:[11,13],feder:0,fetch:4,field:[5,10],fig:[3,4,9],figur:4,file:[3,4,5,9,11],file_analyt:3,file_path:4,file_synthet:3,filenam:[3,4,5],filenem:3,filesystem:4,fill:3,filter:3,financ:5,find:[4,10,11],find_best:3,find_g:4,find_gt:4,find_l:4,find_lt:4,first:[3,4,6,9,10],fit:[3,4,6,7,8,9,10],five:4,flag:4,flashquot:5,flat:4,flow:5,flr:[1,2,6,9,10],flr_membership_matrix:6,flrg:[1,2,6,10],flrg_lhs_conditional_prob:6,flrg_lhs_unconditional_prob:6,flrg_rhs_conditional_prob:6,flrgtree:4,flrgtreenod:4,foreast:3,forecast:[3,4,6,7,8,9,10,11,13],forecast_ahead:[4,6,10],forecast_ahead_distribut:[3,4,6,7],forecast_ahead_interv:[3,4,6,7],forecast_distribut:[3,4,6,7],forecast_interv:[3,4,6,7,9],forex:5,fork:0,format:3,format_data:8,forward:4,found:[4,13],frederico:[0,6],frequenc:12,from:[0,3,4,5,6,8,12,13],fset:8,fts:[1,2,3,6,7,8,9,10],fts_method:4,fuzz:6,fuzzi:[2,4,6,8,9,10,11],fuzzif:[11,13],fuzzifi:[4,9],fuzzy_cmean:11,fuzzy_dist:11,fuzzy_set:4,fuzzydata:4,fuzzyf:[4,13],fuzzyfi:4,fuzzyfy_inst:[4,8],fuzzyfy_seri:4,fuzzyfy_series_old:4,fuzzyseri:9,fuzzyset:[1,2,6,9,10],gadelha:[0,6],gani:[6,13],garibaldi:9,gaussian:[4,5],gaussmf:4,gbp:[1,2],gbpusd:5,gcos_wgsp:5,gener:[4,5,11,13],generate_flr:8,generate_flrg:[6,8,9,10],generate_gaussian_linear:5,generate_high_order_recurrent_flr:4,generate_indexed_flr:4,generate_lhs_flr:8,generate_lhs_flrg:6,generate_non_recurrent_flr:4,generate_recurrent_flr:4,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_data:[5,10],get_data_by_season:10,get_datafram:5,get_dataframe_from_bd:3,get_distribution_interquantil:7,get_distribution_statist:3,get_fuzzyset:4,get_index:10,get_index_by_season:10,get_interv:7,get_interval_method:3,get_interval_statist:3,get_kei:[4,6,9,10],get_low:[4,6,9],get_maximum_membership_fuzzyset:4,get_maximum_membership_fuzzyset_index:4,get_membership:[4,6,8,9],get_midpoint:[4,6,9,10],get_models_forecast:7,get_nam:11,get_point:7,get_point_method:3,get_point_statist:3,get_polynomial_perturb:9,get_probabilistic_method:3,get_season_by_index:10,get_season_of_data:10,get_sequence_membership:6,get_uod:4,get_upp:[4,6,9],getchildren:4,getstr:4,git:13,github:[0,13],given:[3,4,9,10,11,12],glass:[1,2],good:13,googl:13,gov:5,grant_bound:4,greater:4,grid:[1,2,3,10],gridpartition:[3,11,13],group:[3,4,6,8,9,10],hand:4,handl:[4,6],hard:4,harmoni:[6,13],has_interval_forecast:4,has_point_forecast:4,has_probability_forecast:4,has_season:4,head:0,heavysid:3,heavyside_cdf:3,height:11,henon:[1,2],here:13,heteroskedast:9,high:[3,4,6,9],highorderflrg:6,highorderft:[6,9],highordernonstationaryflrg:9,highordernonstationaryft:9,histogram:12,histori:5,hoang:6,hoft:[1,2,9],honsft:[2,6],horizon:[3,4],horizont:[0,5],hossein:6,hour:[3,10],hour_of_dai:10,hour_of_month:10,hour_of_week:10,hour_of_year:10,http:[0,5,13],http_server:4,huarng:[1,2,13],huarngpartition:[11,13],human:0,hwang:[1,2],hybrid:[6,13],hyndman:5,identifi:[3,4,6,9,10],ieee:[6,9],ifmg:0,ifnmg:0,ift:[1,2],ignor:[3,10],imag:[4,11],implement:[4,10,13],improv:[6,11,13],improvedweightedflrg:6,improvedweightedft:6,inc:[3,4],increment:[3,4,5,12],ind:10,indentifi:3,index:[3,4,5,7,10],index_field:10,index_season:10,index_seri:5,indexedflr:4,indic:[3,4,5],inequ:3,infer:5,infil:3,inform:[3,4,12],informationgain:11,initi:[4,5],initial_valu:5,inmet:[1,2],innov:[6,13],inp:5,input:[4,6,8,9,10,12],insert:[3,4],insert_benchmark:3,insert_right:4,insid:[3,4,10,12],inst:[4,9],instal:0,instanc:[9,13],instead:4,instituit:0,institut:0,instituto:5,integ:[3,4],integr:5,intel:[6,13],intellig:6,intend:0,intern:6,internet:5,interpol:3,interpret:4,interv:[3,4,6,7,9,11,12,13],interval_dataframe_analytic_column:3,interval_dataframe_synthetic_column:3,interval_heurist:6,interval_quantil:6,interval_to_interv:3,intervalar:13,intervalft:6,introduc:13,introspect:4,invers:[4,13],ipynb:13,is_high_ord:4,is_multivari:4,ismail:[6,13],ismailefendi:[1,2],isol:11,item:4,itemgett:4,iter:[4,5],its:[5,6,8,10,11,13],ixic:5,januari:5,jaroszewski:9,javedani:6,jeng:6,job:3,jonathan:9,jone:[4,5],journal:5,jun:[11,13],jupyt:13,kde:[1,2],kei:[3,4],kernel:12,kernel_funct:12,kernelsmooth:12,knearestneighbor:3,knn:[1,2],kullback:12,kullbackleiblerdiverg:12,kwarg:[3,4,6,7,8,9,10,11,12],lab:0,label:[3,12],lag:[4,5,13],largest:4,last:4,later:13,layman:0,lcolor:3,lee:6,left:4,legend:[3,4],leibler:12,len_tot:4,length:[3,4,6,7,8,9,10,11,13],less:4,lett:5,level:4,lgd:4,lhs_conditional_prob:6,librari:[2,5],like:[4,13],likelihood:12,limit:4,lin:11,linear:[5,9],linearmodel:3,linearseasonalindex:10,linewidth:3,linspac:5,list:[3,4,5,6,7,8,9,10,11,12,13],ljung:3,lo_param:3,load:[4,5,6,13],load_env:4,load_obj:4,local:5,locat:[4,9],location_param:9,log:[4,12],logic:[4,6,8,9,10],logist:[4,5],logistic_map:[1,2],look:4,lookup:4,lorentz:[1,2],lorenz:5,loss:3,lower:[4,5,6,9,11],lower_set:11,mackei:[1,2],mackey_glass:5,mai:5,main:13,malaysia:[6,13],mandatori:4,mani:13,map:[3,5],mape:3,mape_interv:3,marcin:9,market:5,mass:4,match:4,math:[5,11],mathemat:5,matplotlib:[4,11],max:4,max_inc:5,max_ini:5,max_lag:[3,4,6,7,8,9,10],maxim:4,maximum:[4,11],mean:[3,4,5],measur:[1,2],mech:[6,13],membership:[1,2,6,8,9,10,11,13],membership_funct:11,memori:4,merg:4,meta:7,meteorologia:5,method:[0,3,4,5,6,7,8,9,10,11,13],metric:3,mft:3,midpoint:[4,9],min:4,min_inc:5,min_ini:5,min_ord:4,mina:0,mind:0,ming:6,minim:[3,4,6,7,8,9,10],minimum:[4,13],minute_of_dai:10,minute_of_hour:10,minute_of_month:10,minute_of_week:10,minute_of_year:10,mode:4,model:[0,1,2,3,4,5,11,13],modelo:3,models_fo:3,models_ho:3,modul:[0,1,13],monash:5,month:10,monthli:[3,5],more:13,most:13,move:3,msft:[2,6],mu_inc:5,mu_ini:5,much:4,multi:[3,4,10],multiseason:[2,6],multiseasonalft:10,multivari:[2,4,5,6],musikasuwan:9,mvft:[2,6],nacion:5,naiv:[1,2],name:[3,4,5,7,8,9,10,11],nasdaq:[1,2],nation:5,natur:5,nbin:[4,6],nbsp:0,ndata:[3,4,6,9],nearest:3,need:4,neighbor:3,next:13,nice:4,noaa:5,node:[3,4],nois:9,noise_param:9,non:[3,4,9,13],none:[3,4,5,7,8,9,10,11,12],nonperiod:5,nonstationari:[2,4,6],nonstationaryflrg:9,nonstationaryft:9,norm:6,normal:13,north:0,norton:5,notebook:13,noth:13,nov:[11,13],now:4,npart:[9,11],nsft:[2,6],num:5,num_batch:4,num_season:10,number:[3,4,5,6,7,10,11,12,13],numer:13,numpi:[4,5],obj:[3,4,11],object:[3,4,6,7,8,10,11,12],objectsist:3,occur:4,occurr:4,old:4,older:4,oldest:4,onc:4,one:[3,4,6,7,8,9,10,12,13],onli:4,only_lin:9,open:3,open_benchmark_db:3,oper:[4,13],operation_matrix:6,option:[3,4],order:[3,4,6,9,10,13],ordered_set:[4,9],ordin:4,org:[0,5],origin:[3,4,13],original_max:4,original_min:4,oscil:5,other:[3,4,7,8],otherwis:3,out:13,outfil:3,output:[11,13],over:4,overlap:13,own:8,p500:5,packag:[0,1],page:0,pair:5,panda:[3,4,5,10],par1:9,par2:9,parallel_util:[1,2],param:[3,4,8,9,10],paramet:[3,4,5,6,7,8,9,10,11,12,13],parametr:13,part:9,partit:[3,4,9,10,11,13],partition:[1,2,3,4,6,7,8,13],partition_funct:[4,6],partitioners_method:3,partitioners_model:3,pass:3,passeng:5,past:4,path:[3,4,11],pattern:4,pct:9,pdf:12,percent:3,percentag:3,percentu:[3,4],perform:[3,9,10,11,13],perform_loc:9,perform_width:9,period:9,persist:4,persist_env:4,persist_obj:4,person:[4,5],pertub:9,perturb:[2,6],perturbate_paramet:9,perturbation_factor:9,perturbation_factors__old:9,pesquisa:5,pftsexploreorderandpartit:3,php:5,phy:[5,6,13],physiolog:5,pictur:[3,4],pierc:3,pinbal:3,pinball_mean:3,pip:13,plambda:4,plot:[3,10,11,12],plot_compared_intervals_ahead:3,plot_compared_seri:3,plot_dataframe_interv:3,plot_dataframe_interval_pinbal:3,plot_dataframe_point:3,plot_dataframe_probabilist:3,plot_density_rectang:3,plot_distribut:3,plot_interv:3,plot_partition:11,plot_point:3,plot_probability_distribut:3,plot_residu:3,plot_rul:4,plot_set:[9,11],plot_sets_condit:9,plotcompar:3,plotforecast:3,plotresidu:3,pmf:[3,11],pmf_to_cdf:3,point:[3,4,6,7,8,9,10,12,13],point_dataframe_analytic_column:3,point_dataframe_synthetic_column:3,point_expected_valu:6,point_heurist:6,point_to_interv:3,poit:3,poly_width:9,polynomi:9,polynomialnonstationarypartition:9,poor:5,posit:[4,10],post:4,posterior:3,postprocess:[4,13],power:[4,6,13],pprint:4,pre:4,prebuilt:3,predict:[3,4,6,7,9,13],prefix:11,preprocess:[4,8,13],primari:3,print:3,print_distribution_statist:3,print_interval_statist:3,print_point_statist:3,probabil:3,probabilist:[1,2,3,4,6,7,13],probabilistic_dataframe_analytic_column:3,probabilistic_dataframe_synthetic_column:3,probabilisticweightedflrg:6,probabilisticweightedft:6,probabilitydist:3,probabilitydistribut:[1,2,3,4,6,7],probabl:[3,4,6,7,12],problem:6,procedur:[3,4],process:[3,4,5],process_common_data:3,process_interval_job:3,process_point_job:3,process_probabilistic_job:3,product:[5,6,13],prof:0,progress:3,project:[11,13],propos:13,provid:[0,4,13],psd:5,pseudo:12,pseudologlikelihood:12,pwflrg:6,pwft:[1,2],python:[2,13],q05:3,q25:3,q75:3,q95:3,quantil:[3,7,12],quantile_regress:3,quantileregress:3,quantreg:[1,2],queri:3,quick:0,quot:5,quotat:5,rais:4,random_walk:5,rang:[3,13],rank:3,rate:[6,13],read:5,readabl:0,real:[4,13],recent:13,record:4,recurr:4,red:3,reference_data:3,refin:[6,13],regress:3,relationship:[4,6,8,9,10],remov:4,ren:6,replac:3,repo:13,repr:4,repres:[3,4,6,7,12],represent:13,research:[0,13],residu:3,residualanalysi:[1,2],resolut:3,respect:[4,12],respons:10,result:[3,4],revers:4,review:[3,13],rhs_conditional_prob:6,rhs_unconditional_prob:6,right:4,ringgit:[6,13],rmse:3,rmse_interv:3,rmseavg:3,rmsestd:3,rng:9,robert:5,roger:4,roi:4,root:3,rossler:[1,2],rule:[3,4,8,13],rules_by_axi:4,run:3,run_interv:3,run_point:3,run_probabilist:3,sadaei:[1,2,13],salang:9,same:4,sampl:[3,5,6,13],sampler:7,save:[3,4,9,11],save_best:3,save_dataframe_interv:3,save_dataframe_point:3,save_dataframe_probabilist:3,save_model:4,scale:[3,4,13],scale_down:9,scale_param:3,scale_up:9,scan:4,scheme:[3,13],scienc:5,scientist:0,score:3,search:[0,4,6,13],season:[2,3,4,6,13],seasonalensembleft:7,seasonalflrg:10,seasonalft:10,seasonalindex:[2,6],second:10,second_of_dai:10,second_of_hour:10,second_of_minut:10,secur:5,selecaosimples_menorrms:3,select:5,sep:5,separ:5,sequenc:4,seri:[1,2,3,4,6,7,8,9,10,11],set:[3,4,6,8,9,10,11,12,13],set_data:10,set_lh:8,set_ord:4,set_rh:8,set_transform:7,setnam:11,sever:[3,11],severiano:6,sft:[2,6],shape:4,sharp:3,sharpavg:3,sharpstd:3,shortnam:4,show:[4,11],show_and_save_imag:4,shyi:6,side:4,sigma_inc:5,sigma_ini:5,sigmf:4,sigmoid:4,silva:[0,6],simpl:[0,5,10],simple_model_predict:4,simple_model_train:4,simplenonstationary_gridpartitioner_build:9,simplenonstationarypartition:9,simpler:4,simplesearch_rms:3,singl:4,single_plot_residu:3,singleton:[1,2,4],singletonpartition:11,sistema:5,size:[3,4,9,11],slice:4,slide:[3,4],sliding_window:4,sliding_window_benchmark:3,smape:3,smith:4,smooth:[4,13],social:[11,13],solar:6,sonda:[1,2],song:[1,2,10,13],sort:4,sort_ascend:3,sort_column:3,sortedcollect:[1,2],sourc:[3,4,5,6,7,8,9,10,11,12],sp500:5,space:3,specif:[3,4,6,7,8,9,10],split:[3,4,11],splitabov:11,splitbelow:11,splite:13,sql:3,sqlite3:3,sqlite:3,squar:3,ssci:6,standard:[3,5,13],start:[0,3,4,9],start_dispy_clust:4,stat:[3,6,13],station:5,stationari:9,statist:[0,3],statsmodel:3,step:[3,4,6,7,8,9,10,13],steps_ahead:[3,4],stochast:5,stock:5,stop_dispy_clust:4,store:[3,4],strang:5,string:[4,8,11],strip_datepart:10,structur:4,student:0,submodul:[0,1],subpackag:[0,1],suitabl:0,sum:6,sunspot:[1,2],superset:4,support:4,symbol:5,symmetr:3,symposium:6,synthet:[3,5],syst:[6,10,11,13],system:[5,6,9],tabl:3,tabular_dataframe_column:3,tag:3,taiex:[1,2,6,13],taiwan:5,take:13,tam:[3,9,11,12],target:3,tau:[3,5],technol:[11,13],tempor:[4,10,13],term:[3,6,13],test:[3,4,13],test_data:3,than:[4,13],thei:4,theil:3,theilsinequ:3,theoret:3,theori:13,thi:[0,4,5,6,9,10,12,13],thoma:4,those:4,thres1:11,thres2:11,threshold:11,through:5,time:[1,2,3,4,6,7,8,9,10,11],time_from:3,time_to:3,timegridpartition:10,times2:3,timeseri:5,titl:[3,11,12],tool:[0,13],total:5,tradit:6,train:[3,4,6,7,8,9,10,11],train_data:[3,7],train_individual_model:7,train_method:4,train_paramet:4,transact:9,transform:[1,2,3,8,9,11,13],transformations_param:4,transit:[4,13],translat:13,trapezoid:[4,11,13],trapmf:4,tree:[1,2],trend:[6,13],trendweightedflrg:6,trendweightedft:6,triangular:4,trigger:4,trimf:4,tsa:3,tsdl:5,tupl:3,two:5,twse:5,type:[3,4,5,12,13],typeonlegend:3,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,6,9,10],uniquefilenam:4,unit:10,univari:5,univers:[0,3,4,5,9,10,11,12,13],unpack_arg:9,uod:[3,4,6,12],uod_clip:4,up_param:3,update_model:6,update_uod:7,updateuod:[4,8],upper:[4,5,6,9,11],upper_set:11,url:[0,3,5],usa:5,usag:0,usd:[1,2],use:[0,4],used:[3,4,6,11,13],user:3,using:[4,6,11,13],ustatist:3,ustd:3,usual:[4,13],util:[1,2,6],val:11,valid:4,valu:[3,4,5,6,7,8,9,10,12,13],valueerror:4,variabl:[2,4,6],varianc:[4,5],vector:4,veri:[5,6],verif:3,visualize_distribut:6,vmax:5,vmin:5,vol:[6,10,11,13],want:0,weather:3,weight:[5,6,13],weightedflrg:6,weightedft:6,when:4,where:[3,4],which:[3,4,13],white_nois:5,whose:0,width:[9,11,12],width_param:9,window:[3,4],window_index:9,window_kei:3,window_s:9,windows:[3,4],winkler:3,winkler_mean:3,winkler_scor:3,without:4,word:3,work:4,wrap:3,www:5,yahoo:5,year:10,yearli:5,yeh:[11,13],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.models package","pyFTS.models.ensemble package","pyFTS.models.multivariate package","pyFTS.models.nonstationary package","pyFTS.models.seasonal package","pyFTS.partitioners package","pyFTS.probabilistic package","pyFTS Quick Start"],titleterms:{FTS:13,airpasseng:5,arima:3,artifici:5,benchmark:3,bitcoin:5,chaotic:5,chen:6,cheng:6,cmean:11,cmsft:10,common:[4,5,8,9,10],composit:4,conf:2,content:[2,3,4,5,6,7,8,9,10,11,12],cvft:9,data:5,dataset:5,dowjon:5,enrol:5,ensembl:7,entropi:11,ethereum:5,eur:5,exampl:13,fcm:11,flr:[4,8],flrg:[4,8,9],fts:4,fuzzi:[0,13],fuzzyset:4,gbp:5,glass:5,grid:11,henon:5,hoft:6,honsft:9,how:[0,13],huarng:11,hwang:6,ift:6,index:0,inmet:5,instal:13,ismailefendi:6,kde:12,knn:3,librari:0,logistic_map:5,lorentz:5,mackei:5,measur:3,membership:4,model:[6,7,8,9,10],modul:[2,3,4,5,6,7,8,9,10,11,12],msft:10,multiseason:7,multivari:8,mvft:8,naiv:3,nasdaq:5,nonstationari:9,nsft:9,packag:[2,3,4,5,6,7,8,9,10,11,12],parallel_util:11,partition:[9,10,11],perturb:9,probabilist:12,probabilitydistribut:12,pwft:6,pyft:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],python:0,quantreg:3,quick:13,refer:[0,13],residualanalysi:3,rossler:5,sadaei:6,season:10,seasonalindex:10,seri:[0,5,13],sft:10,singleton:11,sonda:5,song:6,sortedcollect:4,start:13,submodul:[2,3,4,5,6,7,8,9,10,11,12],subpackag:[2,6],sunspot:5,taiex:5,time:[0,5,13],transform:4,tree:4,usag:13,usd:5,util:[3,4,9,11],variabl:8,what:[0,13]}})
\ No newline at end of file
diff --git a/pyFTS/common/fts.py b/pyFTS/common/fts.py
index 3783857..3e3134e 100644
--- a/pyFTS/common/fts.py
+++ b/pyFTS/common/fts.py
@@ -93,6 +93,7 @@ class FTS(object):
: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 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.
:return: a numpy array with the forecasted data
"""
@@ -342,6 +343,7 @@ class FTS(object):
if save:
Util.persist_obj(self, file_path)
+
def clone_parameters(self, model):
"""
Import the parameters values from other model
diff --git a/pyFTS/models/chen.py b/pyFTS/models/chen.py
index 23be024..e53be8d 100644
--- a/pyFTS/models/chen.py
+++ b/pyFTS/models/chen.py
@@ -56,21 +56,35 @@ class ConventionalFTS(fts.FTS):
def forecast(self, ndata, **kwargs):
- l = len(ndata)
+ explain = kwargs.get('explain',False)
+
+ l = len(ndata) if not explain else 1
ret = []
for k in np.arange(0, l):
- mv = FuzzySet.fuzzyfy_instance(ndata[k], self.sets)
+ actual = FuzzySet.get_maximum_membership_fuzzyset(ndata[k], self.sets)
- actual = FuzzySet.get_maximum_membership_fuzzyset(ndata[k], self.sets) #self.sets[np.argwhere(mv == max(mv))[0, 0]]
+ if explain:
+ print("Fuzzyfication:\n\n {} -> {} \n".format(ndata[k], actual.name))
if actual.name not in self.flrgs:
ret.append(actual.centroid)
+
+ if explain:
+ print("Rules:\n\n {} -> {} (Naïve)\t Midpoint: {} \n\n".format(actual.name, actual.name,actual.centroid))
+
else:
_flrg = self.flrgs[actual.name]
- ret.append(_flrg.get_midpoint(self.sets))
+ mp = _flrg.get_midpoint(self.sets)
+
+ ret.append(mp)
+
+ if explain:
+ print("Rules:\n\n {} \t Midpoint: {} \n".format(str(_flrg), mp))
+
+ print("Deffuzyfied value: {} \n".format(mp))
return ret
diff --git a/pyFTS/models/hofts.py b/pyFTS/models/hofts.py
index c6b724b..9aa4bbd 100644
--- a/pyFTS/models/hofts.py
+++ b/pyFTS/models/hofts.py
@@ -62,7 +62,7 @@ class HighOrderFTS(fts.FTS):
self.max_lag = self.order
self.lags = np.arange(1, self.order+1)
- def generate_lhs_flrg(self, sample):
+ def generate_lhs_flrg(self, sample, explain=False):
lags = {}
flrgs = []
@@ -71,6 +71,9 @@ class HighOrderFTS(fts.FTS):
lhs = FuzzySet.fuzzyfy(sample[o-1], partitioner=self.partitioner, mode="sets", alpha_cut=self.alpha_cut)
lags[ct] = lhs
+ if explain:
+ print("\t (Lag {}) {} -> {} \n".format(o, sample[o-1], lhs))
+
root = tree.FLRGTreeNode(None)
tree.build_tree_without_order(root, lags, 0)
@@ -111,26 +114,49 @@ class HighOrderFTS(fts.FTS):
def forecast(self, ndata, **kwargs):
+ explain = kwargs.get('explain', False)
+
ret = []
- l = len(ndata)
+ l = len(ndata) if not explain else self.max_lag + 1
if l < self.max_lag:
return ndata
for k in np.arange(self.max_lag, l+1):
- flrgs = self.generate_lhs_flrg(ndata[k - self.max_lag: k])
+
+ if explain:
+ print("Fuzzyfication \n")
+
+ flrgs = self.generate_lhs_flrg(ndata[k - self.max_lag: k], explain)
+
+ if explain:
+ print("Rules:\n")
tmp = []
for flrg in flrgs:
if flrg.get_key() not in self.flrgs:
if len(flrg.LHS) > 0:
- tmp.append(self.sets[flrg.LHS[-1]].centroid)
+ mp = self.sets[flrg.LHS[-1]].centroid
+ tmp.append(mp)
+
+ if explain:
+ print("\t {} -> {} (Naïve)\t Midpoint: {}\n".format(str(flrg.LHS), flrg.LHS[-1],
+ mp))
+
else:
flrg = self.flrgs[flrg.get_key()]
- tmp.append(flrg.get_midpoint(self.sets))
+ mp = flrg.get_midpoint(self.sets)
+ tmp.append(mp)
- ret.append(np.nanmean(tmp))
+ if explain:
+ print("\t {} \t Midpoint: {}\n".format(str(flrg), mp))
+
+ final = np.nanmean(tmp)
+ ret.append(final)
+
+ if explain:
+ print("Deffuzyfied value: {} \n".format(final))
return ret
diff --git a/pyFTS/models/ifts.py b/pyFTS/models/ifts.py
index 99b2c8b..269cc8f 100644
--- a/pyFTS/models/ifts.py
+++ b/pyFTS/models/ifts.py
@@ -74,7 +74,7 @@ class IntervalFTS(hofts.HighOrderFTS):
for flrg in flrgs:
if len(flrg.LHS) > 0:
- # achar o os bounds de cada FLRG, ponderados pela pertinência
+
mv = flrg.get_membership(sample, self.sets)
up.append(mv * self.get_upper(flrg))
lo.append(mv * self.get_lower(flrg))
diff --git a/pyFTS/models/ismailefendi.py b/pyFTS/models/ismailefendi.py
index d88f628..ff0f0d5 100644
--- a/pyFTS/models/ismailefendi.py
+++ b/pyFTS/models/ismailefendi.py
@@ -57,7 +57,7 @@ class ImprovedWeightedFTS(fts.FTS):
if flr.LHS in self.flrgs:
self.flrgs[flr.LHS].append_rhs(flr.RHS)
else:
- self.flrgs[flr.LHS] = ImprovedWeightedFLRG(flr.LHS);
+ self.flrgs[flr.LHS] = ImprovedWeightedFLRG(flr.LHS)
self.flrgs[flr.LHS].append_rhs(flr.RHS)
def train(self, ndata, **kwargs):
@@ -67,7 +67,8 @@ class ImprovedWeightedFTS(fts.FTS):
self.generate_flrg(flrs)
def forecast(self, ndata, **kwargs):
- l = 1
+
+ explain = kwargs.get('explain', False)
if self.partitioner is not None:
ordered_sets = self.partitioner.ordered_sets
@@ -75,7 +76,8 @@ class ImprovedWeightedFTS(fts.FTS):
ordered_sets = FuzzySet.set_ordered(self.sets)
ndata = np.array(ndata)
- l = len(ndata)
+
+ l = len(ndata) if not explain else 1
ret = []
@@ -83,12 +85,27 @@ class ImprovedWeightedFTS(fts.FTS):
actual = FuzzySet.get_maximum_membership_fuzzyset(ndata[k], self.sets, ordered_sets)
+ if explain:
+ print("Fuzzyfication:\n\n {} -> {} \n".format(ndata[k], actual.name))
+
if actual.name not in self.flrgs:
ret.append(actual.centroid)
+
+ if explain:
+ print("Rules:\n\n {} -> {} (Naïve)\t Midpoint: {} \n\n".format(actual.name, actual.name,actual.centroid))
+
else:
flrg = self.flrgs[actual.name]
mp = flrg.get_midpoints(self.sets)
- ret.append(mp.dot(flrg.weights()))
+ final = mp.dot(flrg.weights())
+
+ ret.append(final)
+
+ if explain:
+ print("Rules:\n\n {} \n\n ".format(str(flrg)))
+ print("Midpoints: \n\n {}\n\n".format(mp))
+
+ print("Deffuzyfied value: {} \n".format(final))
return ret
diff --git a/pyFTS/models/nonstationary/util.py b/pyFTS/models/nonstationary/util.py
index 69a29c6..0d99d7f 100644
--- a/pyFTS/models/nonstationary/util.py
+++ b/pyFTS/models/nonstationary/util.py
@@ -55,7 +55,7 @@ def plot_sets(partitioner, start=0, end=10, step=1, tam=[5, 5], colors=None,
def plot_sets_conditional(model, data, step=1, size=[5, 5], colors=None,
- save=False, file=None, axes=None):
+ save=False, file=None, axes=None, fig=None):
range = np.arange(0, len(data), step)
ticks = []
if axes is None:
@@ -77,11 +77,11 @@ def plot_sets_conditional(model, data, step=1, size=[5, 5], colors=None,
else:
axes.plot([t, t + 1, t], param,c=set.metadata['color'])
- ticks.extend(["t+"+str(t),""])
+ #ticks.extend(["t+"+str(t),""])
axes.set_ylabel("Universe of Discourse")
axes.set_xlabel("Time")
- plt.xticks([k for k in range], ticks, rotation='vertical')
+ #plt.xticks([k for k in range], ticks, rotation='vertical')
handles0, labels0 = axes.get_legend_handles_labels()
lgd = axes.legend(handles0, labels0, loc=2, bbox_to_anchor=(1, 1))
diff --git a/pyFTS/models/pwfts.py b/pyFTS/models/pwfts.py
index 25630bc..32e0fbc 100644
--- a/pyFTS/models/pwfts.py
+++ b/pyFTS/models/pwfts.py
@@ -122,7 +122,7 @@ class ProbabilisticWeightedFTS(ifts.IntervalFTS):
else:
self.generate_flrg(data)
- def generate_lhs_flrg(self, sample):
+ def generate_lhs_flrg(self, sample, explain=False):
lags = {}
flrgs = []
@@ -132,6 +132,9 @@ class ProbabilisticWeightedFTS(ifts.IntervalFTS):
lags[ct] = lhs
+ if explain:
+ print("\t (Lag {}) {} -> {} \n".format(o, sample[o-1], lhs))
+
root = tree.FLRGTreeNode(None)
tree.build_tree_without_order(root, lags, 0)
@@ -226,9 +229,6 @@ class ProbabilisticWeightedFTS(ifts.IntervalFTS):
cond.append(tmp)
ret = sum(np.array(cond))
else:
- ##########################################
- # this may be the problem! TEST IT!!!
- ##########################################
pi = 1 / len(flrg.LHS)
ret = sum(np.array([pi * self.sets[s].membership(x) for s in flrg.LHS]))
return ret
@@ -272,27 +272,48 @@ class ProbabilisticWeightedFTS(ifts.IntervalFTS):
def point_heuristic(self, sample, **kwargs):
- flrgs = self.generate_lhs_flrg(sample)
+ explain = kwargs.get('explain', False)
+
+ if explain:
+ print("Fuzzyfication \n")
+
+ flrgs = self.generate_lhs_flrg(sample, explain)
mp = []
norms = []
+
+ if explain:
+ print("Rules:\n")
+
for flrg in flrgs:
norm = self.flrg_lhs_conditional_probability(sample, flrg)
+
if norm == 0:
norm = self.flrg_lhs_unconditional_probability(flrg)
+
+
+ if explain:
+ print("\t {} \t Midpoint: {}\t Norm: {}\n".format(str(self.flrgs[flrg.get_key()]),
+ self.get_midpoint(flrg), norm))
+
mp.append(norm * self.get_midpoint(flrg))
norms.append(norm)
norm = sum(norms)
- if norm == 0:
- return 0
- else:
- return sum(mp) / norm
+ final = sum(mp) / norm if norm != 0 else 0
+
+ if explain:
+ print("Deffuzyfied value: {} \n".format(final))
+ return final
def point_expected_value(self, sample, **kwargs):
- return self.forecast_distribution(sample)[0].expected_value()
+ explain = kwargs.get('explain', False)
+ dist = self.forecast_distribution(sample)[0]
+
+ final = dist.expected_value()
+ return final
def forecast_interval(self, ndata, **kwargs):
diff --git a/pyFTS/models/sadaei.py b/pyFTS/models/sadaei.py
index 6d3d43a..6bac656 100644
--- a/pyFTS/models/sadaei.py
+++ b/pyFTS/models/sadaei.py
@@ -71,7 +71,8 @@ class ExponentialyWeightedFTS(fts.FTS):
self.generate_flrg(flrs, self.c)
def forecast(self, ndata, **kwargs):
- l = 1
+
+ explain = kwargs.get('explain', False)
if self.partitioner is not None:
ordered_sets = self.partitioner.ordered_sets
@@ -88,12 +89,27 @@ class ExponentialyWeightedFTS(fts.FTS):
actual = FuzzySet.get_maximum_membership_fuzzyset(ndata[k], self.sets, ordered_sets)
+ if explain:
+ print("Fuzzyfication:\n\n {} -> {} \n".format(ndata[k], actual.name))
+
if actual.name not in self.flrgs:
ret.append(actual.centroid)
+
+ if explain:
+ print("Rules:\n\n {} -> {} (Naïve)\t Midpoint: {} \n\n".format(actual.name, actual.name,actual.centroid))
+
else:
flrg = self.flrgs[actual.name]
mp = flrg.get_midpoints(self.sets)
- ret.append(mp.dot(flrg.weights()))
+ final = mp.dot(flrg.weights())
+
+ ret.append(final)
+
+ if explain:
+ print("Rules:\n\n {} \n\n ".format(str(flrg)))
+ print("Midpoints: \n\n {}\n\n".format(mp))
+
+ print("Deffuzyfied value: {} \n".format(final))
return ret
diff --git a/pyFTS/models/yu.py b/pyFTS/models/yu.py
index aebc804..01187d3 100644
--- a/pyFTS/models/yu.py
+++ b/pyFTS/models/yu.py
@@ -64,6 +64,8 @@ class WeightedFTS(fts.FTS):
def forecast(self, ndata, **kwargs):
+ explain = kwargs.get('explain', False)
+
if self.partitioner is not None:
ordered_sets = self.partitioner.ordered_sets
else:
@@ -71,7 +73,7 @@ class WeightedFTS(fts.FTS):
ndata = np.array(ndata)
- l = len(ndata)
+ l = len(ndata) if not explain else 1
ret = []
@@ -79,12 +81,27 @@ class WeightedFTS(fts.FTS):
actual = FuzzySet.get_maximum_membership_fuzzyset(ndata[k], self.sets, ordered_sets)
+ if explain:
+ print("Fuzzyfication:\n\n {} -> {} \n\n".format(ndata[k], actual.name))
+
if actual.name not in self.flrgs:
ret.append(actual.centroid)
+
+ if explain:
+ print("Rules:\n\n {} -> {} (Naïve)\t Midpoint: {} \n\n".format(actual.name, actual.name,actual.centroid))
+
else:
flrg = self.flrgs[actual.name]
mp = flrg.get_midpoints(self.sets)
- ret.append(mp.dot(flrg.weights(self.sets)))
+ final = mp.dot(flrg.weights(self.sets))
+
+ ret.append(final)
+
+ if explain:
+ print("Rules:\n\n {} \n\n ".format(str(flrg)))
+ print("Midpoints: \n\n {}\n\n".format(mp))
+
+ print("Deffuzyfied value: {} \n".format(final))
return ret
diff --git a/pyFTS/partitioners/partitioner.py b/pyFTS/partitioners/partitioner.py
index e1ffbb1..6275daa 100644
--- a/pyFTS/partitioners/partitioner.py
+++ b/pyFTS/partitioners/partitioner.py
@@ -76,19 +76,35 @@ class Partitioner(object):
pass
def get_name(self, counter):
+ """
+ Find the name of the fuzzy set given its counter id.
+
+ :param counter: The number of the fuzzy set
+ :return: String
+ """
return self.prefix + str(counter) if self.setnames is None else self.setnames[counter]
def lower_set(self):
+ """
+ Return the fuzzy set on lower bound of the universe of discourse.
+
+ :return: Fuzzy Set
+ """
return self.sets[self.ordered_sets[0]]
def upper_set(self):
+ """
+ Return the fuzzy set on upper bound of the universe of discourse.
+
+ :return: Fuzzy Set
+ """
return self.sets[self.ordered_sets[-1]]
def plot(self, ax):
"""
- Plot the
- :param ax:
- :return:
+ Plot the partitioning using the Matplotlib axis ax
+
+ :param ax: Matplotlib axis
"""
ax.set_title(self.name)
ax.set_ylim([0, 1])
@@ -108,6 +124,12 @@ class Partitioner(object):
ax.xaxis.set_ticks(x)
def plot_set(self, ax, s):
+ """
+ Plot an isolate fuzzy set on Matplotlib axis
+
+ :param ax: Matplotlib axis
+ :param s: Fuzzy Set
+ """
if s.mf == Membership.trimf:
ax.plot([s.parameters[0], s.parameters[1], s.parameters[2]], [0, s.alpha, 0])
elif s.mf == Membership.gaussmf:
@@ -117,9 +139,21 @@ class Partitioner(object):
elif s.mf == Membership.trapmf:
ax.plot(s.parameters, [0, s.alpha, s.alpha, 0])
-
def __str__(self):
+ """
+ Return a string representation of the partitioner, the list of fuzzy sets and their parameters
+
+ :return:
+ """
tmp = self.name + ":\n"
for key in self.sets.keys():
tmp += str(self.sets[key])+ "\n"
return tmp
+
+ def __len__(self):
+ """
+ Return the number of partitions
+
+ :return: number of partitions
+ """
+ return self.partitions
diff --git a/pyFTS/tests/general.py b/pyFTS/tests/general.py
index f6db17a..e3e2199 100644
--- a/pyFTS/tests/general.py
+++ b/pyFTS/tests/general.py
@@ -11,7 +11,7 @@ import pandas as pd
from pyFTS.common import Util as cUtil, FuzzySet
from pyFTS.partitioners import Grid, Util as pUtil
from pyFTS.benchmarks import benchmarks as bchmk
-from pyFTS.models import chen
+from pyFTS.models import chen, yu, cheng, ismailefendi, hofts, pwfts
from pyFTS.common import Transformations
tdiff = Transformations.Differential(1)
@@ -19,15 +19,18 @@ tdiff = Transformations.Differential(1)
from pyFTS.data import TAIEX, SP500, NASDAQ
dataset = TAIEX.get_data()
-'''
-partitioner = Grid.GridPartitioner(data=dataset[:800], npart=3, transformation=tdiff)
-model = chen.ConventionalFTS(partitioner=partitioner)
-model.append_transformation(tdiff)
+partitioner = Grid.GridPartitioner(data=dataset[:800], npart=30) #, transformation=tdiff)
-model.fit([0, 90.00])
+model = pwfts.ProbabilisticWeightedFTS(partitioner=partitioner, order=2)
+#model.append_transformation(tdiff)
+
+model.fit(dataset[:800])
print(model)
+
+ret = model.predict([5000.00, 5200.00, 5400.00], explain=True)
+
'''
#dataset = SP500.get_data()[11500:16000]
#dataset = NASDAQ.get_data()
@@ -57,7 +60,7 @@ bchmk.sliding_window_benchmarks(dataset, 1000, train=0.8, inc=0.2,
#steps_ahead=[1,2,4,6,8,10],
distributed=False, nodes=['192.168.0.110', '192.168.0.107', '192.168.0.106'],
file="benchmarks.db", dataset="NASDAQ", tag="comparisons")
-'''
+
'''
'''
from pyFTS.partitioners import Grid, Util as pUtil
diff --git a/pyFTS/tests/nonstationary.py b/pyFTS/tests/nonstationary.py
index 6c71bd9..ea48c37 100644
--- a/pyFTS/tests/nonstationary.py
+++ b/pyFTS/tests/nonstationary.py
@@ -10,7 +10,7 @@ import pandas as pd
from pyFTS.data import TAIEX, NASDAQ, SP500, artificial, mackey_glass
-mackey_glass.get_data()
+#mackey_glass.get_data()
datasets = {
"TAIEX": TAIEX.get_data()[:4000],
@@ -54,14 +54,31 @@ partitions = {'CMIV': {'BoxCox(0)': 36, 'Differential(1)': 11, 'None': 8},
'TAIEX': {'BoxCox(0)': 39, 'Differential(1)': 31, 'None': 33}}
from pyFTS.models.nonstationary import partitioners as nspart, cvfts, util as nsUtil
+'''
+#fs = nspart.simplenonstationary_gridpartitioner_builder(data=datasets['SP500'][:300],
+# npart=partitions['SP500']['None'],
+# transformation=None)
+fs = Grid.GridPartitioner(data=datasets['SP500'][:300],
+ npart=15,
+ transformation=None)
+fig, axes = plt.subplots(nrows=1, ncols=1, figsize=[15, 5])
+
+fs.plot(axes)
+
+from pyFTS.common import Util
+
+Util.show_and_save_image(fig, "fig2.png", True)
+
+#nsUtil.plot_sets(fs)
+'''
def model_details(ds, tf, train_split, test_split):
data = datasets[ds]
train = data[:train_split]
test = data[train_split:test_split]
transformation = transformations[tf]
- fs = nspart.simplenonstationary_gridpartitioner_builder(data=train, npart=partitions[ds][tf],
+ fs = nspart.simplenonstationary_gridpartitioner_builder(data=train, npart=15, #partitions[ds][tf],
transformation=transformation)
model = nsfts.NonStationaryFTS(partitioner=fs)
model.fit(train)
@@ -69,21 +86,24 @@ def model_details(ds, tf, train_split, test_split):
forecasts = model.predict(test)
residuals = np.array(test[1:]) - np.array(forecasts[:-1])
- fig, axes = plt.subplots(nrows=2, ncols=1, figsize=[15, 10])
+ fig, axes = plt.subplots(nrows=3, ncols=1, figsize=[15, 10])
axes[0].plot(test[1:], label="Original")
axes[0].plot(forecasts[:-1], label="Forecasts")
+ axes[0].set_ylabel("Univ. of Discourse")
- axes[1].set_title("Residuals")
+ #axes[1].set_title("Residuals")
axes[1].plot(residuals)
+ axes[1].set_ylabel("Error")
handles0, labels0 = axes[0].get_legend_handles_labels()
lgd = axes[0].legend(handles0, labels0, loc=2)
- nsUtil.plot_sets_conditional(model, test, step=10, size=[12, 5])
-
-model_details('NASDAQ','None',200,2000)
-
+ nsUtil.plot_sets_conditional(model, test, step=10, size=[10, 7],
+ save=True,file="fig.png", axes=axes[2], fig=fig)
+model_details('SP500','None',200,400)
+#'''
+print("ts")
'''
tag = 'benchmarks'
diff --git a/setup.py b/setup.py
index 4fba10d..0accc15 100644
--- a/setup.py
+++ b/setup.py
@@ -5,16 +5,12 @@ setup(
packages=['pyFTS', 'pyFTS.benchmarks', 'pyFTS.common', 'pyFTS.data', 'pyFTS.models.ensemble',
'pyFTS.models', 'pyFTS.models.seasonal', 'pyFTS.partitioners', 'pyFTS.probabilistic',
'pyFTS.tests', 'pyFTS.models.nonstationary', 'pyFTS.models.multivariate'],
- #package_dir={}
- #package_data={'pyFTS.data': ['*.csv','*.csv.bz2']},
- #data_files=[('data', ['pyFTS/data/Enrollments.csv', 'pyFTS/data/AirPassengers.csv'])],
- #include_package_data=True,
- version='1.2.2',
+ version='1.2.3',
description='Fuzzy Time Series for Python',
author='Petronio Candido L. e Silva',
author_email='petronio.candido@gmail.com',
- url='https://github.com/petroniocandido/pyFTS',
- download_url='https://github.com/petroniocandido/pyFTS/archive/pkg1.2.3.tar.gz',
+ url='https://pyfts.github.io/pyFTS/',
+ download_url='https://github.com/PYFTS/pyFTS/archive/docSphinx.tar.gz',
keywords=['forecasting', 'fuzzy time series', 'fuzzy', 'time series forecasting'],
classifiers=[
'Programming Language :: Python :: 3',
@@ -22,4 +18,5 @@ setup(
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
],
+ install_requires=['dill'],
)