Skip to content

Releases: Quantco/glum

glum 2.1.1

01 Jul 09:15
f4411ac
Compare
Choose a tag to compare

2.1.1 - 2022-07-01

Other:

  • We are now building the wheel for PyPI without --march=native to make it more portable across architectures.

glum 2.1.0

27 Jun 17:48
3904236
Compare
Choose a tag to compare

2.1.0 - 2022-06-27

New features:

  • Added aic, aicc and bic attributes to GeneralizedLinearRegressor. These attributes provide the information criteria based on the training data and the effective degrees of freedom of the maximum likelihood estimate for the model's parameters.
  • GeneralizedLinearRegressor.std_errors and GeneralizedLinearRegressor.covariance_matrix now accept data frames with categorical data.

Bug fixes:

  • The score method of GeneralizedLinearRegressor and GeneralizedLinearRegressorCV now accepts offsets.
  • Fixed the calculation of the information matrix for the Binomial distribution with logit link, which affected non-robust standard errors.

Other:

  • The CI now runs daily unit tests against the nightly builds of numpy, pandas and scikit-learn.
  • The minimally required version of tabmat is now 3.1.0.

glum 2.0.3

05 Nov 14:38
8f3fc48
Compare
Choose a tag to compare

2.0.3 - 2021-11-05

Other:

  • We are now specifying the run time dependencies in setup.py, so that missing dependencies are automatically installed from PyPI when installing glum via pip.

glum 2.0.2

03 Nov 18:34
a87bf4b
Compare
Choose a tag to compare

Bug fix:

  • Fixed the sign of the log likelihood of the Gaussian distribution (not used for fitting coefficients).
  • Fixed the wide benchmarks which had duplicated columns (categorical and numerical).

Other:

  • The CI now builds the wheels and upload to pypi with every new release.
  • Renamed functions checking for qc.matrix compliance to refer to tabmat.

glum 2.0.1

11 Oct 19:49
f439144
Compare
Choose a tag to compare

2.0.1 - 2021-10-11

Bug fix:

  • Fixed pyproject.toml. We now support installing through pip and pep517.

glum 2.0.0

08 Oct 15:02
aa22946
Compare
Choose a tag to compare

Breaking changes:

  • Renamed the package to glum!!! Hurray! Celebration.
  • GeneralizedLinearRegressor and GeneralizedLinearRegressorCV lose the fit_dispersion parameter.
    Please use the dispersion method of the appropriate family instance instead.
  • All functions now use sample_weight as a keyword instead of weights, in line with scikit-learn.
  • All functions now use dispersion as a keyword instead of phi.
  • Several methods GeneralizedLinearRegressor and GeneralizedLinearRegressorCV that should have been private have had an underscore prefixed on their names: tear_down_from_fit, _set_up_for_fit, _set_up_and_check_fit_args, _get_start_coef, _solve and _solve_regularization_path.
  • glum.GeneralizedLinearRegressor.report_diagnostics and glum.GeneralizedLinearRegressor.get_formatted_diagnostics are now public.

New features:

  • P1 and P2 now accepts 1d array with the same number of elements as the unexpanded design matrix. In this case,
    the penalty associated with a categorical feature will be expanded to as many elements as there are levels,
    all with the same value.
  • ExponentialDispersionModel gains a dispersion method.
  • BinomialDistribution and TweedieDistribution gain a log_likelihood method.
  • The fit method of GeneralizedLinearRegressor and GeneralizedLinearRegressorCV
    now saves the column types of pandas data frames.
  • GeneralizedLinearRegressor and GeneralizedLinearRegressorCV gain two properties: family_instance and link_instance.
  • GeneralizedLinearRegressor.std_errors and GeneralizedLinearRegressor.covariance_matrix have been added and support non-robust, robust (HC-1), and clustered
    covariance matrices.
  • GeneralizedLinearRegressor and GeneralizedLinearRegressorCV now accept family='gaussian' as an alternative to family='normal'.

Bug fix:

  • The score method of GeneralizedLinearRegressor and GeneralizedLinearRegressorCV now accepts data frames.
  • Upgraded the code to use tabmat 3.0.0.

Other:

  • A major overhaul of the documentation. Everything is better!
  • The methods of the link classes will now return scalars when given scalar inputs. Under certain circumstances, they'd return zero-dimensional arrays.
  • There is a new benchmark available glm_benchmarks_run based on the Boston housing dataset. See here.
  • glm_benchmarks_analyze now includes offset in the index. See here.
  • glmnet_python was removed from the benchmarks suite.
  • The innermost coordinate descent was optimized. This speeds up coordinate descent dominated problems like LASSO by about 1.5-2x. See here.

quantcore.glm 1.5.1

22 Jul 20:34
Compare
Choose a tag to compare

1.5.1 - 2021-07-22

Bug fix:

  • Have the linear_predictor and predict methods of GeneralizedLinearRegressor and GeneralizedLinearRegressorCV honor the offset when alpha is None.

quantcore.glm 1.5.0

15 Jul 20:37
Compare
Choose a tag to compare

1.5.0 - 2021-07-15

New features:

  • The linear_predictor and predict methods of quantcore.glm.GeneralizedLinearRegressor and quantcore.glm.GeneralizedLinearRegressorCV gain an alpha parameter (in complement to alpha_index). Moreover, they are now able to predict for multiple penalties.

Other:

  • Methods of Link now consistently return NumPy arrays, whereas they used to preserve pandas series in special cases.
  • Don't list sparse_dot_mkl as a runtime requirement from the conda recipe.
  • The minimal NumPy pin should be dependent on the NumPy version in host and not fixed to 1.16.

quantcore.glm 1.4.3

25 Jun 20:35
Compare
Choose a tag to compare

1.4.3 - 2021-06-25

Bug fix:

  • copy_X = False will now raise a value error when X has dtype int32 or int64. Previously, it would only raise for dtype int64.

quantcore.glm 1.4.2

15 Jun 21:33
Compare
Choose a tag to compare

1.4.2 - 2021-06-15

Tutorials and documenation improvements:

  • Adding tutorials to the documentation
  • Additional documentation improvements

Bug fix:

  • Verbose progress bar now working again.

Other:

  • Small improvement in documentation for the alpha_index argument to :func:quantcore.glm.GeneralizedLinearRegressor.predict.
  • Pinned pre-commit hooks versions.