M8.TIP {ssM8}R Documentation

M8 Times of Increased Probability

Description

Calculates the times of increased probability for the M8 Algorithm.

Usage

M8.TIP(series, M0, training="user", end.training=NA, smoother=6,
       TIP.length=10, debug=FALSE)

Arguments

series a list object produced by the function M8.series.
M0 numeric. The aim of the algorithm is to predict earthquakes with a magnitude greater than or equal value to this value.
training has three possible modes: "moving", "user", and "all". See Details in M8.series for further explanation.
end.training Julian date for the end of the training period. This date should be the end point of a bin. This is only used when the training mode is "user".
smoother integer, denoting the length of the smoothing window. The series are smoothed at a given point by taking their maximum value over previous values within this window. The default value is 6 (i.e. three years).
TIP.length is the duration of the TIP or “Time of Increased Probability”. The M8 default is 5 years (i.e. 10 time intervals), and is independent of M0.
debug logical. The default is FALSE.

Details

The empirical distribution of each series is initially calculated. The way this is done depends on the training mode. If the training mode is "moving", only the threshold percentiles for declaring a TIP are calculated. This is because the "moving" mode emulates the position of someone making real-time predictions - the empirical percentiles are updated with each new data point. Before the empirical series are used for prediction they are smoothed by taking the maximum value over the past 3 years (argument smoother = 6).

If the training mode is "all", the empirical distribution of the series is calculated using all available values of the series. If the mode is "user", only values of series during the training period are used to calculate the empirical distribution. The rts objects tops and exceeds are computed. The object tops gives the threshold percentiles for each series relevant at time i, and exceeds is a logical rts indicating whether the series exceeds the threshold percentile in the time interval J_i.

M8.TIP then looks at the decision rule for declaring a TIP. For a TIP to be declared, 5 out of the first 6 series must cross their 90th percentile (at least once in the last 3 years), and the 7th series must also cross its 75th percentile (also at least once in the last 3 years). This was formalised by Harte et al (2003) as follows. Denote the mth series in interval J_i as F_m(J_i).

  1. Let

    U_m(J_i) = G_m[F_m(J_i)],

    where G_m is the empirical distribution function of the mth series. Then 100*U_m(J_i) is the percentile value corresponding to the series value F_m(J_i).

  2. Find the maximum for each in the preceding 3 years, i.e.

    V_m(J_i) = max{ U_m(J_i), U_m(J_{i-1}), ..., U_m(J_{t-5}) }.

  3. Now let V_{[2]}(J_i) denote the second smallest of the six values V_1(J_i),...,V_6(J_i). Then the TIP.level is defined as

    W(J_i) = min{ V_{[2]}(J_i) - 0.9, V_7(J_i) - 0.75 }.

    We refer to W(J_i) as the critical series (see Harte et al, 2003). Values are listed in the output object as TIP.level.

A TIP is declared if W(J_i) >= 0 for two consecutive intervals. Hence, by letting

Y(J_i) = min{ W(J_{i-1}), W(J_i) },

a TIP is declared in time interval J_i if Y(J_i) >= 0, and then the value of TIP in the output object is TRUE, otherwise FALSE. The duration of a TIP is specified by the argument TIP.length, which is 5 years by default.

If an earthquake with magnitude greater than or equal to the target magnitude occurs, the character variable TIP.type is set to "STIP" (successful TIP). If an earthquake with magnitude smaller than M0, but >= M0-0.5 occurs, TIP.type is set to "STIP-" (nearly successful TIP). If the TIP is triggered by an earthquake with magnitude greater than or equal to the target magnitude, TIP.type is set to "c.e.". If no earthquake with magnitude >= M0 occurs, TIP.type is set to "FTIP" (false TIP), and if the 5 year duration of the TIP has not come to an end (and no earthquake >= M0 has occurred) TIP.type is set to "CTIP" (continuing TIP).

Value

A list object with the same components as that returned by M8.series, but with the additional variables:

tops is a rts with n rows and 7 columns. It contains the historical top 10 percent (for the first 6 series) or 25 percent of values (for the 7th series) for each 6 month interval. The percentile depends on the training mode.
exceeds is a rts with n rows and 7 columns. It is logical, indicating whether each series exceeds the relevant historical percentiles for each six month interval.
TIP is a logical variable indicating whether a TIP is declared in each 6 month interval, see Y(J_i) in “Details”.
TIP.type classifies the TIPS with the following character strings:
"c.e."
earthquake caused, that is, large earthquake >= M0 in the preceding year of the TIP declaration.
"STIP"
successful warning, large event occurred in the 5 year period after declaration.
"FTIP"
failed warning, large event did not occur in the 5 year period after declaration.
"CTIP"
current warning, not 5 years past since declaration.
"STIP-"
between STIP and FTIP, strictly speaking is FTIP, i.e., event with magnitude greater than or equal to M0-0.5 occurred in the 5 year period.
TIP.level is a number between -0.9 and 0.1, and is also referred to as the critical series, see W(J_i) in “Details”. Two consecutive positive values of TIP.level is equivalent to a TIP.
g is the number of different types of measures exceeding their critical value in the last 3 years.
h is the number of measures exceeding their critical value in the last 3 years.

Author(s)

Li Dongfeng, 1997; modified by Maaike Vreede, 1998.

See Also

decluster.M8, M8, M8.series

Examples

#   Requires the package ssNZ
require(ssNZ)

as.catalogue(subsetrect(NZ, minday=julian(1,1,1965),
                        maxday=julian(1,1,2000), minmag=4.5),
             catname="NZ45")

decluster.M8(NZ45, cutoff.mag=4.5, decluster.name="NZ.mainshocks")

temp1 <- M8.series(NZ.mainshocks, M0=7.0, minday=julian(y=1965, x=1, d=1),
                   start.series=julian(y=1975, x=1, d=1), centrelong=176, 
                   centrelat=-39, end.training=julian(y=2000, x=1, d=1))

temp2 <- M8.TIP(temp1, M0=7.0, end.training=julian(y=2000, x=1, d=1))

print(cbind(time=temp1$series[,"time"], TIP=temp2$TIP,
            TIP.type=temp2$TIP.type,
            TIP.level=signif(temp2$TIP.level, digits=3)),
      quote=FALSE)

[Package ssM8 version 2.1-3 Index]