convolution

Combining sampled probability distributions that have been zero inflated


How can I efficiently convolve two probability distributions that have been zero-inflated?

I'm trying to model the monetary loss from two events X and Y with distributions X and Y. I don't know the underlying distribution type (e.g. normal, beta etc.), but I know they are continuous. What I have are uniformly spaced discrete samples representing the probability distributions X and Y. I know I get the answer via convolution, but I'm concerned about zero inflation.

I know there's a probability the event X (or Y) doesn't occur and I know I can model that by zero inflating my distribution. To keep the sample steps uniform, I may have to add a large number of zeros to my model distribution. This will massively increase the size of my convolution, and hence the processing time.

I've tried combinations of occurring and not occurring, but that doesn't scale when I'm dealing with a large number of events.

Does anyone have any idea how I can use convolution with zero-inflated distributions in an efficient way?


Solution

  • In the end, I just used zero-inflation and used an efficient convolution method (oaconvolve in scipy). The computational cost was tolerable.