dfm-python 0.2.6__tar.gz → 0.2.7__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.
Files changed (38) hide show
  1. {dfm_python-0.2.6 → dfm_python-0.2.7}/PKG-INFO +12 -4
  2. {dfm_python-0.2.6 → dfm_python-0.2.7}/README.md +11 -3
  3. dfm_python-0.2.7/full_tutorial_example.ipynb +1669 -0
  4. {dfm_python-0.2.6 → dfm_python-0.2.7}/pyproject.toml +1 -1
  5. {dfm_python-0.2.6 → dfm_python-0.2.7}/src/dfm_python/__init__.py +1 -1
  6. {dfm_python-0.2.6 → dfm_python-0.2.7}/src/dfm_python/core/em.py +83 -77
  7. {dfm_python-0.2.6 → dfm_python-0.2.7}/src/dfm_python/core/numeric.py +7 -7
  8. dfm_python-0.2.6/full_tutorial_example.ipynb +0 -1503
  9. {dfm_python-0.2.6 → dfm_python-0.2.7}/.gitignore +0 -0
  10. {dfm_python-0.2.6 → dfm_python-0.2.7}/.python-version +0 -0
  11. {dfm_python-0.2.6 → dfm_python-0.2.7}/LICENSE +0 -0
  12. {dfm_python-0.2.6 → dfm_python-0.2.7}/MANIFEST.in +0 -0
  13. {dfm_python-0.2.6 → dfm_python-0.2.7}/config/blocks/default.yaml +0 -0
  14. {dfm_python-0.2.6 → dfm_python-0.2.7}/config/default.yaml +0 -0
  15. {dfm_python-0.2.6 → dfm_python-0.2.7}/config/series/default.yaml +0 -0
  16. {dfm_python-0.2.6 → dfm_python-0.2.7}/data/sample_data.csv +0 -0
  17. {dfm_python-0.2.6 → dfm_python-0.2.7}/data/sample_spec.csv +0 -0
  18. {dfm_python-0.2.6 → dfm_python-0.2.7}/src/dfm_python/api.py +0 -0
  19. {dfm_python-0.2.6 → dfm_python-0.2.7}/src/dfm_python/config.py +0 -0
  20. {dfm_python-0.2.6 → dfm_python-0.2.7}/src/dfm_python/config_sources.py +0 -0
  21. {dfm_python-0.2.6 → dfm_python-0.2.7}/src/dfm_python/core/__init__.py +0 -0
  22. {dfm_python-0.2.6 → dfm_python-0.2.7}/src/dfm_python/core/diagnostics.py +0 -0
  23. {dfm_python-0.2.6 → dfm_python-0.2.7}/src/dfm_python/core/helpers.py +0 -0
  24. {dfm_python-0.2.6 → dfm_python-0.2.7}/src/dfm_python/data.py +0 -0
  25. {dfm_python-0.2.6 → dfm_python-0.2.7}/src/dfm_python/dfm.py +0 -0
  26. {dfm_python-0.2.6 → dfm_python-0.2.7}/src/dfm_python/kalman.py +0 -0
  27. {dfm_python-0.2.6 → dfm_python-0.2.7}/src/dfm_python/news.py +0 -0
  28. {dfm_python-0.2.6 → dfm_python-0.2.7}/src/dfm_python/utils.py +0 -0
  29. {dfm_python-0.2.6 → dfm_python-0.2.7}/src/test/__init__.py +0 -0
  30. {dfm_python-0.2.6 → dfm_python-0.2.7}/src/test/test_api.py +0 -0
  31. {dfm_python-0.2.6 → dfm_python-0.2.7}/src/test/test_dfm.py +0 -0
  32. {dfm_python-0.2.6 → dfm_python-0.2.7}/src/test/test_factor.py +0 -0
  33. {dfm_python-0.2.6 → dfm_python-0.2.7}/src/test/test_kalman.py +0 -0
  34. {dfm_python-0.2.6 → dfm_python-0.2.7}/src/test/test_numeric.py +0 -0
  35. {dfm_python-0.2.6 → dfm_python-0.2.7}/src/test/test_stability.py +0 -0
  36. {dfm_python-0.2.6 → dfm_python-0.2.7}/tutorial/basic_tutorial.py +0 -0
  37. {dfm_python-0.2.6 → dfm_python-0.2.7}/tutorial/hydra_tutorial.py +0 -0
  38. {dfm_python-0.2.6 → dfm_python-0.2.7}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dfm-python
3
- Version: 0.2.6
3
+ Version: 0.2.7
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
@@ -709,12 +709,20 @@ Demonstrates:
709
709
 
710
710
  ## Project Status
711
711
 
712
- **Version**: 0.2.6
712
+ **Version**: 0.2.7
713
713
  **Status**: Stable and production-ready
714
714
  **Python**: 3.10+
715
715
  **PyPI**: https://pypi.org/project/dfm-python/
716
716
 
717
- ### Recent Improvements (v0.2.6)
717
+ ### Recent Improvements (v0.2.7)
718
+
719
+ - ✅ **Fixed C normalization issue**: C normalization now only applies when C norm is in reasonable range (0.1 ~ 10)
720
+ - Prevents Q from becoming too small when C norm is very small
721
+ - Prevents factor values from becoming extreme
722
+ - ✅ **Improved stability**: Conditional C normalization prevents pathological factor paths
723
+ - ✅ **Better diagnostics**: Added variance guard binding checks in tutorial
724
+
725
+ ### Previous Improvements (v0.2.6)
718
726
 
719
727
  - ✅ **Q matrix cap**: Factor innovation variances bounded above by 1.0 to prevent explosion
720
728
  - ✅ **R matrix cap**: Observation error variances bounded above by 10.0 for standardized data
@@ -758,7 +766,7 @@ If you use `dfm-python` in your research, please cite:
758
766
  author = {DFM Python Contributors},
759
767
  year = {2025},
760
768
  url = {https://pypi.org/project/dfm-python/},
761
- version = {0.2.6}
769
+ version = {0.2.7}
762
770
  }
763
771
  ```
764
772
 
@@ -663,12 +663,20 @@ Demonstrates:
663
663
 
664
664
  ## Project Status
665
665
 
666
- **Version**: 0.2.6
666
+ **Version**: 0.2.7
667
667
  **Status**: Stable and production-ready
668
668
  **Python**: 3.10+
669
669
  **PyPI**: https://pypi.org/project/dfm-python/
670
670
 
671
- ### Recent Improvements (v0.2.6)
671
+ ### Recent Improvements (v0.2.7)
672
+
673
+ - ✅ **Fixed C normalization issue**: C normalization now only applies when C norm is in reasonable range (0.1 ~ 10)
674
+ - Prevents Q from becoming too small when C norm is very small
675
+ - Prevents factor values from becoming extreme
676
+ - ✅ **Improved stability**: Conditional C normalization prevents pathological factor paths
677
+ - ✅ **Better diagnostics**: Added variance guard binding checks in tutorial
678
+
679
+ ### Previous Improvements (v0.2.6)
672
680
 
673
681
  - ✅ **Q matrix cap**: Factor innovation variances bounded above by 1.0 to prevent explosion
674
682
  - ✅ **R matrix cap**: Observation error variances bounded above by 10.0 for standardized data
@@ -712,7 +720,7 @@ If you use `dfm-python` in your research, please cite:
712
720
  author = {DFM Python Contributors},
713
721
  year = {2025},
714
722
  url = {https://pypi.org/project/dfm-python/},
715
- version = {0.2.6}
723
+ version = {0.2.7}
716
724
  }
717
725
  ```
718
726