Code for the Maximum likelihood esitmate for the gamma distribution , both parameters unknown
Mostrar comentarios más antiguos
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]
Respuestas (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 comentarios
Torsten
el 9 de Feb. de 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
el 9 de Feb. de 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
el 9 de Feb. de 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.
Categorías
Más información sobre Linear Algebra en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!





