etas.starting: Guess starting values of ETAS parameters (beta-version). Only...

View source: R/etas.starting.R

etas.startingR Documentation

Guess starting values of ETAS parameters (beta-version). Only from package version 1.2.0

Description

etas.starting is a simple function to give starting values of the 7 ETAS parameters for the function etasclass.

It gives only rough approximations, based on some assumptions, intended to give only the order of magnitude of each parameter (but should be better than nothing). Returns a list with starting values. In the present version user can give manually the output of this function in the input of etasclass. Otherwise, the function is called by etasclass at first steps, to supply initial values to start estimation.

Usage

etas.starting(cat.orig,
magn.threshold=2.5,
p.start=1,
gamma.start=0.5,
q.start=2,
betacov.start=.7,
longlat.to.km=TRUE,
sectoday=FALSE,
onlytime=FALSE
)

Arguments

cat.orig

An earthquake catalog, possibly an object of class eqcat, or however a data.frame with variables of names time, lat, long, z, magn1. No missing values are allowed.

magn.threshold

Threshold magnitude (only events with a magnitude at least magn.threshold will be used). Default value = 2.5.

p.start

Parameter 4 of the ETAS model; the exponent of the Omori law for temporal decay rate of aftershocks; see details. Default value = 1.0.

gamma.start

Parameter 5 (\gamma) of the ETAS model; together with a is related to the efficiency of an event of given magnitude in generating aftershocks; see details. Default value = 0.5.

q.start

Parameter 7 of the ETAS model; parameter related to the spatial influence of the mainshock; see details. Default value = 2.

betacov.start

coefficient of the covariate (as default the magnitude). Default value = 0.7.

sectoday

if TRUE, then time variable of cat.orig is converted from seconds to days. Default value = TRUE.

longlat.to.km

if TRUE, then long and lat variables of cat.orig are treated as geographical coordinates and converted to kilometers. Default value = TRUE.

onlytime

if TRUE then a time process is fitted to data , regardless to space location (in this case is.backconstant is set to TRUE and declustering, flp are set to FALSE). Default value = FALSE.

Details

It is a beta-version of a very crude method to give starting values for the seven parameters of an ETAS (Epidemic type aftershock sequences) model for the description of the seismicity of a space-time region. These starting values can be used as input for the function etasclass sectoday and longlat.to.km flags must the same that will be used in etasclass.

In this first attempt to give starting values for the ETAS model, many approximations are used

It gives only rough approximation, based on some assumptions, intended to give only the order of magnitude of each parameter (but it should be better than nothing). It returns a list with 7 starting values. With this beta-version user must give manually the output of this function in the input of etasclass.

The values of p.start, gamma.start and q.start must be however given by the user (we did not find anything reasonable). Default choices for p and q (p.start=1, q.start=2) are strongly reccomended.

c and d are estimated from the emprical distributions of time differences and space distances, respectively. mu and k0 are then estimated given the other starting values, solving the two ML equations, that is derivatives of the whole likelihood with respect to mu and k0 equated to zero. In the computation of the likelihood an approximation for the integral of the intensity function is used (quoted also in Schoenberg (2013)).

Value

returns a list:

mu.start

guess value for mu

k0.start

guess value for k0

c.start

guess value for c

p.start

guess value for p (the same as input value)

gamma.start

guess value for gamma (the same as input value)

d.start

guess value for d

q.start

guess value for q (the same as input value)

longlat.to.km

longlat.to.km (the same as input value)

sectoday

sectoday (the same as input value)

Note

The optimization algorithm used in etasclass depends on the choice of initial values. Some default guess choice is performed in the present beta-version of the function etas.starting. If convergence problem are experienced, a useful strategy can be to start with an high magnitude threshold value m_0 (that is, with a smaller catalog with bigger earthquakes), and then using this first output as starting guess for a running with a lower magnitude threshold value m_0. In this trial executions avoid declustering (declustering=FALSE) or at least use a small value of ndeclust; small values of iterlim and ntheta can speed first executions.

Quicker executions are obtained using smaller values of iterlim and ntheta in the input.

Also a first execution with is.backconstant = TRUE, to fit a first approximation model with constant background, can be useful.

Some other useful information can be obtained estimating a pure time process, that can give a good guess at least for some parameters, like \mu, \kappa_0, c,p.

Input times are expected in days, and so final intensities are expected number of events per day. If input values are in seconds, then set sectoday=TRUE

Author(s)

Marcello Chiodi, Giada Adelfio

References

Schoenberg, F. P. (2013).Facilitated Estimation of ETAS. Bulletin of the Seismological Society of America, Vol. 103, No. 1, pp. 601-605, February 2013, doi: 10.1785/0120120146

See Also

etasclass


etasFLP documentation built on Sept. 14, 2023, 5:06 p.m.