# dy.d_: Partial Derivative dy/d_[wrt] In NNS: Nonlinear Nonparametric Statistics

## Description

Returns the numerical partial derivative of `y` with respect to [wrt] any regressor for a point of interest. Finite difference method is used with NNS.reg estimates as `f(x + h)` and `f(x - h)` values.

## Usage

 `1` ```dy.d_(x, y, wrt, eval.points = "obs", mixed = FALSE, messages = TRUE) ```

## Arguments

 `x` a numeric matrix or data frame. `y` a numeric vector with compatible dimensions to `x`. `wrt` integer; Selects the regressor to differentiate with respect to (vectorized). `eval.points` numeric or options: ("obs", "apd", "mean", "median", "last"); Regressor points to be evaluated. Numeric values must be in matrix or data.frame form to be evaluated for each regressor, otherwise, a vector of points will evaluate only at the `wrt` regressor. See examples for use cases. Set to `(eval.points = "obs")` (default) to find the average partial derivative at every observation of the variable with respect to for specific tuples of given observations. Set to `(eval.points = "apd")` to find the average partial derivative at every observation of the variable with respect to over the entire distribution of other regressors. Set to `(eval.points = "mean")` to find the partial derivative at the mean of value of every variable. Set to `(eval.points = "median")` to find the partial derivative at the median value of every variable. Set to `(eval.points = "last")` to find the partial derivative at the last observation of every value (relevant for time-series data). `mixed` logical; `FALSE` (default) If mixed derivative is to be evaluated, set `(mixed = TRUE)`. `messages` logical; `TRUE` (default) Prints status messages.

## Value

Returns column-wise matrix of wrt regressors:

• `dy.d_(...)[, wrt]\$First` the 1st derivative

• `dy.d_(...)[, wrt]\$Second` the 2nd derivative

• `dy.d_(...)[, wrt]\$Mixed` the mixed derivative (for two independent variables only).

## Author(s)

Fred Viole, OVVO Financial Systems

## References

Viole, F. and Nawrocki, D. (2013) "Nonlinear Nonparametric Statistics: Using Partial Moments" https://www.amazon.com/dp/1490523995/ref=cm_sw_su_dp

Vinod, H. and Viole, F. (2020) "Comparing Old and New Partial Derivative Estimates from Nonlinear Nonparametric Regressions" https://www.ssrn.com/abstract=3681104

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27``` ```## Not run: set.seed(123) ; x_1 <- runif(1000) ; x_2 <- runif(1000) ; y <- x_1 ^ 2 * x_2 ^ 2 B <- cbind(x_1, x_2) ## To find derivatives of y wrt 1st regressor for specific points of both regressors dy.d_(B, y, wrt = c(1, 2), eval.points = t(c(.5, .5))) ## To find average partial derivative of y wrt 1st regressor, only supply 1 value in [eval.points], or a vector of [eval.points]: dy.d_(B, y, wrt = 1, eval.points = .5) dy.d_(B, y, wrt = 1, eval.points = fivenum(B[,1])) ## To find average partial derivative of y wrt 1st regressor, for every observation of 1st regressor: apd <- dy.d_(B, y, wrt = 1, eval.points = "apd") plot(B[,1], apd[,1]\$First) ## 95% Confidence Interval to test if 0 is within ### Lower CI LPM.VaR(.025, 0, apd[,1]\$First) ### Upper CI UPM.VaR(.025, 0, apd[,1]\$First) ## End(Not run) ```

NNS documentation built on June 26, 2021, 1:07 a.m.