statsmodels / statsmodels/statsmodels

ENH: helper: ordered multinomial logit parameter transformation for discrete mixture

Open
#2,638 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

comp-discrete comp-tools type-enh
Dominant language
Python
Stars
11.6k
Forks
3.6k
Avg merge
7h 37m
Merged PRs (30d)
96

Description

A simplified version of multinomial logit with monotone choice parameterization.

e.g. we have 5 classes (discrete points on the real line) and we don't know the location of the points nor the probabilities. We want to estimate a discrete mixture distribution for a sample or as one component (mixing probability) in a larger model.

To get a unique parameterization of the "states", we can impose monotonicity x0 < x1 < ... < xk where xi are the support points.

parameterization c0, c1, ..., ck such that
x0 = c0
x1 = x0 + np.exp(c1)
...
xk = x{k-1} + np.exp(ck)

This is what I used for ordered Logit/Probit, but is more widely useful, for example to implement mixed effects models with finite support mixing distribution.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the existing ordered Logit/Probit parameterization referenced in the issue and study how its monotone support transformation is represented. Define the helper’s scope for ordered support points and mixture use cases, then add tests covering the five-class example, monotonicity, and parameter recovery; done means the transformation is usable for discrete mixture models.

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.