Comment sélectionner le meilleur ajustement sans données sur-ajustées? Modélisation d'une distribution bimodale avec N fonctions normales, etc.

11

J'ai une distribution de valeurs évidemment bimodale, que je cherche à adapter. Les données peuvent être adaptées à 2 fonctions normales (bimodales) ou à 3 fonctions normales. De plus, il existe une raison physique plausible pour ajuster les données avec 3.

Plus il y a de paramètres introduits, plus l'ajustement sera parfait, car avec suffisamment de constantes, on peut " ajuster un éléphant ".

Voici la distribution, ajustée à la somme de 3 courbes normales (gaussiennes):

Distribution avec

Ce sont les données de chaque ajustement. Je ne sais pas quel test je devrais appliquer ici pour déterminer l'ajustement. Les données comprennent 91 points.

1 Fonction normale:

  • RSS: 1.06231
  • X ^ 2: 3.1674
  • F.Test: 0,3092

2 fonctions normales:

  • RSS: 0.010939
  • X ^ 2: 0,053896
  • F.Test: 0,97101

3 fonctions normales:

  • RSS: 0.00536
  • X ^ 2: 0,02794
  • F.Test: 0.99249

Quel est le test statistique correct qui peut être appliqué pour déterminer laquelle de ces 3 correspondances est la meilleure? De toute évidence, l'ajustement de 1 fonction normale est inadéquat. Alors, comment puis-je distinguer entre 2 et 3?

Pour ajouter, je fais surtout cela avec Excel et un peu de Python; Je ne connais pas encore R ou d'autres langages statistiques.

MurphysLab
la source
Il a été suggéré d'utiliser le chi carré réduit X ^ 2 / (Nn-1) où N est le nombre de points de données et n est le nombre de paramètres ajustés. Cependant, la petite pénalité (+/- 3) par rapport au nombre de points de données (91) ne semble pas intuitivement être une pénalité particulièrement forte pour l'ajout d'un autre gaussien.
MurphysLab
Vous voudrez peut-être vérifier cette réponse (au cas où vous décideriez de suivre la Rroute). Certains critères de sélection des modèles sont mentionnés dans cette réponse . Enfin, vous voudrez peut-être considérer les méthodes d'ensemble , que j'ai brièvement couvertes dans cette réponse , qui contient également un lien vers des informations centrées sur Python. Vous pouvez trouver plus de détails sur la sélection et la moyenne des modèles dans cette réponse .
Aleksandr Blekh

Réponses:

5

Voici deux façons d'aborder le problème de la sélection de votre distribution:

  1. Pour la comparaison de modèles, utilisez une mesure qui pénalise le modèle en fonction du nombre de paramètres. Les critères d'information le font. Utilisez un critère d'information pour choisir le modèle à conserver, choisissez le modèle avec le critère d'information le plus bas (par exemple AIC). La règle de base pour comparer si une différence dans les AIC est significative est si la différence dans les AIC est supérieure à 2 (ce n'est pas un test d'hypothèse formel, voir Test de la différence des AIC de deux modèles non imbriqués ).

    2k2ln(L)kLL ( θ | x ) = P r ( x | θ ) Pr ( x | θ ) x θL=maxθL(θ|x)L(θ|x)=Pr(x|θ)Pr(x|θ)xθ

  2. Si vous voulez un test d'hypothèse formel, vous pouvez procéder d'au moins deux façons. Le plus simple est sans doute d'ajuster vos distributions en utilisant une partie de votre échantillon et de tester si les distributions de résidus sont significativement différentes en utilisant un test de Chi au carré ou de Kolgomorov-Smirnov sur le reste des données. De cette façon, vous n'utilisez pas les mêmes données pour ajuster et tester votre modèle que AndrewM mentionné dans les commentaires.

    Vous pouvez également effectuer un test de rapport de vraisemblance avec un ajustement de la distribution nulle. Une version de ceci est décrite dans Lo Y. et al. (2013) "Test du nombre de composants dans un mélange normal." Biometrika mais je n'ai pas accès à l'article, je ne peux donc pas vous fournir plus de détails sur la façon de procéder.

    Dans les deux cas, si le test n'est pas significatif, conservez la distribution avec le plus petit nombre de paramètres, s'il est significatif, choisissez celle qui a le plus grand nombre de paramètres.

Chris Novak
la source
@Momo merci, changé cela et ajouté l'équation pour AIC
Chris Novak
Je ne suis pas sûr à 100% mais l'AIC standard peut ne pas fonctionner comme prévu dans les modèles de mélange car différentes configurations des mélanges peuvent donner le même modèle.
Cagdas Ozgenc
Ce que je voulais dire, c'est que vous pouvez échanger les 2 gaussiens (en définissant la moyenne / variance du 1er au 2e et du 2e au 1er et également pour les mélanges de poids) et toujours obtenir le même modèle. Autant que je sache, l'AIC ne fonctionne pas comme prévu dans de telles situations.
Cagdas Ozgenc
1
@CagdasOzgenc Je vois votre point, mais il semble que l'AIC et le BIC standard se sont avérés adéquats pour la sélection de modèles dans les modèles de mélange gaussiens, voir par exemple le papier projecteuclid.org/download/pdf_1/euclid.aos/1176348772
Chris Novak
1
@ChrisNovak oui, un test de rapport de vraisemblance (avec des ajustements à la distribution d'échantillonnage nulle du typique avec DOF égal à la différence dans la dimension de l'espace des paramètres) est une bonne idée. Je ne sais pas à quel point les ajustements sont compliqués mais des mélanges de sont typiques dans ces cas. Les ajustements sont nécessaires car vous testez un point à la limite de l'espace des paramètres. χ 2χ2χ2
Andrew M