Hola Olivier, Muchísimas gracias por la ayuda, todo entendido. Con tan pocos datos no puedo pretender obtener lo que me imagino en mi cabeza.
Me has ayudado mucho a entender como funcionaba, todo solucionado! Un abrazo, y gracias de nuevo. El 17 de abril de 2015, 9:58, Olivier Nuñez <onu...@unex.es> escribió: > Pero, si el modelo lineal lo cubre casi todo! > Tu modelo es lineal pero generalizado y estás especificando que tus datos > siguen una Gamma (family=Gamma). > Lo cual implica por defecto que en promedio la relación entre la variable > dependiente ("datos") y la independiente ("num") es inversa.... no es > precisamente lineal. > Si quieres más flexibilidad puedes utilizar splines en la regresión; un > ejemplo: > require(splines) > modelo <- svyglm(formula = datos ~ ns(num,2), design = svy, family = Gamma) > > svyplot(formula = datos ~ num, design = svy) > lines(svy$variables$num, fitted(modelo), col="red") > > > Pero, con 10 puntos sólo ganaras inestabilidad en la predicción. > > > ------------------------------ > *De: *"Víctor Nalda Castellet" <victor.nalda.castel...@gmail.com> > *Para: *"Olivier Nuñez" <onu...@unex.es> > *Enviados: *Jueves, 16 de Abril 2015 18:55:17 > > *Asunto: *Re: [R-es] Weighted Likelihood > > Hola Olivier, > > No recordaba la función "fitted", muchas gracias. Lo que ocurre es que > claro al utilizar "glm", es un modelo lineal. Me gustaría saber si se puede > ajustar mediante otro tipo de funciones como una Gamma o una normal, ¿sabes > cómo? > > install.packages("survey") > library("survey") > > num <- c(1:10) > datos <- c(1.1146265, 0.9039153, 0.8374396, 0.7089485, 1.2488793, > 2.5789016, 2.0976523, 0.9748834, 0.2738321, 1.1842141) > pesos <- c(0.7,0.7,1,1,0.02,0.01,1,0.01,0.05,0.2) > df <- cbind.data.frame(num, datos, pesos) > > svy <- svydesign(datos, weights = pesos, data = df) > > modelo <- svyglm(formula = datos ~ num, design = svy, family = Gamma) > # family: binomial, gaussian, Gamma, inverse.gaussian, poisson, quasi, > quasibinomial, quasipoisson > > svyplot(formula = datos ~ num, design = svy) > lines(svy$variables$num, fitted(modelo), col="red") > > > De verdad, muchas gracias por ayudar. > > El 16 de abril de 2015, 18:27, Olivier Nuñez <onu...@unex.es> escribió: > >> Todo parece correcto (siempre que tus pesos son efectivamente "weight >> sampling"). >> El ajuste, lo puedes obtener de manera estándar con fitted(modelo) y >> vizualizarlo por ejemplo con >> >> svyplot(formula = datos ~ num, design = svy) >> lines(svy$variables$num,fitted(modelo),col="blue") >> >> >> >> ------------------------------ >> *De: *"Víctor Nalda Castellet" <victor.nalda.castel...@gmail.com> >> *Para: *"Olivier Nuñez" <onu...@unex.es> >> *Enviados: *Jueves, 16 de Abril 2015 17:25:56 >> >> *Asunto: *Re: [R-es] Weighted Likelihood >> >> Hola Olivier, >> >> Muchas gracias por la ayuda, te he entendido perfectamente. >> >> Tengo un vector de datos y uno de pesos, por ejemplo: >> >> num <- c(1:10) >> datos <- c(1.1146265, 0.9039153, 0.8374396, 0.7089485, 1.2488793, >> 2.5789016, 2.0976523, 0.9748834, 0.2738321, 1.1842141) >> pesos <- c(0.7,0.7,1,1,0.02,0.01,0.02,0.01,0.05,0.2) >> df <- cbind.data.frame(num, datos, pesos) >> >> Ahora creo el diseño como: >> >> svy <- svydesign(datos, weights = pesos, data = df) >> >> Y si hago su gráfica puedo ver que unos puntos tienen mayor peso que >> otros, tal y como he especificado en los "pesos": >> >> svyplot(formula = datos ~ num, design = svy) >> >> Ahora quiero ajustar el modelo mediante una función Gamma, para ello: >> >> modelo <- svyglm(formula = datos ~ num, design = svy, family = Gamma) >> # family: binomial, gaussian, Gamma, inverse.gaussian, poisson, quasi, >> quasibinomial, quasipoisson >> summary(modelo) >> plot(modelo) >> >> ¿Esto es correcto? ¿Cómo puedo ver el ajuste? >> >> >> Muchas gracias, un saludo. >> >> El 16 de abril de 2015, 11:40, Olivier Nuñez <onu...@unex.es> escribió: >> >>> No das muchos detalles sobre porque quieres ponderar los datos, pero >>> intuyo que es por el diseño. >>> Si es así, la función svydesign del paquete te permite especificar bien >>> la probabilidad de selección del dato (probs) en la muestra o de manera >>> equivalente, o el "sampling weight" que puedes interpretar como la >>> representatividad del dato en la población. Una vez especificado el diseño >>> mediante esta función, puedes llevar cualquier análisis estandár de tus >>> datos. Un saludo. Olivier >>> >>> ------------------------------ >>> *De: *"Víctor Nalda Castellet" <victor.nalda.castel...@gmail.com> >>> *Para: *"Olivier Nuñez" <onu...@unex.es> >>> *CC: *"r-help-es" <r-help-es@r-project.org> >>> *Enviados: *Jueves, 16 de Abril 2015 11:25:10 >>> *Asunto: *Re: [R-es] Weighted Likelihood >>> >>> >>> Hola, >>> >>> He buscado por el pdf de la documentación qué función es la que me puede >>> servir pero no encuentro ninguna. >>> ¿Tenías alguna función especifica de ese paquete pensada? >>> >>> >>> Un saludo, y muchas gracias por la ayuda. >>> >>> El 16 de abril de 2015, 10:45, Víctor Nalda Castellet < >>> victor.nalda.castel...@gmail.com> escribió: >>> >>>> ¡Muchas gracias Olivier! >>>> >>>> >>>> Un saludo. >>>> >>>> El 16 de abril de 2015, 10:44, Olivier Nuñez <onu...@unex.es> escribió: >>>> >>>>> Mira el paquete survey. >>>>> Un saludo. Olivier >>>>> >>>>> ----- Mensaje original ----- >>>>> De: "Víctor Nalda Castellet" <victor.nalda.castel...@gmail.com> >>>>> Para: "r-help-es" <r-help-es@r-project.org> >>>>> Enviados: Miércoles, 15 de Abril 2015 14:21:33 >>>>> Asunto: [R-es] Weighted Likelihood >>>>> >>>>> Buenas tardes, >>>>> >>>>> Estoy intentando ajustar distribuciones utilizando un vector de >>>>> ponderación >>>>> en los datos (Weighted Likelihood). ¿Existen paquetes en R que >>>>> resuelven >>>>> esto? He mirado ya el paquete "wle" pero no me permite introducir los >>>>> pesos >>>>> mediante los cuales ponderar los datos. >>>>> >>>>> En un primer momento, se me ha ocurrido realizar lo siguiente: repetir >>>>> cada elemento del vector datos tantas veces como indique el vector >>>>> pesos >>>>> “modificado” (multiplicado por una potencia de 10, para que sean todos >>>>> números enteros). Y con este vector de datos repetidos realizar el >>>>> ajuste. >>>>> >>>>> Pero me gustaría conocer si existen otras formas "más elegantes" de >>>>> hacerlo. >>>>> >>>>> >>>>> Un saludo, y muchas gracias por adelantado. >>>>> >>>>> -- >>>>> Víctor Nalda Castellet >>>>> >>>>> [[alternative HTML version deleted]] >>>>> >>>>> _______________________________________________ >>>>> R-help-es mailing list >>>>> R-help-es@r-project.org >>>>> https://stat.ethz.ch/mailman/listinfo/r-help-es >>>>> >>>> >>>> >>>> >>>> -- >>>> Víctor Nalda Castellet >>>> >>> >>> >>> >>> -- >>> Víctor Nalda Castellet >>> >>> >> >> >> -- >> Víctor Nalda Castellet >> >> > > > -- > Víctor Nalda Castellet > > -- Víctor Nalda Castellet [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es