def test_basic_hourly(input_df, mock_isd_weather_source): m = HourlyLoadProfileModel(fit_cdd=True) assert str(m).startswith("HourlyLoadProfileModel") assert m.n is None assert m.params is None assert m.r2 is None assert m.rmse is None assert m.y is None output = m.fit(input_df) assert "r2" in output assert "rmse" in output assert "cvrmse" in output assert "model_params" in output assert "n" in output assert 'formula' in m.params assert 'X_design_info' in m.params index = pd.date_range('2011-01-01', freq='H', periods=365 * 24, tz=pytz.UTC) formatter = ModelDataFormatter("H") formatted_predict_data = formatter.create_demand_fixture( index, mock_isd_weather_source) outputs, variance = m.predict(formatted_predict_data, summed=False) assert outputs.shape == (365 * 24, ) assert all(variance > 0) outputs, variance = m.predict(formatted_predict_data, summed=True) assert outputs > 0 assert variance > 0
def test_hourly_demand_fixture(hourly_trace, monkeypatch_temperature_data, mock_isd_weather_source): mdf = ModelDataFormatter("H") df = mdf.create_demand_fixture(hourly_trace.data.index, mock_isd_weather_source) assert all(df.columns == ["tempF"]) assert df.index[0] == datetime(2000, 1, 1, 0, tzinfo=pytz.UTC) assert df.index[2] == datetime(2000, 1, 1, 2, tzinfo=pytz.UTC) assert df.index.freq == 'H' assert_allclose(df.tempF, [35.617314, 35.607664, 35.598025])
def test_daily_demand_fixture(daily_trace, mock_isd_weather_source): mdf = ModelDataFormatter("D") df = mdf.create_demand_fixture(daily_trace.data.index, mock_isd_weather_source) assert all(df.columns == ["tempF"]) assert df.index[0] == datetime(2000, 1, 1, 0, tzinfo=pytz.UTC) assert df.index[2] == datetime(2000, 1, 3, tzinfo=pytz.UTC) assert df.index.freq == 'D' assert_allclose(df.tempF, [35.507344, 35.282373, 35.064391])
def test_hourly_demand_fixture(hourly_trace, mock_isd_weather_source): mdf = ModelDataFormatter("H") df = mdf.create_demand_fixture(hourly_trace.data.index, mock_isd_weather_source) assert all(df.columns == ["tempF"]) assert df.index[0] == datetime(2000, 1, 1, 0, tzinfo=pytz.UTC) assert df.index[2] == datetime(2000, 1, 1, 2, tzinfo=pytz.UTC) assert df.index.freq == 'H' assert_allclose(df.tempF, [32., 32., 32.])