Skip to contents

\(\tilde b_n = \tilde b_n^{*} - [\partial^2 S_n/\partial \tilde b\partial\tilde b']^{-1}\partial S_n/\partial\tilde b\) (2.52), where \(S_n\) is the weighted-NLS objective with \(W = 1/s_n^2\) and \(\tilde b_n^{*}\) is ANY root-n consistent estimator. The result attains \(\Omega_{SI}\).

Usage

morie_one_step_efficient(
  x,
  y,
  bandwidth = NULL,
  initial_estimator = NULL,
  n_steps = 1L
)

Arguments

x

numeric matrix of covariates.

y

numeric response.

bandwidth

bandwidth; Silverman's rule when NULL.

initial_estimator

the root-n consistent start.

n_steps

Newton steps; the theory needs one.

Value

list: beta, beta_initial, step, omega, se, attains_omega_SI, theory_requires_steps, n_steps, bandwidth, n, d, method.

Details

The word doing the work is one. This is not an iterative optimiser stopped early: (2.53)-(2.55) show the single step already removes the leading term, so iterating to convergence buys nothing asymptotically. That matters practically, because the direct estimators of Sec. 2.6.1-2.6.3 are fast while minimising \(S_n\) is slow and possibly multimodal – a cheap direct start plus one step beats a full optimisation. Mirrors morie.fn.hrzasym.

References

Horowitz, Sec. 2.6.4, eqs. (2.52)-(2.55).

Examples

set.seed(1)
x <- cbind(rnorm(100), rnorm(100))
y <- tanh(x %*% c(1, -0.6)) + rnorm(100) * 0.3
morie_one_step_efficient(x, y, initial_estimator = c(1, -0.2))$n_steps
#> [1] 1