Micah Denver
12/10/2024, 11:05 PMJosé Morales
12/10/2024, 11:19 PMMicah Denver
12/11/2024, 2:24 AMhorizon = 1
config = {
"input_size": -1,
"inference_input_size": -1,
"encoder_n_layers": tune.choice([2, 4]),
"encoder_hidden_size": tune.choice([100, 200]),
"context_size": tune.choice([12, 24]),
"decoder_hidden_size": tune.choice([64, 128]),
"learning_rate": tune.choice([1e-1, 1e-3]),
"max_steps": tune.choice([10]),
"batch_size": tune.choice([16, 32]),
"scaler_type": tune.choice(['standard', 'robust']),
"random_seed": 42
}
models = [AutoLSTM(h=horizon, config=config, loss=MAE(), gpus=1)]
nf = NeuralForecast(models=models, freq='h')
nf.fit(X_train_val)
nf.save('AutoLSTM', overwrite=True)
Micah Denver
12/11/2024, 2:25 AMJosé Morales
12/11/2024, 3:37 PMMicah Denver
12/11/2024, 4:38 PMMicah Denver
12/11/2024, 4:39 PMJosé Morales
12/11/2024, 4:55 PMMicah Denver
12/11/2024, 5:11 PMJosé Morales
12/11/2024, 5:12 PMfrom utilsforecast.data import generate_series
series = generate_series(5, freq='D')
Micah Denver
12/11/2024, 5:43 PMMicah Denver
12/11/2024, 5:43 PMJosé Morales
12/11/2024, 9:54 PMfrom neuralforecast import NeuralForecast
from neuralforecast.models import LSTM
from neuralforecast.losses.pytorch import MAE
from utilsforecast.data import generate_series
series = generate_series(1, freq='h', min_length=6000, max_length=6000)
cfg = {'input_size': -1,
'inference_input_size': -1,
'encoder_n_layers': 4,
'encoder_hidden_size': 200,
'context_size': 12,
'decoder_hidden_size': 64,
'learning_rate': 0.1,
'max_steps': 10,
'batch_size': 32,
'scaler_type': 'standard',
'random_seed': 42,
'h': 1,
'loss': MAE(),
'valid_loss': MAE()}
nf = NeuralForecast(
models=[LSTM(**cfg)],
freq='h',
)
nf.fit(series)
for k, v in nf.models[0].state_dict().items():
print(f'Pct NaN {k}: {v.isnan().float().mean().item()}')
Marco
12/12/2024, 3:26 PMJosé Morales
12/12/2024, 3:37 PMJosé Morales
12/12/2024, 3:38 PMJosé Morales
12/12/2024, 3:40 PM'input_size': 20,
'inference_input_size': 20
works fine on this toy example. especially since your horizon is 1 you probably don't need a lot of historyMicah Denver
12/12/2024, 4:24 PMMicah Denver
12/12/2024, 6:38 PMMicah Denver
12/12/2024, 6:38 PM