15 votos

Cómo arreglar un coeficiente de ajuste y otros utilizando la regresión

Me gustaría corregir manualmente un coeficiente determinado, decir $\beta_1=1.0$, entonces el ajuste de los coeficientes para el resto de los predictores, manteniendo $\beta_1=1.0$ en el modelo.

¿Cómo puedo lograr esto mediante R? Me gustaría en especial al trabajar con la herramienta LAZO (glmnet) si es posible.

Alternativamente, ¿cómo puedo restringir el uso de este coeficiente para un rango específico, decir $0.5\le\beta_1\le1.0$?

11voto

Zizzencs Puntos 1358

Bueno, vamos a pensar. Usted tiene:

$Y = b_0 + b_1x_1 + b_2x_2 + e$

(keep it simple) Desea forzar $b_1 = 1$ así pues, usted desea

$Y = b_0 + x_1 + b_2x_2 + e$

por lo que sólo podría restar $x_1$ de cada lado dejando:

$Ynew = Y-x_1 = b_0 + b_2x_2 + e$

que luego se puede estimar el $b_2$.

6voto

Stat Puntos 4224

Usted necesidad de utilizar el offset argumento como este:

library(glmnet)
x=matrix(rnorm(100*20),100,20)
x1=matrix(rnorm(100),100,1)
y=rnorm(100)
fit1=glmnet(x,y,offset=x1)
fit1$offset
print(fit1)

Acerca de la gama ... no creo que ha sido implementado en glmnet. Si usan algún método numérico, puede que desee profundizar en el código R y tratar de restringir por acá, pero usted necesitará un buen conocimiento de programación.

3voto

BeauGeste Puntos 145

Con respecto a la restricción de coeficientes de estar dentro de un rango, un enfoque Bayesiano para la estimación es uno de los medios para lograr esto.

En particular, uno podría depender de una Cadena de Markov de Monte Carlo. En primer lugar, considere la posibilidad de un algoritmo de muestreo de Gibbs, que es la manera de encajar la MCMC en un marco Bayesiano ausente de la restricción. En el muestreo de Gibbs, en cada paso del algoritmo se muestra a partir de la distribución posterior de cada parámetro o grupo de parámetros) condicional en los datos y todos los demás parámetros. Wikipedia ofrece un buen resumen de la aproximación.

Una manera de limitar el rango es la aplicación de un Metropolis-Hastings paso. La idea básica es simplemente tire a la basura cualquier simulado de la variable que está fuera de sus límites. Entonces, usted puede mantener re-muestreo hasta que se encuentra dentro de sus límites antes de pasar a la siguiente iteración. La desventaja de esto es que usted puede conseguir pegado simulando un montón de veces, lo que ralentiza la MCMC. Un enfoque alternativo, desarrollado originalmente por John Geweke en un par de papeles y se extiende en un papel por Rodríguez-Yam, Davis, Sharpe es simular a partir de una limitada distribución normal multivariante. Este enfoque puede manejar lineal y no-lineal de la desigualdad de las restricciones sobre los parámetros y los he tenido un poco de éxito con él.

2voto

Nick Stauner Puntos 8220

Yo no estoy familiarizado con LAZO o glmnet, pero lavaan (corto para "variable latente de análisis") facilita modelos de regresión múltiple, tanto con restricciones de igualdad y de una sola delimitada la desigualdad limitaciones (véase la tabla en la página 7 de este PDF, "lavaan: Un paquete de R para el modelado de ecuaciones estructurales"). No sé si usted podría tener tanto los límites superior e inferior en el coeficiente, pero tal vez podría agregar cada enlazado con líneas separadas, e.g:

Coefficient>.49999999
Coefficient<1.0000001

Por supuesto, si usted es la estandarización de todo antes de ajustar el modelo, usted no tiene que preocuparse acerca de la imposición de un límite superior de 1 en los coeficientes de regresión de todos modos. Yo diría que es mejor omitir en este caso, sólo en caso de que algo va mal! (lavaan está todavía en beta, después de todo...he visto algunos ligeramente a pescado resultados en mi propio uso limitado hasta ahora.)

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