Changelog

0.10.0 - 2025-03-19

New features:

  • Implemented the weak-instrument robust residual prediction test of Scheidegger et al. (2026) and the confidence sets obtained by inversion.

Other changes:

0.9.0 - 2025-09-04

New features:

0.8.0 - 2025-08-16

New features:

  • The functions proj() and oproj() now accept pandas DataFrames and Series as arguments.

  • The conditional_likelihood_ratio_test() now supports testing hypotheses for included exogenous covariates.

  • The more powerful critical values of Guggenberger et al. (2019) ("gkm") are now supported when testing hypotheses for included exogenous covariates.

Other changes:

  • The named_coefs_ attribute of the KClass is now renamed to named_coef_. Accessing named_coefs_ will raise a DeprecationWarning.

  • Quadric’s ‘__format__() now prints the same as ConfidenceSet’s __format__() if the quadric is one-dimensional.

  • Made _characteristic_roots() more robust when using singular b.

  • _find_roots() now uses scipy.optimize.brentq.

0.7.0 - 2025-06-03

New features:

  • The inverse_anderson_rubin_test() now supports the GKM critical values by passing critical_values="gkm". These can be used by supplying test="anderson-rubin (gkm)" to Summary or summary().

Bug fixes:

  • Make _characteristic_roots more robust if B is singular.

0.6.0 - 2025-05-22

New features:

0.5.3 - 2025-04-21

Bug fixes:

  • The classes KClass and AnchorRegression now set attributes n_features_in_ and feature_names_in_ to comply with sckit-learn SLEP 7 and 10.

0.5.2 - 2024-10-03

Bug fixes:

  • The Summary now correctly includes the rank and J test results.

0.5.1 - 2024-09-16

Bug fixes:

  • Fixed the setuptools configuration.

0.5.0 - 2024-08-27

New features:

  • The Wald test now supports robust covariance estimation.

  • New method length for ConfidenceSet.

Other changes:

  • One can now pass the tolerance parameter tol to the optimization algorithm in lagrange_multiplier_test() and inverse_lagrange_multiplier_test() via the kwargs.

  • KClass now raises if kappa >= 1 (as for the LIML and TSLS estimators) and the number of instruments is less than the number of endogenous regressors.

  • The Summary now only includes and prints the results of the J-statistic and (multivariate) F-test for instrument strength if this makes sense.

  • The docs have been updated and include examples.

0.4.0 - 2024-08-08

New features:

Bug fixes:

  • Fixed bug in fit() when C is not None and \(M_{[Z, C]} X\) is not full rank.

  • Fixed bug in inverse_conditional_likelihood_ratio_test() when k == mw + mx and C is not None.

  • Fixed bug in _characteristic_roots() if b == np.array([[0]]). This now correctly returns np.inf.

Other changes:

  • The Summary now additionally reports the LIML variant of the J-statistic.

0.3.1 - 2024-07-30

Bug fixes:

0.3.0 - 2024-07-23

New features:

Other changes:

0.2.0 - 2024-06-07

New features:

  • New method simulate_guggenberger12() to draw from the data generating process of Guggenberger (2012).

  • The utility functions proj() and oproj() now accept multiple args to be projected. Usage of this results in performance improvements.

Other changes: