Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
3b97776
using family information as linearopertator
jonathan-taylor Oct 27, 2023
c3feb6c
initial commit of inference
jonathan-taylor Oct 27, 2023
6da6b65
retain a reference to state
jonathan-taylor Oct 27, 2023
6677fd2
Merge branch 'family_info' into selectinf
jonathan-taylor Oct 27, 2023
b34b385
WIP: exact smoothed polyhedral
jonathan-taylor Oct 27, 2023
8294e72
WIP: put fixed lambda in inference module
jonathan-taylor Oct 27, 2023
c1971a8
fitting on selection, refit on GLM; added a method to get an LM for a…
jonathan-taylor Oct 27, 2023
a60a88b
refit on selected to get better estimate of variance at mle, not lasso
jonathan-taylor Oct 27, 2023
2d5c165
lasso_inference runs, but intervals wrong
kevinbfry Oct 31, 2023
d67a1e7
lasso_inference intervals look plausible
kevinbfry Oct 31, 2023
bd04add
dispersion=None signature in GLMBase.fit()
kevinbfry Oct 31, 2023
edfd5e1
BF: delta not quite right, fix grid in case of infinite limits
jonathan-taylor Nov 14, 2023
85c0083
BF: weight sum factor
jonathan-taylor Nov 14, 2023
519ba93
cleanup of Q_E, affine_con
jonathan-taylor Nov 14, 2023
35a2ba3
adding Lee pvalues, dependency on mpmath as well
jonathan-taylor Nov 15, 2023
d821c94
removing debug assertion
jonathan-taylor Nov 15, 2023
d75094a
added bootstrap inf
kevinbfry Nov 15, 2023
74ae5f4
fixing bootstrap inf
kevinbfry Nov 16, 2023
f4dba9a
merging with main
jonathan-taylor Jan 9, 2024
25b0a44
WIP: selectinf, trying to match onestep and OLS estimator
jonathan-taylor Jan 11, 2024
de7db40
some pyproject.toml work
jonathan-taylor Jan 18, 2024
aade7e6
WIP: inference
jonathan-taylor Jan 25, 2024
af85169
rename _check to get_data_arrays
jonathan-taylor Jan 25, 2024
02cfc2d
Merge branch 'main' into selectinf
jonathan-taylor Jan 25, 2024
302e8b2
WIP: inference
jonathan-taylor Jan 26, 2024
5dae2f5
Merge remote-tracking branch 'origin/selectinf' into selectinf
jonathan-taylor Jan 26, 2024
e07bf46
using score of family, seems to have good coverage under global null
jonathan-taylor Jan 26, 2024
68180f6
BF: quadratic form not computed correctly because X was modified in p…
jonathan-taylor Apr 12, 2024
c1eab73
data split inference working well (slightly better without standardiz…
jonathan-taylor Apr 12, 2024
f1ef8ca
getting rid of some unused code
jonathan-taylor Apr 12, 2024
8d77111
BF: GLM coefs are on original scale, need to transform to unitless fo…
jonathan-taylor Apr 12, 2024
a5f4669
BF: misspelled penalty_factor
jonathan-taylor May 2, 2024
207c189
WIP: trying to get active and nonactive constraint as dataclass
jonathan-taylor Jun 13, 2024
b7b0c52
adding auto test, BF: inactive bounded by lambda_val
jonathan-taylor Jun 13, 2024
ad282b1
WIP: cleaning up affine code
jonathan-taylor Jun 18, 2024
542582d
added scale/unscale operators to convert between raw and scaled coefs…
jonathan-taylor Jun 24, 2024
626c62d
adding raw_to_scaled method
jonathan-taylor Jun 24, 2024
30ff33b
inference rework, using the scale/unscale operators
jonathan-taylor Jun 24, 2024
6291a39
fixing handling of dispersion
jonathan-taylor Jun 24, 2024
d3ec1b9
WIP: orthogonal working well under null
jonathan-taylor Jun 28, 2024
da21a47
WIP: orthogonal now working without penfacs
jonathan-taylor Jul 4, 2024
600d5cc
pivots for non-orthogonal
jonathan-taylor Jul 4, 2024
8ff293a
added upper / lower limits
jonathan-taylor Jul 8, 2024
ba066ed
running from a covariance matrix form in tests, need a function for IRL
jonathan-taylor Jul 8, 2024
26526fc
added functions for lasso from score form and resampler form
jonathan-taylor Jul 9, 2024
5e2de20
test for non-diagonal covariance with resample
jonathan-taylor Jul 9, 2024
f1493e3
making it possible to store results of inference a bit easier
jonathan-taylor Jul 26, 2024
21311a6
making it possible to store results of inference a bit easier
jonathan-taylor Jul 26, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
glmnet/_version.py export-subst
53 changes: 2 additions & 51 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,7 @@
# pyglmnet
Python bindings to glmnet base source
# glmnet


## Organization

- `src` contains `glmnet` C++ code for the two main routines
`spwls_exp` and `wls_exp`.
- `tests` contains test data from R so that we can verify we get the
same results in python. Also contains some code for regenerating
data using an instrumented version of glmnet.


## Steps to build

- Assuming Xcode with command line tools is installed already.

- Also probably a good idee to test in a new virtual env

### Create a new virtual env, say `pyg`.

```
conda create -n pyg python=3.10 -y
conda activate pyg
```

### Install requirements

```
pip install -r requirements.txt
```

#### Specifying `Eigen`
## Specifying `Eigen`

By default, build assumes the top level directory contains a directory `eigen` with the `Eigen` headers. This
can be achieved with
Expand All @@ -48,26 +19,6 @@ the appropriate path.
pip install .
```

Load the module:

```
import glmnet.glmnetpp as gpp
```

This provides two functions:

- `gpp.wls_exp` for dense $x$
- `gpp.spwls_exp` for sparse $x$

### Testing

Example invocations can be seen in `tests/test_pyglmnet.py`. So one can run all the tests via:

```
pytest tests
```

No error messages mean all is well.



Expand Down
Loading