I'm doing work on a dataset that is approximately lognormally distributed, but with significant amounts of zeros (kinda like looking at forum post activity per subforum. For those who do post, the distribution of posts will be roughly lognormal, but there will be many who do not post at all on each subforum). As one would expect with lognormal data, there is 'cone-shaped' heteroscedasticity which becomes homoscedastic when the log of the variable is used (i.e. log(y) ~ log (x1) + log(x2) +... ).
However, the zeros are a problem. The dataset has 10000 entries and about 9 columns. When removing every row with at least one zero, the dataset becomes... 3.
So my question is - how are situations like this commonly handled, where you need the squashing behaviour of the log function while also preserving the zeros?
I've looked at log(y+a) where a is some small positive constant, and I've looked at arcsinh(y), but each of these present problems (the data often becomes bimodal with all the zeros clustered together far from the rest of the data, which becomes worse if the choice of constant a is very small), as well as just feeling, well a bit arbitrary.