Loi normale et fonction erf

Bonjour,
Je suis physicien et viens poser ici un problème 'réel' sur lequel l'aspect mathématique me fait défaut.
Concrètement, j'ai appliqué à un système un bruit blanc gaussien au cours du temps, et cherche la probabilité au cours d'une période donnée T que l'amplitude du bruit ait dépassé à au moins un instant une valeur seuil X.
J'ai mesuré la probabilité que le seuil X soit dépassé pendant la période T fixée et obtenu expérimentalement la courbe suivante :
Comme vous pouvez le remarquer, j'ai tracé la probabilité de passer le seuil en fonction de l'amplitude du bruit gaussien (notation donnée par le générateur basse fréquences utilisé). Cette 'amplitude' du bruit est en pratique censée être proportionnelle à l'écart-type de la distribution.
Pour résumer, lorsque j'augmente l'écart-type d'une distribution de bruit, on observe expérimentalement qu'il y a plus de chance que durant une durée T fixée au moins une valeur piochée dépasse la valeur seuil X, c'est en effet intuitif.
Les points expérimentaux sont en bleu, en rouge j'ai réalisé un ajustement par une fonction (1+erf(a*amplitude + b))/2 ce qui me semblait être intuitivement le modèle adéquat.
Ma question désormais est la suivante : ce modèle est-il vraiment adéquat, et pourquoi?
J'ai le sentiment que si on discrétise les tirages aléatoires en supposant que l'on réalise N>>1 tirages durant un temps T la probabilité de succès d'au moins un tirage au dessus de la valeur seuil X devait suivre une loi normale, soit par théorème central limite, soit par théorème de Moivre-Laplace. Et c'est là que je suis bloqué. Réussir à donner un sens à ce modèle permettrait alors de comparer et donner un sens physique aux paramètres d'ajustement a et b.
PS : pour ceux que le contexte intéresse, ces résultats montrent que pour certains systèmes, on a parfois intérêt à augmenter le bruit ajouté au signal afin de transmettre un maximum d'information. On parle alors de résonance stochastique, cela modélise entre autres les communications entre neurones.

Réponses

  • Bonjour
    Apparemment, vous avez moins de 20 mesures pour tracer votre graphe.

    Connaissez-vous le test de normalité de Shapiro-Wilk ?
    Vous pouvez utiliser le test en ligne (une donnée par ligne dans le cadre) : 
    http://www.sthda.com/french/rsthda/shapiro-wilk.php

    Qu'obtenez-vous pour p-value ?
  • Douxleurre
    Modifié (May 2022)
    Bonjour
    J'ai repris des points, cette fois-ci en comptant à la main la probabilité de passage afin d'être certain de ce que je mesurais.
    Le montage est différent (valeurs de résistances différentes...), notamment le seuil X et le temps T sont donc a priori différents vis-à-vis du tracé préccédent.
    Je compte pour chaque sigma (= écart-type de la distribution de bruit blanc gaussien) la proportion de signal ayant dépassé au moins une fois le seuil X durant T. Pour chaque sigma j'ai compté la proportion passante deux à trois fois afin d'avoir une idée de l'incertitude sur les points (dûe à la nature stochastique du signal).
    J'obtiens un résultat similaire, et je vous joint les points en pièce-jointe si cela peut vous être utile. Toujours est-il que, n'ayant pas cherché à caractériser la nature gaussienne du bruit blanc gaussien introduit en entrée (qui me semble fiable en première approche), je n'ai pas saisi en quoi le test de normalité de Shapiro-Wilk aiderait.



  • leon1789
    Modifié (May 2022)
    Bonjour
    Avec le test de normalité, je ne faisais que rebondir sur cette phrase :
    << J'ai le sentiment que si on discrétise les tirages aléatoires en supposant que l'on réalise N>>1 tirages durant un temps T la probabilité de succès d'au moins un tirage au dessus de la valeur seuil X devait suivre une loi normale, >>
    car elle montrait une certaine incertitude avec le mot "devrait". Le test de normalité permet de se rassurer sur cela, puisque ici, il y a un contexte de probabilité, comme vous dites.

    En ce qui concerne la validité de votre modèle, ce n'est plus le même souci. Je ne peux pas juger de votre résultat. Evidemment, à vue d'oeil, ça colle pas trop mal. Mais attention, avec deux paramètres, on peut souvent faire coller (plus ou moins bien) un type de courbe (qui plus est choisi a posteriori !) à un nuage de points expérimental.
  • Douxleurre
    Modifié (May 2022)
    Bonjour
    Je suis tout à fait d'accord avec vous. Si le modèle choisi découle d'hypothèses naturelles compte tenu du problème et que les valeurs prévues par ce modèle (sachant par exemple X le seuil et N le nombre de tirages) correspondent avec celles ajustées, alors la crédance [croyance ?] en ce modèle augmente. Un modèle ad hoc n'a aucun intérêt si ce n'est pour l'étalonnage de capteurs.
    Une première difficulté avec l'analyse de ce phénomène est le tracé de la probabilité en fonction de l'écart-type de la gaussienne initiale. Cela a un sens physique sans problème, mais mathématiquement je me retrouve systématiquement avec des erf(X/sigma) pour la probabilité qu'un tirage aléatoire dans une gaussienne dépasse le seuil, or je trace ici la probabilité qu'au moins un tirage parmi N dépasse le dit seuil en fonction de sigma. Ajuster par erf(a*sigma + b) me semble donc incohérent, même si cela fonctionne bien.
    PS. J'ai eu une piste intuitive de résolution du problème, mais n'ai pas su l'exprimer rigoureusement. Si quelqu'un en tire une piste de démonstration je serais très intéressé. Voici l'idée : Prenons le seuil X fixé, valant typiquement 2 à 3 fois sigma l'écart-type de la gaussienne (peu de chances de tirer une valeur dépassant le seuil X). Si sigma augmente d'un facteur 2 par exemple, alors la gaussienne "s'étale" et piocher plus que X est plus probable. Appliquons alors une homothétie x' = 2x de sorte à ce que la gaussienne après avoir augmenté sigma aie la même extension latérale que celle avant. Tout se passe alors comme si le seuil X s'était rapproché du centre de la gaussienne. On peut donc peut-être ramener une augmentation de l'écart-type de la gaussienne à une diminution du seuil, compté en unités de sigma ?
  • GaBuZoMeu
    Modifié (May 2022)
    Bonjour
    Douxleurre, je ne comprends pas très bien ton protocole, alors je l'interprète de façon simpliste :
    On a une suite de $N$ variables aléatoires $B_i$ indépendantes, gaussiennes centrées d'écart-type $\sigma$. La probabilité qu'au moins une des $B_i$ dépasse le seuil $x$ est tout bêtement
    $$ 1-\left(\dfrac12+\dfrac12\,\mathrm{erf}\left(\dfrac{x}{\sigma\sqrt2}\right)\right)^N\;.$$
    J'utilise python pour représenter le graphe de cette fonction de $\sigma$ en fixant $x=1$ et $N=100$. Je représente aussi sur le même dessin le résultat d'une simulation où je note la proportion de passage de seuil sur 200 essais.

    import random as rd
    import numpy as np
    import matplotlib.pyplot as plt
    from scipy import special

    def passe(se,nb,et) :
    succ = 0
    for i in range(nb) :
    if rd.gauss(0,et) > se :
    succ = 1
    break
    return succ

    def proppasse(se,nb,et,to) :
    succ = 0
    for i in range(to) :
    succ += passe(se,nb,et)
    return succ/to

    x = 1
    N = 100
    sigma = np.linspace(0.2,0.7)

    plt.plot(sigma, 1-(1/2*(1+special.erf(x/sigma/np.sqrt(2))))**N)
    plt.plot(sigma,np.array([proppasse(x,N,s,200) for s in sigma]),"o",\
    color="red")
    plt.show()
  • GaBuZoMeu
    Modifié (May 2022)
    Désolé, le code python est tout pourri. Je ne sais plus comment insérer proprement du code avec ce forum !
    [Un moyen (barbare) consiste à éditer en html (bouton </>) et supprimer les <code> et </code> du bloc <pre... > </pre>. :) AD]

    Merci Alain. C'est vraiment barbare, et je ne suis pas sûr d'avoir compris la manip. Avant c'était facile ... dommage.
  • Un petit commentaire supplémentaire : avec mon protocole, ce qu'on obtient n'est sûrement pas une fonction de répartition de loi normale. On s'en aperçoit bien quand on prend des $N$ pas trop gros. Pour $N=10$ :


  • Douxleurre
    Modifié (May 2022)

    Bonsoir, c'est complètement fou, écrire ce script est justement l'idée que je venais d'avoir sous la douche !

    L'interprétation simpliste que vous formulez très proprement correspond exactement au modèle que j'avais en tête.

    Il y a deux jours, j'avais développé l'expression de la probabilité que vous donnez pour erf( ) petit devant 1 comme un idiot en pensant simplifier le problème, je me retrouvais alors avec une probabilité qui n'était plus comprise entre 0 et 1...

    Physiquement cette expression est très riche car N est proportionnel à la période du signal envoyé en entrée, et expérimentalement il est également possible de faire varier xseuil continument.


    Je tiens à vous remercier du fond du cœur pour avoir pris le temps d'apporter ces éléments de réponse au problème posé. De mon côté, je vais tâcher dès que j'en ai l'occasion de tester la robustesse de ce modèle en cherchant à vérifier expérimentalement les comportements prévus pour la probabilité p(sigma) en fonction de N et xseuil. Bien sûr, je vous partagerai les résultats obtenus :) .
  • Douxleurre
    Modifié (June 2022)
    Bonjour
    Il m'a fallu plus de temps que prévu car j'ai eu peu de temps libre et les amplificateurs opérationnels me réservaient encore quelques subtilités.
    Mais les nouvelles sont bonnes, voici donc mes résultats :
    Concrètement, j'envoie un bruit blanc gaussien de bande passante 1kHz, et teste sur des durées de 10 millisecondes si le signal passe au moins une fois le seuil durant cette durée. J'ai fait en sorte que le seuil de tension supplémentaire à atteindre soit de 270mV (±5mV), c'était donc dans le cadre de mon expérience la valeur de Xseuil à atteindre pour le bruit blanc d'écart-type sigma (mesuré en mV également).
    J'ai alors compté 10 fois le nombre de signaux passants parmi 20, et ce pour différents écart-types, et comptabilisé la probabilité de passage moyenne à écart-type donné et l'écart-type sur les 10 comptages. Cet écart-type, une fois pris à 2sigma, est affiché ci-dessous et sert d'intervalle dans lequel sont piochées par méthode de Monte-Carlo les valeurs afin de les ajuster par le modèle proposé par GaBuZoMeu.

    J'obtiens après ajustement Xseuil = 290±20mV et N = 16 ± 4 tirages, ce qui me satisfait pleinement! Je suspecte que la valeur expérimentale de Xseuil , mesurée de manière statique, ne tienne pas compte des effets dynamiques de l'amplificateur opérationnel utilisé, ce qui peut expliquer que la valeur ajustée soit plus élevée (je peux détailler si cela vous intéresse). L'ordre de grandeur trouvé pour N me satisfait complètement, on s'attend en effet à quelque chose de l'ordre de la dizaine au vu de la bande passante du bruit blanc employé.
    Pour synthétiser l'intérêt de ce genre d'études, sur la courbe tracée ici on montre qu'à écart-type de bruit suffisant, le signal peut être transmis ce qui n'aurait pas été le cas s'il n'avait été bruité. Sur le cas ici présenté, cela permet d'économiser de moitié de l'amplitude du signal à émettre pour qu'il soit reçu par rapport à un signal non bruité. Dans des systèmes bruités de manière inhérente (connexions neuronales), on peut donc avoir intérêt à utiliser un système de détection non-linéaire afin de tirer parti du bruit.
    Encore merci !
Connectez-vous ou Inscrivez-vous pour répondre.