Fitting a Gamma distribution with threshold parameter: error message?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Paul
el 29 de Jul. de 2011
Respondida: haneen jawa
el 31 de Mzo. de 2019
Hey,
I'm trying to fit a Gamma distribution to some raw data which includes a lower threshold parameter, and i'm getting the following error message. Could somebody help here please?
CODE %%%%%%%%%%%%%%%%%
c = min(data)/4
k = mean(data)^2
theta = var(data)/mean(data)^2
x = sort(data);
n = length(x);
pEmp = ((1:n)-0.5)' ./ n;
wgt = 1 ./ sqrt(pEmp.*(1-pEmp));
gammaObj = @(params) sum(wgt.*(gamcdf((x-params(1)),exp(params(2)),exp(params(3))) - pEmp).^2)
paramHat = fminsearch(gammaObj,[c,log(k),log(theta)])
paramHat1 = paramHat(1);
paramHat2 = exp(paramHat(2));
paramHat3 = exp(paramHat(3));
ERROR %%%%%%%%%%%%%%%%%
|??? Error using ==> minus Matrix dimensions must agree.
Error in ==> @(params)sum(wgt.*(gamcdf((x-params(1)),exp(params(2)),exp(params(3)))-pEmp).^2)
Error in ==> fminsearch at 205 fv(:,1) = funfcn(x,varargin{:});
Error in ==> gammaFit at 582 paramHat = fminsearch(gammaObj,[c,log(k),log(theta)])
| Thanks a bundle !
0 comentarios
Respuesta aceptada
Nirmal Gunaseelan
el 29 de Jul. de 2011
The error points to the MINUS operator. It appears that the variables x and n (and hence pEmp?) have the same dimensions and params(1) is different from this. What are the dimensions of these variables?
3 comentarios
Nirmal Gunaseelan
el 29 de Jul. de 2011
Good. So the difference now is between the dimensions of sim_data and the real_data that you are using. You could use this:
size(sim_data)
to verify.
Más respuestas (1)
haneen jawa
el 31 de Mzo. de 2019
(R .* (C.^3)/2) .*(3/K) .*gamma(3/k); WHAT IS THE WRONG
0 comentarios
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!