Learn R Programming

plm (version 2.6-4)

phansitest: Simes Test for unit roots in panel data

Description

Simes' test of intersection of individual hypothesis tests (SIMES:86;textualplm) applied to panel unit root tests as suggested by HANCK:13;textualplm.

Usage

phansitest(object, alpha = 0.05)

# S3 method for phansitest print(x, cutoff = 10L, ...)

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.

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).

Author

Kevin Tappe

Details

Simes' approach to testing is combining p-values from single hypothesis tests with a global (intersected) hypothesis. HANCK:13;textualplm 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 (HOMM:88;textualplm) 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

See Also

purtest(), cipstest()

Examples

Run this code

### 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)

Run the code above in your browser using DataLab