jose ramirez costa
2010-Sep-28 20:24 UTC
[R-es] calcular la variancia de gini por bootstrap
Hola, paso el mini programita q estoy viendo, lo q me llama la atencion es una parte donde se definen las funciones. Probe primero meter adentro del boots la estadistica a estimar usando directamente gini(varible, pesos) pero no me dejo. Vi q en el ej del manual de boots, siempre define antes la funcion, entonces probe definir antes una funcion haciendo grini<-function(x) {gini(variable, peso)} pero tampoco me dejo. Entonces preste atencion q la funcion q definia en el ejmeplo tenia 2 parametros d y w, este es el ejemplo del manual modificado para mi base: ratio <- function(d, w) sum(d$EDAD * w)/sum(d$UNO * w) Como ves tiene 2 parametros: d y w, entonces le puse eso mismo a mi funcion grini: grini<-function(d,w){gini(d$MT_YOP_NEW, w=d$FEXP)}, donde el w q esta adentro no es el w del parametro de la funcion sino el el parametro peso de la funcion gini. Me hizo el bootstrap pero me da siempre la misma estimacion para todas las replicaciones de las muestras, por lo cual la variancia del estimador por bootstrap da 0. Entonces me di cuenta q algo de ese parametro tenia q ver con eso, pero no se q es. Por lo tanto la pregunta es: q hace ese parametro w en la funcion??? Creo q la solucion debe ser algo simple pero falta entender eso, para poder solucionarlo. Bueno si tenes tiempo para mirarlo te agradeceria mucho. Saludos * * *El programita:* # usual bootstrap of the ratio of means using the city data parag$UNO<-1 grini(parag$MT_YOP_NEW) ratio <- function(d, w) sum(d$EDAD * w)/sum(d$UNO * w) r<-boot(parag, ratio, R=999, sim="ordinary", stype="w", strata=parag$COMUNA, weights=parag$FEXP) r str(r) View(r$t) grini<-function(d,w){gini(d$MT_YOP_NEW, w=d$FEXP)} g<-boot(parag, grini, R=999, sim="ordinary", stype="w", strata=parag$COMUNA, weights=parag$FEXP) g str(g) View(g$t) -- "El futuro es ilusorio es una trampa q se inventa cualquier sistema para q la gente se acobarde y agache la cabeza, trabaje, produzca y se haga esclava por el PUTO futuro. QUE FUTURO TE ASEGURASTE VOS? En el laburo te aseguran q se acabaron los accidentes,la sirrosis, el cancer, el tiro q nos puede pegar el tipo q entre a robar aca dentro de un minuto?" Fernando Robles DNI 4.131.417 Adhiere: José -- "El futuro es ilusorio es una trampa q se inventa cualquier sistema para q la gente se acobarde y agache la cabeza, trabaje, produzca y se haga esclava por el PUTO futuro. QUE FUTURO TE ASEGURASTE VOS? En el laburo te aseguran q se acabaron los accidentes,la sirrosis, el cancer, el tiro q nos puede pegar el tipo q entre a robar aca dentro de un minuto?" Fernando Robles DNI 4.131.417 Adhiere: José [[alternative HTML version deleted]]
Buenas noches Jose, Considera el siguiente ejemplo (modificado de [1]): # paquete reldist que contiene la funcion gini() require(reldist) # datos y pesos -- obtenidos como dput(d) d <- structure(list(x = c(541, 1463, 2445, 3438, 4437, 5401, 6392, 8304, 11904, 22261), w = c(0.287577520124614, 0.788305135443807, 0.4089769218117, 0.883017404004931, 0.940467284293845, 0.0455564993899316, 0.528105488047004, 0.892419044394046, 0.551435014465824, 0.456614735303447 )), .Names = c("x", "w"), row.names = c(NA, -10L), class = "data.frame") d # coeficiente gini ponderado with(d, gini(x, w)) # 0.433399 # bootstrap require(boot) # funcion para calcular el coeficiente gini # a partir de un data.frame d # cuyas columnas son x y w # ---> aqui index es un vector de indices que # boot necesita para ejecutarse giniboot <- function(d, index){ d <- d[sample(index),] # no tienes esto with(d, gini(x, w)) } res <- boot(d, giniboot, R = 1000) res # graficos plot(res) # algunas medidas para el estadistico summary(res$t) var(res$t) quantile(res$t) Quizas no es propiamente lo que estas buscando, pero te da una mejor idea de lo que esta fallando en tu programa. Ahora, si definitivamente no es lo que buscas, ayudanos a ayudarte enviandonos una parte de los datos via dput() (ver ejemplo en este mensaje), asi como la funcion gini que estas usando. Sospecho que el gini que estas usando es el mismo de [1], pero es dificil saberlo con la poca informacion que nos das. Un saludo, Jorge Ivan Velez [1] http://rss.acs.unt.edu/Rdoc/library/reldist/html/gini.html 2010/9/28 jose ramirez costa <>> Hola, paso el mini programita q estoy viendo, lo q me llama la atencion es > una parte donde se definen las funciones. > > Probe primero meter adentro del boots la estadistica a estimar usando > directamente gini(varible, pesos) pero no me dejo. > > Vi q en el ej del manual de boots, siempre define antes la funcion, > entonces > probe definir antes una funcion haciendo > grini<-function(x) {gini(variable, peso)} pero tampoco me dejo. > > Entonces preste atencion q la funcion q definia en el ejmeplo tenia 2 > parametros d y w, este es el ejemplo del manual modificado para mi base: > ratio <- function(d, w) sum(d$EDAD * w)/sum(d$UNO * w) > > Como ves tiene 2 parametros: d y w, entonces le puse eso mismo a mi funcion > grini: grini<-function(d,w){gini(d$MT_YOP_NEW, w=d$FEXP)}, donde el w q > esta > adentro no es el w del parametro de la funcion sino el el parametro peso de > la funcion gini. > > Me hizo el bootstrap pero me da siempre la misma estimacion para todas las > replicaciones de las muestras, por lo cual la variancia del estimador por > bootstrap da 0. > > Entonces me di cuenta q algo de ese parametro tenia q ver con eso, pero no > se q es. > > Por lo tanto la pregunta es: q hace ese parametro w en la funcion??? > > Creo q la solucion debe ser algo simple pero falta entender eso, para poder > solucionarlo. > > Bueno si tenes tiempo para mirarlo te agradeceria mucho. > > Saludos > * > * > *El programita:* > > # usual bootstrap of the ratio of means using the city data > parag$UNO<-1 > grini(parag$MT_YOP_NEW) > > ratio <- function(d, w) sum(d$EDAD * w)/sum(d$UNO * w) > r<-boot(parag, ratio, R=999, sim="ordinary", stype="w", > strata=parag$COMUNA, > weights=parag$FEXP) > r > str(r) > View(r$t) > > grini<-function(d,w){gini(d$MT_YOP_NEW, w=d$FEXP)} > g<-boot(parag, grini, R=999, sim="ordinary", stype="w", > strata=parag$COMUNA, > weights=parag$FEXP) > g > str(g) > View(g$t) > > -- > "El futuro es ilusorio es una trampa q se inventa cualquier sistema para q > la gente se acobarde y agache la cabeza, trabaje, produzca y se haga > esclava > por el PUTO futuro. QUE FUTURO TE ASEGURASTE VOS? En el laburo te aseguran > q se acabaron los accidentes,la sirrosis, el cancer, el tiro q nos puede > pegar el tipo q entre a robar aca dentro de un minuto?" > Fernando Robles DNI 4.131.417 > Adhiere: José > > > > > -- > "El futuro es ilusorio es una trampa q se inventa cualquier sistema para q > la gente se acobarde y agache la cabeza, trabaje, produzca y se haga > esclava > por el PUTO futuro. QUE FUTURO TE ASEGURASTE VOS? En el laburo te aseguran > q se acabaron los accidentes,la sirrosis, el cancer, el tiro q nos puede > pegar el tipo q entre a robar aca dentro de un minuto?" > Fernando Robles DNI 4.131.417 > Adhiere: José > > [[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 a tod en s. Creo que este paper es interesante. Un poco "sobreactuado" en su redacción, pero puede resultar de utilidad. Como dice el propio Patrick Burns: "If you are using R and you think you're in hell, this is a map for you". ... que ya sé que no es nuestro caso! }:-) http://www.burns-stat.com/pages/Tutor/R_inferno.pdf No he encontrado ninguna traducción por ahí, así que os lo paso en inglés. Un Saludo, ===============================================Miguel Ángel Rodríguez Muíños Asesoramento en Informática Servicio de Epidemioloxía Dirección Xeral de Saúde Pública e Planificación Consellería de Sanidade Xunta de Galicia =============================================== Nota: A información contida nesta mensaxe e os seus posibles documentos adxuntos é privada e confidencial e está dirixida únicamente ó seu destinatario/a. Se vostede non é o/a destinatario/a orixinal desta mensaxe, por favor elimínea. A distribución ou copia desta mensaxe non está autorizada. Nota: La información contenida en este mensaje y sus posibles documentos adjuntos es privada y confidencial y está dirigida únicamente a su destinatario/a. Si usted no es el/la destinatario/a original de este mensaje, por favor elimínelo. La distribución o copia de este mensaje no está autorizada. See more languages: http://www.sergas.es/aviso_confidencialidad.htm XACOBEO 2010: http://www.xacobeo.org
Hola Miguel Angel, Esto lo leí hace tiempo, está muy bien, muchas gracias! saludos 2010/9/29 <miguel.angel.rodriguez.muinos@sergas.es>> Hola a tod@s. > > Creo que este paper es interesante. Un poco "sobreactuado" en su redacción, > pero puede resultar de utilidad. > Como dice el propio Patrick Burns: "If you are using R and you think you''re > in hell, this is a map for you". > > ... que ya sé que no es nuestro caso! > }:-) > > http://www.burns-stat.com/pages/Tutor/R_inferno.pdf > > > No he encontrado ninguna traducción por ahí, así que os lo paso en inglés. > > > Un Saludo, > ===============================================> Miguel Ángel Rodríguez Muíños > Asesoramento en Informática > Servicio de Epidemioloxía > Dirección Xeral de Saúde Pública e Planificación > Consellería de Sanidade > Xunta de Galicia > ===============================================> > > > > > > > > > Nota: A información contida nesta mensaxe e os seus posibles documentos > adxuntos é privada e confidencial e está dirixida únicamente ó seu > destinatario/a. Se vostede non é o/a destinatario/a orixinal desta mensaxe, > por favor elimínea. A distribución ou copia desta mensaxe non está > autorizada. > > Nota: La información contenida en este mensaje y sus posibles documentos > adjuntos es privada y confidencial y está dirigida únicamente a su > destinatario/a. Si usted no es el/la destinatario/a original de este > mensaje, por favor elimínelo. La distribución o copia de este mensaje no > está autorizada. > > See more languages: http://www.sergas.es/aviso_confidencialidad.htm > > XACOBEO 2010: http://www.xacobeo.org > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- Patricia García González r-es.org/ [[alternative HTML version deleted]]