Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Calibration test -- description and source code #1238

Closed
lucy-temed opened this issue Nov 11, 2022 · 1 comment
Closed

Calibration test -- description and source code #1238

lucy-temed opened this issue Nov 11, 2022 · 1 comment
Labels

Comments

@lucy-temed
Copy link

Hi everyone,
Thank you for posting this package.
I am trying to understand the intuition of the calibration test.
I see from the source code that the calibration test does the following for a causal forest:

preds <- predict(forest)$predictions
mean.pred <- mean(preds)
DF <- data.frame(
target = unname(forest$Y.orig - forest$Y.hat),
mean.forest.prediction = unname(forest$W.orig - forest$W.hat) * mean.pred,differential.forest.prediction = unname(forest$W.orig - forest$W.hat) *(preds - mean.pred))

summary(lm(target~ mean.forest.prediction + differential.forest.prediction +0, data=DF))

The target are the orthogonalized outcomes. But then, the target is not regressed on the mean forest prediction and the differential forest prediction alone, but on the product of those two and the orthogonalized treatments....

I understand that those orthogonalized outcomes are the outcome variable of the forest. But i don't understand why the mean forest prediction needs to be multiplied by the orthogonalized treatments for the test to work.

I am just so curious why the description of the function says that the test computes the best linear predictor of the target estimand using the forest prediction as well as the mean forest prediction as the sole two regressors. It seems to me that the test uses the forest prediction and the mean forest prediction multiplied by the orthogonalized treatment status as the sole two regressors.

Or is this clarification redundant?

Any guidance on this would be greatly appreciated.

Lucy

@erikcs
Copy link
Member

erikcs commented Nov 13, 2022

Hi @lucy-temed, see if answer in #712 helps you out. (PS: a new feature that could subsume this exercise is the RATE).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants