Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Add "partial prediction" (initially at the factor level)

Open
#64 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
python
Domain
data

Research direction

No file, test, or entry point is named in the issue. Start by reading issue #63 and the factor-prediction work it identifies as a precondition; done means supporting factor-level partial predictions, checking whether each requested hypothesis is well-defined, and producing the corresponding design-matrix difference.

Written by the indexing model from the issue text.

Description

statsmodels-request well-defined-task-definitely-do-this

In many cases when working with linear models, one has a model like y ~ 1 + a + b:c and you want to test a hypothesis like "y at a = a1 is significantly different from y at a = a2 (with the other predictors set to arbitrary values)". In this particular case, for a linear model, this is a well-defined and can be expressed as a linear hypothesis test. By contrast, a hypothesis like "y at b = b1 is significantly different from y at b = b2", because the difference between these is undefined without knowing c. OTOH, a hypothesis like "y at b = b1 and c = c1 is significantly different from y at b = b2 and c = c2" is also well-defined.

So we want some way for users to request a "prediction" of the difference between the design matrices at these sorts of partially-specified locations, and then patsy would (a) check that this actually makes sense, and (b) figure it out.

Initially, for simplicity, this should probably be done for "factor prediction" (so #63 would be a precondition). It would be nice to have it for "data-level prediction" too, but this will require more metadata about which data variables are referred to in which factors. Possibly we will get that soon because we need somewhat similar information to allow pickling (#25).

Dominant language
Python
Stars
990
Forks
106
Avg merge
7d 34m
Merged PRs (30d)
1

Getting set up

We have not checked this project's setup files yet. Start from its README, and see our first-contribution guide for the general steps.

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.

More from pydata/patsy

All issues in pydata/patsy

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.