(conditional) Normalizing Flows for highly zero-inflated 1 dimensional data

Hello!

I am new to Normalizing Flows and am trying to use a conditional Masked Autoregressive Flow, where the data that will be “normalized” is a 1 dimensional variable. More specifically it is a very highly zero inflated rate (~90% of values are 0.0). Do you have any suggestions how to address the problem of high zero inflation? Subsampling the zero counts is an option, but then a lot of data is lost and the zeros have a meaning. Thanks!

Jakub

Welcome to the bayesflow forums! Can you share a histogram of your data perhaps? So we can get an idea of how your data looks like. Also what would you use as conditions (you put conditions in the title)?

Additionally, we don’t support MAFs in bayesflow. I would recommend going with a spline flow as a more performant option. Check out our regression tutorial, which may be of help.

Thank you!

The distribution histogram looks like a heavily zero inflated beta distribution (I can share the histogram tomorrow). I conditon on manually handcrafted features extracted from genomic alignment data (each observation is a numeric vector of length 8). I have also tried to train a simple embedding MLP jointly with the normalizing flow and condition on the MLP embedding and not the raw data.

Thank you, I will try that out! I initially chose MAF’s, because it was the most intuitive normalizing flow for my level of understanding.