Title: | Spatial Lag Model Trees |
---|---|
Description: | Model-based linear model trees adjusting for spatial correlation using a simultaneous autoregressive spatial lag, Wagner and Zeileis (2019) <doi:10.1111/geer.12146>. |
Authors: | Martin Wagner [aut], Achim Zeileis [aut, cre] , Roger Bivand [ctb] |
Maintainer: | Achim Zeileis <[email protected]> |
License: | GPL-2 | GPL-3 |
Version: | 1.0-1 |
Built: | 2024-11-06 19:14:33 UTC |
Source: | https://github.com/r-forge/partykit |
Growth regression data for NUTS2 regions in the European Union.
data("GrowthNUTS2")
data("GrowthNUTS2")
A data frame containing 255 observations on 58 variables.
numeric. Average annual growth rate of real GDP per capita over the period 1995-2005.
numeric. Measure for potential accessability by air.
numeric. Measure for potential accessability by rail.
numeric. Measure for potential accessability by road.
numeric. Airport density (number of airports per sqkm).
factor. Number of airports.
numeric. Initial activity rate, highly educated.
numeric. Initial activity rate, low educated.
numeric. Initial activity rate, medium educated.
numeric. Initial activity rate, total.
factor. Does the region host country capital city?
numeric. Connectivity to comm. airports by car of the capital or centroid of region.
numeric. Connectivity to comm. seaports by car of the capital or centroid of region.
numeric. Distance to capital city of respective country.
numeric. Distance to Frankfurt.
numeric. Initial employment density.
numeric. Initial employment rate, highly educated.
numeric. Initial employment rate, low educated.
numeric. Initial employment rate, medium educated.
numeric. Initial employment rate, total.
numeric. Real GDP per capita in logs in 1995.
numeric. Growth rate of population.
numeric. Sum of all weighted hazard values.
numeric. Human resources in science and technology (core).
numeric. Proportion of firms with own website regression.
numeric. Initial output density.
numeric. Initial population density.
numeric. Rail density (length of railroad network in km per sqkm).
factor. Border region?
factor. Coastal region?
factor. Is the region within an Objective 1 region?
factor. Pentagon EU 27 region? (London, Paris, Munich, Milan, Hamburg.)
numeric. Road density (length of road network in km per sqkm).
factor. Does the region have a seaport?
factor. Settlement structure.
numeric. Initial share of NACE A and B (Agriculture) in GVA.
numeric. Initial share of NACE C to E (Mining, Manufacturing and Energy) in GVA.
numeric. Share of gross fixed capital formation in gross value added.
numeric. Initial share of NACE J to K (Business services) in GVA.
numeric. Share of highly educated in working age population.
numeric. Share of low educated in working age population.
numeric. Life long learning.
numeric. Share of medium educated in working age population.
factor. A typology of estimated levels of business telecommunications access and uptake.
numeric. Extreme temperatures.
numeric. Initial unemployment rate, highly educated.
numeric. Initial unemployment rate, low educated.
numeric. Initial unemployment rate, medium educated.
numeric. Initial unemployment rate, total.
factor. Country within which the region is located.
factor. Is the region within a Central and Eastearn European country?
factor. Is the region within a PIIGS country? (Portugal, Ireland, Italy, Greece, Spain.)
factor. Is the region within Germany?
factor. Is the region within Spain?
factor. Is the region within France?
factor. Is the region within Italy?
factor. Is the region within Poland?
factor. Is the region within the United Kingdom?
Schneider U, Wagner M (2012). Catching Growth Determinants with the Adaptive Lasso. German Economic Review, 13(1), 71-85. doi:10.1111/j.1468-0475.2011.00541.x
data("GrowthNUTS2") summary(GrowthNUTS2)
data("GrowthNUTS2") summary(GrowthNUTS2)
Model-based recursive partitioning based on linear regression adjusting for a (global) spatial simultaneous autoregressive lag.
lagsarlmtree(formula, data, listw = NULL, method = "eigen", zero.policy = NULL, interval = NULL, control = list(), rhowystart = NULL, abstol = 0.001, maxit = 100, dfsplit = TRUE, verbose = FALSE, plot = FALSE, ...)
lagsarlmtree(formula, data, listw = NULL, method = "eigen", zero.policy = NULL, interval = NULL, control = list(), rhowystart = NULL, abstol = 0.001, maxit = 100, dfsplit = TRUE, verbose = FALSE, plot = FALSE, ...)
formula |
formula specifying the response variable and regressors and partitioning variables, respectively. For details see below. |
data |
data.frame to be used for estimating the model tree. |
listw |
a weights object for the spatial lag part of the model. |
method |
"eigen" (default) - the Jacobian is computed as the product
of (1 - rho*eigenvalue) using |
zero.policy |
default NULL, use global option value; if TRUE assign zero to the lagged value of zones without
neighbours, if FALSE (default) assign NA - causing |
interval |
default is NULL, search interval for autoregressive parameter |
control |
list of extra control arguments - see |
rhowystart |
numeric. A vector of length |
abstol |
numeric. The convergence criterion used for estimation of the model.
When the difference in log-likelihoods of the model from two consecutive
iterations is smaller than |
maxit |
numeric. The maximum number of iterations to be performed in estimation of the model tree. |
dfsplit |
logical or numeric. |
verbose |
Should the log-likelihood value of the estimated model be printed for every iteration of the estimation? |
plot |
Should the tree be plotted at every iteration of the estimation? Note that selecting this option slows down execution of the function. |
... |
Additional arguments to be passed to |
Spatial lag trees learn a tree where each terminal node is associated with different regression coefficients while adjusting for a (global) spatial simultaneous autoregressive lag. This allows for detection of subgroup-specific coefficients with respect to selected covariates, while adjusting for spatial correlations in the data. The estimation algorithm iterates between (1) estimation of the tree given an offset of the spatial lag effect, and (2) estimation of the spatial lag model given the tree structure.
The code is still under development and might change in future versions.
The function returns a list with the following objects:
formula |
The formula as specified with the |
call |
the matched call. |
tree |
The final |
lagsarlm |
The final |
data |
The dataset specified with the |
nobs |
Number of observations. |
loglik |
The log-likelihood value of the last iteration. |
df |
Degrees of freedom. |
dfsplit |
degrees of freedom per selected split as specified with the |
iterations |
The number of iterations used to estimate the |
maxit |
The maximum number of iterations specified with the |
rhowystart |
Offset in estimation of the first tree as specified in the |
abstol |
The prespecified value for the change in log-likelihood to evaluate
convergence, as specified with the |
listw |
The |
mob.control |
A list containing control parameters passed to
|
Wagner M, Zeileis A (2019). Heterogeneity and Spatial Dependence of Regional Growth in the EU: A Recursive Partitioning Approach. German Economic Review, 20(1), 67–82. doi:10.1111/geer.12146 https://eeecon.uibk.ac.at/~zeileis/papers/Wagner+Zeileis-2019.pdf
## data and spatial weights data("GrowthNUTS2", package = "lagsarlmtree") data("WeightsNUTS2", package = "lagsarlmtree") ## spatial lag model tree system.time(tr <- lagsarlmtree(ggdpcap ~ gdpcap0 + shgfcf + shsh + shsm | gdpcap0 + accessrail + accessroad + capital + regboarder + regcoast + regobj1 + cee + piigs, data = GrowthNUTS2, listw = WeightsNUTS2$invw, minsize = 12, alpha = 0.05)) print(tr) plot(tr, tp_args = list(which = 1)) ## query coefficients coef(tr, model = "tree") coef(tr, model = "rho") coef(tr, model = "all") system.time({ ev <- eigenw(WeightsNUTS2$invw) tr1 <- lagsarlmtree(ggdpcap ~ gdpcap0 + shgfcf + shsh + shsm | gdpcap0 + accessrail + accessroad + capital + regboarder + regcoast + regobj1 + cee + piigs, data = GrowthNUTS2, listw = WeightsNUTS2$invw, method = "eigen", control = list(pre_eig = ev), minsize = 12, alpha = 0.05) }) coef(tr1, model = "rho")
## data and spatial weights data("GrowthNUTS2", package = "lagsarlmtree") data("WeightsNUTS2", package = "lagsarlmtree") ## spatial lag model tree system.time(tr <- lagsarlmtree(ggdpcap ~ gdpcap0 + shgfcf + shsh + shsm | gdpcap0 + accessrail + accessroad + capital + regboarder + regcoast + regobj1 + cee + piigs, data = GrowthNUTS2, listw = WeightsNUTS2$invw, minsize = 12, alpha = 0.05)) print(tr) plot(tr, tp_args = list(which = 1)) ## query coefficients coef(tr, model = "tree") coef(tr, model = "rho") coef(tr, model = "all") system.time({ ev <- eigenw(WeightsNUTS2$invw) tr1 <- lagsarlmtree(ggdpcap ~ gdpcap0 + shgfcf + shsh + shsm | gdpcap0 + accessrail + accessroad + capital + regboarder + regcoast + regobj1 + cee + piigs, data = GrowthNUTS2, listw = WeightsNUTS2$invw, method = "eigen", control = list(pre_eig = ev), minsize = 12, alpha = 0.05) }) coef(tr1, model = "rho")
Spatial weight matrices for NUTS2 regions in the European Union.
data("WeightsNUTS2")
data("WeightsNUTS2")
A list containing 40 listw weight matrices.
Journal of Applied Econometrics Data Archive.
http://qed.econ.queensu.ca/jae/2013-v28.4/cuaresma-feldkircher/
Crespo Cuaresma J, Feldkircher M (2013). Spatial Filtering, Model Uncertainty and the Speed of Income Convergence in Europe. Journal of Applied Econometrics, 28(4), 720-741. doi:10.1002/jae.2277