IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Statistiques, Data Mining et Data Science Discussion :

Vérifier si distribution gaussienne


Sujet :

Statistiques, Data Mining et Data Science

  1. #1
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 28
    Par défaut Vérifier si distribution gaussienne
    Bonjour,

    Je dispose des données qui sont des vitesses (U,V,W) et j'aimerais vérifier si la distribution des vitesses suit une loi normale (gaussienne).

    Si quelqu'un a une idée pour commencer, ça me sera très utile.

    Merci.

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Il s'agit donc de faire ce qu'on appelle un "test de Normalité" ?
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 28
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    Il s'agit donc de faire ce qu'on appelle un "test de Normalité" ?
    Si j'ai bien compris, il faut que je représente les données sous forme d'histogramme puis de comparer la forme de cet histogramme avec une courbe représentant une loi normale (les paramètres de cette loi étant calculés à partir des données à analyser).

    1/ A partir de mes données d'entrée, c'est à dire les trois composantes de vitesses, comment les représenter sous forme d'histogramme?
    2/ Comment créer une courbe représentant une loi normale?

    Merci pour votre aide

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par code_source Voir le message
    Si j'ai bien compris, il faut que je représente les données sous forme d'histogramme puis de comparer la forme de cet histogramme avec une courbe représentant une loi normale (les paramètres de cette loi étant calculés à partir des données à analyser).
    Si tu veux faire un test visuel, oui.

    Il y a aussi des tests numériques (par exemple le K-squared) qui te permettent d'obtenir un pourcentage de probabilité.

    1/ A partir de mes données d'entrée, c'est à dire les trois composantes de vitesses, comment les représenter sous forme d'histogramme?
    Un histogramme est un compteur de valeurs. A chaque fois que la valeur "x" apparait, on incrémente le compteur correspondant.

    2/ Comment créer une courbe représentant une loi normale?
    La densité de probabilité d'une loi normale est une fonction gaussienne.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 28
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    Si tu veux faire un test visuel, oui.

    Il y a aussi des tests numériques (par exemple le K-squared) qui te permettent d'obtenir un pourcentage de probabilité.



    Un histogramme est un compteur de valeurs. A chaque fois que la valeur "x" apparait, on incrémente le compteur correspondant.



    La densité de probabilité d'une loi normale est une fonction gaussienne.
    Est ce que tu as un exemple ou on utilise des tests numériques (le K-squared)?

  6. #6
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par code_source Voir le message
    Est ce que tu as un exemple ou on utilise des tests numériques (le K-squared)?
    heu... non. Je pense me souvenir que c'est implémenté dans le module "stats" de Python.

    Sinon toutes les formules sont dispo sur wikipedia : D'Agostino's K-squared test
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  7. #7
    Membre très actif
    Profil pro
    chercheur
    Inscrit en
    Avril 2004
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Avril 2004
    Messages : 830
    Par défaut
    Citation Envoyé par code_source Voir le message
    Je dispose des données qui sont des vitesses (U,V,W) et j'aimerais vérifier si la distribution des vitesses suit une loi normale (gaussienne).
    Pour déterminer une loi de probabilité, il faut une infinité de données ( c'est beaucoup)
    Avec un nombre fini de données, tu peux estimer une probabilité que ton tirage corresponde à une certaine loi de probabilité avec certains paramètres, ou que certains paramètres soient compatibles avec ...
    Ton problème ne peut-il pas être mieux défini ?

  8. #8
    Membre éprouvé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Par défaut
    Citation Envoyé par Nebulix Voir le message
    Pour déterminer une loi de probabilité, il faut une infinité de données ( c'est beaucoup)
    Avec un nombre fini de données, tu peux estimer une probabilité que ton tirage corresponde à une certaine loi de probabilité avec certains paramètres, ou que certains paramètres soient compatibles avec ...
    Ton problème ne peut-il pas être mieux défini ?
    C'est faux, tu peux estimer une loi avec une certaine confiance. Plus tu as d'échantillons, et plus l'histogramme se rapprochera de celui de la distribution mais pour autant, il n'est pas nécessaire d'avoir une infinité de points...

    Le problème est suffisamment défini, et la réponse de pseudocode y répond.

  9. #9
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    heu... non. Je pense me souvenir que c'est implémenté dans le module "stats" de Python.

    Sinon toutes les formules sont dispo sur wikipedia : D'Agostino's K-squared test
    Une contribution MATLAB (non testée) : D'Agostino-Pearson's K2 test

  10. #10
    Membre très actif
    Profil pro
    chercheur
    Inscrit en
    Avril 2004
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Avril 2004
    Messages : 830
    Par défaut
    Citation Envoyé par progfou Voir le message
    C'est faux, tu peux estimer une loi avec une certaine confiance. Plus tu as d'échantillons, et plus l'histogramme se rapprochera de celui de la distribution mais pour autant, il n'est pas nécessaire d'avoir une infinité de points...

    Le problème est suffisamment défini, et la réponse de pseudocode y répond.
    La page wikipedia commence par :
    .
    The test is based on transformations of the sample kurtosis and skewness, and has power only against the alternatives that the distribution is skewed and/or kurtic.
    Avec un nombre fini de données tu peux vérifier qu'elles ne sont pas en désaccord flagrant avec une loi. Vérifier la loi, c'est autre chose.

  11. #11
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Nebulix Voir le message
    Vérifier la loi, c'est autre chose.
    On ne parle pas de vérifier une loi (mathématiques pures) mais de vérifier que des données suivent une loi (mathémaiques appliquées)

  12. #12
    Membre averti
    Inscrit en
    Janvier 2011
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 28
    Par défaut
    Citation Envoyé par Dut Voir le message
    Une contribution MATLAB (non testée) : D'Agostino-Pearson's K2 test
    Merci beaucoup pour vos réponses. Maintenant, j'essaie de tester l'algorithme de D'Agostino-Pearson's K2 sur mes propres données. Mes données de vitesses comportent des NaN (traitement que j'ai effectué avant). Est ce qu'il est judicieux que je laisse les NaN ou bien les remplacer soit par des zéros ou par des [];

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    U(find(isnan(U)))=[];
    % ou bien
    U(find(isnan(U)))=0;
    Sachant qu'en remplaçant les NaN par des zéros, il me sort une erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ???Edges vector must be monotonically non-decreasing.
    Voici un exemple de ma vitesse axiale
    Fichiers attachés Fichiers attachés
    • Type de fichier : txt U.txt (10,0 Ko, 187 affichages)

  13. #13
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Un simple avis :

    • Si Nan est le résultat d'un calcul, mais que tu sais que les points existent bien, trouve un moyen de les calculer correctement

    • sinon, enlève les.. Les remplacer par zéro changera le problème.

  14. #14
    Membre très actif
    Profil pro
    chercheur
    Inscrit en
    Avril 2004
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Avril 2004
    Messages : 830
    Par défaut
    Si tu as des NAN (surtout en tel nombre) c'est que tes données sont peu fiables (au mieux ) ou erronnées. Faire des stats avec ça est osé !
    Je commencerais par revoir ces données jusqu'à avoir quelque chose que je comprends.
    @souviron
    Les formulations les plus restrictives me paraissent les mieux adaptées au pouvoir prédictif réel des statistiques, que l'on a beaucoup trop tendance à surestimer (surtout avec des petits échantillons)

Discussions similaires

  1. Difficultés pour la distribution gaussienne
    Par mic0909 dans le forum C++
    Réponses: 1
    Dernier message: 08/11/2013, 10h40
  2. Réponses: 3
    Dernier message: 21/06/2012, 15h31
  3. distribution gaussienne mono ou bimodale?
    Par ricololo dans le forum MATLAB
    Réponses: 5
    Dernier message: 06/01/2010, 11h52
  4. distribution gaussienne ou?
    Par ricololo dans le forum MATLAB
    Réponses: 9
    Dernier message: 26/09/2008, 07h43
  5. Distribution gaussienne et de nakagami
    Par lanfou dans le forum MATLAB
    Réponses: 4
    Dernier message: 03/07/2008, 13h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo