Skip to contents

Confidence intervals for the parameters of a poisGP object.

Usage

# S3 method for poisGP
confint(object,
        parm = NULL,
        level = 0.95,
        type = c("poisGP", "PP"),
        method = c("proflik", "delta"),
        nSigma = 4,
        trace = 0,
        round = TRUE,
        out = c("array", "data.frame"),
        check = FALSE, nCheck = 50,
        ...)

Arguments

object

An object with class "poisGP".

parm

Not used yet. Confidence intervals are computed for each of the three parameters.

level

Confidence level(s).

type

The type of parameterisation wanted: Poisson-GP or Point-Process.

method

Character: "delta" leads to the simplistic delta method and "proflik" to the profile-likelihood.

nSigma

Used only when check is TRUE. It defines the interval around the ML estimate where the profile log-likelihood will be evaluated in order to build a curve allowing a check of the results. The value of nSigma defines the number of standard deviation for the current parameter that will be used. If needed, an an asymmetric interval can be defined by using two numbers e.g. c(3, 5) if it is expected that the confidence intervals spread more on the right side of the estimates than they do on the left side.

trace

Integer level of verbosity.

round

Logical. If TRUE the confidence limits will be rounded to a same small number of digits. This number is chosen using the smallest of the standard deviations for the estimated parameters.

out

Character giving the class of the output. By default this is a three-dimensional array with dimensions: parameter, lower/upper limit, and level. If level has length 1, using drop on the output will remove the third dimension and produce a matrix. The "data.frame" gives the same results in "long format".

check

Logical. Used only when method is "proflik". If TRUE the function return results intended to be used in a graphical check of the confidence limits and taking the form of a list of two data frames. The first data frame contains evaluations of the profile-negative log-likelihood for each of the three parameters in order to draw profile-likelihood curves. The second one contains the confidence bounds in "long format".

nCheck

Number of evaluations of the profile log-likelihood if check is TRUE.

...

Further arguments passed to the profLik method for the class of object. The arguments ftol_abs and ftol_rel can be modified when some problems are met.

Value

When check is FALSE, an array or a data frame containing the lower and upper bounds "L" and "U" of the confidence intervals. When check is TRUE a list of two data frames which is given the class "confintCheck" is order to use the autoplot method that is implemented for this class.

Details

This method finds confidence intervals for each of the three parameters of the chosen parameterisation: "poisGP" (default) or "PP". The recommended (and default) method uses profile-likelihood as implemented in proflik.default. The determination of the intervals relies on a new method based on constrained optimisation: thus the profiled likelihood is not computed as such, as opposed to what is usually done. The profiled likelihood can be computed to check the results by using check = TRUE, but no zero finding is used to find the confidence limits following the classical method. The check is thus entirely based on the graphics which must be carefully inspected.

Note

Remind that the "PP" parameterisation does not depend on the threshold, as opposed to the "poisGP" parameterisation. So type = "PP" should be used to investigate threshold stability for the full parameter vector. However the confidence intervals on the two shape parameter: Poisson-GP \(\xi\) and PP \(\xi^\star\) are (or should be) identical.

Caution

The determination of the profile-likelihood intervals can fail, so it is wise to set check = TRUE and use the autoplot method on the returned object. Problems seem to be more frequently met with type = "PP", i.e. when the Point-Process parameterisation is used.

See also

RL.poisGP for the computation of the return levels with confidence intervals, autoplot.confintCheck.poisGP for the graphical check of the results. The profLik.default method is used by this function.

Examples

## fit from the object Garonne from Renext (class "Rendata")
fit <- poisGP(Garonne, threshold = 2900)

ci <- confint(fit, lev = c(0.70, 0.95), trace = 1)
#> 
#> o Perform profile-likelihood for the "poisGP"  parameterisation.
#> 
#> 
#> o Parameter  lambda 
#> *******************
#> 
#> 
#> o Upper bound for level 70%
#>     Optimisation status: 3
#>     Iterations:          86
#>     Objective value:  532.9476250
#>     Constraint check: -0.0000000
#>     gradDist:         0.0000000
#> 
#> 
#> o Upper bound for level 95%
#>     Optimisation status: 3
#>     Iterations:          110
#>     Objective value:  534.3312574
#>     Constraint check: -0.0000000
#>     gradDist:         0.0000000
#> 
#> 
#> o Lower bound for level 70%
#>     Optimisation status: 3
#>     Iterations:          102
#>     Objective value:  532.9476250
#>     Constraint check:  0.0000000
#>     gradDist:         0.0000000
#> 
#> 
#> o Lower bound for level 95%
#>     Optimisation status: 3
#>     Iterations:          131
#>     Objective value:  534.3312574
#>     Constraint check:  0.0000000
#>     gradDist:         0.0000000
#> 
#> o Parameter  scale 
#> *******************
#> 
#> 
#> o Upper bound for level 70%
#>     Optimisation status: 3
#>     Iterations:          590
#>     Objective value:  532.9476250
#>     Constraint check:  0.0000000
#>     gradDist:         0.0000000
#> 
#> 
#> o Upper bound for level 95%
#>     Optimisation status: 3
#>     Iterations:          453
#>     Objective value:  534.3298829
#>     Constraint check: -0.0013745
#>     gradDist:         0.0000000
#> 
#> 
#> o Lower bound for level 70%
#>     Optimisation status: 3
#>     Iterations:          433
#>     Objective value:  532.9476248
#>     Constraint check: -0.0000002
#>     gradDist:         0.0000000
#> 
#> 
#> o Lower bound for level 95%
#>     Optimisation status: 3
#>     Iterations:          340
#>     Objective value:  534.3274269
#>     Constraint check: -0.0038304
#>     gradDist:         0.0000000
#> 
#> o Parameter  shape 
#> *******************
#> 
#> 
#> o Upper bound for level 70%
#>     Optimisation status: 3
#>     Iterations:          428
#>     Objective value:  532.9476250
#>     Constraint check:  0.0000000
#>     gradDist:         0.0000000
#> 
#> 
#> o Upper bound for level 95%
#>     Optimisation status: 4
#>     Iterations:          533
#>     Objective value:  534.3312574
#>     Constraint check: -0.0000000
#>     gradDist:         0.0000000
#> 
#> 
#> o Lower bound for level 70%
#>     Optimisation status: 3
#>     Iterations:          775
#>     Objective value:  532.9476250
#>     Constraint check: -0.0000000
#>     gradDist:         0.0000000
#> 
#> 
#> o Lower bound for level 95%
#>     Optimisation status: 3
#>     Iterations:          1068
#>     Objective value:  534.3312573
#>     Constraint check: -0.0000000
#>     gradDist:         0.0000000
#> 
#> o Results for "poisGP"
#> 
#> , , 70%
#> 
#>                   L             U
#> lambda    1.5660291    1.89628430
#> scale  1126.0956526 1459.97198151
#> shape    -0.2403859   -0.08005602
#> 
#> , , 95%
#> 
#>                  L            U
#> lambda   1.4324021 2.057372e+00
#> scale  992.2339692 1.621010e+03
#> shape   -0.2998095 4.504269e-03
#> 

## Check the results: this is quite time-consuming.
if (FALSE) {
cic <- confint(fit, lev = c(0.95, 0.70), check = TRUE)
autoplot(cic) + theme_gray() +
    ggtitle("Poisson-GP parameterisation")

cicPP <- confint(fit, type = "PP", lev = c(0.95, 0.70), check = TRUE)
autoplot(cicPP) + theme_gray() +
    ggtitle("Point-Process (PP) parameterisation")
}