Release notes#

This is a record of all past respy releases and what went into them in reverse chronological order. We follow semantic versioning and all releases are available on Anaconda.org.

Note

respy is not under development anymore and only inactively maintained since 2021. Check out our GitHub organization to find projects that are currently under development.

2.1.0 - 2020#

  • #381 Implements exogenous processes (@MaxBlesch, @mo2561057).

  • #383 Fixes simulation with data and adds tests (@janosg).

  • #387 Fixes issue in documenation build (@amageh).

  • #389 Adjust criterion functions to return a scalar value or dictionary with additional information (@amageh).

  • #391 Adds how-to guide on example models and specifying a model (@amageh; model specification guide draws on work by @tobiasraabe and @rafaelsuchy). Fixes bug in model validation for shock parameters.

  • #395 Adds guides and tutorials for exogenous proccesses, covariates, and maximum likelihood estimation. Improves structure and appearance of documentation. (@MaxBlesch, @amageh).

  • #406 More information in example models guide (@carolinalvarez, @amageh).

  • #414 Fix bug in simulate that added untransformed shocks to df. Removes chaospy from conda dependencies(@amageh).

2.0.0 - 2019-2020#

  • #177 removes all Fortran files and ensures that all tests still run through (@tobiasraabe).

  • #193 continues on the removal of Fortran (@tobiasraabe).

  • #199 makes the reward components modular (@janosg).

  • #200 implements the Kalman filter which allows to estimate measurement error in wages (@janosg).

  • #201 implements a flexible state space which is first and foremost flexible in the number of choices with experience and wages, but open to be extended (@tobiasraabe).

  • #204 adds more thesis proposals (@tobiasraabe).

  • #205 implements Azure Pipelines as the major CI, but we still rely on Travis-CI for deploying the package to PyPI (@tobiasraabe).

  • #206 prepares estimation with estimagic (@tobiasraabe).

  • #208 implements parsing of choices from DataFrame (@tobiasraabe).

  • #209 adds parameterizations of Keane and Wolpin (1997) plus adaptive rescaling step within the likelihood aggregation which prevents under- and overflows in the contributions (@janosg).

  • #211 generalizes the construction of type probabilities with arbitrary covariates.

  • #221 implements a new interface for the simulation which is similar to the estimation and reduces runtime for multiple simulations by a factor of four (@tobiasraabe).

  • #230 allows the model to include observed variables which are time-invariant (@mo2561057, @tobiasraabe)

  • #236 implements a periodic indexer (@tobiasraabe).

  • #240 makes previous choices in the state space optional (@tobiasraabe).

  • #245 create continuation values dynamically from value functions (@tobiasraabe).

  • #256 implements quasi-random low discrepancy sequences for better Monte-Carlo integrations (@rafaelsuchy).

  • #262 moves the distribution of previous choices, initial and maximum experience to params (@tobiasraabe).

  • #268 makes seeding in respy a lot more robust by using incrementally increasing sequences (@janosg, @tobiasraabe).

  • #269 improves the generation of conditional draws with and without measurement error in the likelihood calculation (@janosg).

  • #275 fixes a bug in calculation of wage probabilities (@tobiasraabe).

  • #277 adds three different simulation methods: n-step-ahead simulation with sampling or data and one-step-ahead simulation (@tobiasraabe).

  • #278, #279, and #280 implement three functions, log softmax, softmax, and logsumexp, which reduce the likelihood of under- and overflows and save information (@tobiasraabe).

  • #282 adds an interface for the estimation of models with the method of simulated moments (@amageh, @mo2561057, @tobiasraabe).

  • #285 adds the ability to generate a set of constraint for example models (@tobiasraabe).

  • #288 fixes an error in the simulation of choice probabilities introduced by #278 (@peisenha).

  • #296 contributes a new toy model to respy: The Robinson Crusoe Economy (@tobiasraabe, @peisenha)

  • #299 adds the information on the previous choice to individuals at age sixteen to the original data from Keane and Wolpin (1997). Special thanks to @bekauf for the data preparation.

  • #300 aligns respy functions with the new data in #299 (@tobiasraabe).

  • #310 introduces the separation between a core state space and dense dimensions of the state space which reduces memory consumption by a lot and makes respy scalable. #312 and #313 include changes to the simulation or maximum likelihood estimation which pave the way for #310. (@tobiasraabe)

  • #314 fixes two parameters in KW97 and KW2000 (@tostenzel, @tobiasraabe).

  • #316 changes the invalid index value for the indexer to prevent silent errors (@tobiasraabe).

  • #319 adds a page for projects using respy (@tobiasraabe). #321 adds more projects.

  • #320 adds add_noise_to_params() and makes the test suite faster, tests more random, moved to Github Actions, and more badges.

  • #323 adds an informative message if simulated individuals cannot be mapped to states in the state space (@mo2561057, @tobiasraabe).

  • #325 adds an how-to guide on numerical integration techniques (@rafaelsuchy).

  • #331 better parsing for observables (and exogenous processes) and better model tests and docstrings (@tobiasraabe).

  • #342 partitions the state space to parts which are specific to the period, choice set and dense values (@mo2561057, @tobiasraabe).

  • #344 redesigns the documentation. The foundation are four categories of documents, tutorials, explanations, how-to guides, and reference guides (@tobiasraabe).

  • #347 allows to specify models with hyperbolic discounting (@SofiaBadini).

  • #356 adds how-to guide for estimation of parameters with msm (@amageh).

  • #357 adds a tutorial explaining the basic interface (@SofiaBadini).

  • #359 fixes a Numba deprecation warning and some errors in the constraints of pre-defined models.

  • #361 adds standard deviations of parameters for example models (@timmens).

  • #363 enables msm function to return simulated moments or comparison plot data for use with estimagic (@amageh).

  • #366 adds comprehensive, exemplary explanation of model from Keane and Wolpin (1997) to documentation (@bekauf, @rafaelsuchy).

  • #369 adds second set of parameters for kw_97 models (@amageh).

  • #371 changes the names of the criterion functions for maximum likelihood and msm estimation. Makes replacement functions optional for estimation with msm and sets identity matrix as default weighting matrix (@amageh).

  • #373 refactors the law of motion and simplifies the collection of child indices (@tobiasraabe).

  • #374 renames caching options to "cache_path" and "cache_compression" (@tobiasraabe).

Releases prior to the second version were published on PyPI, but later deleted. You can still checkout the following releases using the corresponding tags in the repository.

1.2.1 - 2019-05-19#

  • #170 adds a test for inadmissible states in the state space.

  • #180 adds a long description to the PyPI package.

  • #181 implements nbsphinx for a documentation based on notebooks and reworks structure and graphics.

  • #183 adds a small set of regression tests.

  • #185 adds a list of topics for theses.

  • #186 replaces statsmodels as a dependency with our own OLS implementation.

1.2.0 - 2019-04-23#

This is the last release with a Fortran implementation. Mirrors 1.2.0-rc.1.

1.2.0-rc.1 - 2019-04-23#

  • #162 is a wrapper around multiple PRs in which a new Python version is implemented.

  • #150 implements a new interface.

  • #133 and #140 add Appveyor to test respy on Windows.

1.1.0 - 2018-03-02#

  • Undocumented release.

1.0.0 - 2016-08-10#

This is the initial release of the respy package.