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

Confidence intervals for CLATE in instrumental forest? #364

Closed
lepromatous opened this issue Jan 8, 2019 · 7 comments
Closed

Confidence intervals for CLATE in instrumental forest? #364

lepromatous opened this issue Jan 8, 2019 · 7 comments
Labels

Comments

@lepromatous
Copy link

I can't seem to figure out a CI for CLATE in an instrumental forest is computed appropriately - any thoughts or direction-to-be-pointed-in is much appreciated. Thanks so much!

@swager
Copy link
Member

swager commented Jan 8, 2019

Hi @lepromatous, I'm not sure I quite understand the question. Are you trying to get CIs for the average CLATE (like in the average_treatment_effect method), or do you want CIs for \hat{tau}(x) as provided by an instrumental forest? A code snippet outlining what you're aiming to do would be helpful.

@lepromatous
Copy link
Author

Thanks for the response! Im trying to get both actually! Project is aimed at showing subgroups which may benefit more/less from a specific treatment (observational data, hence the instrument).

Currently this is in 'proof-of-concept' phase. If I can make sense of it all I will move on to actually tuning this appropriately (parameters here are inappropriately gleaned from internal tune function for causal forest - is there a tune instrumental forest function?)

model -- outcome is binary, instrument is quantiles of a continuous value and meets criteria for ####### strong instrument

test = instrumental_forest(X=iv[,-c(69, 125, 127, 139)], Y=iv[,128], W=iv[,69], Z=as.numeric(as.character(adi.cut)),
sample.fraction=0.5, min.node.size=2,
mtry=24, alpha=0.15221056, num.trees = 6000)

My questions are twofold:

  1. what is the CLATE function for instrumental forest? average_treatment_effect(test) errors that it is only implemented for causal_forest.

Can you just predict for OOB CLATE and average everything? a la (seems unlikely to be valid...):
out<-predict(test)[,1]
iv$pred<-out
iv$pred
mean(iv$pred)

If so, to get HTE, just do the same on a subset post predict(test)?

  1. How to calculate CIs for CLATE and \hat{tau}(x) while attempting to maintain a 0/1 boundary for the binary outcome?

Thanks so much!!!

@foo-bar-baz-qux
Copy link

Also very interested in this, would be great to have average_treatment_effect() work for instrumental forests as well.

@swager
Copy link
Member

swager commented Feb 10, 2019

Apologies @lepromatous for dropping this thread.

  1. If there's regular demand for this functionality, we should probably add an averagage_clate function to the package that takes an IV forest as an argument. See Estimate of LATE using instrumental_forest #358 for a discussion of how to do this "by hand". Contributions welcome!
  2. One way to make CIs shorter is to use a larger minimum node size to regularize the forest more heavily. If the CIs are outside the [0, 1] interval even after that, then this may be indicative of a weak IV. For issues like these, I'd recommend doing simulation studies with data-generating distributions that look a lot like your real dataset so you can get a better feel for what the forest is doing.

@jtibshirani
Copy link
Member

I've marked this as a feature request. Note that this was previously requested in #358.

@kingsharaman
Copy link

+1 for this feature! Just run into this thread while trying to solve a similar problem.

@hliebert
Copy link

I'd be very interested in this feature as well.

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

6 participants