Comment dois-je calculer PDF (fonction de densité de probabilité) en Python?
J'ai le code suivant ci-dessous qui imprime le PDF graphique pour un particulier de la moyenne et de l'écart-type.
Maintenant, j'ai besoin de trouver la probabilité réelle, d'une valeur particulière. Donc par exemple si ma moyenne est de 0, et ma valeur est 0, mon probabilité est de 1. Ceci est habituellement fait par le calcul de l'aire sous la courbe. Similaire à ceci:
http://homepage.divms.uiowa.edu/~mbognar/applets/normal.html
Je ne suis pas sûr de la façon d'aborder ce problème
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
def normal(power, mean, std, val):
a = 1/(np.sqrt(2*np.pi)*std)
diff = np.abs(np.power(val-mean, power))
b = np.exp(-(diff)/(2*std*std))
return a*b
pdf_array = []
array = np.arange(-2,2,0.1)
print array
for i in array:
print i
pdf = normal(2, 0, 0.1, i)
print pdf
pdf_array.append(pdf)
plt.plot(array, pdf_array)
plt.ylabel('some numbers')
plt.axis([-2, 2, 0, 5])
plt.show()
print
Vous devez vous connecter pour publier un commentaire.
À moins d'avoir une raison de mettre en œuvre vous-même. Toutes ces fonctions sont disponibles dans scipy.les stats.norme
Je pense que vous demander pour la cdf, puis utiliser ce code:
L'aire sous une courbe
y = f(x)
dex = a
àx = b
est le même que l'intégrale def(x)dx
dex = a
àx = b
. Scipy a rapidement un moyen facile de faire des intégrales. Et seulement alors, vous comprenez, la probabilité de trouver un seul point dans ce domaine ne peut pas être l'un parce que l'idée est que l'aire totale sous la courbe est l'un (à moins PEUT-être que c'est une fonction delta). Donc, vous devriez avoir0 ≤ probability of value < 1
pour une valeur particulière de l'intérêt. Il peut y avoir différentes façons de le faire, mais d'une façon conventionnelle consiste à attribuer des intervalles de confiance le long de l'axe des x comme ceci. Je voudrais lire sur les courbes de Gauss et de normalisation de l'avant de continuer à coder.