ENH: option for nonreplicated exterior knots in b-splines
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 990
- Forks
- 106
- Avg merge
- 7d 34m
- Merged PRs (30d)
- 1
Description
AFAICS, patsy sets all exterior knots in BS at the same points, i.e. lower_bound and upper_bound.
https://github.com/pydata/patsy/blob/master/patsy/splines.py#L229
I'm trying to replicate some mgcv functions, and mgcv chooses by default spread out exterior knots. I don't see a way how to replicate this with patsy's BS.
I started to work again on GAM for statsmodels
https://github.com/statsmodels/statsmodels/pull/5296
side question: Is there a way to get access to the stateful transform and underlying spline, e.g. BS, instance from the design_info.
(e.g. in general we would need to know which transform patsy applied to the basis function to incorporate the sum to zero or removal of constant constraint, because a transformation of the spline basis and parameters would also have to be applied to the penalization matrix.)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in patsy/splines.py around line 229 and inspect the BS implementation, then trace how stateful transforms are represented in design_info. Review the linked statsmodels PR and the stated mgcv behavior to define the required exterior-knot option and transform access. Done means the supported behavior and resulting spline metadata are specified and covered by appropriate tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100