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.5 and x_2 = 0.5, and for both regressors x_1 and x_2.set.seed(123)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",]
[[1]]
[1] 0.2454744
[[2]]
[1] 0.2439307The analytical solution for both regressors at
x_1 = x_2 = 0.5 is 0.25.The referenced paper gives many more examples, comparing
dy.d_() to kernel regression gradients and OLS coefficients.For even more
NNS capabilities, check out the examples at GitHub:https://github.com/OVVO-Financial/NNS/blob/NNS-Beta-Version/examples/index.md
Reference Paper:
Vinod, Hrishikesh D. and Viole, Fred, Comparing Old and New Partial Derivative Estimates from Nonlinear Nonparametric Regressions
https://ssrn.com/abstract=3681104
Supplemental Materials:
https://ssrn.com/abstract=3681436