Ejemplo n.º 1
0
 def test_varmax_without_intercept2(self):
     ts_data = self.get_data_for_varmax()
     f_name='varmax_without_intercept2.pmml'
     model = VARMAX(ts_data, order=(1,1), trend=None)
     result = model.fit()
     StatsmodelsToPmml(result, f_name)
     self.assertEqual(os.path.isfile(f_name),True)
Ejemplo n.º 2
0
 def test_non_seasonal_arima1(self):
     ts_data = self.getData4()
     f_name='non_seasonal_arima1.pmml'
     model = ARIMA(ts_data,order=(9, 2, 0))
     result = model.fit(trend = 'c', method = 'css-mle')
     StatsmodelsToPmml(result, f_name, model_name="arima_920")
     self.assertEqual(os.path.isfile(f_name),True)
Ejemplo n.º 3
0
 def test_non_seasonal_arima3(self):
     ts_data = self.getData4()
     f_name='non_seasonal_arima3.pmml'
     model = ARIMA(ts_data,order=(1, 0, 1))
     result = model.fit(trend = 'c', method = 'css-mle')
     StatsmodelsToPmml(result, f_name, description="A test model")
     self.assertEqual(os.path.isfile(f_name),True)
Ejemplo n.º 4
0
 def test_varmax_with_intercept(self):
     ts_data = self.get_data_for_varmax()
     f_name='varmax_with_intercept.pmml'
     model = VARMAX(ts_data, order=(1,1))
     result = model.fit()
     StatsmodelsToPmml(result, f_name, conf_int=[80,95])
     self.assertEqual(os.path.isfile(f_name),True)
Ejemplo n.º 5
0
 def test_non_seasonal_arima6(self):
     ts_data = self.getData4()
     f_name='non_seasonal_arima6.pmml'
     model = StateSpaceARIMA(ts_data,order=(1, 1, 1))
     result = model.fit()
     StatsmodelsToPmml(result, f_name, description="A test model")
     self.assertEqual(os.path.isfile(f_name),True)
Ejemplo n.º 6
0
    def test_02(self):
        data=pd.read_csv("nyoka/tests/JohnsonJohnsonWithDate.csv")
        data['index']=pd.to_datetime(data['index'], format='%Y-%m-%d')
        data.set_index(['index'], inplace=True)
        
        mod = SARIMAX(data,order=(1,1,1),seasonal_order=(1,1,1, 4))
        result = mod.fit(disp=False)

        StatsmodelsToPmml(result, 'jnj_seasonal_arima.pmml',conf_int=[95])
        model_name = self.adapa_utility.upload_to_zserver('jnj_seasonal_arima.pmml')
        
        z_pred = self.adapa_utility.score_in_zserver(model_name, {'h':5},'TS')
        forecasts=result.get_forecast(5)

        z_forecasts = list(z_pred['outputs'][0]['predicted_'+data.squeeze().name].values())
        model_forecasts = forecasts.predicted_mean.values.tolist()

        z_conf_int_95_upper = list(z_pred['outputs'][0]['conf_int_95_upper_'+data.squeeze().name].values())
        model_conf_int_95_upper = forecasts.conf_int()['upper '+data.squeeze().name].tolist()

        z_conf_int_95_lower = list(z_pred['outputs'][0]['conf_int_95_lower_'+data.squeeze().name].values())
        model_conf_int_95_lower = forecasts.conf_int()['lower '+data.squeeze().name].tolist()

        self.assertEqual(np.allclose(z_forecasts,model_forecasts),True)
        self.assertEqual(np.allclose(z_conf_int_95_upper, model_conf_int_95_upper),True)
        self.assertEqual(np.allclose(z_conf_int_95_lower, model_conf_int_95_lower),True)
Ejemplo n.º 7
0
 def test_varmax_without_intercept(self):
     ts_data = self.statsmodels_data_helper.get_data_for_varmax()
     f_name = 'varmax_without_intercept.pmml'
     model = VARMAX(ts_data, order=(1, 1), trend=None)
     result = model.fit()
     StatsmodelsToPmml(result, f_name)
     self.assertEqual(self.schema.is_valid(f_name), True)
Ejemplo n.º 8
0
 def test_non_seasonal_arima8(self):
     ts_data = self.statsmodels_data_helper.get_non_seasonal_data()
     f_name = 'non_seasonal_arima8.pmml'
     model = ARIMA(ts_data, order=(5, 1, 2))
     result = model.fit(trend='c', method='mle')
     StatsmodelsToPmml(result, f_name, conf_int=[80, 95])
     self.assertEqual(self.schema.is_valid(f_name), True)
Ejemplo n.º 9
0
 def test_non_seasonal_arima2(self):
     ts_data = self.statsmodels_data_helper.get_non_seasonal_data()
     f_name = 'non_seasonal_arima1.pmml'
     model = StateSpaceARIMA(ts_data, order=(3, 1, 2), trend='c')
     result = model.fit()
     StatsmodelsToPmml(result, f_name)
     self.assertEqual(self.schema.is_valid(f_name), True)
Ejemplo n.º 10
0
 def test_non_seasonal_arima1(self):
     ts_data = self.statsmodels_data_helper.get_non_seasonal_data()
     f_name = 'non_seasonal_arima1.pmml'
     model = ARIMA(ts_data, order=(9, 2, 0))
     result = model.fit(trend='c', method='css-mle')
     StatsmodelsToPmml(result, f_name)
     self.assertEqual(self.schema.is_valid(f_name), True)
Ejemplo n.º 11
0
 def test_seasonal_arima4(self):
     ts_data = self.getData5()
     f_name='seasonal_arima4.pmml'
     model = SARIMAX(endog = ts_data,
                                     order = (1, 0, 1),
                                     seasonal_order = (1, 0, 1, 12),
                                     )
     result = model.fit(disp=False)
     StatsmodelsToPmml(result, f_name)
     self.assertEqual(os.path.isfile(f_name),True)
Ejemplo n.º 12
0
 def test_seasonal_arima2(self):
     ts_data = self.statsmodels_data_helper.get_seasonal_data()
     f_name = 'seasonal_arima2.pmml'
     model = SARIMAX(endog=ts_data,
                     exog=None,
                     order=(3, 1, 1),
                     seasonal_order=(3, 1, 1, 12))
     result = model.fit()
     StatsmodelsToPmml(result, f_name, conf_int=[80])
     self.assertEqual(self.schema.is_valid(f_name), True)
Ejemplo n.º 13
0
    def test_4(self):
        data = self.getMultiDimensionalData()
        model = VARMAX(data,order=(1,2))
        result = model.fit()

        f_name='varmax_12.pmml'
        StatsmodelsToPmml(result, f_name,model_name="varmax_test",conf_int=[95])

        model_name = self.adapa_utility.upload_to_zserver(f_name)
        z_pred = self.adapa_utility.score_in_zserver(model_name, {'h':5},'TS')
        forecasts=result.get_forecast(5)

        z_forecast_hum = list(z_pred['outputs'][0]['predicted_SanDiegoHum'].values())
        model_forecast_hum = forecasts.predicted_mean['SanDiegoHum'].values.tolist()

        z_forecast_pressure = list(z_pred['outputs'][0]['predicted_SanDiegoPressure'].values())
        model_forecast_pressure = forecasts.predicted_mean['SanDiegoPressure'].values.tolist()

        z_forecast_temp = list(z_pred['outputs'][0]['predicted_SanDiegoTemp'].values())
        model_forecast_temp = forecasts.predicted_mean['SanDiegoTemp'].values.tolist()

        z_conf_int_95_lower_hum = list(z_pred['outputs'][0]['conf_int_95_lower_SanDiegoHum'].values())
        model_conf_int_95_lower_hum = forecasts.conf_int()['lower SanDiegoHum'].values.tolist()

        z_conf_int_95_lower_pressure = list(z_pred['outputs'][0]['conf_int_95_lower_SanDiegoPressure'].values())
        model_conf_int_95_lower_pressure = forecasts.conf_int()['lower SanDiegoPressure'].values.tolist()

        z_conf_int_95_lower_temp = list(z_pred['outputs'][0]['conf_int_95_lower_SanDiegoTemp'].values())
        model_conf_int_95_lower_temp = forecasts.conf_int()['lower SanDiegoTemp'].values.tolist()

        z_conf_int_95_upper_hum = list(z_pred['outputs'][0]['conf_int_95_upper_SanDiegoHum'].values())
        model_conf_int_95_upper_hum = forecasts.conf_int()['upper SanDiegoHum'].values.tolist()

        z_conf_int_95_upper_pressure = list(z_pred['outputs'][0]['conf_int_95_upper_SanDiegoPressure'].values())
        model_conf_int_95_upper_pressure = forecasts.conf_int()['upper SanDiegoPressure'].values.tolist()

        z_conf_int_95_upper_temp = list(z_pred['outputs'][0]['conf_int_95_upper_SanDiegoTemp'].values())
        model_conf_int_95_upper_temp = forecasts.conf_int()['upper SanDiegoTemp'].values.tolist()

        self.assertEqual(np.allclose(z_forecast_hum,model_forecast_hum),True)
        self.assertEqual(np.allclose(z_forecast_pressure,model_forecast_pressure),True)
        self.assertEqual(np.allclose(z_forecast_temp,model_forecast_temp),True)
        self.assertEqual(np.allclose(z_conf_int_95_lower_hum,model_conf_int_95_lower_hum),True)
        self.assertEqual(np.allclose(z_conf_int_95_lower_pressure,model_conf_int_95_lower_pressure),True)
        self.assertEqual(np.allclose(z_conf_int_95_lower_temp,model_conf_int_95_lower_temp),True)
        self.assertEqual(np.allclose(z_conf_int_95_upper_hum,model_conf_int_95_upper_hum),True)
        self.assertEqual(np.allclose(z_conf_int_95_upper_pressure,model_conf_int_95_upper_pressure),True)
        self.assertEqual(np.allclose(z_conf_int_95_upper_temp,model_conf_int_95_upper_temp),True)
Ejemplo n.º 14
0
    def test_01(self):
        ts_data = self.getData()
        f_name='arima201_c_car_sold.pmml'
        model = ARIMA(ts_data,order=(2,0,1))
        result = model.fit(trend = 'c', method = 'css')
        StatsmodelsToPmml(result, f_name, conf_int=[95])

        model_name = self.adapa_utility.upload_to_zserver(f_name)
        z_pred = self.adapa_utility.score_in_zserver(model_name, {'h':5},'TS')

        z_forecasts = np.array(list(z_pred['outputs'][0]['predicted_'+ts_data.squeeze().name].values()))
        model_forecasts = result.forecast(5)[0]

        z_conf_int_95_upper = np.array(list(z_pred['outputs'][0]['conf_int_95_upper_'+ts_data.squeeze().name].values()))
        model_conf_int_95_upper = result.forecast(5)[-1][:,-1]

        z_conf_int_95_lower = np.array(list(z_pred['outputs'][0]['conf_int_95_lower_'+ts_data.squeeze().name].values()))
        model_conf_int_95_lower = result.forecast(5)[-1][:,0]

        self.assertEqual(np.allclose(z_forecasts, model_forecasts),True)
        self.assertEqual(np.allclose(z_conf_int_95_upper, model_conf_int_95_upper),True)
        self.assertEqual(np.allclose(z_conf_int_95_lower, model_conf_int_95_lower),True)
Ejemplo n.º 15
0
    def test_03(self):
        ts_data = self.getData()
        f_name='arima212_c_car_sold.pmml'
        model = StateSpaceARIMA(ts_data,order=(2,1,2),trend = 'c')
        result = model.fit()
        StatsmodelsToPmml(result, f_name, conf_int=[95])

        model_name = self.adapa_utility.upload_to_zserver(f_name)
        z_pred = self.adapa_utility.score_in_zserver(model_name, {'h':5},'TS')
        forecasts=result.get_forecast(5)

        z_forecasts = list(z_pred['outputs'][0]['predicted_'+ts_data.squeeze().name].values())
        model_forecasts = forecasts.predicted_mean.values.tolist()

        z_conf_int_95_upper = list(z_pred['outputs'][0]['conf_int_95_upper_'+ts_data.squeeze().name].values())
        model_conf_int_95_upper = forecasts.conf_int()['upper '+ts_data.squeeze().name].tolist()

        z_conf_int_95_lower = list(z_pred['outputs'][0]['conf_int_95_lower_'+ts_data.squeeze().name].values())
        model_conf_int_95_lower = forecasts.conf_int()['lower '+ts_data.squeeze().name].tolist()

        self.assertEqual(np.allclose(z_forecasts,model_forecasts),True)
        self.assertEqual(np.allclose(z_conf_int_95_upper, model_conf_int_95_upper),True)
        self.assertEqual(np.allclose(z_conf_int_95_lower, model_conf_int_95_lower),True)