Distribution de probabilité | probability distribution | Méthode | Les données | |
---|---|---|---|---|
1 | Distribution super géométrique | Hypergeometric distribution | scipy.stats.hypergeom | Type discret |
2 | Distribution de Bernoulli | Bernoulli distribution | scipy.stats.bernoulli | Type discret |
3 | Distribution binaire | binomial distribution | scipy.stats.binom | Type discret |
4 | Distribution de Poisson | Poisson distribution | scipy.stats.poisson | Type discret |
5 | Distribution géométrique | Geometric Distribution | scipy.stats.geom | Type discret |
6 | Distribution binomiale négative | Negative Binomial Distribution | scipy.stats.nbinom | Type discret |
7 | Distribution uniforme | uniform distribution | scipy.stats.uniform | Type discret |
8 | distribution normale | normal distribution | scipy.stats.norm | Type continu |
9 | Distribution exponentielle | exponential distribution | scipy.stats.expon | Type continu |
10 | Distribution gamma | gamma distribution | scipy.stats.gamma | Type continu |
11 | Distribution bêta | beta distribution | scipy.stats.betabinom | Type continu |
12 | Distribution de Cauchy | Cauchy distribution | scipy.stats.cauchy | Type continu |
13 | Enregistrer la distribution normale | lognormal distribution | scipy.stats.lognorm | Type continu |
14 | Distribution de Pareto | Pareto distribution | scipy.stats.pareto | Type continu |
15 | Distribution Wibble | Weibull distribution | scipy.stats.dweibull | Type continu |
scipy.stats.norm
** comme exemple.x
**, paramètres ** valeur attendue (valeur moyenne) loc
** et ** écart-type échelle
**, ainsi que ** éléments Nombre size
**, ** Graine de génération aléatoire random_state = integer
**, etc.#Bibliothèque de calculs numériques
import numpy as np
from scipy import stats
#Bibliothèque pour dessiner des graphiques
import matplotlib.pyplot as plt
%matplotlib inline
#Un module qui rend matplotlib compatible avec l'affichage japonais
!pip install japanize-matplotlib
import japanize_matplotlib
rvs (loc = 0, scale = 1, size = 1, random_state = None)
#Générer des nombres pseudo-aléatoires qui suivent une distribution normale avec des RV
norm_rvs = stats.norm.rvs(loc=50, scale=20, size=1000, random_state=0) #Valeur attendue=50,écart-type=20,Quantité=1000
#Visualisation (exprimée en histogramme)
plt.hist(norm_rvs, bins=10, alpha=0.3, ec='blue')
plt.xlabel("classe", fontsize=13)
plt.ylabel("la fréquence", fontsize=13)
plt.show()
pdf (x, loc = 0, échelle = 1)
#Générer une séquence d'égalité
X = np.arange(start=1, stop=7.1, step=0.1)
#Générer une fonction de densité de probabilité en pdf
norm_pdf = stats.norm.pdf(x=X, loc=4, scale=0.8) #Valeur attendue=4,écart-type=0.8
#Visualisation
plt.plot(X, norm_pdf)
plt.xlabel("Variable de probabilité X", fontsize=13)
plt.ylabel("Densité de probabilité pdf", fontsize=13)
plt.show()
#Calculez la densité de probabilité lorsque la variable de probabilité 5
x = 5
y = stats.norm.pdf(x=x, loc=4, scale=0.8) #Valeur attendue=4,écart-type=0.8
print("Variable probabiliste x=Densité de probabilité à 5:", y)
#Tracer sur le graphique de la fonction de densité de probabilité
plt.plot(X, norm_pdf)
plt.plot(x, y, 'bo') #Placez les points bleus
plt.vlines(x, 0.0, y, lw=2, linestyles='dashed') #Ligne verticale
plt.hlines(y, 1.0, x, lw=2, linestyles='dashed') #Horizon
plt.xlabel("Variable de probabilité X", fontsize=13)
plt.ylabel("Densité de probabilité pdf", fontsize=13)
plt.show()
pmf (k, n, p, loc = 0)
#Probabilité de succès
p = 0.4
#Nombre d'essais
n = 5
#Nombre de succès
k = np.arange(0, 5) # array([0, 1, 2, 3, 4])
#Calculez la probabilité de chaque succès avec pmf
binom_pmf = stats.binom.pmf(k, n, p) #Nombre de succès=0~4,Nombre d'essais=5,Probabilité de succès=0.4
#Visualisation
plt.plot(k, binom_pmf, 'bo', ms=8)
plt.vlines(k, 0, binom_pmf, colors='b', lw=3, alpha=0.5)
plt.xticks(k) #échelle de l'axe des x
plt.xlabel("Variable de probabilité X", fontsize=13)
plt.ylabel("Fonction de masse probabiliste pmph", fontsize=13)
plt.show()
logpdf (x, loc = 0, échelle = 1)
#Générer une séquence d'égalité
X = np.arange(start=1, stop=7.1, step=0.1)
#Générer un journal de la fonction de densité de probabilité avec logpdf
norm_logpdf = stats.norm.logpdf(x=X, loc=4, scale=0.8) #Valeur attendue=4,écart-type=0.8
#Visualisation
plt.plot(X, norm_logpdf)
plt.xlabel("Variable de probabilité X", fontsize=13)
plt.ylabel("Fonction de densité de probabilité log logpdf", fontsize=13)
plt.show()
#Obtenez la densité de probabilité maximale du journal
logpdf_max = np.max(norm_logpdf)
print('x=Densité de probabilité log de 4:', logpdf_max)
#Calculer la densité de probabilité
x = 4
v_pdf = stats.norm.pdf(x=x, loc=4, scale=0.8) #Valeur attendue=4,écart-type=0.8
#Calculer la logarithmique de la densité de probabilité
v_pdf_log = np.log(v_pdf)
print('x=Log de densité de probabilité de 4:', v_pdf_log)
#Visualisation
plt.plot(X, norm_logpdf)
plt.plot(4, logpdf_max, 'bo') #Placez les points bleus
logpdf_min = np.min(norm_logpdf) #Valeur minimale de la densité de probabilité logarithmique(Pour dessiner)
plt.vlines(x, logpdf_max, logpdf_min, lw=2, linestyles='dashed') #Ligne verticale
plt.hlines(logpdf_max, 1.0, x, lw=2, linestyles='dashed') #Horizon
plt.xlabel("Variable de probabilité X", fontsize=13)
plt.ylabel("Fonction de densité de probabilité log logpdf", fontsize=13)
plt.show()
cdf (x, loc = 0, échelle = 1)
#Générer une séquence d'égalité sur l'axe des x
X = np.linspace(start=1, stop=7, num=100)
#Générer une fonction de distribution cumulative avec cdf
norm_cdf = stats.norm.cdf(x=X, loc=4, scale=0.8) #Valeur attendue=4,écart-type=0.8
#x avec cdf=Calculez la probabilité cumulée de 5 ou moins
under_5 = stats.norm.cdf(x=5, loc=4, scale=0.8) #Valeur attendue=4,écart-type=0.8
print('Probabilité de 5 ou moins:', under_5)
#Visualisation
plt.plot(X, norm_cdf)
plt.plot(5, under_5, 'bo') #Placez les points bleus
plt.vlines(5, 0.0, under_5, lw=2, linestyles='dashed') #Ligne verticale
plt.hlines(under_5, 1.0, 5, lw=2, linestyles='dashed') #Horizon
plt.xlabel("Variable de probabilité X", fontsize=13)
plt.ylabel("Densité de probabilité cumulative cdf", fontsize=13)
plt.show()
sf (x, loc = 0, échelle = 1)
#Générer une séquence d'égalité sur l'axe des x
X = np.linspace(start=1, stop=7, num=100)
#Générer une fonction de survie avec sf
norm_sf = stats.norm.sf(x=X, loc=4, scale=0.8) #Valeur attendue=4,écart-type=0.8
#x avec sf=Calculer la probabilité cumulée de 5 ou plus
upper_5 = stats.norm.sf(x=5, loc=4, scale=0.8) #Valeur attendue=4,écart-type=0.8
print('Probabilité de 5 ou plus:', upper_5)
#Visualisation
plt.plot(X, norm_sf)
plt.plot(5, upper_5, 'bo') #Placez les points bleus
plt.vlines(5, 0.0, upper_5, lw=2, linestyles='dashed') #Ligne verticale
plt.hlines(upper_5, 1.0, 5, lw=2, linestyles='dashed') #Horizon
plt.xlabel("Variable de probabilité X", fontsize=13)
plt.ylabel("Fonction de survie SF", fontsize=13)
plt.show()
ppf (q, loc = 0, échelle = 1)
** La fonction de point de pourcentage ** est l'inverse de la fonction de distribution cumulative cdf, et si vous spécifiez la ** fonction de distribution cumulative comme q%, elle renvoie une variable ** qui prend cette valeur.#Générer une séquence d'égalité sur l'axe des x
X = np.arange(start=1, stop=7, step=0.1)
#Générer une fonction de densité de probabilité en pdf
norm_pdf = stats.norm.pdf(x=X, loc=4, scale=0.8) #Valeur attendue=4,écart-type=0.8
#Obtenir la variable correspondant à la fonction de distribution cumulée 75% avec ppf
q_75 = stats.norm.ppf(q=0.75, loc=4, scale=0.8) #Valeur attendue=4,écart-type=0.8
print('Fonction de distribution cumulative Variable de probabilité de 75%:', q_75)
#Obtenez la densité de probabilité de la variable avec pdf
v = stats.norm.pdf(x=q_75, loc=4, scale=0.8)
print('Fonction de distribution cumulative Densité de probabilité de 75%:', v)
#Visualisation
plt.plot(X, norm_pdf)
plt.plot(q_75, v, 'bo') #Placez les points bleus
plt.vlines(q_75, 0.0, v, lw=2, linestyles='dashed') #Ligne verticale
plt.hlines(v, 1.0, q_75, lw=2, linestyles='dashed') #Horizon
plt.xlabel("Variable de probabilité X", fontsize=13)
plt.ylabel("Fonction de densité de probabilité pdf", fontsize=13)
plt.show()
#Générer une séquence d'égalité sur l'axe des x
X = np.arange(start=1, stop=7, step=0.1)
#Générer une fonction de densité de probabilité en pdf
norm_pdf = stats.norm.pdf(x=X, loc=4, scale=0.8) #Valeur attendue=4,écart-type=0.8
#Obtenir la variable correspondant à la fonction de survie inverse 25% avec isf
q_25 = stats.norm.isf(q=0.25, loc=4, scale=0.8) #Valeur attendue=4,écart-type=0.8
print('Fonction de survie inverse Variable de probabilité ponctuelle de 25%:', q_25)
#Obtenez la densité de probabilité de la variable avec pdf
v = stats.norm.pdf(x=q_25, loc=4, scale=0.8)
print('Fonction de survie inverse Densité de probabilité de 25%:', v)
#Visualisation
plt.plot(X, norm_pdf)
plt.plot(q_25, v, 'bo') #Placez les points bleus
plt.vlines(q_25, 0.0, v, lw=2, linestyles='dashed') #Ligne verticale
plt.hlines(v, 1.0, q_25, lw=2, linestyles='dashed') #Horizon
plt.xlabel("Variable de probabilité X", fontsize=13)
plt.ylabel("Fonction de densité de probabilité pdf", fontsize=13)
plt.show()
#Générer une séquence d'égalité sur l'axe des x
X = np.arange(start=1, stop=7, step=0.1)
#Générer une fonction de densité de probabilité en pdf
norm_pdf = stats.norm.pdf(x=X, loc=4, scale=0.8) #Valeur attendue=4,écart-type=0.8
#Récupère la variable correspondant à l'intervalle de confiance 95% par intervalle
lower, upper = stats.norm.interval(alpha=0.95, loc=4, scale=0.8) #Coefficient de confiance=0.95,Valeur attendue=4,écart-type=0.8
print('Limite inférieure de l'intervalle de confiance à 95%:', lower)
print('Limite supérieure de l'intervalle de confiance à 95%:', upper)
#Obtenez la densité de probabilité de chaque variable avec pdf
v_lower = stats.norm.pdf(x=lower, loc=4, scale=0.8) #Valeur attendue=4,écart-type=0.8
v_upper = stats.norm.pdf(x=upper, loc=4, scale=0.8) #Valeur attendue=4,écart-type=0.8
#Visualisation
plt.plot(X, norm_pdf)
plt.plot(lower, 0.0, 'k|')
plt.plot(upper, 0.0, 'k|')
plt.vlines(lower, 0.0, v_lower, lw=0.8) #Ligne verticale de limite inférieure
plt.vlines(upper, 0.0, v_upper, lw=0.8) #Ligne verticale supérieure
plt.xlabel("Variable de probabilité X", fontsize=13)
plt.ylabel("Fonction de densité de probabilité pdf", fontsize=13)
plt.show()
Recommended Posts