phansitest {plm} | R Documentation |
Simes Test for unit roots in panel data
Description
Simes' test of intersection of individual hypothesis tests (Simes (1986)) applied to panel unit root tests as suggested by Hanck (2013).
Usage
phansitest(object, alpha = 0.05)
## S3 method for class 'phansitest'
print(x, cutoff = 10L, ...)
Arguments
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 |
cutoff |
integer, cutoff value for printing of enumeration of individuals with rejected individual H0, for print method only, |
... |
further arguments (currently not used). |
Details
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 yields 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 a pre-specified significance level
\alpha
via argument alpha
(defaulting to 0.05
), i.e., it controls
for the multiplicity in testing.
The function phansitest
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 function's return value (see section Value) is a list with detailed evaluation of the applied Simes test.
The associated print
method prints a verbal evaluation.
Value
For phansitest
, an object of class c("phansitest", "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 inputalpha
.
Author(s)
Kevin Tappe
References
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.
See Also
Examples
### 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 <- phansitest(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")
phansitest(obj)