Code for the Maximum likelihood esitmate for the gamma distribution , both parameters unknown
Afficher commentaires plus anciens
In the book by [Klugmann: Loss Models] "HERE IS THE BOOK: BOOK" (pleasee see also the attachment Loss.jpg) [OR Here] on the page 383 I would like to see a command for Matlab that would compute the Maximum Likelihood Estimate
for the Gamma Distribution where both parameters α and θ are unknown , please see the attachment. I would like to see a command that would output for Example 15.4 these numbers:
=2561.1 and
=0.55616 for these data
[27,82,115,126,155,161,243,294,340,384,457,680,855,877,974,1193,1340,1884,2558,15743]
Réponses (1)
format long
data = [27,82,115,126,155,161,243,294,340,384,457,680,855,877,974,1193,1340,1884,2558,15743];
p = mle(data,'Distribution','Gamma')
10 commentaires
Torsten
le 9 Fév 2023
Define the log-likelihood function for the gamma distribution with the above data, differentiate it with respect to the parameters, set the two equations to 0 and solve them for the two optimal parameters.
Jan
le 9 Fév 2023
how do I make 1 parameter of Gamma known: and the other should be computed by MLE principle.
Not possible as far as I know. You will have to program this on your own following the way I described ( differentiating the maximum likelihood function with respect to the unknown parameter, setting the result to 0 and solving for the unknown parameter).
Also, how can I insert the censoring above 250 ?
What do you mean ? Maybe
data(data>250) = []
?
Jan
le 9 Fév 2023
syms alpha theta x
data = sym('data',[1 20]);
f = 1/gamma(alpha) * 1/(theta^alpha) *x^(alpha-1) * exp(-x/theta);
fp = prod(subs(f,x,data))
logfp = log(fp)
dlogfpdalpha = diff(logfp,alpha)
dlogfpdtheta = diff(logfp,theta)
Data = [27,82,115,126,155,161,243,294,340,384,457,680,855,877,974,1193,1340,1884,2558,15743];
dlogfpdalpha = subs(dlogfpdalpha,data,Data)
dlogfpdtheta = subs(dlogfpdtheta,data,Data)
sol = vpasolve([dlogfpdalpha==0,dlogfpdtheta==0],[alpha,theta],[0.5 2500])
sol = vpasolve([dlogfpdalpha==0,dlogfpdtheta==0],[alpha,theta],[0.5 1500])
gives theta more than 1500, namely 2561.14
Read in the documentation of "vpasolve" what the third argument given to the solver means.
Hint: It doesn't impose any constraint on the solution.
And you cannot impose any constraints on the solution.
You have a system of two equations in two unknowns. This is solved by
alpha: 0.55615779737149188594827727939715
theta: 2561.143629976936064991373664248
No way to influence these values in general.
Catégories
En savoir plus sur Linear Algebra dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!





