Distribution d'une suite — Les-mathematiques.net The most powerful custom community solution in the world

Distribution d'une suite

Bonjour à tous.

Lors d'un précédent fil, j'ai émis l'avis que les statistiques n'étaient pas des maths. Je voudrais à l'occasion de mon $10^3$-ème post donner à mes détracteurs l'occasion de me réduire en cendres.
Je suis une buse achevée dans ce domaine - en cas de doute lire la suite - Je n'en tire aucune fierté loin de là, mais bon, les faits sont accablants.

Assez ri, au fait !
Je considère la suite définie par $u_1$ non multiple de $\pi/2$ et $u_{n+1} = \ln\left(\tan^2u_n\right)$.
En faisant tourner un tableur pour différentes valeurs de $u_1$ et en calculant $N = 1000$ valeurs de cette suite, je me rends compte que j'ai une distribution normale tout à fait acceptable.
Tout à fait acceptable n'étant pas trop mathématique, j'essaie de préciser avec les moyens à ma disposition, c'est-à-dire pas grand chose. Voir plus haut.
Je me dis dans ma grande naïveté qu'en calculant
\[S(x) = \dfrac1N \sum_{k=1}^N \exp(ixu_k)\]
Je devrais obtenir une "transformée de Fourier" de ma bestiole soit $\exp(-\alpha x^2)$ à des queues de mirabelles près.
Je calcule $T(x) = S(x)^2$ pour éviter des exponentielles négatives, toujours mauvaises à digérer, ce qui me donne du $\exp(-2\alpha x^2)$ puis je calcule mon $2\alpha = -\dfrac{\ln(T^2)}{x^2}$ en faisant la moyenne pour les $x\neq0$ calculés.
Je trouve pour $x$ variant de -1 à 1,3 avec un pas de 0,05 des valeurs de $2\alpha$ proches de $6,5$ avec un écart-type de $2$ et des bananes.
Le problème bien entendu est que j'aurais pu faire tous ces calculs en remplaçant ma belle suite par une boîte de sardines à l'huile et obtenir un résultat numérique.

Ô mannes statistciennes, pouvez-vous me dire s'il y a quelque chose à sauver dans ma démarche et quelle est à votre avis la bonne démarche ?

En vous remerciant d'avance, je vais réfléchir à mon 2000ème post...

Respectueusement,

e.v.
Personne n'a raison contre un enfant qui pleure.


Réponses

  • Bonjour Ev.

    Je viens de regarder ce que tu expliques. C'est intéressant, on obtient en effet une distribution très régulière. Tellement régulière qu'elle n'est pas une réalisation d'une variable aléatoire gaussienne (Dans un histogramme, certaines classes sont sous représentées dans tous les cas. J'ai pensé qu'il s'agissait d'un effet des premières valeurs, mais même en éliminant les premières, on retrouve le même cas). D'autre part, l'étalement est plus prononcé que pour une réalisation d'une variable gaussienne.
    Donc point de vue statistiques, peu de choses à voir, par contre la régularité des valeurs qui apparaissent est manifestement intéressante.

    Cordialement
  • Bonsoir, Gérard.

    Merci de t'intéresser à ce problème.
    Il semblerait que la distribution soit symétrique par rapport à zéro si l'on en croit la partie imaginaire de $S(x)$ pratiquement nulle.
    D'autre part, en re-transformant $S(x)$ par Fourier, y a-t-il une chance de retrouver une fonction de densité ?

    amicalement,

    e.v.
    Personne n'a raison contre un enfant qui pleure.


  • Avant que les vrais statisticiens ne te déchirent en morceaux et ne les dispersent aux quatre vents, pourquoi ne pas faire un histogramme ?
  • Aussitôt dit, aussitôt fait: un tirage de 100000 valeurs

    10104
  • Bizarre,

    Je ne trouve pas le même histogramme (j'ai pris des classe de taille 0,5 et il n'y a pas la même régularité). Je retrouve la régularité avec des classes de taille 1. Plus bizarre, la régularité de l'histogramme dépend nettement du choix des classes.

    Cordialement.

    NB : Évidemment, il ne s'agit pas de statistiques au sens habituel. Et les outils d'Ev sont des outils de traitement de signal. Pour tester "en statisticien", on utiliserait plutôt la technique "tests d'hypothèse", mais la TF (plutôt ici la DFT) met en évidence les périodicités cachées de l'échantillon.
  • Salut,

    Je ne suis pas statisticien donc ce qui suit est à prendre avec des pincettes. La première chose à faire je pense est de calculer la moyenne et la variance empiriques de l'échantillon, $m$ et $\sigma^2$. Ca donne de bons candidats pour les paramètres de la loi normale supposée, et ça permet de faire des tests d'adéquation genre $\chi^2$ (je n'y connais pas grand-chose).

    Il y a aussi un test simple pour la normalité, facile à mettre en place avec un tableur, c'est celui de Jarque-Béra : on calcule $JB=\frac{n}{6} \left( sk^2+\frac{(ku-3)^2}{4} \right)$, où $n$ est la taille de l'échantillon, $sk$ et $ku$ (skewness et kurtosis) sont définis par $sk=\mu_3/\sigma^3$ et $ku=\mu_4/\sigma^4$, où $\mu_j$ est le moment centré d'ordre $j$ de l'échantillon et $\sigma$ son écart-type. Si l'échantillon est "parfaitement normal", on doit avoir $sk=0$ et $ku=3$, d'où $JB=0$, ce qui n'arrive jamais en pratique, mais plus $JB$ est grand plus on est loin de la normalité. Une table de la loi du $\chi^2$ à 2 degrés de liberté permet d'obtenir un niveau de significativité.

    Enfin en ce qui concerne la transformée de Fourier, il s'agit d'estimation fonctionnelle donc c'est plus compliqué, mais tu peux toujours comparer le résultat obtenu avec $\exp(imt-\sigma^2t^2/2)$ une fois $m$ et $\sigma$ calculés, par exemple en norme uniforme, pour voir si c'est proche ou non. Pour récupérer une densité, il y a plus direct, tu peux regarder du côté des estimateurs à noyau.

    Bon cela dit, probabilistiquement la suite est tout sauf aléatoire, et les échantillons ne sont pas indépendants, donc il n'est pas certain que les résultats obtenus aient un sens...
  • Salut Egoroff.

    Pour le test d'adéquation, on prendra plutôt un test adapté à une loi continue, genre Kolmogoroff-Smirnoff. Mais tu as donné une méthode plus adaptée.

    Cordialement
  • Salut Gérard,

    Oui tu as raison je me suis emmêlé les pinceaux. Il y a aussi un truc appelé "droite de Henry" je crois, qu'on trace sur du "papier gaussien" ? Mais il me semble que ce n'est qu'une version graphique de Kolmogoroff-Smirnoff pour le cas de la loi normale, enfin tu connais ça mieux que moi.

    Si j'ai le courage j'essaierai de faire des petits essais moi aussi (quel u_1 faut-il choisir ?).

    Merci Alain d'avoir corrigé ma conjugaison :)
    [A ton service :) AD]
  • Egoroff,

    la droite de Henry est simplement un outil graphique pour voir si on n'est "pas trop loin" d'une distribution Normale. Elle donne une approximation des paramètres de la loi modèle, en traçant une droite d'ajustement empirique.

    Pour les U_1, j'ai pris de nombreuses valeurs différentes, les histogrammes se ressemblent fortement, et sauf dans un cas de choix des bornes d'intervalles, je n'ai jamais eu de représentation aussi régulière que celle présentée par remarque (j'imagine que le choix des intervalles a été automatique, moi j'utilise l'outil histogramme de Excel et je donne les bornes d'intervalles

    Cordialement
  • Oui, l'histogramme est automatique (j'ai mis 100 classes, ça me paraissait pas mal au pif pour 100000 valeurs). J'ai fait ça avec scilab.
    u1=rand();
    Nmax=1000000;
    U=[u1 zeros(2:Nmax)];
    for i=2:Nmax
    	U(i)=log(tan(U(i-1))^2);
    end
    xbasc()
    histplot(100,U)
    

    [N'as-tu pas mis Nmax = 1 million et tu parles de 100 mille valeurs ? :S AD]
  • Eh eh eh, on a l'oeil Mr AD ! C'est juste. C'est que j'ai fait des essais avec un million après avoir posté le dessin plus haut, qui lui correspondait à 100000. Et comme il faut enregistrer le fichier .sce avant de lancer scilab dessus, ben le compteur est resté coincé à un million.

    Ca donne ça (il y a des valeurs plus extrêmes, donc ce n'est pas la même échelle horizontale !)

    10109
  • Ah et puis tant qu'à faire, la même chose (même valeur initiale, 1 million de valeurs) mais avec 500 classes.

    10110
  • Ne faudrait-il pas s'interroger sur les propriétés ergodiques de $x \mapsto \ln(\tan^2x)$ ?.. ou quelque chose du genre
  • Bonjour à tous.

    Merci pour vos interventions.
    J'ai calculé $JB$ et j'obtiens une très grande sensibilité en fonction de $u_1$.
    Je ne sais pas - et pour cause - si cette sensibilité est réelle ou numérique.

    Le minimum que j'ai obtenu (à la truffe) est pour $ u_1 = 0,31$.
    J'ai alors $sk = -0.25, ku = 3.96$, et $JB = 48,52$.

    amicalement,

    e.v.
    Personne n'a raison contre un enfant qui pleure.


  • Une remarque :

    J'obtiens des écarts types de l'ordre de 3 et quelques, et même pour u_0 = 0,5 la valeur 3,1415933444, qui fait penser à une constante connue. Est-ce un hasard ? La précision des calculs d'Excel n'est pas géniale. Mais je retrouve des valeurs proches dans d'autres cas.

    Cordialement

    [Merci Ev, j'ai rectifié]
  • Gérard,

    ça serait mieux avec un $1$ entre $3,14$ et $...5933444$

    e.v.
    Personne n'a raison contre un enfant qui pleure.


  • comme Steven Neutral, je pense que cela doit s'expliquer par de le theorie ergodique, mesure invariante de l'application $\phi(x)=\ln( \tan^2(x))$, etc.. des specialistes sur le sujets ?
  • Oui il me semble que si on a une mesure invariante pour cette transformation, et si il y a ergodicité, alors les suites générées par nos amis ont une distribution empirique qui tend vers la mesure invariante. Il ne s'agit pas de statistiques mais de théorie ergodique.
  • Je fais remonter ce coelacanthe car j'ai vu que des grosses têtes s'amusaient sur ce fil.

    Des idées ?

    e.v.
    Personne n'a raison contre un enfant qui pleure.


  • Pas d'idée alors je fais chauffer le silicium. Le test d'Anderson-Darling mesure si une famille de nombres est distribuée conformément à une loi normale. Il semble que pour ta suite, ce ne soit pas le cas. J'ai commencé par calculer 50.000 valeurs de la suite avec Sage.
    f(x) = ln(tan(x)^2)
    def T(N=1000):
        L = [random()*pi.n()/2]
        for _ in range(N):
            L.append(f(L[-1]))
        return L
    
    
    et j'ai sauvé le résultat dans le fichier liste.txt joint. Puis j'ai ouvert Rstudio. In:
    library(nortest)
    D <- read.csv("liste.csv")
    attach(D)
    D[,1]
    hist(D[,],breaks=100)
    ad.test(D[,])
    
    Out:
    	Anderson-Darling normality test
    
    data:  D[, ]
    A = 196.95, p-value < 2.2e-16
    
    et le résultat me semble sans appel : une proportion inférieure à $2\cdot10^{-16}$ d'échantillons suivant la loi normale donneraient une adéquation à la loi normale pire que les valeurs données par cette suite. Je ne comprends rien mais j'en déduirais que ça ne colle pas. Voici, par contraste, ce que ça donne avec deux suites de nombres tirées « au hasard » selon la loi normale et selon la loi uniforme. In & out:
    > ad.test(rnorm(1000, mean = 12, sd = .3))
    
    	Anderson-Darling normality test
    
    data:  rnorm(1000, mean = 12, sd = 0.3)
    A = 0.29459, p-value = 0.5978
    
    > ad.test(runif(1000, min=-5, max=5))
    
    	Anderson-Darling normality test
    
    data:  runif(1000, min = -5, max = 5)
    A = 13.604, p-value < 2.2e-16
    
    C'est pourtant vrai que l'histogramme est une belle cloche...124042
  • Bonjour.

    Que le test d'Anderson-Darling donne une p-value aussi petite signifie simplement que même si c'est une courbe en cloche, ce n'est pas la cloche des gaussiennes. On se souvient que Laplace, pour la courbe en cloche des erreurs avait proposé $e^{-|x|}$. Et il y en a d'autres, évidemment. Steven Neutral et Alekk avaient proposé de regarder celà du point de vue de la théorie ergodique, mais personne n'a relevé (j'en serais bien incapable).

    Cordialement.
Connectez-vous ou Inscrivez-vous pour répondre.
Success message!