Learn R Programming

EXRQ (version 1.0)

testC.EVI: Testing the Constancy of EVI Over Covariates

Description

This function tests whether the extreme value index of Y, gamma(x), is constant or varying across the covariate x by using the test procedure described in Section 3.4 of Wang and Li (2013).

Usage

testC.EVI(y, x, grid.lam = seq(-2, 2, 0.1), grid.k, tau.lam = 0.9, u.x = 0, a = 0, M = 2, tol = 1e-04)

Arguments

y
a vector of n untransformed responses
x
a n x p matrix of n observations and p predictors
grid.lam
a grid of points for power-transformation parameter
grid.k
a grid of points for k, the number of upper order statistics involved in Hill estimator
tau.lam
the quantile level used for estimating the transformation parameter
u.x
the proportion to be trimmed in the x direction
a
location shift parameter in the power transformation (introduced to avoid negative y values)
M
a constant larger than one that is used for estimating the c vector and thus K(x) function. The default is two
tol
the tolerance level for checking quantile crossing issue

Value

A list is returned with the following componentslam: the estimated power-transformation parameterk: the selected tuning parameter k, the number of upper order statistics involved in Hill estimatorTm: the proposed test statisticscaledTm: the standardized test statisticpval.iid: the p-value based on iid assumption, that is, assuming that K(x)=1pval.nid: the p-value based on estimated K(x)=(X'C)^(1/EVI)gamma.bar: the pooled EVI estimatorhat.gamma: a N-dimensional vector consisting of the estimated x-dependent EVI at x=xstarxstar: a N x p matrix of N observations and p predictors

References

Wang, H. and Li, D. (2013). Estimation of conditional high quantiles through power transformation. Journal of the American Statistical Association, 108, 1062-1074.

Examples

Run this code
library(EXRQ)
n=500
tau.e = c(0.99, 0.993, 0.995)
set.seed(12368819)
x1 = runif(n, -1, 1)
x2 = runif(n, -1, 1)
sqrty = 2 + x1 + x2 + (1+0.8*x1)*rpareto(n, 0.5)
x = as.matrix(cbind(x1, x2))
y = sqrty^2
out = testC.EVI(y, x, grid.lam=seq(-0.5, 1.5, 0.1), grid.k=50, tau.lam=0.9)
(Tval = out$scaledTm)
(pval.iid = out$pval.iid)
(pval.nid = out$pval.nid)

Run the code above in your browser using DataLab