spm_confint {exdex} | R Documentation |
Confidence intervals for the extremal index \theta
for "spm"
objects
Description
confint
method for objects of class c("spm", "exdex")
.
Computes confidence intervals for \theta
based on an object returned
from spm
. Two types of interval may be returned:
(a) intervals that are based on approximate large-sample normality of the
estimators of \theta
(or of \log\theta
if
conf_scale = "log"
), and which are symmetric about the respective
point estimates, and (b) likelihood-based intervals based on an adjustment
of a naive (pseudo-) loglikelihood, using the
adjust_loglik
function in the
chandwich
package. The plot
method plots the
log-likelihood for \theta
, with the required confidence interval(s)
indicated on the plot.
Usage
## S3 method for class 'spm'
confint(
object,
parm = "theta",
level = 0.95,
maxima = c("sliding", "disjoint"),
interval_type = c("norm", "lik", "both"),
conf_scale = c("theta", "log"),
constrain = TRUE,
bias_adjust = TRUE,
type = c("vertical", "cholesky", "spectral", "none"),
...
)
## S3 method for class 'confint_spm'
plot(x, estimator = "all", ndec = 2, ...)
## S3 method for class 'confint_spm'
print(x, ...)
Arguments
object |
An object of class |
parm |
Specifies which parameter is to be given a confidence interval.
Here there is only one option: the extremal index |
level |
A numeric scalar in (0, 1). The confidence level required. |
maxima |
A character scalar specifying whether to estimate confidence intervals based on sliding maxima or disjoint maxima. |
interval_type |
A character scalar: |
conf_scale |
A character scalar. If If Any bias-adjustment requested in the original call to |
constrain |
A logical scalar. If |
bias_adjust |
A logical scalar. If If |
type |
A character scalar. The argument |
... |
Additional optional arguments to be passed to
|
x |
an object of class |
estimator |
A character vector specifying which of the three variants
of the semiparametric maxima estimator to include in the plot:
|
ndec |
An integer scalar. The legend (if included on the plot)
contains the confidence limits rounded to |
Details
The likelihood-based intervals are estimated using the
adjust_loglik
function in the
chandwich
package, followed by a call to
conf_intervals
.
This adjusts the naive (pseudo-)loglikelihood so that the curvature of
the adjust loglikelihood agrees with the estimated standard errors of
the estimators. The option type = "none"
should not be used in
practice because the resulting confidence intervals will be wrong.
In particular, in the intervals based on sliding maxima will provide
vast underestimates of uncertainty.
If object$se
contains NA
s, because the block size b
was too small or too large in the call to spm
then
confidence intervals cannot be estimated. A matrix of NA
s
will be returned. See the Details section of the
spm
documentation for more information.
print.confint_spm
prints the matrix of confidence
intervals for \theta
.
Value
A list of class c("confint_spm", "exdex") containing the following components.
cis |
A matrix with columns giving the lower and upper confidence
limits. These are labelled as (1 - level)/2 and 1 - (1 - level)/2 in
% (by default 2.5% and 97.5%).
The row names are a concatenation of the variant of the estimator
( |
ciN |
The object returned from
|
ciBB |
The object returned from
|
ciBBb |
The object returned from
|
call |
The call to |
object |
The input |
maxima |
The input |
theta |
The relevant estimates of |
level |
The input |
plot.confint_spm
: nothing is returned.
print.confint_spm
: the argument x
, invisibly.
References
Northrop, P. J. (2015) An efficient semiparametric maxima estimator of the extremal index. Extremes 18(4), 585-603. doi:10.1007/s10687-015-0221-5
Berghaus, B., Bucher, A. (2018) Weak convergence of a pseudo maximum likelihood estimator for the extremal index. Ann. Statist. 46(5), 2307-2335. doi:10.1214/17-AOS1621
See Also
spm
for estimation of the extremal index
\theta
using a semiparametric maxima method.
Examples
# Newlyn sea surges
theta <- spm(newlyn, 20)
confint(theta)
cis <- confint(theta, interval_type = "lik")
cis
plot(cis)
# S&P 500 index
theta <- spm(sp500, 100)
confint(theta)
cis <- confint(theta, interval_type = "lik")
cis
plot(cis)