| est.kagan {ssEDA} | R Documentation |
Estimate different parameter or parameters of Kagan distribution for a given data set.
est.kagan(Data, alpha=1, beta=0, gamma=7, theta=0.75, phi=2.4, tol=10^-3,
Mag=TRUE, deltam=2)
Data |
Vector of magnitude or stress. |
alpha |
Parameter of Kagan distribution. Index of the power law. |
beta |
Parameter of Kagan distribution. Control the lower turning point of distribution. |
gamma |
Parameter of Kagan distribution. Control the upper turning point of the distribution. |
theta |
Parameter of magnitude.convert. |
phi |
Parameter of magnitude.convert. |
tol |
minimum step length of Newton-Raphson algorithm. |
Mag |
Flag indicating whether stress or magnitude is to be used. |
deltam |
Range for scanning over beta parameter. |
Data is given in magnitudes or stress. Under the condition of data following Kagan distribution, parameters of distribution could be estimated, Newton-Raphson algorithm and maximum likelihood method are used here.
Vector of estimated (or fixed) parameters alpha (α),
beta (β) and gamma (gamma) of the
Kagan distribution, the value of M0 (minimum magnitude) determined from
the data and loglikelihood value that those parameters correspond to.
When the parameters of distribution are all unknown, the estimated results are sometimes not very accurate.
Wang Lifeng, 2001
Vere-Jones, D.; Robinson, R. & Yang, W. (2001). Remarks on the accelerated moment release model: problems of model formulation, simulation and estimation. Geophysical Journal International 144, 517–531.
estimate.alph <- NULL
for (i in 1:100)
{
# follow Kagan distribution, using default parameters.
stress <- rkagan(1000, mag = FALSE) # simulate data set of stress which
# when alpha is unknown.
alpha <- est.kagan(stress, alpha = NA, Mag = FALSE) # estimate alpha,
estimate.alph <- rbind(estimate.alph, alpha)
}
# Get distribution of alpha estimated from the 100 samples. This
# way, we could know possible distance between estimated one
# and real one.
hist(estimate.alph[, 1], xlab="Alpha", ylab="Frequency", main="")
box()