How do you fit a gamma distribution?

Hi There
How do you fit a gamma distribution to random data while fixing one of the gamma distribution parameters? Lets say we fix the shaping factor k for example and try to find the scaling factor Thetha of the gamma pdf? How is this done in Matlab?

 Respuesta aceptada

Tom Lane
Tom Lane el 7 de Abr. de 2012
Expanding on what Wayne wrote, you can supply your fixed-parameter version of the gamma distribution to the mle function. Try this:
x = gamrnd(1.1,100,100,1);
ab = gamfit(x) % fit a and b
b = mle(x,'pdf',@(x,b)gampdf(x,1,b),'start',1) % fix a=1
% compare the empirical distribution and two fits
ecdf(x);
xx = linspace(0,max(x));
line(xx,gamcdf(xx,ab(1),ab(2)),'color','r')
line(xx,gamcdf(xx,1,b),'color','c')

3 comentarios

Wayne King
Wayne King el 7 de Abr. de 2012
That was the piece I was missing! thanks Tom
Bhekisizwe
Bhekisizwe el 8 de Abr. de 2012
Thanks guys, Thanks a lot...this will definately help me...:-)
GM Fahad Bin Mostafa
GM Fahad Bin Mostafa el 21 de Feb. de 2019
Hi Tom
I want to fit excel data with gamma in matlab. Would you please help me?

Iniciar sesión para comentar.

Más respuestas (1)

Wayne King
Wayne King el 7 de Abr. de 2012
You can use either mle() with the 'Distribution','gamma'
gamfit()
or fitdist() with 'gamma'. All require the Statistics Toolbox.
R = gamrnd(5,2,1e3,1);
gpdf = fitdist(R,'gamma');
[phat,phatci] = gamfit(R);
%same as
[phat,phatci] = mle(R,'Distribution','gamma');
Once you fix one of the parameters, you can create gamma pdfs by varying the other using gampdf and fit that to your data.

Categorías

Preguntada:

el 7 de Abr. de 2012

Comentada:

el 21 de Feb. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by