fbvevd(x, model = "log", start, ..., sym = FALSE,
nsloc1 = NULL, nsloc2 = NULL, cshape = cscale, cscale = cloc,
cloc = FALSE, std.err = TRUE, corr = FALSE, method = "BFGS")
logical
, which
itself may contain missing values (see More Details)."log"
(the default), "alog"
, "hr"
,
"neglog"
, "aneglog"
, "bilog"
,
"negbilog"
, "ct"
ostart
is omitted the routine attempts to find good
starting values using marginal maximum likelihood estimators.optim
. If
parameters of the model are included they will be held fixed at
the values given (see Examples).TRUE
, the dependence structure
of the models "alog"
, "aneglog"
or "ct"
are
constrained to be symmetric (see Details). For all other
models, the argument is ignored (and a wx
, for linear modelling of the location parameter on the
first/second margin (see Details).
The data frames are treated as covariate matrices, excluding the
intercept. A numeTRUE
, a common shape parameter is
fitted to each margin.TRUE
, a common scale parameter is
fitted to each margin, and the default value of cshape
is then TRUE
, so that under this default common scale
and shape parameters are fitted.TRUE
, a common location parameter is
fitted to each margin, and the default values of cshape
and cscale
are then TRUE
, so that under these
defaults common marginal parameters are TRUE
(the default), the standard
errors are returned.TRUE
, the correlation matrix is
returned.optim
for
details).c("bvevd","evd")
. The generic accessor functions fitted
(or
fitted.values
), std.errors
,
deviance
, logLik
and
AIC
extract various features of the
returned object.
The functions profile
and profile2d
can be
used to obtain deviance profiles.
The function anova
compares nested models, and the
function AIC
compares non-nested models.
The function plot
produces diagnostic plots.
An object of class c("bvevd","evd")
is a list containing
the following components
optim
.x
.nsloc1
and nsloc2
.x
.sym
.c(cloc, cscale, cshape)
.model
.x
is a data frame with a third column of mode
logical
, then the model is fitted using the likelihood
derived by Stephenson and Tawn (2004). This is appropriate
when each bivariate data point comprises componentwise maxima
from some underlying bivariate process, and where the
corresponding logical value denotes whether or not the maxima
were caused by the same event within that process.
Under this scheme the diagnostic plots that are produced
using plot
are somewhat different to those described
in plot.bvevd
: the density, dependence function
and quantile curves plots contain fitted functions for
observations where the logical case is unknown, and the
conditional P-P plots condition on both the logical case and
the given margin (which requires numerical integration at each
data point).dep
not less
than [0.1] [0.2] [0.05] in [logistic] [Husler-Reiss]
[negative logistic] models; dep
not greater
than [10] [5] in [Husler-Reiss] [negative logistic] models;
asy1
and asy2
not less than 0.001;
alpha
and beta
not less than [0.1] [0.1]
[0.001] in [bilogistic] [negative bilogistic] [Coles-Tawn]
models; alpha
and beta
not greater than [0.999]
[20] [30] in [bilogistic] [negative bilogistic] [Coles-Tawn]
models.dep
,
asy1
, asy2
, alpha
and beta
, depending on
the model selected (see rbvevd
). The marginal parameter
names are loc1
, scale1
and shape1
for the first
margin, and loc2
, scale2
and shape2
for the
second margin.
If nsloc1
is not NULL
, so that a linear model is
implemented for the first marginal location parameter, the parameter
names for the first margin are loc1
, loc1
x1,
..., loc1
xn, scale
and shape
, where
x1, ..., xn are the column names of nsloc1
,
so that loc1
is the intercept of the linear model, and
loc1
x1, ..., loc1
xn are the
ncol(nsloc1)
coefficients.
When nsloc2
is not NULL
, the parameter names for the
second margin are constructed similarly.
It is recommended that the covariates within the linear models for
the location parameters are (at least approximately) centered and
scaled (i.e. that the columns of nsloc1
and nsloc2
are centered and scaled), particularly if automatic starting values
are used, since the starting values for the associated parameters are
then zero. If cloc
is TRUE
, both nsloc1
and
nsloc2
must be identical, since a common linear model is
then implemented on both margins. If cshape
is true, the models are constrained so that
shape2 = shape1
. The parameter shape2
is then
taken to be specified, so that e.g. the common shape
parameter can only be fixed at zero using shape1 = 0
,
since using shape2 = 0
gives an error. Similar
comments apply for cscale
and cloc
.
If sym
is TRUE
, the asymmetric logistic and
asymmetric negative logistic models are constrained so that
asy2 = asy1
, and the Coles-Tawn model is constrained
so that beta = alpha
. The parameter asy2
or
beta
is then taken to be specified, so that e.g.
the parameters asy1
and asy2
can only
be fixed at 0.8
using asy1 = 0.8
, since
using asy2 = 0.8
gives an error.
Bilogistic and negative bilogistic models constrained to
symmetry are logistic and negative logistic models
respectively. The (symmetric) mixed model (e.g. Tawn, 1998)
can be obtained as a special case of the asymmetric
logistic or asymmetric mixed models (see Examples).
The value Dependence
given in the printed output
is $2(1-A(1/2))$, where $A$ is the estimated dependence
function (see abvevd
). It measures the strength of
dependence, and lies in the interval [0,1]; at independence and
complete dependence it is zero and one respectively (Coles,
Heffernan and Tawn, 1999). See chiplot
for
further information.
Stephenson, A. G. and Tawn, J. A. (2004) Exploiting Occurence Times in Likelihood Inference for Componentwise Maxima. Biometrika 92(1), 213--217.
Tawn, J. A. (1988) Bivariate extreme value theory: models and estimation. Biometrika, 75, 397--415.
anova.evd
, optim
,
plot.bvevd
, profile.evd
,
profile2d.evd
, rbvevd
bvdata <- rbvevd(100, dep = 0.6, model = "log", mar1 = c(1.2,1.4,0.4))
M1 <- fbvevd(bvdata, model = "log")
M2 <- fbvevd(bvdata, model = "log", dep = 0.75)
anova(M1, M2)
par(mfrow = c(2,2))
plot(M1)
plot(M1, mar = 1)
plot(M1, mar = 2)
par(mfrow = c(1,1))
M1P <- profile(M1, which = "dep")
plot(M1P)
trend <- (-49:50)/100
rnd <- runif(100, min = -.5, max = .5)
fbvevd(bvdata, model = "log", nsloc1 = trend)
fbvevd(bvdata, model = "log", nsloc1 = trend, nsloc2 = data.frame(trend
= trend, random = rnd))
fbvevd(bvdata, model = "log", nsloc1 = trend, nsloc2 = data.frame(trend
= trend, random = rnd), loc2random = 0)
bvdata <- rbvevd(100, dep = 1, asy = c(0.5,0.5), model = "anegl")
anlog <- fbvevd(bvdata, model = "anegl")
amixed <- fbvevd(bvdata, model = "amix")
mixed <- fbvevd(bvdata, model = "amix", beta = 0)
mixed <- fbvevd(bvdata, model = "anegl", dep = 1, sym = TRUE)
anova(anlog, mixed)
anova(amixed, mixed)
Run the code above in your browser using DataLab