findClubs {ConvergenceClubs} | R Documentation |
Finds convergence clubs
Description
Find convergence clubs by means of Phillips and Sul clustering procedure.
Usage
findClubs(
X,
dataCols,
unit_names = NULL,
refCol,
time_trim = 1/3,
HACmethod = c("FQSB", "AQSB"),
cstar = 0,
cstar_method = c("fixed", "incremental"),
cstar_increment = 0.1,
cstar_cap = 3
)
Arguments
X |
dataframe containing data (preferably filtered data in order to remove business cycles). Data must not contain any NA or NaN values, otherwise the clustering procedure will be stopped with an error. In order for the clustering procedure to work, data must be arranged such that each row represents a unit and each column represents a time period (year, month, ...) |
dataCols |
integer vector with the column indices of the data |
unit_names |
integer scalar indicating, if present, the index of a column with codes of the units |
refCol |
integer scalar indicating the index of the column to use for ordering data |
time_trim |
a numeric value between 0 and 1, representing the portion of time periods to trim when running log-t regression model. Phillips and Sul (2007, 2009) suggest to discard the first third of the period. |
HACmethod |
string indicating whether a Fixed Quadratic Spectral Bandwidth ( |
cstar |
numeric scalar, indicating the threshold value of the sieve criterion ( |
cstar_method |
a string specifying whether cstar should be mantained fixed
( |
cstar_increment |
a positive value specifying the increment to cstar,
only valid if |
cstar_cap |
scalar indicating the maximum value up to which |
Details
In order to investigate the presence of convergence clubs according to the Phillips and Sul clustering procedure, the following steps are implemented:
(Cross section last observation ordering): Sort units in descending order according to the last panel observation of the period;
(Core group formation): Run the log-t regression for the first k units
(2 < k < N)
maximizing k under the condition that t-value is> -1.65
. In other words, chose the core group size k* as follows:k^*= argmax_k \{t_k\}
subject to
min\{t_k \} > -1.65
If the condition
t_k >-1.65
does not hold fork = 2
(the first two units), drop the first unit and repeat the same procedure. Ift_k >-1.65
does not hold for any units chosen, the whole panel diverges;(Sieve the data for club membership): After the core group is detected, run the log-t regression for the core group adding (one by one) each unit that does not belong to the latter. If
t_k
is greater than a critical valuec^*
add the new unit in the convergence club. All these units (those included in the core groupk^*
plus those added) form the first convergence club. Note that Phillips and Sul (2007) suggest to make suret_k>-1.65
for the subconvergence group obtained. Otherwise, repeat the procedure by increasing the value of thec^*
parameter until the conditiont_k>-1.65
is satisfied for the subconvergence group;(Recursion and stopping rule): If there are units for which the previous condition fails (
t_k <c^*
), gather all these units in one group and run the log-t test to see if the conditiont_k >-1.65
holds. If the condition is satisfied, conclude that there are two convergence clubs. Otherwise, step 1 to 3 should be repeated on the same group to determine whether there are other subgroups that constitute convergence clubs. If no k in step 2 satisfies the conditiont_k >-1.65
, the remaining units diverge.
Note that the clustering procedure may return groups with t_k <-1.65
,
which are not really convergence clubs. In this case, following step 3 of
the clustering procedure there are two options:
(i) allow an iterative increase
of the cstar parameter until the subconvergence club satisfies the condition
t_k >-1.65
. In this case it should the argument cstar_method
should be set to "incremental"
and a positive argument for the cstar_increment
argument should be chosen;
(ii) increase the value of the cstar
in order to increase the discriminatory
power of the log-t test in the formation of each club.
Information about clubs, divergent units and the c^*
used for each club can be
easily displayed by means of the summary()
function, for which the package provides
a specific method for the convergence.clubs
class.
Value
Ad object of class convergence.clubs
, containing a list of
Convergence Clubs, for each club a list is return with the
following objects: id
, a vector containing the row indices
of the units in the club; model
, a list containing information
about the model used to run the t-test on the units in the club;
unit_names
, a vector containing the names of the units of the club (optional,
only included if parameter unit_names
is given)
References
Andrews, D. W., 1991. Heteroskedasticity and autocorrelation consistent covariance matrix estimation. Econometrica: Journal of the Econometric Society, 817-858.
Phillips, P. C.; Sul, D., 2007. Transition modeling and econometric convergence tests. Econometrica 75 (6), 1771-1855.
Phillips, P. C.; Sul, D., 2009. Economic transition and growth. Journal of Applied Econometrics 24 (7), 1153-1185.
See Also
mergeClubs
, Merges a list of clubs created by findClubs
;
mergeDivergent
, Merges divergent units according to the algorithm proposed by von Lyncker and Thoennessen (2017)
Examples
data("filteredGDP")
# Cluster Countries using GDP from year 1970 to year 2003
clubs <- findClubs(filteredGDP, dataCols=2:35, unit_names = 1, refCol=35,
time_trim = 1/3, HACmethod = "FQSB",
cstar = 0,
cstar_method = 'incremental',
cstar_increment = 0.1)
## Not run:
# Cluster Countries using GDP from year 1970 to year 2003
clubs <- findClubs(filteredGDP, dataCols=2:35, unit_names = 1, refCol=35,
time_trim = 1/3, HACmethod = "AQSB", cstar = 0)
## End(Not run)