Jeff Tackes
04/25/2024, 12:20 AMJosé Morales
04/25/2024, 12:23 AMJeff Tackes
04/25/2024, 12:25 AMJosé Morales
04/25/2024, 12:27 AMJeff Tackes
04/25/2024, 12:29 AMJeff Tackes
04/25/2024, 12:30 AMJosé Morales
04/25/2024, 12:33 AMJosé Morales
04/25/2024, 12:35 AMJeff Tackes
04/25/2024, 12:38 AMJosé Morales
04/25/2024, 12:41 AMJosé Morales
04/25/2024, 12:49 AMfrom mlforecast import MLForecast
from mlforecast.lag_transforms import RollingMean
from sklearn.base import BaseEstimator
from utilsforecast.data import generate_series
class WindowAverage(BaseEstimator):
def __init__(self, window_size):
self.window_size = window_size
def fit(self, X, y):
return self
def predict(self, X):
return X[f'rolling_mean_lag1_window_size{self.window_size}']
freq = 'H'
window_size = 13
horizon = 2 * window_size
data = generate_series(1, freq=freq)
fcst = MLForecast(
models=[WindowAverage(window_size)],
freq=freq,
lag_transforms={1: [RollingMean(window_size)]}
)
fcst.fit(data)
fcst.predict(horizon)
Please let us know if this doesn't work out for youJeff Tackes
04/25/2024, 12:51 AM