how to develop a zero inflated weibull distribution in matlab

7 visualizaciones (últimos 30 días)
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 comentario
vedesh Mohit
vedesh Mohit el 3 de Abr. de 2018
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)."

Iniciar sesión para comentar.

Respuesta aceptada

Jeff Miller
Jeff Miller el 1 de Abr. de 2018
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 comentario
John D'Errico
John D'Errico el 1 de Abr. de 2018
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.

Iniciar sesión para comentar.

Más respuestas (1)

Vitaly Kheyfets
Vitaly Kheyfets el 8 de Mayo de 2018
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