How do you fit a gamma distribution?
27 次查看(过去 30 天)
显示 更早的评论
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?
0 个评论
采纳的回答
Tom Lane
2012-4-7
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 个评论
G M Fahad Bin Mostafa
2019-2-21
Hi Tom
I want to fit excel data with gamma in matlab. Would you please help me?
更多回答(1 个)
Wayne King
2012-4-7
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.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!