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

Calcul scientifique Python Discussion :

Scipy fit loi stats


Sujet :

Calcul scientifique Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Par défaut Scipy fit loi stats
    Bonjour

    Je cherche à faire un "fit" via une loi de probabilité (gamma, normal ou autre) mais j'ai du mal à comprendre comment faire dans le cas où mes axes X et Y sont quelconques.

    *Je m'explique :
    habituellement on a un vecteur X qui contient pleins de données, on trace via un histogramme la fréquence de ces données en fonction d'une taille de "bin" choisie (ici 10 par ex). En gros on obtient sur axe horizontal la variable X découpée suivant 20 tranches et on a sur les ordonnées on a le nombre d'occurrences/fréquence de chaque classe. A partir de là on peut fitter une multitudes de loi mathématiques, cf exemple :
    https://www.stat4decision.com/fr/dis...onnees-python/
    Ici la donnée d'origine est 1 seul tableau X et c'est tout, les fonctions histogramme et stats de scipy gèrent le reste pour trouver une loi de probabilité (dont la somme vaut 1)

    *Pour ma part j'ai un problème un peu différent :
    je n'ai pas juste un tableau X mais deux tableaux X et Y où Y représente le résultat d'un tri (conditionnel) basé sur les classes X notamment (la probabilité totale de mon prénomene ne vaut pas 1 car je m'intéresse qu'à la probabilité d'un événement conditionné par un autre)
    Du coup si je trace Y versus X j'ai bien la loi qui m'intéresse mais je n'arrive pas à utiliser les fonctions scipy STATS pour "fitter" automatiquement une loi puisque les outils sont censés prendre en entrée un seul tableau X et pas 2.

    *Ma question :
    Scipy fait tout à partir d'un tableau donné X (histogramme, fit loi...) mais moi j'ai besoin de gérer manuellement mon tri (car je suis sur une occurrence conditionnelle) et je suis nécessairement obligé de travailler avec 2 tableau X et Y.
    Ma question est donc : savez vous comment adapter les fonctions scipy STATS (ou autre) pour que ma loi de probabilité soit ajustée sur Y versus X ? (Et pas X seul)

    *Remarque :
    J'ai procédé pour le moment à des ajustements de loi de façon manuelle (programme loi + minimisation sur les donnée) mais ça me paraît dommage de procéder ainsi alors que scipy à une méthode d'ajustement pour plein de loi qui est déjà préprogrammée. C'est juste que je n'arrive pas à l'utiliser...

    Est ce que vous auriez une idée de comment procéder ?
    Merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Par défaut
    Pour éclairer la problématique je donne un exemple concret: je m'intéresse à la probabilité d'avoir le covid parmi les 15-35 ans.
    Pour cela :
    - je prends une population importante P qui a cet âge
    - je découpe l'axe des âges en 10 tranches de 2 ans (axe X) par exemple et je tri le nombre de personnes par classe âge et ça me donne variable Px fonction X
    - je compte qui a eu le covid et ça me donne le nombre Py de chaque classe X
    - la proba d'avoir covid par classe âge sera Y=Py/Px et je peux donc tracer cette fonction avec X en abscisse pour avoir la probabilité par classe d'âge (que je peux normaliser aussi par mon choix de discrétisation 2ans)

    Ma problème est ensuite d'en déduire une loi mathématiques Y vs X via des outils le + automatisés possible

    Merci

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 771
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 771
    Par défaut
    Salut,

    Citation Envoyé par membreComplexe12 Voir le message
    Ma problème est ensuite d'en déduire une loi mathématiques Y vs X via des outils le + automatisés possible
    La rubrique algorithmique et ses forums sont là pour trouver de l'aide sur ce genre de questions.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Par défaut
    Merci du retour. A vrai dire je vois bien comment faire "manuellement" mais en fait j'aimerais tirer partie des fonctions scipy préprogrammée et c'est là où je bloque. Je n'ai pas compris comment adapter les fonctions de scipy.stats à ma problématique.
    Merci

  5. #5
    Membre Expert

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par défaut
    Si vous avez des données 2D (un tableau de X, et un tableau de Y), pourquoi ne pas utiliser les outils de scipy fait pour ca ?

    https://docs.scipy.org/doc/scipy/ref...curve_fit.html

    Je précise qu'ici il faut que X et Y ait la même dimension (cela doit définir un ensemble de points de R²). Si ce n'est pas le cas, alors préprocesser chacune de vos données en X en Y pour les recaler via interpolation sur des points communs.

Discussions similaires

  1. Variables aléatoire scipy.stats et Multiprocessing
    Par GavrocheDesBois dans le forum Calcul scientifique
    Réponses: 0
    Dernier message: 09/11/2017, 11h31
  2. fitting de loi de pareto
    Par aziz1015 dans le forum R
    Réponses: 1
    Dernier message: 29/08/2017, 10h35
  3. Fit d'une courbe en loi de puissance et loi linéaire
    Par fishminox dans le forum MATLAB
    Réponses: 6
    Dernier message: 08/09/2015, 14h15
  4. Fit courbe Scipy
    Par Strychnine dans le forum Calcul scientifique
    Réponses: 0
    Dernier message: 25/06/2010, 10h41
  5. Probléme lors d'un Fit sinus avec scipy
    Par astragoth dans le forum Calcul scientifique
    Réponses: 0
    Dernier message: 29/07/2009, 08h49

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