[R-es] Cómo aplicar weights a las observaciones en un GLM binomial
Hola, espero ser clara en el mensaje ya que es la primera vez que recurro a este tipo de ayudas, explico mi duda: Tengo un dataset con 4505 observaciones en el que la variable dependiente son presencias (n=97 y clasificadas como 1) y ausencias (n=4408 y clasificadas como 0). Mi primer paso fue realizar un GLM con una muestra compensada de ausencias y presencias para la variable dependiente, es decir 97 presencias y 97 ausencias. Sin embargo, como todo lo que tengo son ausencias y no pseudoausencias me recomendaron utilizar las 97 presencias frente a todas las ausencias, aquí viene el problema. Si realizo un GLM con ausencia/presencia como variable dependiente no siendo ésta proporcional entre 1 y 0 debo ponderar las observaciones, lo cuál creo que se realiza añadiendo el vector weights a la función, quedando asi: modelo - glm(v_dependiente ~ v1 + v2 + v3, data = datset, weights=x, family = binomial (link=logit) Mi duda es cómo calcular el factor de ponderación de las presencias y las ausencias para crear el vector que pueda introducir en la función weights. Muchas gracias! Un saludo *-* *Isabel García Barón* [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] Cómo aplicar weights a las observaciones en un GLM binomial
Hola Isa. No se si te servirá, pero también puedes probar con una distribución Zero Inflated Negative Binomial. Tienes una buena descripción y aplicación en R en esta página: http://www.ats.ucla.edu/stat/r/dae/zinbreg.htm Espero que te sirva. El Fri Nov 14 2014 at 11:24:43, Jose Luis Cañadas Reche ( canadasre...@gmail.com) escribió: Hola. Hay varias opciones de aplicar ponderaciones a las observaciones en un glm. Utilizar svyglm dentro de la librería survey. Esta función calcula correctamente los errores estándar de los coeficientes. Sería algo como . library(survey) # objeto del diseño muestral ddatos - svydesign(id=~1, weights =~ tus.pesos, data = tus.datos) # en caso de una reg logística modelo - svyglm(respuesta~ var1 + var2, family = binomial, design = ddatos) Otra opción sería la librería rms library(rms) # reg logistica modelo.lrm - lrm(respuesta ~ var1 + var2, weights = tus.pesos) Y alguna más que puede servir si tienes pocas variables predictoras tabla - with(tus.datos, xtabs(tus.pesos ~ respuesta + var1 + var2) datos.nuevos - data.frame(tabla) modelo - glm(respuesta ~ var1 + var2, family=binomial, weights=Freq, data=datos.nuevos) Compara los resultados con lo que te sale al usar glm con la opción weights. Para mí, la mejor opción es usar la librería survey, ya que permite utilizar no sólo ponderaciones sino también diseños muestrales complejos. Espero que te sirva. El 14/11/14 a las 10:46, Isa García Barón escribió: Hola, espero ser clara en el mensaje ya que es la primera vez que recurro a este tipo de ayudas, explico mi duda: Tengo un dataset con 4505 observaciones en el que la variable dependiente son presencias (n=97 y clasificadas como 1) y ausencias (n=4408 y clasificadas como 0). Mi primer paso fue realizar un GLM con una muestra compensada de ausencias y presencias para la variable dependiente, es decir 97 presencias y 97 ausencias. Sin embargo, como todo lo que tengo son ausencias y no pseudoausencias me recomendaron utilizar las 97 presencias frente a todas las ausencias, aquí viene el problema. Si realizo un GLM con ausencia/presencia como variable dependiente no siendo ésta proporcional entre 1 y 0 debo ponderar las observaciones, lo cuál creo que se realiza añadiendo el vector weights a la función, quedando asi: modelo - glm(v_dependiente ~ v1 + v2 + v3, data = datset, weights=x, family = binomial (link=logit) Mi duda es cómo calcular el factor de ponderación de las presencias y las ausencias para crear el vector que pueda introducir en la función weights. Muchas gracias! Un saludo *-* *Isabel García Barón* [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] Cómo aplicar weights a las observaciones en un GLM binomial
Hola, ¿qué tal? Yo te recomendaría echarle un vistazo a http://gking.harvard.edu/files/0s.pdf y en particular, a la sección 4.1. Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com El día 14 de noviembre de 2014, 10:46, Isa García Barón xan...@gmail.com escribió: Hola, espero ser clara en el mensaje ya que es la primera vez que recurro a este tipo de ayudas, explico mi duda: Tengo un dataset con 4505 observaciones en el que la variable dependiente son presencias (n=97 y clasificadas como 1) y ausencias (n=4408 y clasificadas como 0). Mi primer paso fue realizar un GLM con una muestra compensada de ausencias y presencias para la variable dependiente, es decir 97 presencias y 97 ausencias. Sin embargo, como todo lo que tengo son ausencias y no pseudoausencias me recomendaron utilizar las 97 presencias frente a todas las ausencias, aquí viene el problema. Si realizo un GLM con ausencia/presencia como variable dependiente no siendo ésta proporcional entre 1 y 0 debo ponderar las observaciones, lo cuál creo que se realiza añadiendo el vector weights a la función, quedando asi: modelo - glm(v_dependiente ~ v1 + v2 + v3, data = datset, weights=x, family = binomial (link=logit) Mi duda es cómo calcular el factor de ponderación de las presencias y las ausencias para crear el vector que pueda introducir en la función weights. Muchas gracias! Un saludo *-* *Isabel García Barón* [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] Cómo aplicar weights a las observaciones en un GLM binomial
Hola, Hubo un hilo en el R-Help que trató de este tema. Weights in binomial glm http://r.789695.n4.nabble.com/Weights-in-binomial-glm-td1991249.html Saludos, Carlos Ortega www.qualityexcellence.es El 14 de noviembre de 2014, 16:37, Isa García Barón xan...@gmail.com escribió: Gracias por la ayuda Jose Luis. pero o no te he entendido bien o mi duda es tan sencilla que no me he explicado. SI yo tampoco he entendido mal tu explicación, mi problema es cómo obtengo ese tus.pesos para introducir, por ejemplo, en la función: library(survey) # objeto del diseño muestral ddatos - svydesign(id=~1, weights =~ tus.pesos, data = tus.datos) # en caso de una reg logística modelo - svyglm(respuesta~ var1 + var2, family = binomial, design = ddatos) Después si se proseguir con la realización del modelo, pero lo que no sé es cómo pondero la muestra, es decir si ese tus.pesos es una vecotr, osea una nueva variable en mi dataset, qué valores debe contener. Perdonad las molestias, Un saludo y gracias Isa [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es -- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es
Re: [R-es] Cómo aplicar weights a las observaciones en un GLM binomial
Hola. Efectivamente, no leí bien tu pregunta. Quizá este post de Raúl Vaquerizo te pueda ayudar. Compara el sobremuestreo en reg logística con asignar pesos a las observaciones (e ilustra como calcular las ponderaciones) http://analisisydecision.es/sobremuestreo-y-pesos-a-las-observaciones-ahora-con-r/ Espero que esta vez si te sea útil. Saludos El 14/11/2014 17:09, Carlos Ortega c...@qualityexcellence.es escribió: Hola, Hubo un hilo en el R-Help que trató de este tema. Weights in binomial glm http://r.789695.n4.nabble.com/Weights-in-binomial-glm-td1991249.html Saludos, Carlos Ortega www.qualityexcellence.es El 14 de noviembre de 2014, 16:37, Isa García Barón xan...@gmail.com escribió: Gracias por la ayuda Jose Luis. pero o no te he entendido bien o mi duda es tan sencilla que no me he explicado. SI yo tampoco he entendido mal tu explicación, mi problema es cómo obtengo ese tus.pesos para introducir, por ejemplo, en la función: library(survey) # objeto del diseño muestral ddatos - svydesign(id=~1, weights =~ tus.pesos, data = tus.datos) # en caso de una reg logística modelo - svyglm(respuesta~ var1 + var2, family = binomial, design = ddatos) Después si se proseguir con la realización del modelo, pero lo que no sé es cómo pondero la muestra, es decir si ese tus.pesos es una vecotr, osea una nueva variable en mi dataset, qué valores debe contener. Perdonad las molestias, Un saludo y gracias Isa [[alternative HTML version deleted]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es -- Saludos, Carlos Ortega www.qualityexcellence.es [[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]] ___ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es