Nov 27, 2024

Wiki

Python

Aide

edit SideBar

Search

Statistiques


La loi normale

  >>> from sympy.statistics import *

Création d'une distribution normale

Normal(mu, sigma) crée une distribution suivant une loi normale. Par exemple, pour obtenir la loi normale centrée réduite :

  >>> N = Normal(0, 1)

Tirage aléatoire

Pour générer des nombres aléatoires suivant une loi normale...

  >>> N = Normal(10, 5)
  >>> N.random()
  4.91437520082980583424614451

Moyenne et médiane

On peut obtenir la moyenne et la médiane d'une distribution :

  >>> N.mean
  0
  >>> N.median
  0

Variance et écart-type

Pour calculer la variance de la distribution

  >>> N.variance
  1

Et, pour l'écart-type (standard deviation) :

  >>>N = Normal(0, 1)
  >>>N.stddev
  1

Densité de probabilité

La fonction densité de probabilité (probability density function : pdf) d'une loi de probabilité peut être obtenue de manière symbolique, ou approchées, comme suit :

  >>> N = Normal(1, 1)
  >>> x = Symbol('x')
  >>> N.pdf(1)
  (1/2)**(1/2)*pi**(-1/2)

  >>> N.pdf(3).evalf()
  0.05399096651318805195056420043

Fonction de répartition

La fonction de répartition (cumulative distribution function cdf) s'obtient comme la densité de probabilité :

  >>> N = Normal(1, 1)
  >>> x = Symbol('x')
  >>> N.cdf(x)
  1/2 - 1/2*erf((1/2)**(1/2)*(1 - x))

  >>> N.cdf(-oo), N.cdf(1), N.cdf(oo)
  (0, 1/2, 1)

  >>> N.cdf(5).evalf()
  0.999968328758167

Calcul de probabilité

La méthode probability donne la probabilité (totale) d'un intervalle donné :

  >>> N.probability(-oo, 0)
  1/2
  >>> N.probability(-1, 1)
  (1/2)*erf(2*(1/2)**(1/2))
  >>> _.evalf()
  0.477249868051821 

Intervalle de confiance

On peut calculer un intervalle de confiance (centré) avec le niveau de confiance souhaité. Par exemple, pour la loi normale, les niveaux de confiance de 68%, 95% et 99.7% correspondent respectivement à des intervalles s'éloignant respectivement de 1, 2 et 3 écart-types de la moyenne :

  >>> N = Normal(0, 1)
  >>> N.confidence(0.68)
  (-0.994457883209753, 0.994457883209753)

  >>> N.confidence(0.95)
  (-1.95996398454005, 1.95996398454005)

  >>> N.confidence(0.997)
  (-2.96773792534179, 2.96773792534179) 

On peut calculer la probabilité de cet intervalle, pour vérifier :

  >>> N.probability(*N.confidence(0.95)).evalf()
  0.95

La loi uniforme

La loi uniforme, comme la loi normale, est implémentée dans Sympy :

  >>> U = Uniform(1,4)

On retrouve, pour la loi uniforme, les mêmes méthodes que pour la loi normale.

Page Actions

Recent Changes

Group & Page

Back Links