DSR Model
The DSR Model (Dynamical System Reconstruction) models the latent dynamics. It is wrapped by DSRModel in src/models/dsr_model/dsr_model.py.
Implementation
To add a new latent step (dynamical model):
- Create Model Folder:
src/models/dsr_model/models/<your_model_name>/. - Create Base Class: In
base.py, define yourStepclass inheriting fromHierarchisedModel(orHierarchisedDSRModel). - Implement Schemes: Often, different hierarchisation schemes are implemented in separate files (e.g.,
linear_projection.py,none.py) within that folder to keep the code clean, but they all must implement theHierarchisedModelinterface methods.
Configuration Resolution & Registration
Register your new model in src/models/dsr_model/dsr_model.py.
1. In DSRModel.resolve_config
Add logic to handle specific default hyperparameters for your model if needed. The generic hyperparameters map is usually sufficient, but special handling (like dim_forcing or scheme-specific flags) happens here.
2. In DSRModel.__init__
Add a case to the match latent_step["name"]: block.
match latent_step["name"]:
case "MyNewModel":
self.latent_step = MyNewModelStep