Python implementation of Logistic Regression with Firth's bias reduction
Project description
firthlogist
A Python implementation of Logistic Regression with Firth's bias reduction.
Installation
pip install firthlogist
Usage
firthlogist is sklearn compatible and follows the sklearn API.
>>> from firthlogist import FirthLogisticRegression, load_sex2
>>> fl = FirthLogisticRegression()
>>> X, y, feature_names = load_sex2()
>>> fl.fit(X, y)
FirthLogisticRegression()
>>> fl.summary(xname=feature_names)
coef std err [0.025 0.975] p-value
--------- ---------- --------- --------- ---------- -----------
age -1.10598 0.42366 -1.97379 -0.307427 0.00611139
oc -0.0688167 0.443793 -0.941436 0.789202 0.826365
vic 2.26887 0.548416 1.27304 3.43543 1.67219e-06
vicl -2.11141 0.543082 -3.26086 -1.11774 1.23618e-05
vis -0.788317 0.417368 -1.60809 0.0151846 0.0534899
dia 3.09601 1.67501 0.774568 8.03028 0.00484687
Intercept 0.120254 0.485542 -0.818559 1.07315 0.766584
Log-Likelihood: -132.5394
Newton-Raphson iterations: 8
Parameters
max_iter
: int, default=25
The maximum number of Newton-Raphson iterations.
max_halfstep
: int, default=25
The maximum number of step-halvings in one Newton-Raphson iteration.
max_stepsize
: int, default=5
The maximum step size - for each coefficient, the step size is forced to be less than max_stepsize.
pl_max_iter
: int, default=100
The maximum number of Newton-Raphson iterations for finding profile likelihood confidence intervals.
pl_max_halfstep
: int, default=25
The maximum number of step-halvings in one iteration for finding profile likelihood confidence intervals.
pl_max_stepsize
: int, default=5
The maximum step size while finding PL confidence intervals - for each coefficient, the step size is forced to be less than max_stepsize.
tol
: float, default=0.0001
Convergence tolerance for stopping.
fit_intercept
: bool, default=True
Specifies if intercept should be added.
skip_pvals
: bool, default=False
If True, p-values will not be calculated. Calculating the p-values can
be expensive if wald=False
since the fitting procedure is repeated for each
coefficient.
skip_ci
: bool, default=False
If True, confidence intervals will not be calculated. Calculating the confidence intervals via profile likelihoood is time-consuming.
alpha
: float, default=0.05
Significance level (confidence interval = 1-alpha). 0.05 as default for 95% CI.
wald
: bool, default=False
If True, uses Wald method to calculate p-values and confidence intervals.
Attributes
bse_
Standard errors of the coefficients.
classes_
A list of the class labels.
ci_
The fitted profile likelihood confidence intervals.
coef_
The coefficients of the features.
intercept_
Fitted intercept. If fit_intercept = False
, the intercept is set to zero.
loglik_
Fitted penalized log-likelihood.
n_iter_
Number of Newton-Raphson iterations performed.
pvals_
p-values calculated by penalized likelihood ratio tests.
References
Firth, D (1993). Bias reduction of maximum likelihood estimates. Biometrika 80, 27–38.
Heinze G, Schemper M (2002). A solution to the problem of separation in logistic regression. Statistics in Medicine 21: 2409-2419.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file firthlogist-0.4.0.tar.gz
.
File metadata
- Download URL: firthlogist-0.4.0.tar.gz
- Upload date:
- Size: 477.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.9.5 Linux/5.17.15-76051715-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffe64a315767f93b59f85b1e25d3bbe3d898e3e9d63a6ae85adbac7d0989fd65 |
|
MD5 | 1760b6fea284607e8a7c2bedbfe9df94 |
|
BLAKE2b-256 | f1f88129ba48b2d4a82aaa45e28e397192bd90a23482be1edb75f9f347f7e80e |
File details
Details for the file firthlogist-0.4.0-py3-none-any.whl
.
File metadata
- Download URL: firthlogist-0.4.0-py3-none-any.whl
- Upload date:
- Size: 528.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.9.5 Linux/5.17.15-76051715-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e383f609b1c2fee513c61cffe888794386c6d5778157383689d26941e9badc06 |
|
MD5 | 63d55408730ec0771c0c96c30e223665 |
|
BLAKE2b-256 | 1fdafff97963ae0abdd370175c87daa9cdbce160a31ba0fedbe38bd87a269cb4 |