ace icon indicating copy to clipboard operation
ace copied to clipboard

Use ACE in a predictive sense?

Open mycarta opened this issue 6 years ago • 7 comments

Follow up on a closed issue I have more questions. I went back and reviewed the literature papers; if I understand those examples correctly, I think that one could use ACE in a predictive sense in a couple of ways:

  1. use the magnitude of the transforms as a measure of the strength of the relationship between the original independent predictors and the target, even though as you say, there are no functional forms for the transforms

  2. predict the target given new measurements of the predictors, using the inverse relationship between theta and Y; e.g., using the example from Wang and Murphy: image or in pictorial way using my example from here: image

Originally posted by @mycarta in https://github.com/partofthething/ace/issues/11#issuecomment-531837984

mycarta avatar Dec 05 '19 21:12 mycarta

hi Do you have some insights on this?

mycarta avatar Oct 06 '20 14:10 mycarta

Yes that's a great use of this. That's basically how I use it. I run some simulations and build X's and Y's. Then I do continuous optimization problems choosing x's and predicting Y(x) in the way you mention. It works great for that.

partofthething avatar Oct 06 '20 23:10 partofthething

Do you have an example that could be added to the documentation? I am happy to help document if needed.

mycarta avatar Oct 07 '20 01:10 mycarta

I may be misunderstanding, but isn't this demo exactly what you need for this?

partofthething avatar Oct 07 '20 20:10 partofthething

I may be misunderstanding, but isn't this demo exactly what you need for this?

I was thinking of an example of predicting the target y given new measurement of the predictors using an existing transformation

mycarta avatar Oct 08 '20 00:10 mycarta

Ah I see. So you want to initialize the myace = model.Model() part by loading transformations from disk rather than re-building them with x,y pairs and then run myace.eval([0.1, 0.2, 0.5, 0.3, 0.5]) without having to run myace.build_model_from_xy(x, y)?

I could add model.save() and model.load() methods to help with that. Meanwhile I think just using pickle on the model would probably work.

Would this help?

partofthething avatar Oct 08 '20 13:10 partofthething

Nice example, and yes, picle would do but having a method that is part of your library would be awesome.

mycarta avatar Oct 08 '20 15:10 mycarta