Static Covariates Configuration
# Create static covariates DataFrame
static_covariates = pd.DataFrame({
'region': ['North', 'South', 'East', 'West'],
'building_type': ['Commercial', 'Residential', 'Industrial', 'Mixed'],
'size_category': ['Large', 'Medium', 'Small', 'Medium']
})
# Create TimeSeries with static covariates
series_with_static = TimeSeries.from_dataframe(
df=your_data,
time_col='timestamp',
value_cols=['energy_consumption'],
static_covariates=static_covariates
)
# Model configuration
model = RNNModel(
input_chunk_length=24*30,
model='LSTM',
hidden_dim=64,
use_static_covariates=True # Enable static
covariates
)
Non-Static Covariates Configuration
# Create future covariates (known in advance)
future_covariates = TimeSeries.from_dataframe(
df=calendar_data,
time_col='timestamp',
value_cols=['is_holiday', 'day_of_week', 'month']
)
# Create past covariates (observed variables)
past_covariates = TimeSeries.from_dataframe(
df=weather_data,
time_col='timestamp',
value_cols=['temperature', 'humidity', 'wind_speed']
)
# Training with both types
model.fit(
series=train_series,
future_covariates=future_covariates,
past_covariates=past_covariates
)
# Prediction
predictions = model.predict(
n=forecast_horizon,
future_covariates=future_covariates
)