¿Cómo obtener la matriz de covarianza para el ajuste de regresión restringida?

8

¿Hay una manera fácil de obtener la covarianza de los parámetros a partir de un ajuste de regresión restringido?

Estoy usando la función PCLS en el paquete MGCV en R para ajustar la regresión restringida, sin embargo, estoy abierto a otros enfoques. La restricción que estoy imponiendo es que los coeficientes deben ser positivos.

Cañada
fuente
¿Qué tan grande es su muestra?
jbowman
1
¿No le preocupa que una matriz de covarianza sea poco probable que sea una descripción útil de la incertidumbre de los parámetros para cualquier estimación en o cerca de las restricciones?
whuber
La muestra es de alrededor de 500. @whuber Sí, eso es una preocupación. Y como sé que algunas estimaciones estarán cerca de las restricciones, puede que ni siquiera tenga sentido pensar en una matriz de covarianza. Sin embargo, dado que la función PCLS realiza algún tipo de procedimiento de optimización, pensaría que podría obtener la matriz de Hesse, que proporcionaría cierta información.
Glen
@whuber Bajo restricciones de no negatividad, calcularía esta matriz de covarianza en los coeficientes estimados de arranque que no son solo cero ... Es decir, uso betahat = bootout $ t; betahat [betahat == 0] = NA # ignora los ceros ya que están en el límite de restricción; vcov = cov (betahat, use = "pairwise.complete.obs"); SEs = sqrt (diag (vcov)): esta será una mejor descripción de los parámetros estimados bajo restricciones de no negatividad. Si simularía a partir de esta matriz vcov, solo tiene que establecer valores negativos en cero.
Tom Wenseleers
@ Tom Gracias. Mi preocupación fue motivada por el pensamiento de que la matriz de covarianza puede ser una descripción pobre de la distribución de muestreo, debido a la restricción de límites. Quizás, entonces, un mejor uso de un bootstrap u otro procedimiento de remuestreo no sería estimar la matriz de covarianza sino estudiar la distribución de las estimaciones de parámetros directamente.
whuber

Respuestas:

5

Al principio iría con bootstrap muy simple.

Básicamente algo de la siguiente manera:

  1. Cree un nuevo conjunto de datos remuestreando pares de (x,y).
  2. Ejecute su regresión en este nuevo conjunto de datos y obtendrá algunos parámetros β^.
  3. Repita 1 y 2 tantas veces como sea posible. Ahora tendrás un gran conjunto deβ^
  4. Ahora solo tome la muestra de covarianza de su β^.
  5. Hecho
CarrKnight
fuente
Esto es lo que estaba pensando. Sin embargo, ¿puedes elaborar un poco del paso 1? ¿Re-muestra con reemplazo? O...?
Macro
Si. El bootstrap de vainilla está tomando muestras con reemplazo. así, por ejemplo, si sus datos son(x,y)={(1,1);(1,2);(1,3)} un nuevo conjunto de datos sería (1,3);(1,3);(1,1). Por supuesto, este no es el único tipo de remuestreo posible. Otra es reutilizar todos losX e impactante todo Ypor un ruido Pero el remuestreo de parejas es el más simple y más agnóstico
CarrKnight
Leí mucho sobre bootstrap pero nunca escuché el término bootstrap de vainilla. Tal vez sea equivalente a lo que se llama el bootstrap ordinario o ingenuo. En cuanto a los pares de bootstrap vs residuales de bootstrapping, los pares de bootstrapping son más simples, pero ¿qué quieres decir con agnóstico (no depende mucho del modelo)?
Michael R. Chernick
3
@MichaelChernick: Vanilla es un término coloquial para la versión "normal", "habitual" o "simple" de algo.
cardenal
1
@MichaelChernick: No estoy seguro de qué tan coloquialismo regional podría ser el uso de la vainilla . (Supuse que probablemente lo habrías escuchado). De todos modos, lo que quise decir (pero no dije muy claramente) es que estoy casi seguro de que CarrKnight no estaba usando el término de alguna manera específica . :)
cardenal