Exemple #1
0
def test_cross_validation_folds_return_length(train_size, min_train_size,
                                              horizon, step, expected):
    y_train = np.arange(train_size)
    cv = ms.rolling_forecast_origin(y_train, min_train_size, horizon, step)
    result = ms.cross_validation_folds(b.Naive1(), cv)

    assert len(result) == expected
Exemple #2
0
def test_cross_validation_score_return_length(train_size, min_train_size,
                                              horizon, step, expected):
    y_train = np.arange(train_size)
    cv = ms.rolling_forecast_origin(y_train, min_train_size, horizon, step)
    metric = metrics.mean_error
    result = ms.cross_validation_score(b.Naive1(), cv, metric=metric, n_jobs=1)

    assert len(result) == expected
Exemple #3
0
def test_rfo_test_length(train_size, horizon, expected):
    '''
    test the length of test is correct in the rolling origin
    generator
    '''
    train = np.arange(train_size)
    cv = ms.rolling_forecast_origin(train, min_train_size=1, horizon=horizon)

    _, test_cv = next(cv)

    assert expected == len(test_cv)
Exemple #4
0
def test_rfo_min_train_length(train_size, min_train_size, horizon, expected):
    '''
    check that the minimum training size is correct
    '''
    train = np.arange(train_size)
    cv = ms.rolling_forecast_origin(train,
                                    min_train_size=min_train_size,
                                    horizon=horizon)

    train_cv, _ = next(cv)

    assert expected == len(train_cv)
Exemple #5
0
def test_forecast_accuracy_length(n_horizons, expected):
    model = b.Naive1()
    train = np.arange(10000)
    metric = metrics.mean_absolute_error
    horizons = np.arange(1, n_horizons + 1).tolist()
    cv = ms.rolling_forecast_origin(train, min_train_size=100, horizon=100)
    train_cv, test_cv = next(cv)

    result_h = ms.forecast_accuracy(model,
                                    train_cv,
                                    test_cv,
                                    horizons=horizons,
                                    metric=metric)

    assert len(result_h) == expected
Exemple #6
0
def test_rfo_second_fold_train_size(train_size, min_train_size, horizon, step,
                                    expected):
    '''
    check that the second fold size = minimum training size + step
    '''
    train = np.arange(train_size)
    cv = ms.rolling_forecast_origin(train,
                                    min_train_size=min_train_size,
                                    horizon=horizon,
                                    step=step)

    train_cv, _ = next(cv)
    # second fold min_train_size + step == len
    train_cv, _ = next(cv)

    assert expected == len(train_cv)
Exemple #7
0
def test_mase_cv_number_of_folds(train_size, min_train_size, horizon, step,
                                 expected):
    '''
    check that the number of folds returned from rolling origin
    is as expected when data source is a pandas.DataFrame
    '''
    train = np.arange(train_size)
    cv = ms.rolling_forecast_origin(train,
                                    min_train_size=min_train_size,
                                    horizon=horizon,
                                    step=step)

    scores = ms.scaled_cross_validation_score(b.Naive1(), cv)

    print(expected, len(scores))
    print(scores)
    assert expected == len(scores)
Exemple #8
0
def test_rfo_number_of_folds_pd(train_size, min_train_size, horizon, step,
                                expected):
    '''
    check that the number of folds returned from rolling origin
    is as expected when data source is a pandas.DataFrame
    '''
    train = pd.DataFrame(np.arange(train_size))
    cv = ms.rolling_forecast_origin(train,
                                    min_train_size=min_train_size,
                                    horizon=horizon,
                                    step=step)
    actual = 0

    # number of folds found
    for _, _ in cv:
        actual += 1

    assert expected == actual
Exemple #9
0
def test_rfo_number_of_folds(train_size, min_train_size, horizon, step,
                             expected):
    '''
    check that the number of folds returned from rolling origin
    is as expected
    '''
    train = np.arange(train_size)
    cv = ms.rolling_forecast_origin(train,
                                    min_train_size=min_train_size,
                                    horizon=horizon,
                                    step=step)
    actual = 0

    # number of folds found
    for _, _ in cv:
        actual += 1

    assert expected == actual