Bai and Ng Panel Unit Root Test
res = BNG_ur(arg1,...,argn)
* arg1,..., argn = arguments that can be:
- a panel data tlist (in that case there must be an argument 'namevar = xxx' to indicate the name of the variable in the panel, see below)
- the strings:
. 't_order=x' for the trend order with x:
-1: no constant, no trend
0: a constant, no trend (default)
1: a constant and a trend
. 'criteria=x' with x = Criteria used to estimate the number of common factors
= 'IC1', 'IC2', 'IC3', 'PC1', 'PC2', 'PC3', 'AIC3', 'BIC3' (see Bai and Ng (2002))
. 'typeoflag = x' where x is the string:
'common' if the lag order is common to all variables (in that case, the lag order is determined as in Bai and Ng ,2004)
'individual' if the lag order is optimally chosen for each variable
. 'pmax=x' with x=%nan or a number if for the maximal # of lags for the ADF test
.'kmax=x' with x=maximum number of common factors used to compute the criterion functions for the estimation of r, the number of common factors. It is not specified kmax=min(N,T)
.'noprint' if the user does not want to print the results of the test
. 'namevar=xx' where xx is the name of the variable in the panel (only if the data are in a 'panel data' tlist, see help paneldb)
- a time series
- a real (n x p) matrix
- a string equal to the name of a time series or a (n x p) real matrix between quotes (note that there must be several variables of this type to be able to perform a panel unit root test)
* res = a results tlist with:
- res('meth') = 'BNG panel ur test'
- res('y') = (T x k) matrix of data
- res('t_order') = the trend order (0 or 1)
- res('t_orderlit') = the trend order in plain english
- res('ratio1') = Variance of idyosyncratic component divised by the variance observed data (both in first differences)
- res('Rratio2') = Variance of residuals of common components divised by variance on idyosyncratic component
- res('ADFe') = Individual ADF statistics on idyosincratic component : ADFe(i)
- res('ADFe_pvalue') = Individual ADF statistics on idyosincratic component : ADFe(i)
- res('ADFe_pi') = Number of ADF terms in ADF tests on e(i,t)
- res('pmax') = Maximum Lag Order for individual ADF regressions on e(i,t)
- res('ADFe_Ti') = Adjusted time dimension for ADF tests on e(i,t)
- res('nbfactors') = Estimated number of common factors
- res('khat') = Estimated Numbers of Factor with IC1, IC2, IC3, PC1, PC2, PC3, AIC3 and BIC3
- res('criteria') = Criteria used to estimate the number of common factors. Default value = 1 (IC1)
- res('IC') = IC1, IC2 and IC3 Information criteriums for r=1,...,kmax
- res('PC') = PC1, PC2 and PC3 Information criteriums for r=1,...,kmax
- res('BIC3') = BIC3 Information criterium for k=1,...,kmax (only BIC criteria function of N and T)
- res('AIC3') = AIC3 Information criterium (only AIC criteria function of N and T) : it tends to overestimate r
- res('kmax') = Maximum number of common factors authorized
When there is one common factor (r = 1):
*******************************
- res('BNG.ADF_F') = ADF statistic on common factor: ADFf
- res('BNG.ADF_F_pvalue') = Pvalue associated to ADFf
- res('ADF_F_pi') = Number of ADF terms in ADF tests on e(i,t)
- res('ADF_F_Ti') = Adjusted time dimension for ADF tests on e(i,t)
When there is more than one common factor (r > 1):
***************************************
- res('MQc') = MQc(m) Statistics with critical values at 1%, 5% and 10% for m=r,...,1
- res('MQf') = MQf(m) Statistics with critical values at 1%, 5% and 10% for m=r,...,1
- res('MQc_r1') = Number of Common Stochastic Trends at 1%, 5% and 10% (MQc Test)
- res('MQf_r1') = Number of Common Stochastic Trends at 1%, 5% and 10% (MQf Test)
- res('MQf_p') = Optimal lag order for the VAR(p) on dYc (MQf test)
If t_order = 1:
************
- res('PCe_Choi') = Pooled test standardized statistic (Choi 2001) on idyosyncratique components e: N(0,1) under H0
- res('PCe_Choi_critical') = Critical Values of the pooled test statistic (Choi, 2001) at 1%, 5% and 10%
- res('PCe_Choi_pvalue') = Pvalue Pooled test statistic (Choi 2001)
- res('PCe_MW') = Pooled test statistic (Maddala Wu 1999) on idyosyncratique components e : X(2N) under H0
- res('PCe_MW_critical') = Critical Values of the pooled test statistic (Maddala Wu 1999) at 1%, 5% and 10%
- res('PCe_MW_pvalue') = Pvalue Pooled test statistic (Maddala Wu 1999)
***********
- res('prests') = boolean indicating the presence or absence of a time series in the regression
- res('namey') = name of the y variable
- res('dropna') = boolean indicating if NAs have been dropped
- res('bounds') = if there is a timeseries in the regression, the bounds of the regression
- res('nonna') = vector indicating position of non-NAs
// load the database containing the GDP for 25 countries in the OECD over the period 1963-2003 load(GROCERDIR+'/data/gdpan_oecd.dat'); // retrieve the names of all variables in database listvar=dblist(GROCERDIR+'/data/gdpan_oecd.dat') res=BNG_ur('log('+listvar+')','pmax=4','kmax=5','t_order=0','criteria=BIC3') // Example (taken from BNG_ur_d()) provides the BNG_ur test provides the Moon and Perron test // for the log of gdp of 25 OECD countries, with individual constants but no trends ('t_order=0'), // the maximum # of factors allowed set to 5 ('kmax=5'), // the number of factors determined by the criteria 'BIC' proposed by Bai an Ng ('criteria=BIC3'), // the maximum number of lags to the ADF regressions set to 4 ('pmax=4'). | ![]() | ![]() |