7
votes

Déterminer si la différence entre deux valeurs d'erreur est significative

J'évalue un certain nombre d'algorithmes différents dont le travail consiste à prédire la probabilité d'un événement survenant.

Je teste les algorithmes sur les ensembles de données de grands ish. Je mesure leur efficacité à l'aide d'une "erreur carrée moyenne racine", qui est la racine carrée de la ((somme des erreurs) carré). L'erreur est la différence entre la probabilité prédite (une valeur de point flottante entre 0 et 1) et le résultat réel (0,0 ou 1,0).

Je connais donc le RMSE, ainsi que le nombre d'échantillons que l'algorithme a été testé.

Le problème est que parfois les valeurs RMSE sont assez proches de l'autre, et j'ai besoin d'un moyen de déterminer si la différence entre eux est une chance, ou si elle représente une différence réelle de performance.

Idéalement, pour une paire de valeurs RMSE donnée, j'aimerais savoir quelle est la probabilité que l'une est vraiment meilleure que l'autre, de sorte que je puisse utiliser cette probabilité comme un seuil de signification.


0 commentaires

3 Réponses :


11
votes

Le MSE est une moyenne et donc le théorème central limite s'applique. Test donc si deux MSES sont identiques sont les mêmes que de tester si deux moyens sont égaux. Une difficulté comparée à un test standard comparant deux moyens est que vos échantillons sont corrélés - les deux proviennent des mêmes événements. Mais une différence de MSE est la même que la moyenne d'erreurs carrées différemment (des moyens sont linéaires). Cela suggère de calculer un test T-Test d'un échantillon comme suit:

  1. pour chaque x calculez une erreur E pour la procédure 1 et 2.
  2. calculer les différences d'erreurs carrées (E2 ^ 2-e1 ^ 2) .
  3. calculer la moyenne des différences.
  4. calculer l'écart type des différences.
  5. calculez une statistique T comme moyen / (sd / sqrt (n)) .
  6. Comparez votre statistique T à une valeur critique ou calculez une valeur p. Par exemple, rejetez l'égalité à 5% de niveau de confiance si | t |> 1.96 .

    La RMSE est une transformation monotonique de MSE afin que ce test ne soit pas donné de résultats de manière substantielle. Mais veillez à ne pas supposer que MRSE est RMSE.

    Une plus grande préoccupation devrait être surviser. Assurez-vous de calculer toutes vos statistiques MSE à l'aide de données que vous n'avez pas utilisées pour estimer votre modèle.


4 commentaires

C'est un peu maladroit pour totaliser les différences d'erreurs carrées, car je dois réellement tester plus de 2 algorithmes à la fois. Existe-t-il un moyen de faire cela où les intrants sont le nombre de tests (N) et les deux valeurs RMSE?


L'avantage de la différence d'abord est que vous évitez de calculer la nécessité de calculer des termes de covariance. Le problème est que COV (E1, E2)! = 0, donc un test T standard ne fonctionnera pas. Si vous n'avez que deux valeurs RMSE, vous ne connaissez pas la covariance, vous ne serez donc pas en mesure de calculer facilement une statistique de test. Si vous pouvez exécuter ces procédures à plusieurs reprises, vous voudrez peut-être envisager une bootstrapping. Cela vous permettra d'utiliser facilement toute statistique souhaitée de manière statistiquement défendue mais simple.


Que voulez-vous dire par "bootstrapping"? Je suppose que je n'ai pas vraiment bien indiqué le problème. Fondamentalement, je peux avoir des centaines d'algorithmes et je dois identifier le meilleur, donc je ne sais pas quel algorithme doit être comparé les uns aux autres jusqu'à ce que je n'ai pas déjà exécuté le test et enregistré les résultats: - /


Si vous êtes intéressé par les propriétés (par exemple la variance) de toute statistique (E.g, différence de RMSE), vous pouvez réemployer vos données plusieurs fois, calculant la statistique pour chaque échantillon. La distribution de ces statistiques se rapproche de la distribution d'échantillonnage de vos statistiques. C'est une idée très puissante et simple pour l'inférence fréquentiste: bit.ly/3avszr



4
votes

Vous entrez dans une vaste et controverseuse de calcul non seulement de calcul, mais de la philosophie. Les tests de signification et la sélection des modèles sont des sujets de désaccord intense entre les bayésiens et les fréquentistes. Le commentaire de Triston sur la fractionnement des ensembles de données dans les ensembles de formation et de vérification ne serait pas un bayésien.

Puis-je suggérer que RMSE n'est pas un score approprié pour les probabilités. Si les échantillons sont indépendants, le score approprié est la somme des logarithmes des probabilités attribuées aux résultats réels . (S'ils ne sont pas indépendants, vous avez un gâchis sur vos mains.) Ce que je décris est de marquer un modèle "plug-in". Une modélisation correcte bayésienne nécessite d'intégrer sur les paramètres de modèle, ce qui est calculé extrêmement difficile. Un moyen bayésien de réglementer un modèle plug-in consiste à ajouter une pénalité au score pour les paramètres de modèle improbable (volumineux). Cela a été appelé "Decom de poids".

J'ai commencé sur mon chemin de la découverte de la lecture réseaux de neurones pour la reconnaissance de modèle par Christopher Bishop. Je l'ai utilisé et optimisation pratique par Gill, et al pour écrire un logiciel qui a très bien fonctionné pour moi.


15 commentaires

Commentant mon propre commentaire. "Le score approprié" est trop fort un terme. Ce score est souvent approprié, mais vous aurez peut-être besoin d'un score de coûts qui prend en compte le gain de la classification correcte et de la perte de fausses classifications. C'est un sujet profond. Ne comptez pas sur un modèle pour des décisions importantes à moins que vous sachiez vraiment ce que vous faites, et vous comprenez vraiment comment votre jeu de données est lié à la distribution des données que vous évaluerez. Démonter la boîte à savon maintenant.


Je suis entièrement bayésien. Mais étant donné la question, un test T fréquentiste utilisant des erreurs hors échantillon est certainement défendable statistiquement et devrait donner de bonnes réponses. Ce n'est pas clair que la solution bayésienne est du tout réalisable; Le questionneur utilise des procédures d'estimation existantes, non bayésiennes et semble se soucier des critères d'ajustement MSE.


@Tristan. Compris. Mais est-ce que MSE est raisonnable pour des sorties de probabilité? Existe-t-il un étudiant analogique pour un score d'erreur logarithmique?


@Swing. Je ne sais pas exactement ce que vous recommandez, bien que je sois sympathique à votre point général. Je suppose que cela concerne la probabilité et quelque chose comme Bic. Mais vous allez avoir besoin d'un degrés de correction de la liberté, sinon le meilleur modèle de retournerait exactement les données. Les mesures de type BIC ont également des problèmes majeurs.


@Tristan. Il a dit: "L'erreur est la différence entre la probabilité prédite (une valeur de point flottante entre 0 et 1) et le résultat réel (0,0 ou 1,0)." Le problème est que ce n'est pas un score d'erreur raisonnable pour les probabilités. (Les résultats sont des événements oui / non, pas des mesures avec le bruit gaussien.) Faire toutes les hypothèses habituelles, l'erreur est -sum Log (PI), où les PI sont les probabilités attribuées aux événements qui se sont produits. Je ne pense pas que ce soit insignifiant.


[Excusez-moi. Je me laisse avec le logiciel.] @Tristan. Bic est stupide. Il tombe entièrement à mesure que le nombre de paramètres de modèle augmente. Mais je ne parle même pas du choix du modèle. Je ne fais que problème avec les chiffres qu'il a l'intention d'utiliser dans le processus de sélection.


(Suite) Il a dit: "L'erreur est la différence entre la probabilité prédite (une valeur de point flottante entre 0 et 1) et le résultat réel (0,0 ou 1,0)." Le problème est que ce n'est pas un score d'erreur raisonnable pour les probabilités. (Les résultats sont des événements oui / non, pas des mesures avec le bruit gaussien.) Faire toutes les hypothèses habituelles, l'erreur est -sum Log (PI), où les PI sont les probabilités attribuées aux événements qui se sont produits. Je ne pense pas que ce soit insignifiant.


(Suite à nouveau) Utilisation des différences carrées, quatre prévisions de la probabilité de 50% auraient la même pénalité qu'une prédiction de la probabilité zéro qui est venue passer. Le premier résultat pourrait être assez bon. Le second devrait disqualifier le modèle absolument (et entraîner une erreur de point flottant. :-))


Je conviens qu'une meilleure mesure serait de rendre la prédiction binaire et de joindre des utilitaires à chaque résultat. Mais MSE n'est pas automatiquement invalide car il est continu. Une demande de financement pourrait être vendue un contrat pour un pari de 0/1. Si PI est votre estimation d'un pari juste, vous vendriez le contrat pour PI et gagnez X-PI (pas 0 ou 1). Ajouter une utilité carrée sur le revenu et vous avez MSE.


X-PI, je comprends. Ce que je ne comprends pas, c'est pourquoi on le ferait carré. Quelle justification y a-t-il pour cela? Si l'objectif de la demande financière est de maximiser la croissance du portefeuille en pariant les fractions de la capitale du portefeuille, il souhaite également maximiser le logarithme (critère Kelly), pas le carré. Qu'est-ce qui est avec le quadrillage? :-)


Oui, cette dernière partie de ce que j'ai dit n'a pas de sens. En fin de compte, MSE est un contrat qui a des pertes au carré sur la différence X-PI dans les deux sens. C'est une fonction utilitaire possible, mais un étrange qui ne convient pas à l'exemple que j'ai donné.


@Jive, je suis très intéressé par votre commentaire que RMSE n'est pas un bon moyen de mesurer les scores. J'ai fini par utiliser simplement faute de quoi que ce soit d'autre. Gardant à l'esprit que les mathématiques ne sont pas une action forte, pouvez-vous me donner un pointeur spécifique quant à la justification de cela? J'ai regardé les livres que vous avez recommandé, mais je crains que les deux ne soient pas au-delà de ma compréhension des mathématiques (essentiellement lycée), et ils sont tous deux très chers :-(


Juste pour scintiles sur le débat sur la meilleure métrique. L'application réelle est que je souhaite sélectionner quelle annonce afficher, en fonction de la probabilité que mon algorithme pense que l'annonce sera cliquée. Ainsi, la prestation est proportionnelle à la différence entre la meilleure annonce que celle sélectionnée par algorithme A, par rapport à la meilleure annonce tel que sélectionnée par algorithme B. Une métrique que j'ai envisagée est prise, disons, les 10% des probabilités prédites pour chaque algorithme , puis comptant combien d'annonces ont été cliquées dans ce centile pour chaque annonce. Que chacun a eu le plus de clics parmi leurs probabilités prédites au maximum gagne.


Je devrais ajouter que l'application publicitaire n'est que l'une des nombreuses applications pour lesquelles je travaille, éventuellement, je me rendrai compte que je devrai fournir des algorithmes de marquage en pluggal (et avoir déjà l'infrastructure pour cela).


Mais l'erreur carrée est la score de Brier qui est une règle de notation appropriée.



0
votes

Je réponds ici aux questions des commentaires. Le sujet est beaucoup trop gros pour gérer les commentaires.

Version Notes Cliff.

Les types de scores dont nous parlons de probabilités de mesure. (Que ce soit approprié pour ce que vous faites est une autre question.) Si vous supposez que les échantillons sont indépendants, vous obtenez la probabilité «totale» en multipliant simplement toutes les probabilités ensemble. Mais cela entraîne généralement des nombres absurdement petits, donc de manière équivalente, vous ajoutez les logarithmes des probabilités. Plus grand c'est mieux. Zéro est parfait.

Erreur éventuelle omniprésente, -x ^ 2, où X est l'erreur du modèle, provient de l'hypothèse (fréquemment injustifiée) selon laquelle les données de formation comprennent des observations (mesures) corrompues avec "bruit gaussien". Si vous regardez dans Wikipedia ou quelque chose à la définition d'une distribution gaussienne (aka normale), vous constaterez qu'il contient le terme E ^ (- x ^ 2). Prenez le logarithme naturel de cela, et de Voila !, -x ^ 2. Mais vos modèles ne produisent pas de valeurs de "pré-bruit" les plus probables pour les mesures. Ils produisent des probabilités directement. Donc, la chose à faire est simplement d'ajouter les logarithmes des probabilités assignées aux événements observés. Ces observations sont supposées être sans bruit. Si les données de formation indiquent que c'est arrivé, c'est arrivé.

Votre question initiale reste sans réponse. Comment dire si deux modèles diffèrent "de manière significative"? C'est une question vague et difficile. C'est le sujet de beaucoup de débats et même d'émotion et de rancor. Ce n'est pas non plus vraiment la question que vous voulez répondre. Ce que vous voulez savoir, ce modèle vous donne le meilleur résultat attendu, toutes choses considérées, y compris le coût de chaque progiciel, etc.

Je vais devoir le casser bientôt. Ce n'est pas la place pour un cours sur la modélisation et la probabilité, et je ne suis pas vraiment qualifié comme professeur.


0 commentaires