Prenons l'exemple suivant:
set.seed(342)
x1 <- runif(100)
x2 <- runif(100)
y <- x1+x2 + 2*x1*x2 + rnorm(100)
fit <- lm(y~x1*x2)
Cela crée un modèle de y basé sur x1 et x2, en utilisant une régression OLS. Si nous souhaitons prédire y pour un x_vec donné, nous pourrions simplement utiliser la formule que nous obtenons du summary(fit)
.
Cependant, que se passe-t-il si nous voulons prédire les prédictions inférieures et supérieures de y? (pour un niveau de confiance donné).
Comment alors construire la formule?
r
regression
predictive-models
prediction-interval
Tal Galili
la source
la source
Réponses:
Vous aurez besoin d'une arithmétique matricielle. Je ne sais pas comment Excel ira avec ça. Bref, voici les détails.
Supposons que votre régression soit écrite comme .y = X β+ e
Soit un vecteur ligne contenant les valeurs des prédicteurs pour les prévisions (au même format que ). Ensuite, la prévision est donnée par avec une variance associée Ensuite, un intervalle de prédiction de 95% peut être calculé (en supposant des erreurs normalement distribuées) comme Cela tient compte de l'incertitude due au terme d'erreurX y = X * β = X * ( X ' X ) - 1 X ' Y σ 2 [ 1 + X * ( X ' X ) - 1 ( X * ) ' ] . Y ±1,96 σ √X∗ X
la source
Êtes-vous par hasard après les différents types d'intervalles de prédiction? La
predict.lm
page de manuel aet
Est-ce ce que tu avais en tête?
la source
@Tal: Puis-je suggérer Kutner et al comme une source fabuleuse pour les modèles linéaires.
la source