I would recommend to start out from a tobit model, i.e., a normally distributed response censored at zero. This is a relatively simple model because (1) the normal distribution is relatively "easy" or "nice" and (2) the probability for observing a zero and the expectation of the positive observations is driven by the same effects in the regression model. This model can then serve as a benchmark for more advanced models.
To refine the model you can then make both of the aspects above more complicated:
- Instead of a normal distribution you can use a distribution with heavier tails, e.g., the logistic distribution or the Student t distribution. In another step you could also consider skewed distributions, if necessary.
- Instead of a censored model with only one part driving all properties of the distribution you could consider a two-part hurdle model. Thus, you could fit a binary model to capture the probability of a zero vs. non-zero response and another zero-truncated model for the positive observations.
Of course, both aspects can be combined, e.g., you can first fit a zero-censored logistic model (one part) and then a two-part hurdle model (binary logistic regression for zero vs. non-zero plus a zero-truncated logistic model).
In my experience, specifically for modeling precipitation, it is crucial to consider heteroscedastic models instead of assuming a constant variance!
For a worked example of 3-day precipitation modeling (using regressors from a numerical weather prediction model) using the models above, see Messner et al. (2016, R Journal, doi:10.32614/RJ-2016-012). We employ our crch
for censored regression with conditional heteroscedasticity. This supports both censoring and truncation and various response distributions.
For even more distributions, the gamlss
family of packages is very useful with all the gamlss.dist
distributions that can be both censored (gamlss.cens
) or truncated (gamlss.tr
).
family = "quasipoisson"
should do this. In Stata, you can just use thechurdle
command. $\endgroup$gamlss
package. It (and accompanying packages) supports so called zero-adjusted distributions (for example the zero-adjusted Gamma distributionZAGA
). These are basically hurdle models. $\endgroup$