Buenas, una pregunta. Si yo estoy calculando un modelo lineal, el caso más simple, 1 variable respuesta y una variable explicativa y creo un modelo, me da un R2 del 80% y quiero ver como es esa relacion entre las variables, para calcular el error de predicción del modelo, basta con ver el intervalo de confianza del modelo e irme a los extremos? Por si no me he expresado bien, un ejemplo tonto: y=c(8.35,12.42,18.00,17.58,17.97,20.76) x=c(10,12,16,18,20,22) modelo<-lm(y~x) summary(modelo) library(MASS) Confint(modelo, level=0.95) Con esto tengo un modelo :> Confint(RegModel.1, level=0.95)Estimate 2.5 % 97.5 % (Intercept) 0.6100000 -6.8296312 8.049631 x 0.9328571 0.4919135 1.373801 Es decir, el intervalo de confianza de la respuesta y en función de los valores x, sería de la forma (ymin,ymax), siendo: ymin = -6,82 + 0,49*x ymax = 8,05 + 1,37*x Es esto correcto??? Gracias Jesús [[alternative HTML version deleted]]
Buenos dias Jesus, Esos valores son _aproximados_. Las estimaciones, de acuerdo con teoria de regresion, podrian obtenerse de manera puntual y construir intervalos de _confianza_ y _prediccion_ alrededor de estos. Ten en cuenta que el 2do tipo de intervalos de calcula para observaciones _futuras_. En R puedes calcularlos de la siguiente manera: ## IC de confianza ## ver ?predict.lm para mas detalles R> data.frame(y, predict(modelo, interval = "confidence")) y fit lwr upr #1 8.35 9.938571 6.580445 13.29670 #2 12.42 11.804286 9.134239 14.47433 #3 18.00 15.535714 13.664949 17.40648 #4 17.58 17.401429 15.396872 19.40599 #5 17.97 19.267143 16.798908 21.73538 #6 20.76 21.132857 18.014915 24.25080 ## intervalos de prediccion para x = 25 R> predict(modelo, newdata = data.frame(x = 25), interval = "prediction") # fit lwr upr #1 23.93143 17.69035 30.17251 Lo anterior significa que E[y|x=25] = 23.93 y el intervalo de prediccion del 95% es (17.69, 30.17). Espero sea de utilidad. Saludos cordiales, Jorge.- 2016-04-21 8:56 GMT-05:00 Jesús Para Fernández <j.para.fernandez en hotmail.com>:> Buenas, una pregunta. > > Si yo estoy calculando un modelo lineal, el caso más simple, 1 variable > respuesta y una variable explicativa y creo un modelo, me da un R2 del 80% > y quiero ver como es esa relacion entre las variables, para calcular el > error de predicción del modelo, basta con ver el intervalo de confianza del > modelo e irme a los extremos? > > Por si no me he expresado bien, un ejemplo tonto: > > y=c(8.35,12.42,18.00,17.58,17.97,20.76) > x=c(10,12,16,18,20,22) > > modelo<-lm(y~x) > summary(modelo) > library(MASS) > Confint(modelo, level=0.95) > > Con esto tengo un modelo : > > Confint(RegModel.1, level=0.95) > Estimate 2.5 % 97.5 % > (Intercept) 0.6100000 -6.8296312 8.049631 > x 0.9328571 0.4919135 1.373801 > > Es decir, el intervalo de confianza de la respuesta y en función de los > valores x, sería de la forma (ymin,ymax), siendo: > ymin = -6,82 + 0,49*x > ymax = 8,05 + 1,37*x > > Es esto correcto??? > > Gracias > Jesús > > > > > [[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 >[[alternative HTML version deleted]]
Enun ejemplo real estoy viendo como el intervalo de confianza usando lo que me comentas me ha salido mucho más pequeño de lo que la realidad luego refleja. ¿Cómo es esto posible?? Es decir, veo que para valores de 2,70 obtengo una respuesta de entre 2,69 y 2,90 y sin embargo luego en la realidad tengo valores entre 2,20 y 3 Gracias Jesús From: jorgeivanvelez en gmail.com Date: Thu, 21 Apr 2016 09:09:03 -0500 Subject: Re: [R-es] Calcular Error en modelo lineal To: j.para.fernandez en hotmail.com CC: r-help-es en r-project.org Buenos dias Jesus, Esos valores son _aproximados_. Las estimaciones, de acuerdo con teoria de regresion, podrian obtenerse de manera puntual y construir intervalos de _confianza_ y _prediccion_ alrededor de estos. Ten en cuenta que el 2do tipo de intervalos de calcula para observaciones _futuras_. En R puedes calcularlos de la siguiente manera: ## IC de confianza## ver ?predict.lm para mas detallesR> data.frame(y, predict(modelo, interval = "confidence")) y fit lwr upr#1 8.35 9.938571 6.580445 13.29670#2 12.42 11.804286 9.134239 14.47433#3 18.00 15.535714 13.664949 17.40648#4 17.58 17.401429 15.396872 19.40599#5 17.97 19.267143 16.798908 21.73538#6 20.76 21.132857 18.014915 24.25080 ## intervalos de prediccion para x = 25 R> predict(modelo, newdata = data.frame(x = 25), interval = "prediction") # fit lwr upr#1 23.93143 17.69035 30.17251 Lo anterior significa que E[y|x=25] = 23.93 y el intervalo de prediccion del 95% es (17.69, 30.17). Espero sea de utilidad. Saludos cordiales,Jorge.- 2016-04-21 8:56 GMT-05:00 Jesús Para Fernández <j.para.fernandez en hotmail.com>: Buenas, una pregunta. Si yo estoy calculando un modelo lineal, el caso más simple, 1 variable respuesta y una variable explicativa y creo un modelo, me da un R2 del 80% y quiero ver como es esa relacion entre las variables, para calcular el error de predicción del modelo, basta con ver el intervalo de confianza del modelo e irme a los extremos? Por si no me he expresado bien, un ejemplo tonto: y=c(8.35,12.42,18.00,17.58,17.97,20.76) x=c(10,12,16,18,20,22) modelo<-lm(y~x) summary(modelo) library(MASS) Confint(modelo, level=0.95) Con esto tengo un modelo :> Confint(RegModel.1, level=0.95)Estimate 2.5 % 97.5 % (Intercept) 0.6100000 -6.8296312 8.049631 x 0.9328571 0.4919135 1.373801 Es decir, el intervalo de confianza de la respuesta y en función de los valores x, sería de la forma (ymin,ymax), siendo: ymin = -6,82 + 0,49*x ymax = 8,05 + 1,37*x Es esto correcto??? Gracias Jesús [[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 [[alternative HTML version deleted]]