8 votos

Errores en el montaje de un modelo de regresión de cuantiles censurados

Tengo un resultado con el derecho a censurar como este:

y<-c(rep(2.83,3),
     rep(3.17,4),
     rep(3.83,4),
     rep(4.17,5),
     rep(4.83,8),
     rep(5.5,3),
     rep(7.17,5),
     rep(8.17,7),
     rep(8.83,12),
     rep(9.5, 12),
     rep(9.83,17),
     rep(10.17,30),
     rep(10.50,100)) 

donde y=10.5 son derecho de censurar los valores. A continuación, me gustaría intentar usar quantreg::crq para adaptarse a una censurado cuantil modelo de regresión de y empezar con un binario de la intervención de la variable:

set.seed(123)
require(quantreg)
yc<-rep(10.5, length(y))
treat<-rbinom(length(y), 1, 0.5)
age<-as.integer(rnorm(length(y), 50, 2))

model1

fit1<-crq(Curv(y, yc, "right")~treat, taus=(1:4)/5, , method="Powell")
Error in solve.default(x[h, ]) : 
  Lapack routine dgesv: system is exactly singular: U[2,2] = 0
Error in crq.fit.pow(X, y, cen, tau = taus[i], weights, left = left, ...) : 
  Singular basic solution generated by 'start'

model2

fit2<-crq(Curv(y, yc, "right")~treat+age, taus=(1:4)/5)
Error in solve.default(x[h, ]) : 
  Lapack routine dgesv: system is exactly singular: U[2,2] = 0
Error in crq.fit.pow(X, y, cen, tau = taus[i], weights, left = left, ...) : 
  Singular basic solution generated by 'start'

Puede alguien de aquí sabe lo que está mal de los modelos? Es a causa de los lazos en y? ¿Hay una solución?

15voto

menowme Puntos 1

En tales artificial de problemas de datos de los valores iniciales predeterminados por el método de Powell no son muy propicias. Aquí es lo que está sucediendo: crq.fit.pow ingenuamente comienza por tratar de encontrar una rq solución haciendo caso omiso de la censura. En su caso, desde su covariables son independientes de la respuesta y una de las covariables es binario, esto es probable que el rendimiento de una solución con un disco duro de cero tratamiento coeficiente. A continuación, el algoritmo intenta iniciar en esta solución y se encuentra que esta solución básica (el par de observaciones que caracterizan la adaptación inicial) ambos tienen tratamiento indicador 0, (o 1), y en ese momento, tratando de resolver para el valor inicial de los rendimientos de un singular sistema lineal y obtener su error.

Así que el problema surge a raíz de una terrible conspiración de los problemas que tienen que ver con sus datos replicados la falta de un modelo de la señal, y, francamente, bastante ingenuo elección de un protocolo para la elección de un valor inicial. Si realmente quieres a la fuerza R para producir una respuesta puede usar start = "global", y (al menos para los pequeños problemas como este) crq producirá un nivel global de la solución óptima. Pero tengo la sospecha de que el mejor camino es cambiar el modelo de algo.

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