Hola de nuevo Carlos, he probado a quitar esa variable categórica y me sigue dando el aviso... El Lun, 9 de Abril de 2018, 20:17, Carlos J. Gil Bellosta escribió:> Si, creo que el motivo del warning puede ser ese. Es hipotético, pero > plausible. Sobre todo cuando tienes más de un 90% de ceros. > > El coeficiente de ese nivel para el modelo de la mixtura (ceros vs > binomial > negativa) sería infinito. Y de ahí el warning. > > > > El lun., 9 abr. 2018 a las 20:09, <miriam.alzate en unavarra.es> escribió: > >> >> ¿Quieres decir que para un nivel de una variable categorica todas las >> observaciones de la variable respuesta sean ceros? >> >> Gracias >> El Lun, 9 de Abril de 2018, 19:59, Carlos J. Gil Bellosta escribió: >> > ¿Podría ser que para algún nivel de alguna variable independiente >> > categórica solo hubiese ceros? En ese caso, casi seguro, aparecería >> ese >> > tipo de warning. >> > >> > El lun., 9 abr. 2018 a las 19:00, <miriam.alzate en unavarra.es> >> escribió: >> > >> >> Muchas gracias por la respuesta. He mirado y los coeficientes no son >> >> altos >> >> pero sí tengo una gran cantidad de ceros en la variable dependiente >> (más >> >> del 90%). Sin embargo, al incluir otro tipo de variables >> independientes >> >> no >> >> me da ese aviso, dejando la misma variable dependiente. >> >> >> >> ¿Cómo podría utilizar stan/rstan de forma sencilla para diagnosticar >> el >> >> modelo? >> >> >> >> Muchas gracias >> >> >> >> El Lun, 9 de Abril de 2018, 18:48, Carlos J. Gil Bellosta escribió: >> >> > Hola, ¿qué tal? >> >> > >> >> > El "warning" que comentas aparece en glm.fit precisamente cuando un >> >> > coeficiente diverge. >> >> > >> >> > El aviso puede ser malo o irrelevante, depende. Puede que haya sido >> >> > emitido >> >> > en algún paso intermedio del ajuste (por lo que no habría mayor >> >> problema). >> >> > O que afecte al ajuste entero. Uno de los síntomas de que el ajuste >> es >> >> > malo >> >> > es que algún coeficiente de tu modelo es excesivamente grande. O >> que >> >> el >> >> > peso correspondiente a tus ceros esté muy próximo a 0 o 1 (que es >> lo >> >> mismo >> >> > en el contexto de un modelo inflado). Mira a ver qué pinta tienen >> los >> >> > coeficientes y si tienen cierto sentido a la vista de tus datos. >> >> Vigila >> >> > los >> >> > extremadamente altos. >> >> > >> >> > Si no estás segura de tus coeficientes, puedes implementar el >> modelo >> >> > generativamente vía stan/rstan. Es sencillo y tendrías buenos >> >> diagnósticos >> >> > de lo que esta ocurriendo. >> >> > >> >> > Un saludo, >> >> > >> >> > Carlos J. Gil Bellosta >> >> > http://www.datanalytics.com >> >> > >> >> > >> >> > >> >> > >> >> > El lun., 9 abr. 2018 a las 18:34, <miriam.alzate en unavarra.es> >> >> escribió: >> >> > >> >> >> Buenas tardes, >> >> >> >> >> >> Estoy estimando un modelo binomial negativo de ceros inflados >> (ZINB) >> >> >> utilizando el comando zeroinfl() del paquete pscl. Al ejecutarlo >> me >> >> da >> >> >> el >> >> >> siguiente aviso: >> >> >> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred >> >> >> >> >> >> ¿Sabéis que significa y si puedo usar el modelo aún con ese aviso? >> >> ¿Los >> >> >> coeficientes son fiables? >> >> >> >> >> >> Muchas gracias, >> >> >> >> >> >> Miriam >> >> >> >> >> >> _______________________________________________ >> >> >> R-help-es mailing list >> >> >> R-help-es en r-project.org >> >> >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> >> >> >> >> > >> >> >> >> >> >> >> > >> >> >> >
Hola, ¿qué tal? Pues casi seguro que tienes un caso de "separación perfecta". Aunque no exista una variable única (p.e., un nivel en una variable categórica) que tenga asociados solo valores 0, es posible que exista una combinación lineal de variables que separe regiones donde solo hay ceros del resto de las observaciones. Un modelo inflado contiene internamente algo muy parecido a una regresión logística y te estás encontrando un problema muy parecido a este <https://www.datanalytics.com/2010/10/25/una-solucion-al-problema-de-la-separacion-perfecta-con-regresiones-logisticas/>. Existe código en R para solucionar ese problema en el contexto de la logística (penalizaciones a lo Jeffrey, incluso ridge/lasso), pero no creo que se hayan incorporado en modelos más específicos como los inflados. No sé si tu paquete te permite introducir penalizaciones en parámetros (que es la vía que señalaba más arriba). La otra opción es la ruta "fully bayesian", como aquí <https://github.com/stan-dev/example-models/tree/master/BPA/Ch.12>. Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com El lun., 9 abr. 2018 a las 20:35, <miriam.alzate en unavarra.es> escribió:> Hola de nuevo Carlos, he probado a quitar esa variable categórica y me > sigue dando el aviso... > > El Lun, 9 de Abril de 2018, 20:17, Carlos J. Gil Bellosta escribió: > > Si, creo que el motivo del warning puede ser ese. Es hipotético, pero > > plausible. Sobre todo cuando tienes más de un 90% de ceros. > > > > El coeficiente de ese nivel para el modelo de la mixtura (ceros vs > > binomial > > negativa) sería infinito. Y de ahí el warning. > > > > > > > > El lun., 9 abr. 2018 a las 20:09, <miriam.alzate en unavarra.es> escribió: > > > >> > >> ¿Quieres decir que para un nivel de una variable categorica todas las > >> observaciones de la variable respuesta sean ceros? > >> > >> Gracias > >> El Lun, 9 de Abril de 2018, 19:59, Carlos J. Gil Bellosta escribió: > >> > ¿Podría ser que para algún nivel de alguna variable independiente > >> > categórica solo hubiese ceros? En ese caso, casi seguro, aparecería > >> ese > >> > tipo de warning. > >> > > >> > El lun., 9 abr. 2018 a las 19:00, <miriam.alzate en unavarra.es> > >> escribió: > >> > > >> >> Muchas gracias por la respuesta. He mirado y los coeficientes no son > >> >> altos > >> >> pero sí tengo una gran cantidad de ceros en la variable dependiente > >> (más > >> >> del 90%). Sin embargo, al incluir otro tipo de variables > >> independientes > >> >> no > >> >> me da ese aviso, dejando la misma variable dependiente. > >> >> > >> >> ¿Cómo podría utilizar stan/rstan de forma sencilla para diagnosticar > >> el > >> >> modelo? > >> >> > >> >> Muchas gracias > >> >> > >> >> El Lun, 9 de Abril de 2018, 18:48, Carlos J. Gil Bellosta escribió: > >> >> > Hola, ¿qué tal? > >> >> > > >> >> > El "warning" que comentas aparece en glm.fit precisamente cuando un > >> >> > coeficiente diverge. > >> >> > > >> >> > El aviso puede ser malo o irrelevante, depende. Puede que haya sido > >> >> > emitido > >> >> > en algún paso intermedio del ajuste (por lo que no habría mayor > >> >> problema). > >> >> > O que afecte al ajuste entero. Uno de los síntomas de que el ajuste > >> es > >> >> > malo > >> >> > es que algún coeficiente de tu modelo es excesivamente grande. O > >> que > >> >> el > >> >> > peso correspondiente a tus ceros esté muy próximo a 0 o 1 (que es > >> lo > >> >> mismo > >> >> > en el contexto de un modelo inflado). Mira a ver qué pinta tienen > >> los > >> >> > coeficientes y si tienen cierto sentido a la vista de tus datos. > >> >> Vigila > >> >> > los > >> >> > extremadamente altos. > >> >> > > >> >> > Si no estás segura de tus coeficientes, puedes implementar el > >> modelo > >> >> > generativamente vía stan/rstan. Es sencillo y tendrías buenos > >> >> diagnósticos > >> >> > de lo que esta ocurriendo. > >> >> > > >> >> > Un saludo, > >> >> > > >> >> > Carlos J. Gil Bellosta > >> >> > http://www.datanalytics.com > >> >> > > >> >> > > >> >> > > >> >> > > >> >> > El lun., 9 abr. 2018 a las 18:34, <miriam.alzate en unavarra.es> > >> >> escribió: > >> >> > > >> >> >> Buenas tardes, > >> >> >> > >> >> >> Estoy estimando un modelo binomial negativo de ceros inflados > >> (ZINB) > >> >> >> utilizando el comando zeroinfl() del paquete pscl. Al ejecutarlo > >> me > >> >> da > >> >> >> el > >> >> >> siguiente aviso: > >> >> >> Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred > >> >> >> > >> >> >> ¿Sabéis que significa y si puedo usar el modelo aún con ese aviso? > >> >> ¿Los > >> >> >> coeficientes son fiables? > >> >> >> > >> >> >> Muchas gracias, > >> >> >> > >> >> >> Miriam > >> >> >> > >> >> >> _______________________________________________ > >> >> >> R-help-es mailing list > >> >> >> R-help-es en r-project.org > >> >> >> https://stat.ethz.ch/mailman/listinfo/r-help-es > >> >> >> > >> >> > > >> >> > >> >> > >> >> > >> > > >> > >> > >> > > > > >[[alternative HTML version deleted]]
Muchas gracias Carlos por la respuesta y enlaces. Entiendo lo qué significa el tema de separación perfecta pero no logro entender cómo solucionarlo, estoy intentado seguir los enlaces pero me parece bastante complicado... El 10/04/2018 a las 21:16, Carlos J. Gil Bellosta escribió:> Hola, ¿qué tal? > > Pues casi seguro que tienes un caso de "separación perfecta". Aunque > no exista una variable única (p.e., un nivel en una variable > categórica) que tenga asociados solo valores 0, es posible que exista > una combinación lineal de variables que separe regiones donde solo hay > ceros del resto de las observaciones. > > Un modelo inflado contiene internamente algo muy parecido a una > regresión logística y te estás encontrando un problema muy parecido a > este > <https://www.datanalytics.com/2010/10/25/una-solucion-al-problema-de-la-separacion-perfecta-con-regresiones-logisticas/>. > Existe código en R para solucionar ese problema en el contexto de la > logística (penalizaciones a lo Jeffrey, incluso ridge/lasso), pero no > creo que se hayan incorporado en modelos más específicos como los > inflados. > > No sé si tu paquete te permite introducir penalizaciones en parámetros > (que es la vía que señalaba más arriba). La otra opción es la ruta > "fully bayesian", como aquí > <https://github.com/stan-dev/example-models/tree/master/BPA/Ch.12>. > > Un saludo, > > Carlos J. Gil Bellosta > http://www.datanalytics.com > > > > > El lun., 9 abr. 2018 a las 20:35, <miriam.alzate en unavarra.es > <mailto:miriam.alzate en unavarra.es>> escribió: > > Hola de nuevo Carlos, he probado a quitar esa variable categórica y me > sigue dando el aviso... > > El Lun, 9 de Abril de 2018, 20:17, Carlos J. Gil Bellosta escribió: > > Si, creo que el motivo del warning puede ser ese. Es hipotético, > pero > > plausible. Sobre todo cuando tienes más de un 90% de ceros. > > > > El coeficiente de ese nivel para el modelo de la mixtura (ceros vs > > binomial > > negativa) sería infinito. Y de ahí el warning. > > > > > > > > El lun., 9 abr. 2018 a las 20:09, <miriam.alzate en unavarra.es > <mailto:miriam.alzate en unavarra.es>> escribió: > > > >> > >> ¿Quieres decir que para un nivel de una variable categorica > todas las > >> observaciones de la variable respuesta sean ceros? > >> > >> Gracias > >> El Lun, 9 de Abril de 2018, 19:59, Carlos J. Gil Bellosta escribió: > >> > ¿Podría ser que para algún nivel de alguna variable independiente > >> > categórica solo hubiese ceros? En ese caso, casi seguro, > aparecería > >> ese > >> > tipo de warning. > >> > > >> > El lun., 9 abr. 2018 a las 19:00, <miriam.alzate en unavarra.es > <mailto:miriam.alzate en unavarra.es>> > >> escribió: > >> > > >> >> Muchas gracias por la respuesta. He mirado y los > coeficientes no son > >> >> altos > >> >> pero sí tengo una gran cantidad de ceros en la variable > dependiente > >> (más > >> >> del 90%). Sin embargo, al incluir otro tipo de variables > >> independientes > >> >> no > >> >> me da ese aviso, dejando la misma variable dependiente. > >> >> > >> >> ¿Cómo podría utilizar stan/rstan de forma sencilla para > diagnosticar > >> el > >> >> modelo? > >> >> > >> >> Muchas gracias > >> >> > >> >> El Lun, 9 de Abril de 2018, 18:48, Carlos J. Gil Bellosta > escribió: > >> >> > Hola, ¿qué tal? > >> >> > > >> >> > El "warning" que comentas aparece en glm.fit precisamente > cuando un > >> >> > coeficiente diverge. > >> >> > > >> >> > El aviso puede ser malo o irrelevante, depende. Puede que > haya sido > >> >> > emitido > >> >> > en algún paso intermedio del ajuste (por lo que no habría > mayor > >> >> problema). > >> >> > O que afecte al ajuste entero. Uno de los síntomas de que > el ajuste > >> es > >> >> > malo > >> >> > es que algún coeficiente de tu modelo es excesivamente > grande. O > >> que > >> >> el > >> >> > peso correspondiente a tus ceros esté muy próximo a 0 o 1 > (que es > >> lo > >> >> mismo > >> >> > en el contexto de un modelo inflado). Mira a ver qué pinta > tienen > >> los > >> >> > coeficientes y si tienen cierto sentido a la vista de tus > datos. > >> >> Vigila > >> >> > los > >> >> > extremadamente altos. > >> >> > > >> >> > Si no estás segura de tus coeficientes, puedes implementar el > >> modelo > >> >> > generativamente vía stan/rstan. Es sencillo y tendrías buenos > >> >> diagnósticos > >> >> > de lo que esta ocurriendo. > >> >> > > >> >> > Un saludo, > >> >> > > >> >> > Carlos J. Gil Bellosta > >> >> > http://www.datanalytics.com > >> >> > > >> >> > > >> >> > > >> >> > > >> >> > El lun., 9 abr. 2018 a las 18:34, > <miriam.alzate en unavarra.es <mailto:miriam.alzate en unavarra.es>> > >> >> escribió: > >> >> > > >> >> >> Buenas tardes, > >> >> >> > >> >> >> Estoy estimando un modelo binomial negativo de ceros inflados > >> (ZINB) > >> >> >> utilizando el comando zeroinfl() del paquete pscl. Al > ejecutarlo > >> me > >> >> da > >> >> >> el > >> >> >> siguiente aviso: > >> >> >> Warning: glm.fit: fitted probabilities numerically 0 or 1 > occurred > >> >> >> > >> >> >> ¿Sabéis que significa y si puedo usar el modelo aún con > ese aviso? > >> >> ¿Los > >> >> >> coeficientes son fiables? > >> >> >> > >> >> >> Muchas gracias, > >> >> >> > >> >> >> Miriam > >> >> >> > >> >> >> _______________________________________________ > >> >> >> R-help-es mailing list > >> >> >> R-help-es en r-project.org <mailto:R-help-es en r-project.org> > >> >> >> https://stat.ethz.ch/mailman/listinfo/r-help-es > >> >> >> > >> >> > > >> >> > >> >> > >> >> > >> > > >> > >> > >> > > > >[[alternative HTML version deleted]]