NNS (v0.5.5)now on CRAN has an updated partial derivative routine
dy.d_(). This function estimates true average partial derivatives, as well as ceteris paribus conditions for points of interest.
Example below on the syntax for estimating first derivatives of the function
y = x_1^2 * x_2^2, for the points
x_1 = 0.5and
x_2 = 0.5, and for both regressors
x_1 = runif(1000)
x_2 = runif(1000)
y = x_1 ^ 2 * x_2 ^ 2
dy.d_(cbind(x_1, x_2), y, wrt = 1:2, eval.points = t(c(.5,.5)))["First",]
The analytical solution for both regressors at
x_1 = x_2 = 0.5is 0.25.
The referenced paper gives many more examples, comparing
dy.d_()to kernel regression gradients and OLS coefficients.
For even more
NNScapabilities, check out the examples at GitHub:
Vinod, Hrishikesh D. and Viole, Fred, Comparing Old and New Partial Derivative Estimates from Nonlinear Nonparametric Regressions