I have a continuous parameter that I'm trying to predict (say, amount donated by a supporter) that, across the general population, follows an exponential distribution pretty closely. (Very low values are slightly overrepresented, moderately high values underrepresented, but on a log plot the downward linear slope is pretty clear.)

I also have a bunch of explanatory variables that I want to build a machine learning model off of. (This might be where the supporter lives, or how often they open emails, or what their job is, or so on.)

One could imagine that wealth is distributed throughout the population with an exponential distribution, but conditioned on supporter wealth, donations are lognormally distributed. I suspect the resulting donation distribution would look something like what I have, where it's a noisier copy of the general wealth distribution.

If so, I'd expect you can do a log transform on the donation amount and get normal residuals off the prediction if you can successfully estimate wealth from the explanatory variables, and 'exponential' residuals if you can instead successfully estimate percent donated. (I might be able to tell that two people are both the type to give 1% to the organization, but not be able to tell what actual value 1% reflects.)

If a different generating model is true, then I'm having a hard time imagining a model that can actually provide value here. (If this were a mixture of different exponentials, then I would expect the general population distribution to be non-exponential in some noticeable way. If it's a single-parameter exponential that holds for the entire population, then there doesn't seem to be any value a ML model can add.)

A previous similar question had a response distribution that looked like a mixture of distributions, and so the step forward there was somewhat clearer.

What sort of tests should I be doing to figure out what the residual distribution of the ML model should look like? I know how to look at the residual distribution, but given that it's shaped by a ML model and a loss function that's optimizing for a particular distribution, it's not immediately clear that this works. (Maybe the right path is to train it with many different loss functions, and see which one has residuals that match?)

  • 1
    $\begingroup$ You could try a gamma glm? $\endgroup$ Sep 17, 2017 at 14:16


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.