Minor bugfixes on benchmarking methods
This commit is contained in:
parent
f072d73d1b
commit
606c557214
@ -43,7 +43,7 @@ class ARIMA(fts.FTS):
|
|||||||
self.order = self.p + self.q + (self.q - 1 if self.q > 0 else 0)
|
self.order = self.p + self.q + (self.q - 1 if self.q > 0 else 0)
|
||||||
self.max_lag = self.order
|
self.max_lag = self.order
|
||||||
self.d = len(self.transformations)
|
self.d = len(self.transformations)
|
||||||
self.shortname = "ARIMA(" + str(self.p) + "," + str(self.d) + "," + str(self.q) + ") - " + str(self.alpha)
|
self.shortname = "BSTS({},{},{})-{}".format(self.p,self.d,self.q,self.alpha)
|
||||||
|
|
||||||
def train(self, data, **kwargs):
|
def train(self, data, **kwargs):
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ class ARIMA(fts.FTS):
|
|||||||
self.order = self.p + self.q + (self.q - 1 if self.q > 0 else 0)
|
self.order = self.p + self.q + (self.q - 1 if self.q > 0 else 0)
|
||||||
self.max_lag = self.order
|
self.max_lag = self.order
|
||||||
self.d = len(self.transformations)
|
self.d = len(self.transformations)
|
||||||
self.shortname = "ARIMA(" + str(self.p) + "," + str(self.d) + "," + str(self.q) + ") - " + str(self.alpha)
|
self.shortname = "ARIMA({},{},{})-{}".format(self.p, self.d, self.q, self.alpha)
|
||||||
|
|
||||||
def train(self, data, **kwargs):
|
def train(self, data, **kwargs):
|
||||||
|
|
||||||
|
@ -61,6 +61,8 @@ class KNearestNeighbors(fts.FTS):
|
|||||||
self.kdtree = KDTree(np.array(X))
|
self.kdtree = KDTree(np.array(X))
|
||||||
self.values = Y
|
self.values = Y
|
||||||
|
|
||||||
|
self.shortname = "kNN({})-{}".format(self.order, self.alpha)
|
||||||
|
|
||||||
def knn(self, sample):
|
def knn(self, sample):
|
||||||
X = self._prepare_x(sample)
|
X = self._prepare_x(sample)
|
||||||
_, ix = self.kdtree.query(np.array(X), self.k)
|
_, ix = self.kdtree.query(np.array(X), self.k)
|
||||||
|
@ -54,7 +54,7 @@ class QuantileRegression(fts.FTS):
|
|||||||
up_qt = [k for k in uqt.params]
|
up_qt = [k for k in uqt.params]
|
||||||
self.dist_qt.append([lo_qt, up_qt])
|
self.dist_qt.append([lo_qt, up_qt])
|
||||||
|
|
||||||
self.shortname = "QAR(" + str(self.order) + ") - " + str(self.alpha)
|
self.shortname = "QAR({})-{}".format(self.order,self.alpha)
|
||||||
|
|
||||||
def linearmodel(self,data,params):
|
def linearmodel(self,data,params):
|
||||||
#return params[0] + sum([ data[k] * params[k+1] for k in np.arange(0, self.order) ])
|
#return params[0] + sum([ data[k] * params[k+1] for k in np.arange(0, self.order) ])
|
||||||
|
@ -19,7 +19,7 @@ from pyFTS.fcm import fts, common, GA
|
|||||||
|
|
||||||
from pyFTS.data import TAIEX, NASDAQ, SP500
|
from pyFTS.data import TAIEX, NASDAQ, SP500
|
||||||
|
|
||||||
#'''
|
'''
|
||||||
train = TAIEX.get_data()[:800]
|
train = TAIEX.get_data()[:800]
|
||||||
test = TAIEX.get_data()[800:1000]
|
test = TAIEX.get_data()[800:1000]
|
||||||
|
|
||||||
@ -52,13 +52,22 @@ datasets['TAIEX'] = TAIEX.get_data()[:5000]
|
|||||||
datasets['NASDAQ'] = NASDAQ.get_data()[:5000]
|
datasets['NASDAQ'] = NASDAQ.get_data()[:5000]
|
||||||
datasets['SP500'] = SP500.get_data()[10000:15000]
|
datasets['SP500'] = SP500.get_data()[10000:15000]
|
||||||
|
|
||||||
methods = [arima.ARIMA, quantreg.QuantileRegression, BSTS.ARIMA, knn.KNearestNeighbors]
|
methods = [
|
||||||
|
arima.ARIMA,arima.ARIMA,
|
||||||
|
quantreg.QuantileRegression,quantreg.QuantileRegression,
|
||||||
|
BSTS.ARIMA,BSTS.ARIMA,
|
||||||
|
knn.KNearestNeighbors,knn.KNearestNeighbors
|
||||||
|
]
|
||||||
|
|
||||||
methods_parameters = [
|
methods_parameters = [
|
||||||
{'order':(2,0,0)},
|
{'order':(2,0,0), 'alpha':.05},
|
||||||
{'order':2, 'dist': True},
|
{'order':(2,0,0), 'alpha':.25},
|
||||||
{'order':(2,0,0)},
|
{'order':2, 'alpha':.05},
|
||||||
{'order':2 }
|
{'order':2, 'alpha':.25},
|
||||||
|
{'order': (2, 0, 0), 'alpha': .05},
|
||||||
|
{'order': (2, 0, 0), 'alpha': .25},
|
||||||
|
{'order': 2, 'alpha': .05},
|
||||||
|
{'order': 2, 'alpha': .25}
|
||||||
]
|
]
|
||||||
|
|
||||||
for dataset_name, dataset in datasets.items():
|
for dataset_name, dataset in datasets.items():
|
||||||
@ -72,8 +81,8 @@ for dataset_name, dataset in datasets.items():
|
|||||||
orders=[],
|
orders=[],
|
||||||
steps_ahead=[10],
|
steps_ahead=[10],
|
||||||
partitions=[],
|
partitions=[],
|
||||||
type='distribution',
|
type='interval',
|
||||||
distributed=True, nodes=['192.168.0.110', '192.168.0.107','192.168.0.106'],
|
distributed=True, nodes=['192.168.0.110', '192.168.0.107','192.168.0.106'],
|
||||||
file="experiments.db", dataset=dataset_name, tag="experiments")
|
file="experiments.db", dataset=dataset_name, tag="experiments")
|
||||||
# file="tmp.db", dataset='TAIEX', tag="experiments")
|
# file="tmp.db", dataset='TAIEX', tag="experiments")
|
||||||
'''
|
#'''
|
Loading…
Reference in New Issue
Block a user