Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Test du chi2 et contours de confiance



  1. #1
    Belladone6449

    Test du chi2 et contours de confiance


    ------

    Bonjour,
    J'effectue un stage en M1 en cosmologie où j'étudie un modèle différent du Lambda-CDM. J'ai réalisé un test du chi2 pour contraindre les paramètres de mon modèle.
    Pour cela j'ai une liste de 580 modules de distance et redshift de supernovae, et je calcule les modules de distance théoriques avec mon modèle, le but étant de réduire l'écart entre la courbe de module de distance faite avec les données observationnelles et la courbe théorique.

    En gros je fais varier mes 2 paramètres sur une certaine plage de valeurs et mon programme python calcule la valeur du chi2 dans chaque cas, puis me donne le couple de paramètres qui effectue le chi2 min. Je dois ensuite tracer les contours de confiance à 1,2 et 3 sigmas.

    Ma question peut paraître stupide :
    Qu'est-ce que sigma concrètement ?

    J'ai pensé que ça pouvait être l'écart type sur la liste de mes valeurs de chi2 mais après réflexion ça me semble faux puisque ce dernier dépend des plages de valeurs de mes paramètres. Et il ne me semble pas non plus que ça soit l'écart type sur ma liste de données de modules de distance puisque ce sont des modules de distance pour différents redshift, c'est normal que ça varie.
    Voilà je ne vois pas trop comment obtenir ce sigma, pour l'instant j'arrive à avoir des beaux contours en mettant des nombres qui marchent bien dans ma fonction python, mais je ne sais pas ce qu'ils représentent.

    Merci d'avance à qui prendra le temps de me répondre.

    -----

  2. #2
    Quarkonium

    Re : Test du chi2 et contours de confiance

    Salut,

    L'utilisation de dans les tests de (et tous les autres tests d'hypothèses) est un peu particulière. Comme tu le sais déjà quand on fait ce genre de test, on se fixe un risque de rejeter la bonne hypothèse : pour un couple de valeurs de paramètres de ton modèle, il y a un risque (une proba) inhérent que le test du valide à tort la conformité entre tes données et ton modèle. Dans ton cas, tu explores les valeurs de paramètres qui valident ou pas la conformité modèle-données avec trois niveaux de risque (ou de confiance, l'un étant complémentaire de l'autre).

    Alors, quel rapport avec le risque qui est une probabilité, et qui est typiquement une déviation standard ? Cette déviation standard est celle d'une loi normale (on aime beaucoup les lois normales car elles sont omniprésentes dans la nature), dont la densité de probabilité est une gaussienne de moyenne et de déviation standard . La probabilité qu'un tirage d'une variable aléatoire qui suit cette loi normale donne une valeur avec un écart de la moyenne est d'environ 32%. La probabilité que cette valeur s'écarte de 2 de la moyenne est d'environ 5%, et la proba d'un écart de 3 est d'environ 1%. Ces probabilités pour un tirage de sortir de l'intervalle de confiance sont utilisées régulièrement par les statisticiens comme valeurs de choix pour le risque de tests .

  3. #3
    physeb2

    Re : Test du chi2 et contours de confiance

    Bonjour Belladone,

    Je ne me suis pas connecté durant les derniers mois et je viens de voir ta question. Il y a plusieurs choses a comprendre.

    Tout d’abord qu’est ce qu’un chi^2?
    La loi de chi^2 est la loi théorique probabiliste de la valeur d’une somme de gaussiennes normalisées (de variance 1). En clair si tu tires aléatoirement 10 valeures aléatoires selon une gaussienne normale centrée (sur 0) avec ton code python (numpy.random.randn(10) ) et que tu fais la somme des carrés de ces valeurs alors la loi de probabilité de cette somme est donnée par la loi de chi^2 avec 10 degrés de libertés. Si tu veux t’en convaincre, tu fais 10000 fois ce tirages de 10 valeurs, tu garde la somme des carrés et tu le garde dans un tableau ou une liste. Puis tu fais l’histogrammes de ces valeurs et tu compare a la loi de chi^2 de 10 degrés de libertés. Tu va voir que ça fonctionne tres bien.

    Maintenant, que cela signifie sur tes data. Si les erreurs de tes données sont gaulliennes alors la tu peux dessiner une gaussienne de probabilité autour de chaque points de donné avec la variance égale a l’erreur au carré. La probabilité individuelle que ton modele soit a la distance de ton point de donné est la valeur de la gaussienne que l’on vient d’aiginer a l’endroit ou passe le model pour le meme redshift (j’imagine que u a le redshift en abscisse vu ton message). On vient de trouver la probabilité de la distance entre ton point de donnée et le modele. La probabilité de cette distance au carré est donnée par la loi de chi^2 a 1 degré de liberté. En fait cela te donnera le meme résultat. Maintenant, si on veut voir la probabilité globale on peut regarder la probabilité de la somme des distances. Cependant les distances peuvent être positive ou négative et se compenser. On pourrait avoir un cas où le model passe toujours tres loin des points mais avoir une somme nulle donc ce n’est pas terrible.
    Donc on regarde la somme des distances au carré et on peut alors comparer cette somme a la loi de chi2 avec le bon nombre de degrés de libertes.

    Il reste a definir ce qu’est le nombre de degré de liberté. La loi de chi^2 s’intéresse a la somme des distances au carre pour un nombre donné de réalisations aléatoires. Lorsqu’on regarde par exemple tes 580 points de donné alors on pourrit penser que tu dois comparer le résultat de ton estiamteur de chi^2 a la loi théorique pour 580 degrés de liberte. En fait non car ton modele retire un nombre de degré de liberté par paramètre indépendant utiliser. Un exemple simple, si ton modele est un loi afine f(x) = ax + b, il a 2 paramètres (a et b). Si tu as 2 ponts de données alors tu trouvera toujours un couple (a,b) qui passe exactement par ces 2 points! Donc ton estimateur de chi^2 aura toujours valeur 0 pour le meilleur jeux de paramètres. Si tu as 3 points alors la ca commence a pouvoir prendre des valeurs non nulles. En fait la distribution des valeurs va suivre la loi de chi^2 pour 1 degré de liberte. Donc d.o.f = N_points - N_params.

    Au final, tu peux voir si la valeur de chi^2 pour le meilleur ajustement est a une position raisonnable dans la distribution espérée théoriquement. On définit ce qu’on appelle la p-value en prenant l’intégrale de 0 au chi^2 pour ton meilleur ajustement de la loi de chi^2 théoriquement pour le bon nombre de degré de liberte. Cela permet seulement de definir si oui ou non on fait confiance a l’ajustement. (Les revues en astrophysique accepte en générale les ajustement avec une valeur de p-value inférieur a 0.95 ou 0.9)

    Maintenant comment derive-t-on l’erreur sur les paramètres? Si la p-value est acceptable alors on oublie la valeur du chi^2 minimale et on va regarder comment évolue le chi^2 autour du meilleur jeu de paramètres en faisant un ’trick important’, nous allons assumer que les erreurs ne sont plus sur les data mais sur le modele. En terme bayesien on passe d’une likelihood a un postérieur! Faire cela s’appelle simplement utiliser la loi de Delta chi^2

    Qu’est ce que la loi de Delta chi2?

    Et bien c’est la meme loi que le chi^2, seulement le nombre de degré de liberte change. On assume que les variables aléatoires que l’on somme ne sont plus les observations (data) mais que ce sont les paramètres du modele. On passe donc de P(data l modele) a P(modele l data). Ca peu paraitre simpliste mais c’est tres loin d’être le cas.

    Donc on définit l’estimateur du Delta_chi^2 comme l’estimateur du chi^2 auquel on soustrait la valeur de meilleur chi^2. Donc par définition il vaut 0 a la valeur de meilleur ajustement. L’idee est de chercher les intervalles de valeur des paramètres qui vont contenir un pourcentage de la distribution. Si u veux connaitre par exemple l’intervalle de tes paramètres qui contient 50% de la distribution de probabilité, sachant que tu as 3 paramètres dans ton modele, tu calcul la valeur de chi^2 telle que


    Cela te donne la valeur de Delta_chi^2 a laquelle tu dois faire la coupure a cette valeur et tu regarde les intervalles sur tes 3 paramètres. Tu peux directement trace les contours de confiance a 2 dimension en projetant la surface d’intersection par paire de paramètres.

    La signification de ces intervalles? Si tu considere le sous espace définit par ces intervalles, alors tu as 50% de chance que les vrais valeurs de paramètres sont contenus dans ce que tu considere. C’est plot dangereux donc de considérer cette coupure a 50%. On considere donc des intervalles plus grands qui ont plus de chance de contenir les vrais valeurs de paramètres. Ce qui amène a ta question finale: qu’est ce que 1,2 et 3 sigma. Comme l’explique Quarkonium, ce sont les valeurs de 1,2 e 3 devisions standards d’une gaussienne.
    L’intégrale d’une gaussienne entre -1 sigma a +1 sigma vaut 68.27%
    L’intégrale d’une gaussienne entre -2 sigma a +2 sigma vaut 95.45%
    L’intégrale d’une gaussienne entre -3 sigma a +3 sigma vaut 99.73%

    Tu fais le meme exercice que pour les 50%, a savoir tu cherche les valeurs de coupures a 1,2 et 3 sigma de la maniere suivante:




    J'espere que ce n'est pas trop tard pour t'aider. De toutes manieres, meme si cela ne t'est plus d'utilité pour ton stage ce le sera pour la suite de toutes manieres.
    Dernière modification par mach3 ; 01/08/2021 à 09h02. Motif: Balise tex

Discussions similaires

  1. Degré de liberté d'un test de chi2
    Par Finouu0106 dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 07/01/2013, 16h39
  2. test chi2 en R
    Par damdamdoumdu36 dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 01/05/2012, 09h35
  3. Test du Chi2 de pearson
    Par ma0609 dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 12/01/2011, 21h58
  4. test du chi2
    Par stati dans le forum Mathématiques du supérieur
    Réponses: 7
    Dernier message: 19/09/2008, 17h42
  5. Souci Test Chi2 (STAT)
    Par cain dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 07/05/2008, 07h56