Comment calculer les bandes de prédiction pour la régression non linéaire?

16

La page d'aide de Prism donne l'explication suivante sur la façon dont il calcule les bandes de prédiction pour la régression non linéaire. Veuillez excuser la longue citation, mais je ne suis pas le deuxième paragraphe (qui explique comment est défini et est calculé). Toute aide serait grandement appréciée.g|XOui/P

Le calcul des bandes de confiance et de prédiction est assez standard. Lisez la suite pour plus de détails sur la façon dont Prism calcule les prédictions et les bandes de confiance de la régression non linéaire.

Tout d'abord, définissons G | x, qui est le gradient des paramètres à une valeur particulière de X et en utilisant toutes les valeurs les mieux ajustées des paramètres. Le résultat est un vecteur, avec un élément par paramètre. Pour chaque paramètre, il est défini comme dY / dP, où Y est la valeur Y de la courbe compte tenu de la valeur particulière de X et de toutes les valeurs de paramètre les mieux adaptées, et P est l'un des paramètres.)

G '| x est ce vecteur de gradient transposé, c'est donc une colonne plutôt qu'une ligne de valeurs.

Cov est la matrice de covariance (Hesse inversée de la dernière itération). Il s'agit d'une matrice carrée avec un nombre de lignes et de colonnes égal au nombre de paramètres. Chaque élément de la matrice est la covariance entre deux paramètres.

Calculez maintenant c = G '| x * Cov * G | x. Le résultat est un nombre unique pour toute valeur de X.

Les bandes de confiance et de prédiction sont centrées sur la courbe de meilleur ajustement et s'étendent au-dessus et au-dessous de la courbe d'une quantité égale.

Les bandes de confiance s'étendent au-dessus et en dessous de la courbe de: = sqrt (c) * sqrt (SS / DF) * CriticalT (% de confiance, DF)

Les bandes de prédiction s'étendent sur une distance supplémentaire au-dessus et au-dessous de la courbe, égale à: = sqrt (c + 1) * sqrt (SS / DF) * CriticalT (% de confiance, DF)

Joe Listerr
la source
J'espère que cela vous aidera: stats.stackexchange.com/questions/74334/…
Bipi
J'espère que cela vous aidera: stats.stackexchange.com/questions/74334/…
Bipi
Ceci est en effet connu sous le nom de méthode delta et utilise une approximation de Taylor de premier ordre. Il vaut mieux utiliser une approximation de Taylor de second ordre pour cela - la fonction PredictNLS dans le package de propagation le fait si vous êtes intéressé!
Tom Wenseleers

Réponses:

18

C'est ce qu'on appelle la méthode Delta.

Supposons que vous ayez une fonction ; notez que G ( ) est une fonction des paramètres que vous estimez, β , et des valeurs de vos prédicteurs, x . Tout d'abord, trouvez la dérivée de cette fonction par rapport à votre vecteur de paramètres, β : G ( β , x )y=g(β,X)+ϵg()βXβg(β,X). Cela dit, si vous changez un paramètre un peu, combien votre fonction change-t-elle? Notez que cette dérivée peut être fonction de vos paramètres eux-mêmes ainsi que des prédicteurs. Par exemple, si , alors la dérivée est x exp ( β x ) , qui dépend de la valeur de β et de la valeur de x . Pour évaluer cela, vous branchez l'estimation de β que votre procédure donne, β , et la valeur du prédicteur xg(β,X)=exp(βX)Xexp(βX)βXββ^X où vous voulez la prédiction.

La méthode Delta, dérivée de procédures du maximum de vraisemblance, indique que la variance de va être G ' ( β , x ) T Var ( β ) G ' ( β , x ) ,Var ( β )g(β^,X)

G(β^,x)TVar(β^)G(β^,X),
Var(β^)est la matrice de variance-covariance de vos estimations (elle est égale à l'inverse de la Hesse --- les dérivées secondes de la fonction de vraisemblance à vos estimations). La fonction utilisée par vos packages de statistiques calcule cette valeur pour chaque valeur différente du prédicteur . C'est juste un nombre, pas un vecteur, pour chaque valeur de x .XX

Cela donne la variance de la valeur de la fonction à chaque point et elle est utilisée comme n'importe quelle autre variance dans le calcul des intervalles de confiance: prendre la racine carrée de cette valeur, multiplier par la valeur critique pour la distribution t normale ou applicable pertinente pour un niveau de confiance particulier, et ajouter et soustraire cette valeur à l'estimation de au point.G()

Pour les intervalles de prédiction, nous devons tenir compte de la variance du résultat compte tenu des prédicteurs , Var ( y x ) σ 2 . Par conséquent, nous devons renforcer notre écart par rapport à la méthode Delta par notre estimation de la variance de ε , σ 2 , pour obtenir la variance de y , plutôt que la variance de la valeur attendue de y qui est utilisé pour les intervalles de confiance. Notez que σ 2 est la somme des erreurs au carré ( en notation de fichier d'aide) divisé par les degrés de liberté ( ).xVar(yx)σ2ϵσ^2yyσ^2SSDF

Dans la notation utilisée dans le fichier d'aide ci-dessus, il semble que leur valeur de cne tienne pas compte de ; c'est-à-dire que l'inverse de leur Hesse est σ - 2 fois celui que je donne. Je ne sais pas pourquoi ils font ça. Cela pourrait être un moyen d'écrire les intervalles de confiance et de prédiction d'une manière plus familière (de σ fois quelques fois multiplié par une valeur critique). La variance que je donne est en fait dans leur notation.σ2σ2σc*SS/DF

Par exemple, dans le cas connu de la régression linéaire, leur cserait , alors que le Var ( β ) = σ 2 ( x ' x ) - 1 .(xx)1Var(β^)=σ2(xx)1

Charlie
la source
Pouvez-vous expliquer le calcul ci? Ne ressemble pas au point critique de t * sqrt (var)
B_Miner
Je pense que je comprends leur calcul; J'ai mis à jour ma réponse.
Charlie
Charlie, merci beaucoup pour une réponse détaillée. J'ai l'intention d'écrire du code pour pouvoir calculer la bande de prédiction à 95%. Je vous ferai savoir comment ça se passe.
Joe Listerr
@Charlie - très très gentil!
B_Miner
2
@Charlie. Merci. J'ai ajouté une phrase à notre FAQ GraphPad Prism expliquant que nous utilisons cov pour désigner la matrice de covariance normalisée (chaque valeur varie de -1 à 1). J'ai également ajouté un lien vers cette page, ce qui est idéal pour tous ceux qui recherchent des détails mathématiques.
Harvey Motulsky