43 lines
1.4 KiB
R
43 lines
1.4 KiB
R
% Generated by roxygen2: do not edit by hand
|
|
% Please edit documentation in R/RcppExports.R
|
|
\name{gradient}
|
|
\alias{gradient}
|
|
\alias{optStiefel_simple}
|
|
\alias{optStiefel_linesearch}
|
|
\title{Gradient computation of the loss `L_n(V)`.}
|
|
\arguments{
|
|
\item{X}{data points}
|
|
|
|
\item{Y}{response}
|
|
|
|
\item{k}{assumed \eqn{rank(B)}}
|
|
|
|
\item{nObs}{parameter for bandwidth estimation, typical value
|
|
\code{nObs = nrow(X)^lambda} with \code{lambda} in the range [0.3, 0.8].}
|
|
|
|
\item{tau}{Initial step size}
|
|
|
|
\item{tol}{Tolerance for update error used for stopping criterion
|
|
\eqn{|| V(j) V(j)' - V(j+1) V(j+1)' ||_2 < tol}{%
|
|
\| V_j V_j' - V_{j+1} V_{j+1}' \|_2 < tol}.}
|
|
|
|
\item{maxIter}{Upper bound of optimization iterations}
|
|
}
|
|
\value{
|
|
List containing the bandwidth \code{h}, optimization objective \code{V}
|
|
and the matrix \code{B} estimated for the model as a orthogonal basis of the
|
|
orthogonal space spaned by \code{V}.
|
|
}
|
|
\description{
|
|
The loss is defined as
|
|
\deqn{L_n(V) := \frac{1}{n}\sum_{j=1}^n y_2(V, X_j) - y_1(V, X_j)^2}{L_n(V) := 1/n sum_j( (y_2(V, X_j) - y_1(V, X_j)^2 )}
|
|
with
|
|
\deqn{y_l(s_0) := \sum_{i=1}^n w_i(V, s_0)Y_i^l}{y_l(s_0) := sum_i(w_i(V, s_0) Y_i^l)}
|
|
|
|
Stiefel Optimization for \code{V} given a dataset \code{X} and responces
|
|
\code{Y} for the model \deqn{Y\sim g(B'X) + \epsilon}{Y ~ g(B'X) + epsilon}
|
|
to compute the matrix `B` such that \eqn{span{B} = span(V)^{\bot}}{%
|
|
span(B) = orth(span(B))}.
|
|
}
|
|
\keyword{internal}
|