def check_simple(df):
     m = NeuralProphet()
     folds = m.crossvalidation_split_df(df,
                                        freq="D",
                                        k=5,
                                        fold_pct=0.1,
                                        fold_overlap_pct=0.5)
     assert all(
         [70 + i * 5 == len(train) for i, (train, val) in enumerate(folds)])
     assert all([10 == len(val) for (train, val) in folds])
Пример #2
0
 def check_cv(df, freq, n_lags, n_forecasts, k, fold_pct, fold_overlap_pct):
     m = NeuralProphet(
         n_lags=n_lags,
         n_forecasts=n_forecasts,
     )
     folds = m.crossvalidation_split_df(df, freq=freq, k=k, fold_pct=fold_pct, fold_overlap_pct=fold_overlap_pct)
     total_samples = len(df) - m.n_lags + 2 - (2 * m.n_forecasts)
     per_fold = int(fold_pct * total_samples)
     not_overlap = per_fold - int(fold_overlap_pct * per_fold)
     assert all([per_fold == len(val) - m.n_lags + 1 - m.n_forecasts for (train, val) in folds])
     assert all(
         [
             total_samples - per_fold - (k - i - 1) * not_overlap == len(train) - m.n_lags + 1 - m.n_forecasts
             for i, (train, val) in enumerate(folds)
         ]
     )