Description Usage Arguments Details Value Author(s) Source Examples

This function provides an estimate of the non-parametric function and the index vector by minimizing an objective function specified by the method argument.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ```
sim.est(x, y, w = NULL, beta.init = NULL, nmulti = NULL, L = NULL,
lambda = NULL, maxit = 100, bin.tol = 1e-05, beta.tol = 1e-05,
method = c("cvx.pen","cvx.lip","cvx.lse","smooth.pen"),
progress = TRUE, force = FALSE)
## Default S3 method:
sim.est(x, y, w = NULL, beta.init = NULL, nmulti = NULL, L = NULL,
lambda = NULL, maxit = 100, bin.tol = 1e-05, beta.tol = 1e-05,
method = c("cvx.pen","cvx.lip","cvx.lse","smooth.pen"),
progress = TRUE, force = FALSE)
## S3 method for class 'sim.est'
plot(x,...)
## S3 method for class 'sim.est'
print(x,...)
## S3 method for class 'sim.est'
predict(object, newdata = NULL, deriv = 0, ...)
``` |

`x` |
a numeric matrix giving the values of the predictor variables or covariates. For functions plot and print, ‘x’ is an object of class ‘sim.est’. |

`y` |
a numeric vector giving the values of the response variable. |

`method` |
a string indicating which method to use for regression. |

`lambda` |
a numeric value giving the penalty value for |

`L` |
a numeric value giving the Lipschitz bound for |

`w` |
an optional numeric vector of the same length as |

`beta.init` |
An numeric vector giving the initial value for the index vector. |

`nmulti` |
An integer giving the number of multiple starts to be used for iterative algorithm. If beta.init is provided then the nmulti is set to 1. |

`bin.tol` |
A tolerance level upto which the x values used in regression are recognized as distinct values. |

`beta.tol` |
A tolerance level for stopping iterative algorithm for the index vector. |

`maxit` |
An integer specifying the maximum number of iterations for each initial |

`progress` |
A logical denoting if progress of the algorithm is to be printed. Defaults to TRUE. |

`force` |
A logical indicating the use of |

`object` |
An object of class ‘sim.est’. |

`...` |
Any additional arguments to be passed. |

`newdata` |
a matrix of new data points in the predict function. |

`deriv` |
a numeric either 0 or 1 representing which derivative to evaluate. |

The function minimizes

*∑_{i=1}^n w_i(y_i - f(x_i^{\top}β))^2 + λ\int\{f''(x)\}^2dx*

with constraints on *f* dictated by method = ‘cvx.pen’ or ‘smooth.pen’. For method = ‘cvx.lip’ or ‘cvx.lse’, the function minimizes

*∑_{i=1}^n w_i(y_i - f(x_i^{\top}β))^2*

with constraints on *f* disctated by method = ‘cvx.lip’ or ‘cvx.lse’. The penalty parameter *λ* is not choosen by any criteria. It has to be specified for using method *=* ‘cvx.pen’, ‘cvx.lip’ or ‘smooth.pen’ and *λ* denotes the Lipschitz constant for using the method *=* ‘cvx.lip.reg’. `plot`

function provides the scatterplot along with fitted curve; it also includes some diagnostic plots for residuals and progression of the algorithm. Predict function now allows calculation of the first derivative. In applications, it might be advantageous to scale of the covariate matrix `x`

before passing into the function which brings more stability to the algorithm.

An object of class ‘sim.est’, basically a list including the elements

`beta` |
A numeric vector storing the estimate of the index vector. |

`nmulti` |
Number of multistarts used. |

`x.mat` |
the input ‘x’ matrix with possibly aggregated rows. |

`BetaInit` |
a matrix storing the initial vectors taken or given for the index parameter. |

`lambda` |
Given input |

`L` |
Given input |

`K` |
an integer storing the row index of |

`BetaPath` |
a list containing the paths taken by each initial index vector for nmulti times. |

`ObjValPath` |
a matrix with nmulti rows storing the path of objective function value for multiple starts. |

`convergence` |
a numeric storing convergence status for the index parameter. |

`itervec` |
a vector of length nmulti storing the number of iterations taken by each of the multiple starts. |

`iter` |
a numeric giving the total number of iterations taken. |

`method` |
method given as input. |

`regress` |
An output of the regression function used needed for predict. |

`x.values` |
sorted ‘x.betahat’ values obtained by the algorithm. |

`y.values` |
corresponding ‘y’ values in input. |

`fit.values` |
corresponding fit values of same length as that of |

`deriv` |
corresponding values of the derivative of same length as that of |

`residuals` |
residuals obtained from the fit. |

`minvalue` |
minimum value of the objective function attained. |

Arun Kumar Kuchibhotla, [email protected]

Kuchibhotla, A. K., Patra, R. K. and Sen, B. (2015+). On Single Index Models with Convex Link.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | ```
args(sim.est)
x <- matrix(runif(50*3,-1,1),ncol = 3)
b0 <- rep_len(1,3)/sqrt(3)
y <- (x%*%b0)^2 + rnorm(50,0,0.3)
tmp1 <- sim.est(x, y, lambda = 0.01, method = "cvx.pen", nmulti = 5)
tmp3 <- sim.est(x, y, lambda = 0.01, method = "smooth.pen", nmulti = 5)
print(tmp1)
print(tmp3)
plot(tmp1)
plot(tmp3)
predict(tmp1, newdata = c(0,0,0))
predict(tmp3, newdata = c(0,0,0))
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.