Así que actualmente estoy tratando de dibujar el intervalo de confianza para un modelo lineal. Me enteré de que debo usar predecir.lm() para esto, pero tengo un par de problemas realmente la comprensión de la función y no me gusta usar funciones sin saber lo que está sucediendo. He encontrado varios consejos sobre este tema, pero sólo con el correspondiente R-código, ninguna explicación real.
Esta es la misma función:

## S3 method for class 'lm'
predict(object, newdata, se.fit = FALSE, scale = NULL, df = Inf,
        interval = c("none", "confidence", "prediction"),
        level = 0.95, type = c("response", "terms"),
        terms = NULL, na.action = na.pass,
        pred.var = res.var/weights, weights = 1, ...)

Ahora, ¿qué he de problemas de comprensión:

    1) newdata  
    An optional data frame in which to look for variables 
    with which to predict. If omitted, the fitted values are used.
  • Parece que todo el mundo utilice nuevosdatos para esto, pero yo no entiendo muy bien por qué. Para calcular el intervalo de confianza que, obviamente, necesita los datos que este intervalo es (como el # de observaciones, la media de x, etc), por lo que no puede ser lo que se entiende por ella. Pero entonces: ¿Qué es, qué significa?

    2) interval
    Type of interval calculation.

  • bien.. pero ¿qué es «ninguno»?

    3a) type
    Type of prediction (response or model term).

    3b) terms
    If type="terms", which terms (default is all terms)

  • 3a: puedo por que obtener el intervalo de confianza para una variable específica en mi modelo? Y si es así, ¿cuál es 3b para entonces? Si puedo especificar el plazo en 3a, no tendría sentido hacerlo en la 3b de nuevo.. así que creo que me equivoque de nuevo, pero no puedo averiguar por qué.

Supongo que algunos de ustedes pueden pensar: «¿por Qué no acaba de probar esto? Y me gustaría (aunque tal vez no todo se resuelve aquí), pero yo ahora mismo no sé cómo. Como no lo hago ahora, lo que el nuevosdatos es que, no sé cómo usarlo y si lo intento, no tengo el derecho de intervalo de confianza. De alguna manera, es muy importante la forma de elegir los datos, pero yo no entiendo!

EDIT: quiero añadir que mi intención es entender cómo predecir.lm obras. Por eso me refiero a que no entiendo si funciona de la manera que yo creo que sí. Que se calcula y-hat (valores predichos) y que utiliza añade o resta de cada uno de la upr/lwr-límites del intervalo para calcular varios tipos de datos(el aspecto de la confianza de una línea de entonces) ?? Entonces yo le entienda por qué es necesario tener la misma longitud en el nuevosdatos como en el modelo lineal.

La sección de Detalles de la documentación se describe el newdata argumento en algunas de longitud. ¿Qué parte de que la discusión sigue siendo confuso?
Supongo que esto es lo que me confunde: «predecir.lm produce los valores de predicción obtenidos mediante la evaluación de la función de regresión en el marco de nuevosdatos» (en la explicación general) y «Si nuevosdatos se omite las predicciones se basan en los datos utilizados para el ajuste.» para nuevosdatos. Por qué iba a tratar de obtener los intervalos de confianza que no están conectados en mi regresión real? Esto es como yo lo entiendo esta frase, así que esto es lo que me confunde. A continuación, se explica cómo la falta de valores que se manejan en ese caso, pero yo lucho con la primera parte ya!
Usted podría estar interesado en la predicción los intervalos para las nuevas observaciones.
Oh, bien! Esto ayuda mucho (+1), por lo que en el nuevosdatos me la pondría todos los puntos de datos que quiero ser predicho? Así, no de los que ya tengo, pero no los otros? O puedo poner ambas en eso? Así que me gustaría conseguir una línea, incluso allí donde no tengo ninguna?!
newdata no no necesidad de tener el mismo número de observaciones como el modelo ajustado …

OriginalEl autor lisa | 2012-09-22

1 Comentario

  1. 21

    Hacer algunos datos:

    d <- data.frame(x=c(1,4,5,7),
                    y=c(0.8,4.2,4.7,8))

    Ajuste del modelo:

    lm1 <- lm(y~x,data=d)

    Confianza e intervalos de predicción con el original de los valores de x:

    p_conf1 <- predict(lm1,interval="confidence")
    p_pred1 <- predict(lm1,interval="prediction")

    Conf. y pred. los intervalos con los nuevos valores de x (extrapolación y más finamente/espaciados uniformemente de datos original):

    nd <- data.frame(x=seq(0,8,length=51))
    p_conf2 <- predict(lm1,interval="confidence",newdata=nd)
    p_pred2 <- predict(lm1,interval="prediction",newdata=nd)

    Trazado todo junto:

    par(las=1,bty="l") ## cosmetics
    plot(y~x,data=d,ylim=c(-5,12),xlim=c(0,8)) ## data
    abline(lm1) ## fit
    matlines(d$x,p_conf1[,c("lwr","upr")],col=2,lty=1,type="b",pch="+")
    matlines(d$x,p_pred1[,c("lwr","upr")],col=2,lty=2,type="b",pch=1)
    matlines(nd$x,p_conf2[,c("lwr","upr")],col=4,lty=1,type="b",pch="+")
    matlines(nd$x,p_pred2[,c("lwr","upr")],col=4,lty=2,type="b",pch=1)

    Predecir.lm() en R - cómo conseguir que no constante de predicción de bandas alrededor de los valores ajustados

    El uso de los nuevos datos que permiten la extrapolación más allá de los datos originales; además, si los datos originales están escasamente o desigualmente espaciados, los intervalos de predicción (que no son líneas rectas) puede no ser bien aproximada por interpolación lineal entre los valores de x …

    No estoy muy seguro de lo que quieres decir con el «intervalo de confianza para una variable específica en mi modelo»; si desea que los intervalos de confianza en una parámetro, entonces usted debe utilizar confint. Si desea que las predicciones de los cambios basados solamente en algunos de los parámetros de cambio (haciendo caso omiso de la incertidumbre debido a los otros parámetros), entonces usted realmente desea utilizar type="terms".

    interval="none" (el valor predeterminado) sólo indica R que no molesten a la informática de confianza o intervalos de predicción, y para devolver sólo los valores predichos.

    Tal vez algunos tratan de explicar la diferencia entre un anuncio y un intervalo de confianza en pocas palabras? Esto es lo que yo entendí: CI da una pista acerca de que la media de la población es probable que caiga en el 95% de las veces. La PI en el otro lado no se trata de la media, pero sobre el futuro de los valores, esto es, los valores de y que no está en que los datos todavía. Es que esto de alguna manera correcta?
    Me permito sugerir que usted google ‘»predicción» intervalo «intervalo de confianza»‘ … ? las respuestas están ahí fuera … si usted no consigue lo que necesita, entonces usted probablemente debería pedir en stats.stackexchange.com , tal y como hemos llegado más allá del ámbito de la programación … también: stackoverflow.com/questions/9406139/…
    Sí he leído que, gracias de todos modos

    OriginalEl autor Ben Bolker

Dejar respuesta

Please enter your comment!
Please enter your name here