EconSieve - Transposed-Ensemble Kalman Filter (TEnKF) and Nonlinear Path-Adjusting Smoother (NPAS)
================================================================================================================
Apart from the smoother (`npas`) and TEnKF, I stole quite some of the code from these two projects:
* https://github.com/rlabbe/filterpy
* https://github.com/pykalman/pykalman
They deserve most of the merits. I just made everything look way more complicated. Sometimes ``filterpy`` was more efficient, sometimes ``pykalman``. Unfortunately the ``pykalman`` project is orphaned. I tweaked something here and there:
* treating numerical errors in the UKF covariance matrix by looking for the nearest positive semi-definite matrix
* eliminating identical sigma points (yields speedup assuming that evaluation of each point is costly)
* extracting functions from classes and compile them using the @njit flag (speedup)
* major cleanup
NPAS is built from scratch. I barely did any testing as a standalone filter and just always used it in combination with the 'pydsge', where it works very well.
Some very rudimentary documentation `can be found here <https://econsieve.readthedocs.io/en/latest/readme.html>`_.
Installation with ``pip``
-------------------------------------------------------
Be sure that you are on Python 3.x. Then it's as simple as:
.. code-block:: bash
pip install econsieve
Installation of bleeding-edge version using ``git``
---------------------------------------------------
First install ``git``. Linux users just use their respective repos.
Windows users probably use anaconda and can do
.. code-block:: bash
conda install -c anaconda git
in the conda shell `as they kindly tell us here <https://anaconda.org/anaconda/git>`_. Otherwise you can probably `get it here <https://git-scm.com/download/win>`_.
Then you can simply do
.. code-block:: bash
pip install git+https://github.com/gboehl/econsieve
If you run it and it complains about missing packages, please let me know so that I can update the `setup.py`!
Alternatively you can clone the repository and then from within the cloned folder run (Windows user from the Anaconda Prompt):
.. code-block:: bash
pip install .
Updating
--------
The package is updated very frequently (find the history of latest commits `here <https://github.com/gboehl/econsieve/commits/master>`_). I hence recommend pulling and reinstalling whenever something is not working right. Run:
.. code-block:: bash
pip install --upgrade econsieve
Citation
--------
**pydsge** is developed by Gregor Boehl to simulate, filter, and estimate DSGE models with the zero lower bound on nominal interest rates in various applications (see [gregorboehl.com](https://gregorboehl.com) for research papers using the package). Please cite it with:
.. code-block:: latex
@TechReport{boehl2022meth,
author={Boehl, Gregor and Strobel, Felix},
title={{Estimation of DSGE Models with the Effective Lower Bound}},
year=2022,
type = {CRC 224 Discussion Papers},
institution={University of Bonn and University of Mannheim, Germany}
}
We appreciate citations for **pydsge** because it helps us to find out how people have
been using the package and it motivates further work.