1 votos

Estimación del error de los parámetros de la regresión múltiple con restricciones lineales

Estoy trabajando en un problema de regresión lineal múltiple en el que me gustaría restringir sólo algunos de los parámetros a valores no negativos. Ha habido discusiones sobre cómo resolver los parámetros publicados en SE aquí y en otro sitio . Ambas soluciones utilizaron optim() o constrOptim() para minimizar la suma de cuadrados residual, lo que me funcionó muy bien y da los mismos valores que lm() para la versión no restringida del problema.

Pero ahora me gustaría dar un paso más y estimar los errores estándar de esos parámetros, de forma similar a lo que obtendría si utilizara lm(). Sin embargo, no hay nada en el objeto optim() que sugiera una ruta para estimar los errores, y tampoco he encontrado nada en la configuración de control que sugiera una ruta. Así que estoy un poco perdido en cuanto a cómo proceder. Mi corazonada es que este enfoque - un problema de optimización que asume que los valores de los datos son fijos y las soluciones de los parámetros representan un mínimo global - no permite el error. ¿Hay alguna validez en esto, o es que se me escapa algo básico?

Este es un pequeño ejemplo reproducible, adaptado del ejemplo proporcionado en el primer enlace para trabajar con la función optim(), en lugar de constrOptim().

    min.RSS <- function(data, par){
      with(data, sum((par[1]*x1 + par[2]*x2 - y)^2))
    }
    dat = data.frame(x1=c(1,2), x2=c(2,3), y=c(5,6))
    result = optim(par=c(0,1), min.RSS, data=dat, method="L-BFGS-B", lower=c(-Inf,0), upper=c(0,Inf))
    result$convergence
result$par

Gracias por cualquier orientación que pueda proporcionar.

1voto

EdM Puntos 5716

Asumo que tienes muy buenas razones para restringir los coeficientes y que has pensado mucho en los posibles problemas de hacerlo. Tenga en cuenta que un modelo lineal es casi siempre una aproximación a la realidad, y como resultado los coeficientes que "deberían ser no negativos" pueden acabar siendo negativos en un modelo lineal basado en datos con predictores correlacionados. Forzar que los coeficientes no sean negativos supone un grave riesgo de generar un modelo subóptimo.

Una forma de abordar el problema sería repetir el análisis en múltiples muestras bootstrap del conjunto de datos y utilizar las distribuciones de los coeficientes para obtener las estimaciones deseadas. El sitio web boot en R es una herramienta para este enfoque, aunque puede costar un poco de esfuerzo escribir la función necesaria correctamente.

Si observa detenidamente los resultados de sus análisis bootstrap, es casi seguro que encontrará que los valores medios, sobre esas muestras bootstrap, de los coeficientes que restringió serán diferentes de sus valores en su análisis original. Esto se debe a que restringir la no negatividad de un coeficiente que podría ser negativo probablemente introducirá un sesgo en el sentido técnico estadístico. Tendrá que considerar cómo va a tratar esa eventualidad, basándose en su comprensión del tema.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X