Hola, Hace un tiempo que estoy intentando hacer un logit con R utilizando ponderaciones, pero creo que no doy con la solución y agradecería si alguien pudiera ayudarme. Os cuento: Los datos que utilizo son "dato por individuo" y provienen de encuesta. Las ponderaciones se corresponden con proporciones de población para solventar desvíos en las cuotas. El resumen de los datos que utilizo es el siguiente: dep indep pond 0:25494 in :19874 Min. :0.2678 1: 2811 out: 8426 1st Qu.:0.4718 NR : 5 Median :1.0000 Mean :0.9982 3rd Qu.:1.0000 Max. :2.3048 La expresión que utilizo es la siguiente: mod1<-glm(data=prova,dep~indep,family=binomial(link="logit"),weights=pond) Pero me avisa con el siguiente warning: "In eval(expr, envir, enclos) : non-integer #successes in a binomial glm!" Cuando vi el aviso la primera vez me sorprendió y busqué un poco. Creo que el problema viene porque las ponderaciones en glm no son exactamente lo que yo estoy utilizando ni están pensadas para mi tipo de datos. Pero no encuentro cómo puedo hacerlo y no me parece normal obviar el warning. De momento estoy barajando la posibilidad de replicar los datos de tal forma que no sean necesarias las ponderaciones, o quizás generar recuentos y trabajar a partir de allí. Pero no tengo demasiado claro ni si es la manera ni si acabaré "cochineando" demasiado. Supongo que no ser estadístico también influye en no encontrar la solución... Tenéis alguna idea? Muchas gracias, Manel. [[alternative HTML version deleted]]
Hola Manel, Que es "NR" en la variable "dep"? Quizas a eso se refiere el warning que obtienes. Son NA''s? Espero haber podido ayudar. Jorge.- 2012/4/24 J Manel S Griño <>> Hola, > > Hace un tiempo que estoy intentando hacer un logit con R utilizando > ponderaciones, pero creo que no doy con la solución y agradecería si > alguien pudiera ayudarme. Os cuento: > > Los datos que utilizo son "dato por individuo" y provienen de encuesta. Las > ponderaciones se corresponden con proporciones de población para solventar > desvíos en las cuotas. > > El resumen de los datos que utilizo es el siguiente: > > dep indep pond > 0:25494 in :19874 Min. :0.2678 > 1: 2811 out: 8426 1st Qu.:0.4718 > NR : 5 Median :1.0000 > Mean :0.9982 > 3rd Qu.:1.0000 > Max. :2.3048 > > La expresión que utilizo es la siguiente: > > mod1<-glm(data=prova,dep~indep,family=binomial(link="logit"),weights=pond) > > Pero me avisa con el siguiente warning: > > "In eval(expr, envir, enclos) : non-integer #successes in a binomial glm!" > > Cuando vi el aviso la primera vez me sorprendió y busqué un poco. Creo que > el problema viene porque las ponderaciones en glm no son exactamente lo que > yo estoy utilizando ni están pensadas para mi tipo de datos. Pero no > encuentro cómo puedo hacerlo y no me parece normal obviar el warning. > > De momento estoy barajando la posibilidad de replicar los datos de tal > forma que no sean necesarias las ponderaciones, o quizás generar recuentos > y trabajar a partir de allí. Pero no tengo demasiado claro ni si es la > manera ni si acabaré "cochineando" demasiado. Supongo que no ser > estadístico también influye en no encontrar la solución... > > Tenéis alguna idea? > > Muchas gracias, > > Manel. > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]
Hola, En la librería "survey" tienes el comando "svyglm" (Survey-weighted generalised linear models) Creo que es lo que buscas. Un saludo> Hola, > > Hace un tiempo que estoy intentando hacer un logit con R utilizando > ponderaciones, pero creo que no doy con la solución y agradecería si > alguien pudiera ayudarme. Os cuento: > > Los datos que utilizo son "dato por individuo" y provienen de encuesta. Las > ponderaciones se corresponden con proporciones de población para solventar > desvíos en las cuotas. > > El resumen de los datos que utilizo es el siguiente: > > dep indep pond > 0:25494 in :19874 Min. :0.2678 > 1: 2811 out: 8426 1st Qu.:0.4718 > NR : 5 Median :1.0000 > Mean :0.9982 > 3rd Qu.:1.0000 > Max. :2.3048 > > La expresión que utilizo es la siguiente: > > mod1<-glm(data=prova,dep~indep,family=binomial(link="logit"),weights=pond) > > Pero me avisa con el siguiente warning: > > "In eval(expr, envir, enclos) : non-integer #successes in a binomial glm!" > > Cuando vi el aviso la primera vez me sorprendió y busqué un poco. Creo que > el problema viene porque las ponderaciones en glm no son exactamente lo que > yo estoy utilizando ni están pensadas para mi tipo de datos. Pero no > encuentro cómo puedo hacerlo y no me parece normal obviar el warning. > > De momento estoy barajando la posibilidad de replicar los datos de tal > forma que no sean necesarias las ponderaciones, o quizás generar recuentos > y trabajar a partir de allí. Pero no tengo demasiado claro ni si es la > manera ni si acabaré "cochineando" demasiado. Supongo que no ser > estadístico también influye en no encontrar la solución... > > Tenéis alguna idea? > > Muchas gracias, > > Manel. > > [[alternative HTML version deleted]] > >jm~ _______________________________ J. Miguel Marin http://www.est.uc3m.es/jmmarin Dep. of Statistics University Carlos III of Madrid Spain (E.U.)
Hola de nuevo, Sí, los NR són NA, pero codificados como una categoria para añadirlos al análisis (aunque sí que son poquitos). Yo también creo como Gregorio respecto a las ponderaciones en glm. Y respecto a survey, aunque la verdad es qe es un paquete que hace tiempo que intento entender y me está costando banstante, lo habia probado y me da el mismo error. Lo que he hecho con survey es lo siguiente: ddades <- svydesign(id=~1,weights=~pond,data=prova) mod2 <- svyglm(dep~indep,family="binomial",design=ddades) Por internet encontré la posible soluciónl quasibinomial(link="logit"), pero creo que no es la solución porque en realidad la quasibinomial no ha sido pensada para esto (vaya, que creo que las ponderaciones en la quasibinomial tienen el mismo sentido que en la binomial). Y también he encontrado una posible solución haciendo un round() a mis ponderaciones, pero esto aún me parece más "alejado de la verdad". Seguiremos investigando... Gracias. [[alternative HTML version deleted]]
Hola, ¿qué tal? Una manera de ponderar se?ia considerar, como en http://r.789695.n4.nabble.com/Weights-in-binomial-glm-td1991249.html, que la verosimilitud es L = Product_i L_i^w_i en tal caso, te valdría lo que escribí hace un tiempo en http://www.datanalytics.com/blog/2012/04/11/correccion-por-exposicion-del-modelo-logistico/ utilizando una funcíón de enlace "ad hoc" que depende de cada individuo. Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com El día 24 de abril de 2012 22:00, J Manel S Griño <jmanelsg en gmail.com> escribió:> Hola de nuevo, > > Sí, los NR són NA, pero codificados como una categoria para añadirlos al > análisis (aunque sí que son poquitos). > > Yo también creo como Gregorio respecto a las ponderaciones en glm. > > Y respecto a survey, aunque la verdad es qe es un paquete que hace tiempo > que intento entender y me está costando banstante, lo habia probado y me da > el mismo error. Lo que he hecho con survey es lo siguiente: > > ddades <- svydesign(id=~1,weights=~pond,data=prova) > mod2 <- svyglm(dep~indep,family="binomial",design=ddades) > > Por internet encontré la posible soluciónl quasibinomial(link="logit"), > pero creo que no es la solución porque en realidad la quasibinomial no ha > sido pensada para esto (vaya, que creo que las ponderaciones en la > quasibinomial tienen el mismo sentido que en la binomial). Y también he > encontrado una posible solución haciendo un round() a mis ponderaciones, > pero esto aún me parece más "alejado de la verdad". > > Seguiremos investigando... > > Gracias. > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >
Manel, Lo siento, pero ahora si estoy confundido. Por lo que mencionas en este mensaje (y en el primero que enviaste) buscas ajustar un modelo de regresion logistica en la que la variable respuesta (dep) toma los valores 0 y 1. Hasta ahi todo bien. Lo que me confunde es que ahora _tambien_ estes interesado en utilizar los NA''s como una nueva categoria de dep y los llamas NR en vez de NA -- de esta forma _aseguras_ que R no los entienda como NA. Asi las cosas, la variable dep tendria tres categorias y no dos. Como esperas ajustar un modelo de regresion logistica con una variable respuesta que tiene tres categorias en vez de dos? No seria mas apropiado en este nuevo escenario un modelo de regresion multinomial?. Saludos, Jorge.- 2012/4/24 J Manel S Griño <>> Hola de nuevo, > > Sí, los NR són NA, pero codificados como una categoria para añadirlos al > análisis (aunque sí que son poquitos). > > Yo también creo como Gregorio respecto a las ponderaciones en glm. > > Y respecto a survey, aunque la verdad es qe es un paquete que hace tiempo > que intento entender y me está costando banstante, lo habia probado y me da > el mismo error. Lo que he hecho con survey es lo siguiente: > > ddades <- svydesign(id=~1,weights=~pond,data=prova) > mod2 <- svyglm(dep~indep,family="binomial",design=ddades) > > Por internet encontré la posible soluciónl quasibinomial(link="logit"), > pero creo que no es la solución porque en realidad la quasibinomial no ha > sido pensada para esto (vaya, que creo que las ponderaciones en la > quasibinomial tienen el mismo sentido que en la binomial). Y también he > encontrado una posible solución haciendo un round() a mis ponderaciones, > pero esto aún me parece más "alejado de la verdad". > > Seguiremos investigando... > > Gracias. > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]