Skip to content

Add PopulationProxyTargets (proxy target overfitting bias) - #36

Open
eltonbaidoo wants to merge 2 commits into
mainfrom
eb-proxy-target
Open

Add PopulationProxyTargets (proxy target overfitting bias)#36
eltonbaidoo wants to merge 2 commits into
mainfrom
eb-proxy-target

Conversation

@eltonbaidoo

Copy link
Copy Markdown

Adds PopulationProxyTargets, a Population subclass that generates data with
proxy target overfitting bias

@eltonbaidoo
eltonbaidoo requested review from brownsarahm and Copilot and removed request for Copilot July 16, 2026 17:04

@brownsarahm brownsarahm left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have made one small change naming wise, but also @surbhir08 will your refactor be able to capture this functionality?

Comment thread mlsim/bias/populations.py
feature_noise_sampler=FeatureNoise()):
self.demographic_sampler = demographic_sampler
self.target_sampler = target_sampler
self.feature_sampler = feature_sampler_true

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
self.feature_sampler = feature_sampler_true
self.feature_sampler_target = feature_sampler_target

@surbhir08 surbhir08 Aug 3, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@brownsarahm I have FeatureConditionerZ, which can be used for xz conditioning, but I don't have anything explicitly for xy. We can add FeatureConditionerY following the same pattern and then it can work with param mixins that we have or we can add Elton's code.

Comment thread mlsim/bias/populations.py
a, z = self.demographic_sampler.sample(N)
y = self.target_sampler.sample(a, z)

x_true = self.feature_sampler.sample(a, z, y)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
x_true = self.feature_sampler.sample(a, z, y)
x_true = self.feature_sampler_target.sample(a, z, y)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants