Skip to contents

For \(Y_{jt} = X_{jt}'\beta + U_j + \varepsilon_{jt}\), recovers \(f_U\) and \(f_\varepsilon\) nonparametrically via (5.21) through (5.26).

Usage

morie_panel_deconvolution(
  y,
  x,
  beta,
  nu_U = NULL,
  nu_eps = NULL,
  grid_u = NULL,
  grid_z = NULL,
  kernel = "fourfold"
)

Arguments

y

numeric matrix (n, T) of responses.

x

numeric array (n, T, d) or matrix (n*T, d).

beta

root-n consistent coefficients.

nu_U, nu_eps

smoothing bandwidths; sigma_eps / sqrt(log n) for f_U and 0.5 sigma_eps N^(-1/5) for f_eps when NULL, sigma_eps = sd(eta) / sqrt(2).

grid_u, grid_z

evaluation points.

kernel

"fourfold" (default; the book's characteristic function, assumption PHU7) or "flattop" (indicator of \([-1, 1]\): outside PHU7, higher-order bias, 2-3 times smaller errors in simulation). Each has its own default bandwidths.

Value

list: grid_u, f_U, grid_z, f_eps, psi_eps_from_root, symmetry_required, nu_U, nu_eps, fastest_possible_rate, asymptotics_in, n, T, d, method.

Details

The levels residual estimates \(U + \varepsilon\), so \(\psi_W = \psi_U\psi_\varepsilon\); the within-individual difference removes \(U_j\) completely and estimates a difference of two independent copies of \(\varepsilon\), so \(\psi_\eta = |\psi_\varepsilon|^2\). Hence \(\psi_\varepsilon = \psi_\eta^{1/2}\).

The square root is what the symmetry assumption is for. \(\psi_\eta\) determines \(\psi_\varepsilon\) only up to sign; symmetry about zero makes it real and non-vanishing makes it positive, which picks the root. This is a HARDER problem than Sec. 5.1, where the contaminating distribution was known, and the rates are just as slow – for normal \(\varepsilon\) the fastest possible is \((\log n)^{-1}\). Asymptotics are in n with T FIXED. Mirrors morie.fn.hrzpanel.

References

Horowitz, Sec. 5.2.1-5.2.2, eqs. (5.21)-(5.26), Theorem 5.4; Horowitz and Markatou (1996).

Examples

set.seed(1)
n <- 60
tt <- 3
x <- array(rnorm(n * tt * 2), dim = c(n, tt, 2))
y <- matrix(rnorm(n * tt), n, tt)
morie_panel_deconvolution(y, x, c(1, -0.5))$symmetry_required
#> [1] TRUE