[R-es] Cómo aplicar weights a las observaciones en un GLM binomial

2014-11-14 Por tema Isa García Barón
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

2014-11-14 Por tema Víctor Granda García
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

2014-11-14 Por tema Carlos J. Gil Bellosta
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

2014-11-14 Por tema Carlos Ortega
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

2014-11-14 Por tema José Luis Cañadas
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