[R-es] Cómo aplicar weights a las observaciones en un GLM binomial
Víctor Granda García
victorgrandagarcia en gmail.com
Vie Nov 14 12:14:02 CET 2014
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 (<
canadasreche en 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 en r-project.org
> > https://stat.ethz.ch/mailman/listinfo/r-help-es
>
> _______________________________________________
> 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]]
Más información sobre la lista de distribución R-help-es