Simes' test of intersection of individual hypothesis tests (Simes (1986) ) applied to panel unit root tests as suggested by Hanck (2013) .

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 purtest object (as produced by purtest() for a test which gives p-values of the individuals (Hadri's test in purtest is not suitable)),

alpha

numeric, the pre-specified significance level (defaults to 0.05),

x

an object of class c("phansitest", "list") as produced by phansitest to be printed,

cutoff

integer, cutoff value for printing of enumeration of individuals with rejected individual H0, for print method only,

...

further arguments (currently not used).

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 input alpha.

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.

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

Author

Kevin Tappe

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
#> 
#>         Simes Test as Panel Unit Root Test (Hanck (2013))
#> 
#> H0: All individual series have a unit root
#> HA: Stationarity for at least some individuals
#> 
#> Alpha: 0.05
#> Number of individuals: 19
#> 
#> Evaluation:
#>  H0 rejected (globally)
#> 
#>  Individual H0 rejected for 10 individual(s) (integer id(s)):
#>   1, 2, 3, 4, 5, 6, 7, 8, 9, 10
print(h, cutoff = 3L) # print only first 3 rejected ids 
#> 
#>         Simes Test as Panel Unit Root Test (Hanck (2013))
#> 
#> H0: All individual series have a unit root
#> HA: Stationarity for at least some individuals
#> 
#> Alpha: 0.05
#> Number of individuals: 19
#> 
#> Evaluation:
#>  H0 rejected (globally)
#> 
#>  Individual H0 rejected for 10 individuals, only first 3 printed (integer id(s)):
#>   1, 2, 3, ...
h$rejected # logical indicating the individuals with rejected individual H0
#>   Argentina      Sweden      Norway      Mexico       Italy     Finland 
#>        TRUE        TRUE        TRUE        TRUE        TRUE        TRUE 
#>      France     Germany     Belgium        U.K.      Brazil   Australia 
#>        TRUE        TRUE        TRUE        TRUE       FALSE       FALSE 
#> Netherlands    Portugal      Canada       Spain     Denmark Switzerland 
#>       FALSE       FALSE       FALSE       FALSE       FALSE       FALSE 
#>       Japan 
#>       FALSE 


### 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)
#> 
#>         Simes Test as Panel Unit Root Test (Hanck (2013))
#> 
#> H0: All individual series have a unit root
#> HA: Stationarity for at least some individuals
#> 
#> Alpha: 0.05
#> Number of individuals: 10
#> 
#> Evaluation:
#>  H0 rejected (globally)