hansi {plm} | R Documentation |
Simes' test of intersection of individual hypothesis tests (Simes 1986) applied to panel unit root tests as suggested by Hanck (2013).
hansi(object, alpha = 0.05) ## S3 method for class 'hansi' print(x, cutoff = 10L, ...)
object |
either a numeric containing p-values of individual unit root
test results (does not need to be sorted) or a suitable |
alpha |
numeric, the pre-specified significance level (defaults to |
x |
an object of class c("hansi", "list") as produced by |
cutoff |
integer, cutoff value for printing of enumeration of individuals with rejected individual H0, for print method only, |
... |
further arguments (currently not used). |
Simes' approach to testing is combining p-values from single hypothesis tests with a global (intersected) hypothesis. Hanck (2013) mentions it can be applied to any panel unit root test which yield a p-value for each individual series. The test is robust versus general patterns of cross-sectional dependence.
Further, this approach allows to discriminate between individuals for which
the individual H0 (unit root present for individual series) is rejected/
is not rejected by Hommel's procedure (Hommel (1988)) for family-wise
error rate control (FWER) at pre-specified significance level alpha via
argument alpha
(defaulting to 0.05
), i.e., it controls for the multiplicity
in testing.
The function hansi
takes as main input object
either a plain numeric
containing p-values of individual tests or a purtest
object which holds
a suitable pre-computed panel unit root test (one that produces p-values per
individual series).
The functions return value (see section Value) is a list with detailed evaluation of the applied Simes test.
The associated print
method prints a verbal evaluation.
For hansi
, an object of class c("hansi", "list")
which is a list with the elements:
id
: integer, the identifier of the individual (integer sequence referring to
position in input),
name
: character, name of the input's individual (if it has a name,
otherwise "1", "2", "3", ...),
p
: numeric, p-values as input (either the numeric or extracted from
the purtest object),
p.hommel
: numeric, p-values after Hommel's transformation,
rejected
: logical, indicating for which individual the individual null
hypothesis is rejected (TRUE
)/non-rejected (FALSE
) (after controlling
for multiplicity),
rejected.no
: integer, giving the total number of rejected individual series,
alpha
: numeric, the input alpha
.
Kevin Tappe
Hanck C (2013).
“An Intersection Test for Panel Unit Roots.”
Econometric Reviews, 32, 183–203.
Hommel G (1988).
“A stage wise rejective multiple test procedure based on a modified Bonferroni test.”
Biometrika, 75, 383–386.
Simes RJ (1986).
“An improved Bonferroni procedure for multiple tests of significance.”
Biometrika, 73, 751–754.
### input is numeric (p-values) #### example from Hanck (2013), Table 11 (left side) pvals <- c(0.0001,0.0001,0.0001,0.0001,0.0001,0.0001,0.0050,0.0050,0.0050, 0.0050,0.0175,0.0175,0.0200,0.0250,0.0400,0.0500,0.0575,0.2375,0.2475) countries <- c("Argentina","Sweden","Norway","Mexico","Italy","Finland","France", "Germany","Belgium","U.K.","Brazil","Australia","Netherlands", "Portugal","Canada", "Spain","Denmark","Switzerland","Japan") names(pvals) <- countries h <- hansi(pvals) print(h) # (explicitly) prints test's evaluation print(h, cutoff = 3L) # print only first 3 rejected ids h$rejected # logical indicating the individuals with rejected individual H0 ### input is a (suitable) purtest object data("Grunfeld", package = "plm") y <- data.frame(split(Grunfeld$inv, Grunfeld$firm)) obj <- purtest(y, pmax = 4, exo = "intercept", test = "madwu") hansi(obj)