diff --git a/pyFTS/models/hwang.py b/pyFTS/models/hwang.py index 6f862d7..dbfb050 100644 --- a/pyFTS/models/hwang.py +++ b/pyFTS/models/hwang.py @@ -19,6 +19,10 @@ class HighOrderFTS(fts.FTS): self.detail = "Hwang" def forecast(self, ndata, **kwargs): + + if 'order' in kwargs: + self.order = kwargs.get('order',self.order) + self.max_lag = self.order if self.sets == None: self.sets = self.partitioner.sets @@ -57,4 +61,4 @@ class HighOrderFTS(fts.FTS): return ret def train(self, data, **kwargs): - pass \ No newline at end of file + pass diff --git a/pyFTS/models/seasonal/cmsfts.py b/pyFTS/models/seasonal/cmsfts.py index 45302cc..08d0e80 100644 --- a/pyFTS/models/seasonal/cmsfts.py +++ b/pyFTS/models/seasonal/cmsfts.py @@ -81,14 +81,18 @@ class ContextualMultiSeasonalFTS(sfts.SeasonalFTS): ndata = self.indexer.get_data(data) for k in np.arange(0, len(data)): + + if str(index[k]) in self.flrgs: - flrg = self.flrgs[str(index[k])] + flrg = self.flrgs[str(index[k])] - d = FuzzySet.get_fuzzysets(ndata[k], self.sets, ordered_sets, alpha_cut=self.alpha_cut) + d = FuzzySet.get_fuzzysets(ndata[k], self.sets, ordered_sets, alpha_cut=self.alpha_cut) - mp = self.get_midpoints(flrg, d) + mp = self.get_midpoints(flrg, d) - ret.append(sum(mp) / len(mp)) + ret.append(sum(mp) / len(mp)) + else: + ret.append(np.nan) return ret