loglfit
Estimate mean and confidence intervals for the log-logistic distribution.
mu0 = loglfit (x) returns the maximum likelihood
estimates of the parameters of the log-logistic distribution given the data
in x. paramhat(1) is the scale parameter, a, and
paramhat(2) is the shape parameter, b.
[paramhat, paramci] = loglfit (x) returns the 95%
confidence intervals for the parameter estimates.
[…] = loglfit (x, alpha) also returns the
100 * (1 - alpha) percent confidence intervals for the
parameter estimates. By default, the optional argument alpha is
0.05 corresponding to 95% confidence intervals. Pass in [] for
alpha to use the default values.
[…] = loglfit (x, alpha, censor) accepts a
boolean vector, censor, of the same size as x with 1s for
observations that are right-censored and 0s for observations that are
observed exactly. By default, or if left empty,
censor = zeros (size (x)).
[…] = loglfit (x, alpha, censor, freq)
accepts a frequency vector, freq, of the same size as x.
freq typically contains integer frequencies for the corresponding
elements in x, but it can contain any non-integer non-negative values.
By default, or if left empty, freq = ones (size (x)).
[…] = loglfit (…, options) specifies control
parameters for the iterative algorithm used to compute ML estimates with the
fminsearch function. options is a structure with the following
fields and their default values:
options.Display = "off"
options.MaxFunEvals = 400
options.MaxIter = 200
options.TolX = 1e-6
Further information about the log-logistic distribution can be found at https://en.wikipedia.org/wiki/Log-logistic_distribution
MATLAB compatibility: MATLAB uses an alternative parameterization given by the pair , i.e. mu and s, in analogy with the logistic distribution. Their relation to the a and b parameters is given below:
a = exp (mu)
b = 1 / s
See also: loglcdf, loglinv, loglpdf, loglrnd, logllike
Source Code: loglfit
## Sample 3 populations from different log-logistic distibutions
rand ("seed", 5) # for reproducibility
r1 = loglrnd (1, 1, 2000, 1);
rand ("seed", 2) # for reproducibility
r2 = loglrnd (1, 2, 2000, 1);
rand ("seed", 7) # for reproducibility
r3 = loglrnd (1, 8, 2000, 1);
r = [r1, r2, r3];
## Plot them normalized and fix their colors
hist (r, [0.05:0.1:2.5], 10);
h = findobj (gca, "Type", "patch");
set (h(1), "facecolor", "c");
set (h(2), "facecolor", "g");
set (h(3), "facecolor", "r");
ylim ([0, 3.5]);
xlim ([0, 2.0]);
hold on
## Estimate their MU and LAMBDA parameters
a_bA = loglfit (r(:,1));
a_bB = loglfit (r(:,2));
a_bC = loglfit (r(:,3));
## Plot their estimated PDFs
x = [0.01:0.1:2.01];
y = loglpdf (x, a_bA(1), a_bA(2));
plot (x, y, "-pr");
y = loglpdf (x, a_bB(1), a_bB(2));
plot (x, y, "-sg");
y = loglpdf (x, a_bC(1), a_bC(2));
plot (x, y, "-^c");
legend ({"Normalized HIST of sample 1 with α=1 and β=1", ...
"Normalized HIST of sample 2 with α=1 and β=2", ...
"Normalized HIST of sample 3 with α=1 and β=8", ...
sprintf("PDF for sample 1 with estimated α=%0.2f and β=%0.2f", ...
a_bA(1), a_bA(2)), ...
sprintf("PDF for sample 2 with estimated α=%0.2f and β=%0.2f", ...
a_bB(1), a_bB(2)), ...
sprintf("PDF for sample 3 with estimated α=%0.2f and β=%0.2f", ...
a_bC(1), a_bC(2))})
title ("Three population samples from different log-logistic distibutions")
hold off
|