dfm-python 0.4.3__tar.gz → 0.4.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {dfm_python-0.4.3 → dfm_python-0.4.5}/PKG-INFO +1 -1
- dfm_python-0.4.5/config/README.md +174 -0
- dfm_python-0.4.5/config/experiment/default.yaml +82 -0
- dfm_python-0.4.5/config/experiment/myexp_20251204233620.yaml +108 -0
- dfm_python-0.4.5/config/experiment/test_experiment_20251204170512.yaml +107 -0
- dfm_python-0.4.5/config/model/arma.yaml +5 -0
- dfm_python-0.4.5/config/model/ddfm.yaml +48 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/config/model/dfm.yaml +6 -8
- dfm_python-0.4.5/config/model/tft.yaml +7 -0
- dfm_python-0.4.5/config/model/xgboost.yaml +23 -0
- dfm_python-0.4.5/config/preprocess/default.yaml +35 -0
- dfm_python-0.4.5/config/preprocess/test_preprocess_20251204170512.yaml +41 -0
- dfm_python-0.4.5/config/series/KO3YEARC.yaml +16 -0
- dfm_python-0.4.5/config/series/KOBFDSAAF.yaml +15 -0
- dfm_python-0.4.5/config/series/KOBFINAAF.yaml +16 -0
- dfm_python-0.4.5/config/series/KOBFXSAAF.yaml +16 -0
- dfm_python-0.4.5/config/series/KOBSESI_R.yaml +15 -0
- dfm_python-0.4.5/config/series/KOBSIBCEQ.yaml +15 -0
- dfm_python-0.4.5/config/series/KOBSIBCOQ.yaml +15 -0
- dfm_python-0.4.5/config/series/KOBSIBNER.yaml +15 -0
- dfm_python-0.4.5/config/series/KOBSIBNMR.yaml +15 -0
- dfm_python-0.4.5/config/series/KOBSIEMAR.yaml +16 -0
- dfm_python-0.4.5/config/series/KOBSIHAPR.yaml +16 -0
- dfm_python-0.4.5/config/series/KOBSIIMER.yaml +16 -0
- dfm_python-0.4.5/config/series/KOBSIIMPR.yaml +16 -0
- dfm_python-0.4.5/config/series/KOBSIXMER.yaml +16 -0
- dfm_python-0.4.5/config/series/KOBUSINVR.yaml +16 -0
- dfm_python-0.4.5/config/series/KOCALL_.yaml +15 -0
- dfm_python-0.4.5/config/series/KOCNFBUSR.yaml +15 -0
- dfm_python-0.4.5/config/series/KOCNFCONR.yaml +16 -0
- dfm_python-0.4.5/config/series/KOCNGOV_D.yaml +15 -0
- dfm_python-0.4.5/config/series/KOCNPER_D.yaml +16 -0
- dfm_python-0.4.5/config/series/KOCOBUSIR.yaml +15 -0
- dfm_python-0.4.5/config/series/KOCONPMTH.yaml +16 -0
- dfm_python-0.4.5/config/series/KOCONPRCF.yaml +16 -0
- dfm_python-0.4.5/config/series/KOCONSTRP.yaml +16 -0
- dfm_python-0.4.5/config/series/KOCPCOREF.yaml +16 -0
- dfm_python-0.4.5/config/series/KOCPEXFEF.yaml +16 -0
- dfm_python-0.4.5/config/series/KOCREU__A.yaml +17 -0
- dfm_python-0.4.5/config/series/KOCSECDMR.yaml +16 -0
- dfm_python-0.4.5/config/series/KOCSECEMR.yaml +16 -0
- dfm_python-0.4.5/config/series/KOCSEMEMR.yaml +17 -0
- dfm_python-0.4.5/config/series/KOCSEOHDR.yaml +16 -0
- dfm_python-0.4.5/config/series/KOCSEOHSR.yaml +16 -0
- dfm_python-0.4.5/config/series/KOCSHHEMR.yaml +16 -0
- dfm_python-0.4.5/config/series/KOCSHHLMR.yaml +16 -0
- dfm_python-0.4.5/config/series/KOCSMTTOA.yaml +17 -0
- dfm_python-0.4.5/config/series/KOCSPHIMR.yaml +16 -0
- dfm_python-0.4.5/config/series/KOCSPSPMR.yaml +16 -0
- dfm_python-0.4.5/config/series/KOCYLEADR.yaml +15 -0
- dfm_python-0.4.5/config/series/KODBLNEQA.yaml +17 -0
- dfm_python-0.4.5/config/series/KODBLNHSA.yaml +17 -0
- dfm_python-0.4.5/config/series/KOEMPCONF.yaml +17 -0
- dfm_python-0.4.5/config/series/KOEMPMANF.yaml +16 -0
- dfm_python-0.4.5/config/series/KOEMPTOTO.yaml +16 -0
- dfm_python-0.4.5/config/series/KOEMPWREP.yaml +17 -0
- dfm_python-0.4.5/config/series/KOEQUIMAE.yaml +16 -0
- dfm_python-0.4.5/config/series/KOEQUIPTE.yaml +16 -0
- dfm_python-0.4.5/config/series/KOEQUITTE.yaml +16 -0
- dfm_python-0.4.5/config/series/KOEXCHINA.yaml +17 -0
- dfm_python-0.4.5/config/series/KOEXNGS_D.yaml +16 -0
- dfm_python-0.4.5/config/series/KOEXPGDSA.yaml +17 -0
- dfm_python-0.4.5/config/series/KOEXPPRCF.yaml +16 -0
- dfm_python-0.4.5/config/series/KOGCFCNSD.yaml +16 -0
- dfm_python-0.4.5/config/series/KOGCFFNVD.yaml +16 -0
- dfm_python-0.4.5/config/series/KOGDP___D.yaml +15 -0
- dfm_python-0.4.5/config/series/KOGFCF__D.yaml +16 -0
- dfm_python-0.4.5/config/series/KOHWRWEMP.yaml +16 -0
- dfm_python-0.4.5/config/series/KOIMNGS_D.yaml +15 -0
- dfm_python-0.4.5/config/series/KOIMPCONA.yaml +17 -0
- dfm_python-0.4.5/config/series/KOIMPGDDA.yaml +17 -0
- dfm_python-0.4.5/config/series/KOIMPGDSA.yaml +16 -0
- dfm_python-0.4.5/config/series/KOIMPPRCF.yaml +16 -0
- dfm_python-0.4.5/config/series/KOIPALL_G.yaml +15 -0
- dfm_python-0.4.5/config/series/KOIPMIMAG.yaml +15 -0
- dfm_python-0.4.5/config/series/KOLRLTCO.yaml +16 -0
- dfm_python-0.4.5/config/series/KOLRLTHH.yaml +15 -0
- dfm_python-0.4.5/config/series/KOMPCAPGG.yaml +16 -0
- dfm_python-0.4.5/config/series/KOMPCONDG.yaml +16 -0
- dfm_python-0.4.5/config/series/KOMPCONGG.yaml +16 -0
- dfm_python-0.4.5/config/series/KOMPCONNG.yaml +16 -0
- dfm_python-0.4.5/config/series/KOMPRI30G.yaml +16 -0
- dfm_python-0.4.5/config/series/KOMSCAPGG.yaml +16 -0
- dfm_python-0.4.5/config/series/KOMSCONGG.yaml +16 -0
- dfm_python-0.4.5/config/series/KONETTRDF.yaml +17 -0
- dfm_python-0.4.5/config/series/KONEWCONA.yaml +17 -0
- dfm_python-0.4.5/config/series/KOPICAPGG.yaml +16 -0
- dfm_python-0.4.5/config/series/KOPICONGG.yaml +16 -0
- dfm_python-0.4.5/config/series/KOPIMANUG.yaml +15 -0
- dfm_python-0.4.5/config/series/KOPOPACTE.yaml +16 -0
- dfm_python-0.4.5/config/series/KOPPSRM_F.yaml +16 -0
- dfm_python-0.4.5/config/series/KOPROPRCF.yaml +16 -0
- dfm_python-0.4.5/config/series/KOPSMANUG.yaml +15 -0
- dfm_python-0.4.5/config/series/KORCNST.yaml +12 -0
- dfm_python-0.4.5/config/series/KORELEC.yaml +15 -0
- dfm_python-0.4.5/config/series/KORFBEV.yaml +15 -0
- dfm_python-0.4.5/config/series/KORMACH.yaml +12 -0
- dfm_python-0.4.5/config/series/KORMCMP.yaml +12 -0
- dfm_python-0.4.5/config/series/KOROCOINF.yaml +15 -0
- dfm_python-0.4.5/config/series/KORWHLS.yaml +15 -0
- dfm_python-0.4.5/config/series/KOSHRPRCF.yaml +16 -0
- dfm_python-0.4.5/config/series/KOSIAHOTE.yaml +16 -0
- dfm_python-0.4.5/config/series/KOSIAI__E.yaml +16 -0
- dfm_python-0.4.5/config/series/KOSIARRLE.yaml +15 -0
- dfm_python-0.4.5/config/series/KOSIAWRTE.yaml +16 -0
- dfm_python-0.4.5/config/series/KOSSBFMBE.yaml +15 -0
- dfm_python-0.4.5/config/series/KOUN_TOTQ.yaml +16 -0
- dfm_python-0.4.5/config/series/KOUS____.yaml +17 -0
- dfm_python-0.4.5/config/series/KOVALCONA.yaml +17 -0
- dfm_python-0.4.5/config/series/KOWRCCNSE.yaml +16 -0
- dfm_python-0.4.5/config/series/KOWRCDURE.yaml +16 -0
- dfm_python-0.4.5/config/series/KOWRCNODE.yaml +16 -0
- dfm_python-0.4.5/config/series/KOWRCSEME.yaml +16 -0
- dfm_python-0.4.5/data/metadata.csv +102 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/pyproject.toml +1 -1
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/__init__.py +1 -1
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/lightning/__init__.py +0 -7
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/models/base.py +0 -37
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/nowcast/helpers.py +0 -2
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/nowcast/splitters.py +4 -4
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/nowcast/utils.py +0 -4
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/test/test_pipeline_ddfm.py +15 -11
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/test/test_pipeline_dfm.py +18 -13
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/test/test_utils.py +4 -4
- dfm_python-0.4.3/config/experiment/base.yaml +0 -15
- dfm_python-0.4.3/config/experiment/investment_ddfm.yaml +0 -79
- dfm_python-0.4.3/config/experiment/production_dfm.yaml +0 -61
- dfm_python-0.4.3/config/experiment/production_dfm_high_factors.yaml +0 -61
- dfm_python-0.4.3/config/experiment/test_ddfm.yaml +0 -26
- dfm_python-0.4.3/config/experiment/test_dfm.yaml +0 -26
- dfm_python-0.4.3/config/model/ddfm.yaml +0 -30
- dfm_python-0.4.3/config/series/KO3YEARC.yaml +0 -12
- dfm_python-0.4.3/config/series/KOBFDSAAF.yaml +0 -11
- dfm_python-0.4.3/config/series/KOBFINAAF.yaml +0 -12
- dfm_python-0.4.3/config/series/KOBFXSAAF.yaml +0 -12
- dfm_python-0.4.3/config/series/KOBSESI_R.yaml +0 -11
- dfm_python-0.4.3/config/series/KOBSIBCEQ.yaml +0 -11
- dfm_python-0.4.3/config/series/KOBSIBCOQ.yaml +0 -11
- dfm_python-0.4.3/config/series/KOBSIBNER.yaml +0 -11
- dfm_python-0.4.3/config/series/KOBSIBNMR.yaml +0 -11
- dfm_python-0.4.3/config/series/KOBSIEMAR.yaml +0 -12
- dfm_python-0.4.3/config/series/KOBSIHAPR.yaml +0 -12
- dfm_python-0.4.3/config/series/KOBSIIMER.yaml +0 -12
- dfm_python-0.4.3/config/series/KOBSIIMPR.yaml +0 -12
- dfm_python-0.4.3/config/series/KOBSIXMER.yaml +0 -12
- dfm_python-0.4.3/config/series/KOBUSINVR.yaml +0 -12
- dfm_python-0.4.3/config/series/KOCALL_.yaml +0 -11
- dfm_python-0.4.3/config/series/KOCNFBUSR.yaml +0 -11
- dfm_python-0.4.3/config/series/KOCNFCONR.yaml +0 -12
- dfm_python-0.4.3/config/series/KOCNGOV_D.yaml +0 -11
- dfm_python-0.4.3/config/series/KOCNPER_D.yaml +0 -12
- dfm_python-0.4.3/config/series/KOCOBUSIR.yaml +0 -11
- dfm_python-0.4.3/config/series/KOCONPMTH.yaml +0 -12
- dfm_python-0.4.3/config/series/KOCONPRCF.yaml +0 -12
- dfm_python-0.4.3/config/series/KOCONSTRP.yaml +0 -12
- dfm_python-0.4.3/config/series/KOCPCOREF.yaml +0 -12
- dfm_python-0.4.3/config/series/KOCPEXFEF.yaml +0 -12
- dfm_python-0.4.3/config/series/KOCREU__A.yaml +0 -13
- dfm_python-0.4.3/config/series/KOCSECDMR.yaml +0 -12
- dfm_python-0.4.3/config/series/KOCSECEMR.yaml +0 -12
- dfm_python-0.4.3/config/series/KOCSEMEMR.yaml +0 -13
- dfm_python-0.4.3/config/series/KOCSEOHDR.yaml +0 -12
- dfm_python-0.4.3/config/series/KOCSEOHSR.yaml +0 -12
- dfm_python-0.4.3/config/series/KOCSHHEMR.yaml +0 -12
- dfm_python-0.4.3/config/series/KOCSHHLMR.yaml +0 -12
- dfm_python-0.4.3/config/series/KOCSMTTOA.yaml +0 -13
- dfm_python-0.4.3/config/series/KOCSPHIMR.yaml +0 -12
- dfm_python-0.4.3/config/series/KOCSPSPMR.yaml +0 -12
- dfm_python-0.4.3/config/series/KOCYLEADR.yaml +0 -11
- dfm_python-0.4.3/config/series/KODBLNEQA.yaml +0 -13
- dfm_python-0.4.3/config/series/KODBLNHSA.yaml +0 -13
- dfm_python-0.4.3/config/series/KOEMPCONF.yaml +0 -13
- dfm_python-0.4.3/config/series/KOEMPMANF.yaml +0 -12
- dfm_python-0.4.3/config/series/KOEMPTOTO.yaml +0 -12
- dfm_python-0.4.3/config/series/KOEMPWREP.yaml +0 -13
- dfm_python-0.4.3/config/series/KOEQUIMAE.yaml +0 -12
- dfm_python-0.4.3/config/series/KOEQUIPTE.yaml +0 -12
- dfm_python-0.4.3/config/series/KOEQUITTE.yaml +0 -12
- dfm_python-0.4.3/config/series/KOEXCHINA.yaml +0 -13
- dfm_python-0.4.3/config/series/KOEXNGS_D.yaml +0 -12
- dfm_python-0.4.3/config/series/KOEXPGDSA.yaml +0 -13
- dfm_python-0.4.3/config/series/KOEXPPRCF.yaml +0 -12
- dfm_python-0.4.3/config/series/KOGCFCNSD.yaml +0 -12
- dfm_python-0.4.3/config/series/KOGCFFNVD.yaml +0 -12
- dfm_python-0.4.3/config/series/KOGDP___D.yaml +0 -12
- dfm_python-0.4.3/config/series/KOGFCF__D.yaml +0 -12
- dfm_python-0.4.3/config/series/KOHWRWEMP.yaml +0 -12
- dfm_python-0.4.3/config/series/KOIMNGS_D.yaml +0 -11
- dfm_python-0.4.3/config/series/KOIMPCONA.yaml +0 -13
- dfm_python-0.4.3/config/series/KOIMPGDDA.yaml +0 -13
- dfm_python-0.4.3/config/series/KOIMPGDSA.yaml +0 -12
- dfm_python-0.4.3/config/series/KOIMPPRCF.yaml +0 -12
- dfm_python-0.4.3/config/series/KOIPALL_G.yaml +0 -11
- dfm_python-0.4.3/config/series/KOIPMIMAG.yaml +0 -11
- dfm_python-0.4.3/config/series/KOLRLTCO.yaml +0 -12
- dfm_python-0.4.3/config/series/KOLRLTHH.yaml +0 -11
- dfm_python-0.4.3/config/series/KOMPCAPGG.yaml +0 -12
- dfm_python-0.4.3/config/series/KOMPCONDG.yaml +0 -12
- dfm_python-0.4.3/config/series/KOMPCONGG.yaml +0 -12
- dfm_python-0.4.3/config/series/KOMPCONNG.yaml +0 -12
- dfm_python-0.4.3/config/series/KOMPRI30G.yaml +0 -12
- dfm_python-0.4.3/config/series/KOMSCAPGG.yaml +0 -12
- dfm_python-0.4.3/config/series/KOMSCONGG.yaml +0 -12
- dfm_python-0.4.3/config/series/KONETTRDF.yaml +0 -13
- dfm_python-0.4.3/config/series/KONEWCONA.yaml +0 -13
- dfm_python-0.4.3/config/series/KOPICAPGG.yaml +0 -12
- dfm_python-0.4.3/config/series/KOPICONGG.yaml +0 -12
- dfm_python-0.4.3/config/series/KOPIMANUG.yaml +0 -11
- dfm_python-0.4.3/config/series/KOPOPACTE.yaml +0 -12
- dfm_python-0.4.3/config/series/KOPPSRM_F.yaml +0 -12
- dfm_python-0.4.3/config/series/KOPROPRCF.yaml +0 -12
- dfm_python-0.4.3/config/series/KOPSMANUG.yaml +0 -11
- dfm_python-0.4.3/config/series/KORCNST.yaml +0 -8
- dfm_python-0.4.3/config/series/KORELEC.yaml +0 -11
- dfm_python-0.4.3/config/series/KORFBEV.yaml +0 -11
- dfm_python-0.4.3/config/series/KORMACH.yaml +0 -8
- dfm_python-0.4.3/config/series/KORMCMP.yaml +0 -8
- dfm_python-0.4.3/config/series/KOROCOINF.yaml +0 -11
- dfm_python-0.4.3/config/series/KORWHLS.yaml +0 -11
- dfm_python-0.4.3/config/series/KOSHRPRCF.yaml +0 -12
- dfm_python-0.4.3/config/series/KOSIAHOTE.yaml +0 -12
- dfm_python-0.4.3/config/series/KOSIAI__E.yaml +0 -12
- dfm_python-0.4.3/config/series/KOSIARRLE.yaml +0 -11
- dfm_python-0.4.3/config/series/KOSIAWRTE.yaml +0 -12
- dfm_python-0.4.3/config/series/KOSSBFMBE.yaml +0 -11
- dfm_python-0.4.3/config/series/KOUN_TOTQ.yaml +0 -12
- dfm_python-0.4.3/config/series/KOUS____.yaml +0 -13
- dfm_python-0.4.3/config/series/KOVALCONA.yaml +0 -13
- dfm_python-0.4.3/config/series/KOWRCCNSE.yaml +0 -12
- dfm_python-0.4.3/config/series/KOWRCDURE.yaml +0 -12
- dfm_python-0.4.3/config/series/KOWRCNODE.yaml +0 -12
- dfm_python-0.4.3/config/series/KOWRCSEME.yaml +0 -12
- dfm_python-0.4.3/src/dfm_python/lightning/callbacks.py +0 -0
- dfm_python-0.4.3/src/dfm_python/lightning/utils.py +0 -0
- dfm_python-0.4.3/src/dfm_python/models/estimation.py +0 -371
- {dfm_python-0.4.3 → dfm_python-0.4.5}/.gitignore +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/.python-version +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/LICENSE +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/MANIFEST.in +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/README.md +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/data/sample_data.csv +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/config/__init__.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/config/adapter.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/config/results.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/config/schema.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/config/utils.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/data/__init__.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/data/dataloader.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/data/dataset.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/data/utils.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/encoder/__init__.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/encoder/base.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/encoder/pca.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/encoder/vae.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/lightning/data_module.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/lightning/scaling.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/logger/__init__.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/logger/inference_logger.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/logger/logger.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/logger/train_logger.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/models/__init__.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/models/ddfm.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/models/dfm.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/nowcast/__init__.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/nowcast/dataview.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/nowcast/nowcast.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/nowcast/transformers.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/ssm/__init__.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/ssm/em.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/ssm/kalman.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/ssm/utils.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/trainer/__init__.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/trainer/ddfm.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/trainer/dfm.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/utils/__init__.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/utils/data.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/utils/diagnostics.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/utils/helpers.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/utils/statespace.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/dfm_python/utils/time.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/test/test_config.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/test/test_helpers.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/test/test_logger.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/test/test_models.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/test/test_nowcast.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/test/test_sktime_integration.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/test/test_ssm.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/src/test/test_trainer.py +0 -0
- {dfm_python-0.4.3 → dfm_python-0.4.5}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dfm-python
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.5
|
|
4
4
|
Summary: Dynamic Factor Model (DFM) estimation and nowcasting in Python
|
|
5
5
|
Project-URL: Homepage, https://github.com/yourusername/dfm-python
|
|
6
6
|
Project-URL: Documentation, https://github.com/yourusername/dfm-python#readme
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
# Configuration Structure
|
|
2
|
+
|
|
3
|
+
This directory contains all configuration files for the Nowcasting system. The configuration follows a **unified structure** where experiment configs contain all necessary settings including preprocessing and series configurations.
|
|
4
|
+
|
|
5
|
+
## Directory Structure
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
config/
|
|
9
|
+
├── experiment/ # Experiment configurations (unified structure)
|
|
10
|
+
├── model/ # Model-specific hyperparameters
|
|
11
|
+
├── preprocess/ # Preprocessing templates (for reference)
|
|
12
|
+
└── series/ # Series configurations (legacy, now embedded in experiments)
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Unified Configuration Structure
|
|
16
|
+
|
|
17
|
+
### Experiment Configs (`config/experiment/`)
|
|
18
|
+
|
|
19
|
+
Experiment configs now contain **all** configuration in a single file:
|
|
20
|
+
|
|
21
|
+
```yaml
|
|
22
|
+
# Experiment Metadata
|
|
23
|
+
name: experiment_name
|
|
24
|
+
description: "Experiment description"
|
|
25
|
+
model_type: dfm # dfm, ddfm, arma, tft, xgboost
|
|
26
|
+
|
|
27
|
+
# Preprocess Configuration
|
|
28
|
+
preprocess:
|
|
29
|
+
metadata:
|
|
30
|
+
data_path: data/sample_data.csv
|
|
31
|
+
target_column: KOGDP...D
|
|
32
|
+
exclude_columns: [date]
|
|
33
|
+
sample_start: null
|
|
34
|
+
sample_end: null
|
|
35
|
+
|
|
36
|
+
data_quality:
|
|
37
|
+
remove_sparse_rows: true
|
|
38
|
+
sparse_threshold: 0.8
|
|
39
|
+
clip_outliers: true
|
|
40
|
+
outlier_std: 3.0
|
|
41
|
+
|
|
42
|
+
feature_engineering:
|
|
43
|
+
window_summarizer:
|
|
44
|
+
enabled: true
|
|
45
|
+
lags: [1, 2, 3, 5, 10]
|
|
46
|
+
windows: [5, 10, 20, 40]
|
|
47
|
+
functions: [mean, std, min, max, median, skew, kurt]
|
|
48
|
+
|
|
49
|
+
global_preprocessing:
|
|
50
|
+
imputation:
|
|
51
|
+
method: ffill_bfill # For non-DFM/DDFM models
|
|
52
|
+
scaling:
|
|
53
|
+
enabled: true
|
|
54
|
+
type: robust
|
|
55
|
+
transformations:
|
|
56
|
+
enabled: []
|
|
57
|
+
|
|
58
|
+
# Series Configuration
|
|
59
|
+
series:
|
|
60
|
+
- series_id: KO3YEARC
|
|
61
|
+
frequency: m
|
|
62
|
+
transformation: chg
|
|
63
|
+
blocks: [Block_Global, Block_Investment]
|
|
64
|
+
release: 1
|
|
65
|
+
scaler: null # null = use global scaler
|
|
66
|
+
impute: null # null = use global or Kalman filter (DFM/DDFM)
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Key Features
|
|
70
|
+
|
|
71
|
+
1. **Unified Structure**: All experiment settings in one file
|
|
72
|
+
2. **Conditional Imputation**:
|
|
73
|
+
- DFM/DDFM: Uses Kalman filter (built-in, no explicit imputation needed)
|
|
74
|
+
- Other models: Uses explicit imputation (ffill_bfill, mean, median, forecaster)
|
|
75
|
+
3. **Per-Series Overrides**: Each series can override global scaler/impute settings
|
|
76
|
+
4. **Window Summarizer**: Automatic feature engineering with lags and rolling windows
|
|
77
|
+
|
|
78
|
+
## Model Configs (`config/model/`)
|
|
79
|
+
|
|
80
|
+
Model-specific hyperparameters:
|
|
81
|
+
- `dfm.yaml` - DFM model parameters
|
|
82
|
+
- `ddfm.yaml` - DDFM model parameters
|
|
83
|
+
- `arma.yaml` - ARMA model parameters
|
|
84
|
+
- `tft.yaml` - Temporal Fusion Transformer parameters
|
|
85
|
+
- `xgboost.yaml` - XGBoost parameters
|
|
86
|
+
|
|
87
|
+
## Preprocess Configs (`config/preprocess/`)
|
|
88
|
+
|
|
89
|
+
**Note**: These are now templates/reference files. In the new structure, preprocessing is embedded in experiment configs. These files are kept for:
|
|
90
|
+
- Reference and documentation
|
|
91
|
+
- Backward compatibility
|
|
92
|
+
- Template generation
|
|
93
|
+
|
|
94
|
+
## Series Configs (`config/series/`)
|
|
95
|
+
|
|
96
|
+
**Note**: These are legacy files. In the new structure, series configurations are embedded in experiment configs. These files are kept for:
|
|
97
|
+
- Reference
|
|
98
|
+
- Migration purposes
|
|
99
|
+
- Template generation
|
|
100
|
+
|
|
101
|
+
## Configuration Hierarchy
|
|
102
|
+
|
|
103
|
+
1. **Experiment Config** (primary) - Contains all settings
|
|
104
|
+
2. **Model Config** (referenced) - Model-specific hyperparameters
|
|
105
|
+
3. **Preprocess Config** (legacy) - Reference templates only
|
|
106
|
+
4. **Series Config** (legacy) - Reference templates only
|
|
107
|
+
|
|
108
|
+
## Migration Guide
|
|
109
|
+
|
|
110
|
+
### Old Structure
|
|
111
|
+
```yaml
|
|
112
|
+
# experiment/{id}.yaml
|
|
113
|
+
data:
|
|
114
|
+
path: data/sample_data.csv
|
|
115
|
+
preprocessing:
|
|
116
|
+
config_path: config/preprocess/{id}.yaml
|
|
117
|
+
series: [KO3YEARC, ...]
|
|
118
|
+
|
|
119
|
+
# preprocess/{id}.yaml (separate file)
|
|
120
|
+
imputation:
|
|
121
|
+
method: ffill_bfill
|
|
122
|
+
scaling:
|
|
123
|
+
type: robust
|
|
124
|
+
|
|
125
|
+
# series/{series_id}.yaml (separate files)
|
|
126
|
+
frequency: m
|
|
127
|
+
transformation: chg
|
|
128
|
+
blocks: [Block_Global]
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### New Structure
|
|
132
|
+
```yaml
|
|
133
|
+
# experiment/{id}.yaml (unified)
|
|
134
|
+
preprocess:
|
|
135
|
+
global_preprocessing:
|
|
136
|
+
imputation:
|
|
137
|
+
method: ffill_bfill
|
|
138
|
+
scaling:
|
|
139
|
+
type: robust
|
|
140
|
+
series:
|
|
141
|
+
- series_id: KO3YEARC
|
|
142
|
+
frequency: m
|
|
143
|
+
transformation: chg
|
|
144
|
+
blocks: [Block_Global]
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Best Practices
|
|
148
|
+
|
|
149
|
+
1. **Use Experiment Configs**: All new experiments should use the unified structure
|
|
150
|
+
2. **Model Type Awareness**:
|
|
151
|
+
- DFM/DDFM: Imputation handled by Kalman filter
|
|
152
|
+
- Other models: Specify explicit imputation method
|
|
153
|
+
3. **Per-Series Overrides**: Use sparingly, prefer global settings
|
|
154
|
+
4. **Window Summarizer**: Enable for feature-rich models (XGBoost, TFT)
|
|
155
|
+
5. **Scaling**: Use RobustScaler for economic data with outliers
|
|
156
|
+
|
|
157
|
+
## UI Integration
|
|
158
|
+
|
|
159
|
+
The UI left sidebar displays the config tree:
|
|
160
|
+
```
|
|
161
|
+
Experiment
|
|
162
|
+
├── Name, Model Type, Description
|
|
163
|
+
├── Preprocess
|
|
164
|
+
│ ├── Metadata (data path, target, exclude columns)
|
|
165
|
+
│ ├── Data Quality
|
|
166
|
+
│ ├── Feature Engineering (Window Summarizer)
|
|
167
|
+
│ └── Global Preprocessing (imputation, scaling)
|
|
168
|
+
└── Series
|
|
169
|
+
├── KO3YEARC (frequency, transformation, blocks, release, scaler, impute)
|
|
170
|
+
└── [Other series...]
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Right side: Training progress and monitoring.
|
|
174
|
+
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Default Experiment Configuration
|
|
2
|
+
# Unified experiment config with embedded preprocessing and series configurations
|
|
3
|
+
|
|
4
|
+
# Hydra defaults - specify which model config to use
|
|
5
|
+
defaults:
|
|
6
|
+
- model: dfm # Options: dfm, ddfm, arma, tft, xgboost
|
|
7
|
+
- _self_
|
|
8
|
+
|
|
9
|
+
# ============================================================================
|
|
10
|
+
# Experiment Metadata
|
|
11
|
+
# ============================================================================
|
|
12
|
+
name: default_experiment
|
|
13
|
+
description: "Default experiment configuration template"
|
|
14
|
+
model_type: dfm # dfm, ddfm, arma, tft, xgboost
|
|
15
|
+
|
|
16
|
+
# ============================================================================
|
|
17
|
+
# Preprocess Configuration
|
|
18
|
+
# ============================================================================
|
|
19
|
+
preprocess:
|
|
20
|
+
# Metadata
|
|
21
|
+
metadata:
|
|
22
|
+
data_path: data/sample_data.csv # Path to input data file
|
|
23
|
+
target_column: null # Target series for nowcasting/forecasting (e.g., KOGDP...D)
|
|
24
|
+
# Window Summarizer features (add_feature)
|
|
25
|
+
add_feature: # Features to add via Window Summarizer
|
|
26
|
+
- lag # Lag features
|
|
27
|
+
- mean # Rolling mean
|
|
28
|
+
- std # Rolling standard deviation
|
|
29
|
+
- min # Rolling minimum
|
|
30
|
+
- max # Rolling maximum
|
|
31
|
+
- median # Rolling median
|
|
32
|
+
- skew # Rolling skewness
|
|
33
|
+
- kurt # Rolling kurtosis
|
|
34
|
+
# Window Summarizer parameters
|
|
35
|
+
lags: [1, 2, 3, 5, 10] # Lag values: t-1, t-2, t-3, t-5, t-10
|
|
36
|
+
windows: [5, 10, 20, 40] # Rolling window sizes
|
|
37
|
+
|
|
38
|
+
# Series Configuration
|
|
39
|
+
# All series with their individual configurations
|
|
40
|
+
series:
|
|
41
|
+
# If empty, uses all columns from data (except excluded columns)
|
|
42
|
+
# Example series configurations:
|
|
43
|
+
# - series_id: KO3YEARC
|
|
44
|
+
# frequency: m # Options: d, w, m, q, sa, a
|
|
45
|
+
# transformation: chg # Options: lin, pch, pca, chg, ch1, cha
|
|
46
|
+
# block: # Block names this series loads on (must include Block_Global)
|
|
47
|
+
# - Block_Global
|
|
48
|
+
# - Block_Investment
|
|
49
|
+
# release: 1 # Day of month when data is released (1-31, or negative for days before month end)
|
|
50
|
+
# scaler: null # Per-series scaler (StandardScaler, RobustScaler, None/null)
|
|
51
|
+
# # null = use default (ffill and bfill for non-DFM/DDFM, Kalman filter for DFM/DDFM)
|
|
52
|
+
# impute: null # Per-series imputation (bfill, ffill, forecaster, dfm, ddfm)
|
|
53
|
+
# # bfill/ffill: Backward/forward fill
|
|
54
|
+
# # forecaster: Forecaster-based imputation
|
|
55
|
+
# # dfm/ddfm: Use model's built-in Kalman filter imputation (on the fly)
|
|
56
|
+
# # null: Use default (ffill and bfill for non-DFM/DDFM, Kalman filter for DFM/DDFM)
|
|
57
|
+
|
|
58
|
+
# ============================================================================
|
|
59
|
+
# Model Training Parameters
|
|
60
|
+
# ============================================================================
|
|
61
|
+
# These override model config defaults if specified
|
|
62
|
+
max_iter: 5000 # Maximum EM iterations (for DFM)
|
|
63
|
+
threshold: 1.0e-05 # Convergence threshold (for DFM)
|
|
64
|
+
|
|
65
|
+
# For DDFM models:
|
|
66
|
+
# encoder_layers: [64, 32]
|
|
67
|
+
# num_factors: 2
|
|
68
|
+
# epochs: 100
|
|
69
|
+
# learning_rate: 0.001
|
|
70
|
+
# batch_size: 32
|
|
71
|
+
|
|
72
|
+
# ============================================================================
|
|
73
|
+
# Output Configuration
|
|
74
|
+
# ============================================================================
|
|
75
|
+
output:
|
|
76
|
+
path: outputs/${experiment.name} # Output directory (uses experiment name)
|
|
77
|
+
save_model: true # Save trained model
|
|
78
|
+
save_plots: true # Save visualization plots
|
|
79
|
+
save_results: true # Save training results
|
|
80
|
+
|
|
81
|
+
# Forecast configuration (optional)
|
|
82
|
+
forecast_horizon: null # Number of periods ahead to forecast
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# My Experiment Configuration
|
|
2
|
+
# Example experiment config: myexp_20251204233620
|
|
3
|
+
# Generated: 2025-12-04 23:36:20
|
|
4
|
+
# Unified experiment config with embedded preprocessing and series configurations
|
|
5
|
+
|
|
6
|
+
# Hydra defaults - specify which model config to use
|
|
7
|
+
defaults:
|
|
8
|
+
- model: dfm # Options: dfm, ddfm, arma, tft, xgboost
|
|
9
|
+
- _self_
|
|
10
|
+
|
|
11
|
+
# ============================================================================
|
|
12
|
+
# Experiment Metadata
|
|
13
|
+
# ============================================================================
|
|
14
|
+
name: myexp_20251204233620
|
|
15
|
+
description: "My custom experiment configuration"
|
|
16
|
+
model_type: dfm # dfm, ddfm, arma, tft, xgboost
|
|
17
|
+
|
|
18
|
+
# ============================================================================
|
|
19
|
+
# Preprocess Configuration
|
|
20
|
+
# ============================================================================
|
|
21
|
+
preprocess:
|
|
22
|
+
# Metadata
|
|
23
|
+
metadata:
|
|
24
|
+
data_path: data/sample_data.csv # Path to input data file
|
|
25
|
+
target_column: KOGDP...D # Target series for nowcasting/forecasting
|
|
26
|
+
# Window Summarizer features (add_feature)
|
|
27
|
+
add_feature: # Features to add via Window Summarizer
|
|
28
|
+
- lag # Lag features
|
|
29
|
+
- mean # Rolling mean
|
|
30
|
+
- std # Rolling standard deviation
|
|
31
|
+
- min # Rolling minimum
|
|
32
|
+
- max # Rolling maximum
|
|
33
|
+
- median # Rolling median
|
|
34
|
+
- skew # Rolling skewness
|
|
35
|
+
- kurt # Rolling kurtosis
|
|
36
|
+
# Window Summarizer parameters
|
|
37
|
+
lags: [1, 2, 3, 5, 10] # Lag values: t-1, t-2, t-3, t-5, t-10
|
|
38
|
+
windows: [5, 10, 20, 40] # Rolling window sizes
|
|
39
|
+
|
|
40
|
+
# Series Configuration
|
|
41
|
+
# All series with their individual configurations
|
|
42
|
+
series:
|
|
43
|
+
- series_id: KO3YEARC
|
|
44
|
+
series_name: Corporate 3YR, AA-, Spread
|
|
45
|
+
frequency: m # Options: d, w, m, q, sa, a
|
|
46
|
+
transformation: chg # Options: lin, pch, pca, chg, ch1, cha
|
|
47
|
+
block: # Block names this series loads on (must include Block_Global)
|
|
48
|
+
- Block_Global
|
|
49
|
+
- Block_Investment
|
|
50
|
+
release: 1 # Day of month when data is released
|
|
51
|
+
scaler: null # Per-series scaler (StandardScaler, RobustScaler, None/null)
|
|
52
|
+
# null = use default
|
|
53
|
+
impute: null # Per-series imputation (bfill, ffill, forecaster, dfm, ddfm)
|
|
54
|
+
# null = use default (ffill and bfill for non-DFM/DDFM, Kalman filter for DFM/DDFM)
|
|
55
|
+
units: Percent, Annual # Optional metadata
|
|
56
|
+
category: Finance # Optional metadata
|
|
57
|
+
|
|
58
|
+
- series_id: KOGDP...D
|
|
59
|
+
series_name: GDP, Constant Prices
|
|
60
|
+
frequency: q # Quarterly
|
|
61
|
+
transformation: cha # Annual change
|
|
62
|
+
block:
|
|
63
|
+
- Block_Global
|
|
64
|
+
release: 25 # Released on 25th of month
|
|
65
|
+
scaler: null # Use default
|
|
66
|
+
impute: null # Use default (Kalman filter for DFM/DDFM)
|
|
67
|
+
units: Chained W, Billions
|
|
68
|
+
category: Macro
|
|
69
|
+
|
|
70
|
+
- series_id: KOEMPTOTO
|
|
71
|
+
series_name: Employment, Total, SA
|
|
72
|
+
frequency: m # Monthly
|
|
73
|
+
transformation: chg # Change
|
|
74
|
+
block:
|
|
75
|
+
- Block_Global
|
|
76
|
+
- Block_Labor
|
|
77
|
+
release: 11 # Released on 11th of month
|
|
78
|
+
scaler: RobustScaler # Override: use RobustScaler for this series
|
|
79
|
+
impute: null # Use default (Kalman filter for DFM/DDFM)
|
|
80
|
+
units: Thousands of Persons
|
|
81
|
+
category: Labor
|
|
82
|
+
|
|
83
|
+
# ============================================================================
|
|
84
|
+
# Model Training Parameters
|
|
85
|
+
# ============================================================================
|
|
86
|
+
# These override model config defaults if specified
|
|
87
|
+
max_iter: 5000 # Maximum EM iterations (for DFM)
|
|
88
|
+
threshold: 1.0e-05 # Convergence threshold (for DFM)
|
|
89
|
+
|
|
90
|
+
# For DDFM models:
|
|
91
|
+
# encoder_layers: [64, 32]
|
|
92
|
+
# num_factors: 2
|
|
93
|
+
# epochs: 100
|
|
94
|
+
# learning_rate: 0.001
|
|
95
|
+
# batch_size: 32
|
|
96
|
+
|
|
97
|
+
# ============================================================================
|
|
98
|
+
# Output Configuration
|
|
99
|
+
# ============================================================================
|
|
100
|
+
output:
|
|
101
|
+
path: outputs/myexp_20251204233620 # Output directory
|
|
102
|
+
save_model: true # Save trained model
|
|
103
|
+
save_plots: true # Save visualization plots
|
|
104
|
+
save_results: true # Save training results
|
|
105
|
+
|
|
106
|
+
# Forecast configuration (optional)
|
|
107
|
+
forecast_horizon: null # Number of periods ahead to forecast
|
|
108
|
+
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# Test Experiment Configuration
|
|
2
|
+
# Example experiment config following the pattern: test_experiment_{datetime}.yaml
|
|
3
|
+
# Generated: 2025-12-04 17:05:12
|
|
4
|
+
# Unified experiment config with embedded preprocessing and series configurations
|
|
5
|
+
|
|
6
|
+
# Hydra defaults - specify which model config to use
|
|
7
|
+
defaults:
|
|
8
|
+
- model: dfm # Options: dfm, ddfm, arma, tft, xgboost
|
|
9
|
+
- _self_
|
|
10
|
+
|
|
11
|
+
# ============================================================================
|
|
12
|
+
# Experiment Metadata
|
|
13
|
+
# ============================================================================
|
|
14
|
+
name: test_experiment_20251204170512
|
|
15
|
+
description: "Test experiment for preprocessing and model training with sample_data.csv"
|
|
16
|
+
model_type: dfm # dfm, ddfm, arma, tft, xgboost
|
|
17
|
+
|
|
18
|
+
# ============================================================================
|
|
19
|
+
# Preprocess Configuration
|
|
20
|
+
# ============================================================================
|
|
21
|
+
preprocess:
|
|
22
|
+
# Metadata
|
|
23
|
+
metadata:
|
|
24
|
+
data_path: data/sample_data.csv # Path to input data file
|
|
25
|
+
target_column: KOGDP...D # Target series for nowcasting/forecasting
|
|
26
|
+
# Window Summarizer features (add_feature)
|
|
27
|
+
add_feature: # Features to add via Window Summarizer
|
|
28
|
+
- lag # Lag features
|
|
29
|
+
- mean # Rolling mean
|
|
30
|
+
- std # Rolling standard deviation
|
|
31
|
+
- min # Rolling minimum
|
|
32
|
+
- max # Rolling maximum
|
|
33
|
+
- median # Rolling median
|
|
34
|
+
- skew # Rolling skewness
|
|
35
|
+
- kurt # Rolling kurtosis
|
|
36
|
+
# Window Summarizer parameters
|
|
37
|
+
lags: [1, 2, 3, 5, 10] # Lag values: t-1, t-2, t-3, t-5, t-10
|
|
38
|
+
windows: [5, 10, 20, 40] # Rolling window sizes
|
|
39
|
+
|
|
40
|
+
# Series Configuration
|
|
41
|
+
# All series with their individual configurations
|
|
42
|
+
series:
|
|
43
|
+
- series_id: KO3YEARC
|
|
44
|
+
series_name: Corporate 3YR, AA-, Spread
|
|
45
|
+
frequency: m # Options: d, w, m, q, sa, a
|
|
46
|
+
transformation: chg # Options: lin, pch, pca, chg, ch1, cha
|
|
47
|
+
block: # Block names this series loads on (must include Block_Global)
|
|
48
|
+
- Block_Global
|
|
49
|
+
- Block_Investment
|
|
50
|
+
release: 1 # Day of month when data is released
|
|
51
|
+
scaler: null # Per-series scaler (StandardScaler, RobustScaler, None/null)
|
|
52
|
+
# null = use default
|
|
53
|
+
impute: null # Per-series imputation (bfill, ffill, forecaster, dfm, ddfm)
|
|
54
|
+
# null = use default (ffill and bfill for non-DFM/DDFM, Kalman filter for DFM/DDFM)
|
|
55
|
+
units: Percent, Annual # Optional metadata
|
|
56
|
+
category: Finance # Optional metadata
|
|
57
|
+
|
|
58
|
+
- series_id: KOGDP...D
|
|
59
|
+
series_name: GDP, Constant Prices
|
|
60
|
+
frequency: q # Quarterly
|
|
61
|
+
transformation: cha # Annual change
|
|
62
|
+
block:
|
|
63
|
+
- Block_Global
|
|
64
|
+
release: 25 # Released on 25th of month
|
|
65
|
+
scaler: null # Use default
|
|
66
|
+
impute: null # Use default (Kalman filter for DFM/DDFM)
|
|
67
|
+
units: Chained W, Billions
|
|
68
|
+
category: Macro
|
|
69
|
+
|
|
70
|
+
- series_id: KOEMPTOTO
|
|
71
|
+
series_name: Employment, Total, SA
|
|
72
|
+
frequency: m # Monthly
|
|
73
|
+
transformation: chg # Change
|
|
74
|
+
block:
|
|
75
|
+
- Block_Global
|
|
76
|
+
- Block_Labor
|
|
77
|
+
release: 11 # Released on 11th of month
|
|
78
|
+
scaler: RobustScaler # Override: use RobustScaler for this series
|
|
79
|
+
impute: null # Use default (Kalman filter for DFM/DDFM)
|
|
80
|
+
units: Thousands of Persons
|
|
81
|
+
category: Labor
|
|
82
|
+
|
|
83
|
+
# ============================================================================
|
|
84
|
+
# Model Training Parameters
|
|
85
|
+
# ============================================================================
|
|
86
|
+
# These override model config defaults if specified
|
|
87
|
+
max_iter: 5000 # Maximum EM iterations (for DFM)
|
|
88
|
+
threshold: 1.0e-05 # Convergence threshold (for DFM)
|
|
89
|
+
|
|
90
|
+
# For DDFM models:
|
|
91
|
+
# encoder_layers: [64, 32]
|
|
92
|
+
# num_factors: 2
|
|
93
|
+
# epochs: 100
|
|
94
|
+
# learning_rate: 0.001
|
|
95
|
+
# batch_size: 32
|
|
96
|
+
|
|
97
|
+
# ============================================================================
|
|
98
|
+
# Output Configuration
|
|
99
|
+
# ============================================================================
|
|
100
|
+
output:
|
|
101
|
+
path: outputs/test_experiment_20251204170512 # Output directory
|
|
102
|
+
save_model: true # Save trained model
|
|
103
|
+
save_plots: true # Save visualization plots
|
|
104
|
+
save_results: true # Save training results
|
|
105
|
+
|
|
106
|
+
# Forecast configuration (optional)
|
|
107
|
+
forecast_horizon: null # Number of periods ahead to forecast
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
ar_clip_max: 0.99
|
|
2
|
+
ar_clip_min: -0.99
|
|
3
|
+
ar_lag: 1
|
|
4
|
+
augment_idio: true
|
|
5
|
+
augment_idio_slow: true
|
|
6
|
+
blocks:
|
|
7
|
+
Block_Global:
|
|
8
|
+
ar_lag: 1
|
|
9
|
+
clock: m
|
|
10
|
+
factors: 5
|
|
11
|
+
Block_Consumption:
|
|
12
|
+
ar_lag: 1
|
|
13
|
+
clock: m
|
|
14
|
+
factors: 2
|
|
15
|
+
Block_Investment:
|
|
16
|
+
ar_lag: 1
|
|
17
|
+
clock: m
|
|
18
|
+
factors: 2
|
|
19
|
+
Block_Export:
|
|
20
|
+
ar_lag: 1
|
|
21
|
+
clock: m
|
|
22
|
+
factors: 1
|
|
23
|
+
Block_Nominal:
|
|
24
|
+
ar_lag: 1
|
|
25
|
+
clock: m
|
|
26
|
+
factors: 1
|
|
27
|
+
Block_Labor:
|
|
28
|
+
ar_lag: 1
|
|
29
|
+
clock: m
|
|
30
|
+
factors: 1
|
|
31
|
+
clip_ar_coefficients: true
|
|
32
|
+
clock: m
|
|
33
|
+
idio_min_var: 1.0e-08
|
|
34
|
+
idio_rho0: 0.1
|
|
35
|
+
max_iter: 5000
|
|
36
|
+
nan_k: 3
|
|
37
|
+
nan_method: 2
|
|
38
|
+
regularization_scale: 1.0e-05
|
|
39
|
+
threshold: 1.0e-05
|
|
40
|
+
use_regularization: true
|
|
41
|
+
encoder_layers:
|
|
42
|
+
- 64
|
|
43
|
+
- 32
|
|
44
|
+
num_factors: 2
|
|
45
|
+
dropout: 0.1
|
|
46
|
+
learning_rate: 0.001
|
|
47
|
+
batch_size: 32
|
|
48
|
+
epochs: 100
|
|
@@ -3,33 +3,31 @@ ar_clip_min: -0.99
|
|
|
3
3
|
ar_lag: 1
|
|
4
4
|
augment_idio: true
|
|
5
5
|
augment_idio_slow: true
|
|
6
|
-
# Block configurations: define all blocks and their properties
|
|
7
|
-
# Series configs specify which blocks they belong to (optional - defaults to first block)
|
|
8
6
|
blocks:
|
|
9
7
|
Block_Global:
|
|
10
|
-
factors: 3
|
|
11
8
|
ar_lag: 1
|
|
12
9
|
clock: m
|
|
10
|
+
factors: 3
|
|
13
11
|
Block_Consumption:
|
|
14
|
-
factors: 1
|
|
15
12
|
ar_lag: 1
|
|
16
13
|
clock: m
|
|
17
|
-
Block_Investment:
|
|
18
14
|
factors: 1
|
|
15
|
+
Block_Investment:
|
|
19
16
|
ar_lag: 1
|
|
20
17
|
clock: m
|
|
21
|
-
Block_Export:
|
|
22
18
|
factors: 1
|
|
19
|
+
Block_Export:
|
|
23
20
|
ar_lag: 1
|
|
24
21
|
clock: m
|
|
25
|
-
Block_Nominal:
|
|
26
22
|
factors: 1
|
|
23
|
+
Block_Nominal:
|
|
27
24
|
ar_lag: 1
|
|
28
25
|
clock: m
|
|
29
|
-
Block_Labor:
|
|
30
26
|
factors: 1
|
|
27
|
+
Block_Labor:
|
|
31
28
|
ar_lag: 1
|
|
32
29
|
clock: m
|
|
30
|
+
factors: 1
|
|
33
31
|
clip_ar_coefficients: true
|
|
34
32
|
clock: m
|
|
35
33
|
idio_min_var: 1.0e-08
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# XGBoost Model Configuration
|
|
2
|
+
# Gradient boosting model for time series forecasting
|
|
3
|
+
|
|
4
|
+
# XGBoost hyperparameters
|
|
5
|
+
n_estimators: 100
|
|
6
|
+
max_depth: 6
|
|
7
|
+
learning_rate: 0.1
|
|
8
|
+
subsample: 0.8
|
|
9
|
+
colsample_bytree: 0.8
|
|
10
|
+
min_child_weight: 1
|
|
11
|
+
gamma: 0
|
|
12
|
+
reg_alpha: 0
|
|
13
|
+
reg_lambda: 1
|
|
14
|
+
|
|
15
|
+
# Training parameters
|
|
16
|
+
early_stopping_rounds: 10
|
|
17
|
+
eval_metric: rmse
|
|
18
|
+
objective: reg:squarederror
|
|
19
|
+
|
|
20
|
+
# Time series specific
|
|
21
|
+
# Note: XGBoost requires feature engineering (lags, rolling stats) before training
|
|
22
|
+
# Use preprocessing configs to create features
|
|
23
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Default Preprocessing Configuration
|
|
2
|
+
# NOTE: This is a standalone preprocessing config template.
|
|
3
|
+
# In the new unified structure, preprocessing is embedded in experiment configs under preprocess.metadata and preprocess.series.
|
|
4
|
+
# This file is kept for reference and backward compatibility.
|
|
5
|
+
|
|
6
|
+
# Metadata section (maps to preprocess.metadata in experiment configs)
|
|
7
|
+
metadata:
|
|
8
|
+
data_path: data/sample_data.csv
|
|
9
|
+
target_column: null
|
|
10
|
+
# Window Summarizer features
|
|
11
|
+
add_feature:
|
|
12
|
+
- lag
|
|
13
|
+
- mean
|
|
14
|
+
- std
|
|
15
|
+
- min
|
|
16
|
+
- max
|
|
17
|
+
- median
|
|
18
|
+
- skew
|
|
19
|
+
- kurt
|
|
20
|
+
lags: [1, 2, 3, 5, 10]
|
|
21
|
+
windows: [5, 10, 20, 40]
|
|
22
|
+
|
|
23
|
+
# Series section (maps to preprocess.series in experiment configs)
|
|
24
|
+
series: []
|
|
25
|
+
# Example:
|
|
26
|
+
# series:
|
|
27
|
+
# - series_id: KO3YEARC
|
|
28
|
+
# frequency: m
|
|
29
|
+
# transformation: chg
|
|
30
|
+
# block: [Block_Global, Block_Investment]
|
|
31
|
+
# release: 1
|
|
32
|
+
# scaler: null # StandardScaler, RobustScaler, None/null
|
|
33
|
+
# impute: null # bfill, ffill, forecaster, dfm, ddfm, null
|
|
34
|
+
|
|
35
|
+
description: "Default preprocessing template - metadata and series structure"
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Test Preprocessing Configuration
|
|
2
|
+
# NOTE: This is a standalone preprocessing config template.
|
|
3
|
+
# In the new unified structure, preprocessing is embedded in experiment configs under preprocess.metadata and preprocess.series.
|
|
4
|
+
# This file is kept for reference and backward compatibility.
|
|
5
|
+
|
|
6
|
+
# Metadata section (maps to preprocess.metadata in experiment configs)
|
|
7
|
+
metadata:
|
|
8
|
+
data_path: data/sample_data.csv
|
|
9
|
+
target_column: KOGDP...D
|
|
10
|
+
# Window Summarizer features
|
|
11
|
+
add_feature:
|
|
12
|
+
- lag
|
|
13
|
+
- mean
|
|
14
|
+
- std
|
|
15
|
+
- min
|
|
16
|
+
- max
|
|
17
|
+
- median
|
|
18
|
+
- skew
|
|
19
|
+
- kurt
|
|
20
|
+
lags: [1, 2, 3, 5, 10]
|
|
21
|
+
windows: [5, 10, 20, 40]
|
|
22
|
+
|
|
23
|
+
# Series section (maps to preprocess.series in experiment configs)
|
|
24
|
+
series:
|
|
25
|
+
- series_id: KO3YEARC
|
|
26
|
+
frequency: m
|
|
27
|
+
transformation: chg
|
|
28
|
+
block: [Block_Global, Block_Investment]
|
|
29
|
+
release: 1
|
|
30
|
+
scaler: null
|
|
31
|
+
impute: null
|
|
32
|
+
|
|
33
|
+
- series_id: KOGDP...D
|
|
34
|
+
frequency: q
|
|
35
|
+
transformation: cha
|
|
36
|
+
block: [Block_Global]
|
|
37
|
+
release: 25
|
|
38
|
+
scaler: null
|
|
39
|
+
impute: null
|
|
40
|
+
|
|
41
|
+
description: "Test preprocessing template with example series"
|