This builds on the function mag_ctrl
, where the input matrix mtx
has p columns. The first column is present in each of the (p-1) pairs. Its
output is a matrix with four columns containing the names of variables
and approximate overall estimates of the magnitudes of
partial derivatives (dy/dx) and (dx/dy) for a distinct (x,y) pair in a row.
The estimated overall derivatives are not always well-defined, because
the real partial derivatives of nonlinear functions
are generally distinct for each observation point.
someMagPairs(mtx, ctrl, dig = 6, verbo = TRUE)
Table containing names of Xi and Xj and two magnitudes: (dXidXj, dXjdXi). dXidXj is the magnitude of the effect on Xi when Xi is regressed on Xj (i.e., when Xj is the cause). The analogous dXjdXi is the magnitude when Xj is regressed on Xi.
The data matrix with many columns where the first column is fixed and then paired with all other columns, one by one.
data matrix for designated control variable(s) outside causal paths. A constant vector is not allowed as a control variable.
Number of digits for reporting (default dig
=6).
Make verbo= TRUE
for printing detailed steps.
Prof. H. D. Vinod, Economics Dept., Fordham University, NY
The function mag_ctrl
has kernel regressions: x~ y + ctrl
and x~ ctrl
to evaluate the`incremental change' in R-squares.
Let (rxy;ctrl) denote the square root of that `incremental change' after its sign is made the
same as that of the Pearson correlation coefficient from
cor(x,y)
). One can interpret (rxy;ctrl) as
a generalized partial correlation coefficient when x is regressed on y after removing
the effect of control variable(s) in ctrl
. It is more general than the usual partial
correlation coefficient, since this one
allows for nonlinear relations among variables.
Next, the function computes `dxdy' obtained by multiplying (rxy;ctrl) by the ratio of
standard deviations, sd(x)/sd(y)
. Now our `dxdy' approximates the magnitude of the
partial derivative (dx/dy) in a causal model where y is the cause and x is the effect.
The function also reports entirely analogous `dydx' obtained by interchanging x and y.
someMegPairs
function runs the function mag_ctrl
on several column
pairs in a matrix input mtx
where the first column is held fixed and all others
are changed one by one, reporting two partial derivatives for each row.
Vinod, H. D. `Generalized Correlation and Kernel Causality with Applications in Development Economics' in Communications in Statistics -Simulation and Computation, 2015, tools:::Rd_expr_doi("10.1080/03610918.2015.1122048")
Vinod, H. D. 'Matrix Algebra Topics in Statistics and Economics Using R', Chapter 4 in Handbook of Statistics: Computational Statistics with R, Vol.32, co-editors: M. B. Rao and C. R. Rao. New York: North Holland, Elsevier Science Publishers, 2014, pp. 143-176.
See mag_ctrl
, someCPairs
set.seed(34);x=sample(1:10);y=1+2*x+rnorm(10);z=sample(2:11)
w=runif(10)
ss=someMagPairs(cbind(y,x,z),ctrl=w)
Run the code above in your browser using DataLab