Je voudrais classer les points de données comme ayant besoin d'un modèle plus complexe ou n'ayant pas besoin d'un modèle plus complexe. Ma pensée actuelle est d'adapter toutes les données à un modèle linéaire simple et d'observer la taille des résidus pour faire cette classification. J'ai ensuite fait quelques lectures sur les contributions du biais et de la variance à l'erreur, et j'ai réalisé que si je pouvais calculer le biais directement, ce pourrait être une meilleure mesure que de travailler avec l'erreur totale (résiduelle ou résiduelle standardisée).
Est-il possible d'estimer directement le biais avec un modèle linéaire? Avec ou sans données de test? La validation croisée serait-elle utile ici?
Sinon, peut-on utiliser un ensemble de bootstrapping moyen de modèles linéaires (je pense que cela s'appelle l'ensachage) pour approximer le biais?
Réponses:
Vous ne pouvez généralement pas décomposer l'erreur (résidus) en composantes de biais et de variance. La raison simple est que vous ne connaissez généralement pas la vraie fonction. Rappelez-vous que le et que est la chose inconnue que vous souhaitez estimer.f ( x )b i a s ( f^( x ) ) = E[ f^( x ) - f( x ) ] , F( x )
Et le bootstrapping? Il est possible d'estimer le biais d'un estimateur par bootstrapping, mais pas sur les modèles d'ensachage, et je ne crois pas qu'il y ait un moyen d'utiliser le bootstrap pour évaluer le biais dans f ( x ) , parce que bootstrapping est toujours basé sur une certaine notion de la vérité et ne peut pas, malgré les origines de son nom, créer quelque chose à partir de rien.f^(x),
Pour clarifier: l'estimation d'amorçage de biais dans l'estimateur θ est ^ b i a s B = θ * ( ⋅ ) - θ ,θ^
avec θ * ( ⋅ ) étant la moyenne de votre statistique calculée sur B échantillons bootstrap . Ce processus émule celui de l'échantillonnage d'une certaine population et le calcul de votre quantité d'intérêt. Cela ne fonctionne que si θ pourrait en principe être calculé directement à partir de la population. L'estimation bootstrap du biais permet de déterminer si l'estimation du plug-in, c'est-à-dire le simple fait de faire le même calcul sur un échantillon plutôt que dans la population, est biaisée.θ^∗(⋅) B θ^
Si vous souhaitez simplement utiliser vos résidus pour évaluer l'ajustement du modèle, c'est tout à fait possible. Si vous, comme vous le dites dans les commentaires, souhaitez comparer les modèles imbriqués et f 2 ( x ) = 3 x 1 + 2 x 2 + x 1 x 2 , vous peut faire de l'ANOVA pour vérifier si le modèle plus grand réduit considérablement la somme des erreurs quadratiques.f1(x)=3x1+2x2 f2(x)=3x1+2x2+x1x2
la source
Une situation où vous pouvez obtenir une estimation de la décomposition est si vous avez répliqué des points (c'est-à-dire pour avoir plus d'une réponse pour diverses combinaisons des prédicteurs).
Ceci est principalement limité aux situations où vous avez le contrôle des variables indépendantes (comme dans les expériences) ou où elles sont toutes discrètes (quand il n'y a pas trop de combinaisons x et que vous pouvez prendre un échantillon suffisamment grand pour que les combinaisons de valeurs x obtenir plusieurs points).
Les points répliqués vous donnent un moyen sans modèle d'estimer la moyenne conditionnelle. Dans de telles situations, il est possible de décomposer la somme résiduelle des carrés en erreur pure et en manque d'ajustement , mais vous avez également des estimations directes (bien que nécessairement bruyantes) du biais à chaque combinaison de valeurs x pour lesquelles vous avez plusieurs réponses.
la source
Dans le domaine de filtrage de Kalman un peu plus complexe, les gens testent parfois les résidus (mesures observées moins mesures prédites) pour rechercher des changements de modèle ou des conditions de défaut. En théorie, si le modèle est parfait et que le bruit est gaussien, les résidus devraient également être gaussiens avec une moyenne nulle et également être cohérents avec une matrice de covariance prédite. Les gens peuvent tester la moyenne non nulle avec des tests séquentiels comme un test de rapport de probabilité séquentielle (SPRT). Votre situation est différente car vous disposez d'un lot de données fixe plutôt que d'un flux régulier de nouvelles données. Mais l'idée de base de regarder la distribution de l'échantillon des résidus pourrait toujours s'appliquer.
Vous indiquez que le processus que vous modélisez peut changer occasionnellement. Ensuite, pour en faire plus avec les données dont vous disposez, vous devrez probablement identifier d'autres facteurs à l'origine de ce changement. Considérez 2 possibilités: (1) vous avez peut-être besoin de modèles locaux plutôt que d'un modèle global, par exemple, parce qu'il n'y a de graves non-linéarités que dans certaines régions d'exploitation, ou (2), peut-être que le processus change avec le temps.
S'il s'agit d'un système physique et que vos échantillons ne sont pas pris à des intervalles de temps énormes, il est possible que ces changements de processus persistent sur des périodes de temps importantes. Autrement dit, les vrais paramètres du modèle peuvent parfois changer, persistant pendant une certaine période de temps. Si vos données sont horodatées, vous pouvez regarder les résidus au fil du temps. Par exemple, supposons que vous ayez ajusté y = Ax + b en utilisant toutes vos données, en trouvant A et b. Revenez ensuite en arrière et testez la séquence résiduelle r [k] = y [k] - Axe [k] - b, où k est un indice correspondant aux temps dans un ordre séquentiel. Recherchez des modèles au fil du temps, par exemple, des périodes où des statistiques sommaires comme || r [k] || reste plus élevé que la normale pendant un certain temps. Les tests séquentiels seraient les plus sensibles à la détection d'erreurs de biais prolongés, quelque chose comme SPRT ou même CUSUM pour des indices vectoriels individuels.
la source
La réponse est non , car le biais et la variance sont des attributs des paramètres du modèle, plutôt que les données utilisées pour les estimer. Il y a une exception partielle à cette affirmation qui concerne le biais et la variance variant (ha!) À travers l'espace de prédiction; plus sur cela ci-dessous. Notez que cela n'a absolument rien à voir avec la connaissance d'une fonction "vraie" reliant les prédicteurs et les variables de réponse.
Considérons l'estimation de dans une régression linéaire, , où est une matrice de prédicteurs, est un vecteur d'estimations de paramètres, et est un vecteur de réponses. Supposons pour les besoins de l'argument que nous avons une population infinie de données à partir desquelles puiser (ce n'est pas complètement ridicule, en passant - si nous enregistrions activement les données d'un processus physique, nous pourrions enregistrer des données de prédicteur et de réponse à un rythme rapide , satisfaisant ainsi pratiquement à cette hypothèse). Nous tirons donc observations, chacune consistant en une seule valeur de réponse et une valeur pour chacun desβ β^=(XTX)−1XTY X N×P β^ P×1 Y N×1 N P PrédicteursNous calculons ensuite notre estimation de et enregistrons les valeurs. Reprenons alors tout ce processus et répétons-le fois, en faisant à chaque fois tirages indépendants de la population. Nous accumulerons estimations de sur lesquelles nous pouvons calculer la variance de chaque élément du vecteur paramètre. Il est à noter que la variance de ces estimations de paramètres est inversement proportionnelle à et proportionnelle à , en supposant l'orthogonalité des prédicteurs.β^ Niter N Niter β^ N P
Le biais de chaque paramètre peut être estimé de manière similaire. Bien que nous n'ayons peut-être pas accès à la "vraie" fonction, supposons que nous pouvons effectuer un nombre arbitrairement élevé de tirages à partir de la population afin de calculer , qui servira de proxy pour la "vraie" valeur du paramètre . Nous supposerons qu'il s'agit d'une estimation non biaisée (moindres carrés ordinaires) et que le nombre d'observations utilisées était suffisamment important pour que la variance de cette estimation soit négligeable. Pour chacun des paramètres , nous calculons , où varie de à . Nous prenons la moyenne de ces différences comme une estimation du biais dans le paramètre correspondant.P β bs estj - β jj1Niterβ^best P β^bestj−β^j j 1 Niter
Il existe des moyens correspondants de relier le biais et la variance aux données elles-mêmes, mais elles sont un peu plus compliquées. Comme vous pouvez le voir, le biais et la variance peuvent être estimés pour les modèles linéaires, mais vous aurez besoin de beaucoup de données de maintien. Un problème plus insidieux est le fait qu'une fois que vous commencez à travailler avec un ensemble de données fixe, vos analyses seront polluées par votre variance personnelle , en ce que vous aurez déjà commencé à errer dans le jardin des chemins de bifurcation et il n'y a aucun moyen de savoir comment cela répliquerait hors échantillon (sauf si vous venez de créer un modèle unique et que vous avez exécuté cette analyse et que vous vous êtes engagé à le laisser seul après).
En ce qui concerne la question des points de données eux-mêmes, la réponse la plus correcte (et triviale) est que s'il y a une différence entre etY Y - YY Y^ , vous avez besoin d'un modèle plus complexe (en supposant que vous puissiez identifier correctement tous les prédicteurs pertinents; vous ne pouvez pas). Sans entrer dans un traité ennuyeux sur la nature philosophique de «l'erreur», l'essentiel est qu'il s'est passé quelque chose qui a fait que votre modèle a raté sa cible. Le problème est que l'ajout de complexité augmente la variance, ce qui lui fera probablement manquer la marque sur d'autres points de données. Par conséquent, s'inquiéter de l'attribution des erreurs au niveau des points de données individuels ne sera probablement pas une entreprise fructueuse. L'exception (mentionnée dans le premier paragraphe) provient du fait que le biais et la variance sont en fait des fonctions des prédicteurs eux-mêmes, de sorte que vous pouvez avoir un biais important dans une partie de l'espace des prédicteurs et un biais plus petit dans une autre (idem pour la variance).Y−Y^ plusieurs fois (où etßY^=Xβ^ β^ Y X
la source