how to develop a zero inflated weibull distribution in matlab

8 次查看(过去 30 天)
Hey, I am trying to fit a weibull distribution to my dataset which consist of hourly wind speed. However when i plot my pdf, it is clear that there is an excessive amount of zeros within the data. This maybe since the value may have been too small to record. Does anyone have any idea how to handle zero inflation on a dataset or how to fit a zero inflated weibull distribution?
  1 个评论
vedesh Mohit
vedesh Mohit 2018-4-3
Hey Jeff Miller, I excluded the zeros in the doc("original_data") and then I fitted the weibull distribution to the non zero terms. How do I "After you do this, you should verify that the fitted parameters predict about the right proportion of values below the truncation point (i.e., comparable to the percentage of zeros in your original data)."

请先登录,再进行评论。

采纳的回答

Jeff Miller
Jeff Miller 2018-4-1
1. You might replace the zeros with some small nonzero value (e.g., half-way between 0 and the smallest value that can be recorded).
2. Exclude the zeros and fit a truncated Weibull to the remaining data (with a lower truncation point being the smallest value that can be recorded). After you do this, you should verify that the fitted parameters predict about the right proportion of values below the truncation point (i.e., comparable to the percentage of zeros in your original data).
  1 个评论
John D'Errico
John D'Errico 2018-4-1
I'd think of this as sort of a mixture distribution.
Thus, with probability p, you have a sample from a discrete distribution that always takes on the value zero. With probability 1-p, you have a sample from a Weibull. You can estimate p from the number of samples that were exactly zero, because the Weibull will never yield exactly zero. Or, you can do a bit better and estimate p, along with the Weibull parameters using MLE to fit that mixture distribution.

请先登录,再进行评论。

更多回答(1 个)

Vitaly Kheyfets
Vitaly Kheyfets 2018-5-8
I am not sure your original dataset would be considered zero-inflated. Yes, it has some zeros, but if you consider the zero as just another measurement, then the data still appears (roughly) normally distributed.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by