コード例 #1
0
ファイル: test_dlt.py プロジェクト: goncaloperes/orbit
def test_dlt_aggregated_with_regression(synthetic_data, estimator_type,
                                        regressor_signs):
    train_df, test_df, coef = synthetic_data

    dlt = DLTAggregated(response_col='response',
                        date_col='week',
                        regressor_col=train_df.columns.tolist()[2:],
                        regressor_sign=regressor_signs,
                        seasonality=52,
                        num_warmup=50,
                        verbose=False,
                        estimator_type=estimator_type)

    dlt.fit(train_df)
    predict_df = dlt.predict(test_df)

    regression_out = dlt.get_regression_coefs()
    num_regressors = regression_out.shape[0]

    expected_columns = ['week', 'prediction_5', 'prediction', 'prediction_95']
    expected_shape = (51, len(expected_columns))
    expected_regression_shape = (6, 3)

    assert predict_df.shape == expected_shape
    assert predict_df.columns.tolist() == expected_columns
    assert regression_out.shape == expected_regression_shape
    assert num_regressors == len(train_df.columns.tolist()[2:])

    predict_df = dlt.predict(test_df, decompose=True)
    assert any(predict_df['regression'].values)
コード例 #2
0
def test_dlt_aggregated_univariate(synthetic_data, estimator_type):
    train_df, test_df, coef = synthetic_data

    dlt = DLTAggregated(response_col='response',
                        date_col='week',
                        seasonality=52,
                        num_warmup=50,
                        verbose=False,
                        estimator_type=estimator_type)

    dlt.fit(train_df)
    predict_df = dlt.predict(test_df)

    expected_columns = ['week', 'prediction']
    expected_shape = (51, len(expected_columns))
    expected_num_parameters = 13

    assert predict_df.shape == expected_shape
    assert predict_df.columns.tolist() == expected_columns
    assert len(dlt._posterior_samples) == expected_num_parameters
コード例 #3
0
ファイル: test_dlt.py プロジェクト: goncaloperes/orbit
def test_dlt_aggregated_univariate(synthetic_data, estimator_type):
    train_df, test_df, coef = synthetic_data

    dlt = DLTAggregated(response_col='response',
                        date_col='week',
                        seasonality=52,
                        num_warmup=50,
                        verbose=False,
                        estimator_type=estimator_type)

    dlt.fit(train_df)

    init_call = dlt.get_init_values()
    assert isinstance(init_call, DLTInitializer)
    assert init_call.s == 52
    init_values = init_call()
    assert init_values['init_sea'].shape == (51, )

    predict_df = dlt.predict(test_df)

    expected_columns = ['week', 'prediction_5', 'prediction', 'prediction_95']
    expected_shape = (51, len(expected_columns))
    expected_num_parameters = 12

    assert predict_df.shape == expected_shape
    assert predict_df.columns.tolist() == expected_columns
    assert len(dlt._posterior_samples) == expected_num_parameters