ncd_gen: Cross-sectional dependence in models

Description Usage Arguments Value Examples

View source: R/Functions_Cross_Dep.R

Description

This routine computes all models considered for cross-sectional dependence using endogenously generated weight matrices. Currently "lmcd" for linear regression, "logitcd" (logit model), "poiscd" (poisson model), "probitcd" (probit model), "nbcd" (negative binomial) are supported. Note: the data should first be sorted by unit ID Pid, then by time ID Tid

Usage

1
2
3
ncd_gen(pars, Y, X, Xm = NULL, Xi = X, Tid, Pid, fun, k = 1, nt,
  utid, modclass = "lmcd", rval = "crit", eta = 0.5,
  dWzero = FALSE)

Arguments

pars

vector of parameter values at which to evaluate the function

Y

outcome variable

X

matrix of covariates that generate spillovers

Xm

matrix of other control variables

Xi

matrix of variable(s) that drive cross-sectional dependence

Tid

time ID

Pid

unit ID

fun

a function that parameterises cross-sectional dependence. it can be user-written. It must take exactly three inputs: xi,xj, and k. see polyexp, polyexp_mul, inter_xij for example.

k

order of polynomial approximation for fun(); this can be set as a dummy for non-polynomial forms of fun

nt

number of terms in approximation; should be of length equal to output of fun()

utid

unique time IDs to be used in the estimation; should leave at least 1 period for lagged Xi

modclass

the class of model. See description above for classes supported.

rval

character string naming the output to return; "crit" - value of criterion, "critobs" - observation-specific criterion values, squared residuals for "lmcd", negative log-likelihoods for MLE methods, etc., "X" vector X*W where W collects weight matrices through time, or "PE" to return the linear combination lc and NxN weight matrices in a list of length utid. Use this last option for computing (private and spillover) partial effects

eta

extra parameter to be passed, eg. θ for negative binomial,τ for quantile regression.

dWzero

logical. Should the diagonal elements of the weight matrix be set to zero? Defaults to FALSE. Choose option TRUE if own drivers Xi should affect the outcome

Value

criterion value or vector of observation-specific criterion values if crit_obs=TRUE

Examples

1
2
3
4
5
6
7
pars=c(1.0,0.5,0.8); N = 5; Tp = 6; fnp<- function(x,y,k){-(0.5*y^4+(x-y)^4)^.25} #dummy k
datpois=gdat_cd(pars=pars,N=N,Tp=Tp,seed=2,fun=fnp,eta = 200,modclass="poiscd") #poisson data 
k=1; lp=k*(k+1)/2; startp = rep(0.2,(lp+2))
RpacSPD::ncd_gen(pars=startp,Y=datpois$Y,X=datpois$X,Xm=NULL,Xi=datpois$X,Tid=datpois$tpID,
Pid=datpois$psID,fun=fnp,k=k,nt=lp,utid=c(2:Tp),modclass="poiscd") #return function value
RpacSPD::ncd_gen(pars=startp,Y=datpois$Y,X=datpois$X,Xm=NULL,Xi=datpois$X,Tid=datpois$tpID,
Pid=datpois$psID,fun=fnp,k=k,nt=lp,utid=c(2:Tp),modclass="poiscd",rval="Xw") #return Xw

estsyawo/RpacSPD documentation built on Aug. 12, 2019, 5:22 a.m.