Jusqu'à la dernière fois, [Introduction to Data Scientists] Statistiques descriptives et analyse de régression simple a été résumé. Cette fois, nous résumerons la variable de probabilité / probabilité et la distribution de probabilité comme base de la probabilité et des statistiques. Je compléterai les explications de ce livre. 【Mise en garde】 ["Cours de formation de scientifique des données à l'Université de Tokyo"](https://www.amazon.co.jp/%E6%9D%B1%E4%BA%AC%E5%A4%A7%E5%AD%A6%E3 % 81% AE% E3% 83% 87% E3% 83% BC% E3% 82% BF% E3% 82% B5% E3% 82% A4% E3% 82% A8% E3% 83% B3% E3% 83 % 86% E3% 82% A3% E3% 82% B9% E3% 83% 88% E8% 82% B2% E6% 88% 90% E8% AC% 9B% E5% BA% A7-Python% E3% 81 % A7% E6% 89% 8B% E3% 82% 92% E5% 8B% 95% E3% 81% 8B% E3% 81% 97% E3% 81% A6% E5% AD% A6% E3% 81% B6 % E3% 83% 87% E2% 80% 95% E3% 82% BF% E5% 88% 86% E6% 9E% 90-% E5% A1% 9A% E6% 9C% AC% E9% 82% A6% Je vais lire E5% B0% 8A / dp / 4839965250 / ref = tmm_pap_swatch_0? _ Encoding = UTF8 & qid = & sr =) et résumer les parties que j'ai des doutes ou que je trouve utiles. Par conséquent, je pense que le synopsis sera simple, mais veuillez le lire en pensant que le contenu n'a rien à voir avec ce livre.
Importez la bibliothèque utilisée dans ce chapitre.
import numpy as np
import scipy as sp
import pandas as pd
from pandas import Series, DataFrame
import matplotlib as mpl
import seaborn as sns
import matplotlib.pyplot as plt
sns.set()
np.random.seed(0)
Probabilité, essai, événement racine, espace échantillon, événement, probabilité conditionnelle, théorème bayésien, pré-probabilité, post-probabilité
En utilisant les dés comme matière, apprenez les termes et les concepts nécessaires à l'apprentissage des probabilités.
#Valeurs possibles des dés
dice_data =np.array([1,2,3,4,5,6])
Chaque événement; événement racine
print('Un seul extrait au hasard', np.random.choice(dice_data,1))
#Un seul extrait au hasard[3]
Ensemble de tous les événements racine: Espace échantillon Ω Sous-ensemble arbitraire d'espace échantillon: événements
Ici, si vous passez de 1 à 10, ce qui suit se produit également
print('Extraire au hasard 10', np.random.choice(dice_data,10))
#Extraire au hasard 10[2 3 4 2 2 1 6 2 2 5]
\begin{align}
&L'agenda de Kolmogorov\\
&Probabilité P qu'un certain événement E (événement) se produise(E)Si vous écrivez, voici l'ordre du jour.\\
&Agenda 1: 0 pour tous les événements A\leq P(A)\leq 1\\
&Apocalypse 2; P(\Omega)=1\\
&Atheory 3: événements supplémentaires qui s'excluent mutuellement, A_1,A_2,A_3,.. .. .. Contre\\
&P(A_1\cup A_2\cup A_3\cup...)=P(A_1)+P(A_2)+P(A_3)+...=\Sigma_i P(A_i)\\
\end{align}
Bien qu'il soit différent de l'ordre du jour de ce livre, il est cité dans l'ouvrage de référence. Apocalypse 3 de ce livre décrit le cas de $ A_1 $, $ A_2 $. 【référence】 [Cours d'ingénierie de base en mathématiques sur les probabilités / statistiques I p6 de l'Université de Tokyo](https://www.amazon.co.jp/%E5%9F%BA%E7%A4%8E%E7%B3%BB-%E6%95 % B0% E5% AD% A6-% E7% A2% BA% E7% 8E% 87% E3% 83% BB% E7% B5% B1% E8% A8% 88I-% E6% 9D% B1% E4% BA % AC% E5% A4% A7% E5% AD% A6% E5% B7% A5% E5% AD% A6% E6% 95% 99% E7% A8% 8B-% E7% B8% 84% E7% 94% B0 / dp / 4621087150)
L'événement vide $ \ phi $ est un événement qui n'a aucun élément. Par exemple, lorsque A et B sont des événements d'exclusion, $ A \ cap B $ est un événement vide $ \ phi $. $ P (\ phi) = 0 $.
Un événement qui n'appartient pas à un certain événement E est appelé un événement résiduel. Ceci est également appelé le complément d'E. Exprimé en utilisant c en complément.
E=\{2,4,6\}\\
E^c=\{1,3,5\}
A=\{1,2,3\}\\
B=\{1,3,4,5\}
$ A \ cap B $; Événement produit
A\cap B = \{1,3\}
$ A \ cup B $; événement de somme
A\cup B = \{1,2,3,4,5\}
Calculez la probabilité que "l'événement X avec 3", "événement vide", "événement produit de A et B" et "événement somme de A et B" se produisent respectivement.
\begin{align}
P(X) &= \frac{1}{6}\\
P(\phi ) &= 0\\
P(A\cap B)&=\frac{1}{3}\\
P(A\cup B)&=\frac{5}{6}\\
\end{align}
Probabilité de lancer de dés
Nombre d'essais | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
1 | 0.0 | 0.0 | 1.0 | 0.0 | 0.0 | 0.0 |
10 | 0.1 | 0.5 | 0.2 | 0.1 | 0.1 | 0.0 |
100 | 0.16 | 0.17 | 0.18 | 0.19 | 0.18 | 0.12 |
1000 | 0.176 | 0.152 | 0.18 | 0.158 | 0.164 | 0.17 |
10000 | 0.1695 | 0.1701 | 0.1642 | 0.166 | 0.1617 | 0.1685 |
100000 | 0.16776 | 0.16621 | 0.16661 | 0.16573 | 0.16724 | 0.16645 |
1000000 | 0.166517 | 0.166637 | 0.166131 | 0.16692 | 0.166876 | 0.166919 |
Voici mon opinion personnelle. .. .. Je pense que ce résultat est intéressant. En d'autres termes, même s'il y a 6 candidats et que les électeurs choisissent uniformément (au hasard), le résultat sera différent en fonction du nombre d'essais (nombre d'électeurs), donc il y a un léger avantage avec environ 1000 électeurs. Dans ce cas, le résultat n'est pas fiable. Ainsi, la vérité ne peut être vue sans vérifier statistiquement la supériorité, et un vote n'est pas soigneusement voté.
calc_steps = 1000
print('calc_steps=',calc_steps)
dice_rolls = np.random.choice(dice_data,calc_steps)
for i in range(1,7):
p = len(dice_rolls[dice_rolls==i])/calc_steps
print(i, 'Probabilité d'apparaître;', p)
La probabilité que l'événement B se produise sous la condition que l'événement A se soit produit est appelée probabilité conditionnelle de B sous la condition que A est donné.
P(B|A)=\frac{P(A\cap B)}{P(A)}
Il est exprimé comme. Cette formule se transforme comme suit et s'appelle ** Théorème du multiplicateur **.
P(A\cap B)=P(B|A)P(A)
Exemple concret;
Même les yeux sur les dés
A={2,4,6}
4 événements ou plus
B={4,5,6}
Événement produit de A et B
$A\cap B = ${4,6}
P(B|A)=\frac{P(A\cap B)}{P(A)}=\frac{\frac{2}{6}}{\frac{3}{6}}=\frac{2}{3}
Le fait que l'événement A et l'événement B soient indépendants l'un de l'autre signifie
P(A|B)=P(A)
Est vrai. À ce stade, ce qui suit tient du théorème de multiplication.
P(A\cap B)=P(A)P(B)
Si cette formule ne tient pas, alors l'événement A et l'événement B sont dits dépendants l'un de l'autre. Considérant l'exemple de dés ci-dessus, c'est comme suit.
\begin{align}
P(A\cap B)&=\frac{2}{6}&=\frac{1}{3}\\
P(A)P(B)&=\frac{3}{6}\frac{3}{6}&=\frac{1}{4}
\end{align}
On voit que l'événement A et l'événement B ne sont pas indépendants mais dépendants car ils ne sont pas égaux.
Et quand «C = {1,3,5}»?
Événement produit de A et C
$A\cap C = ${}
Encore une fois, ce n'est pas égal à 0 et $ \ frac {1} {4} $, respectivement, et est une dépendance.
J'expliquerai le théorème de Bayes. Cité de la référence «Parfois, nous voulons connaître la cause B à partir du résultat A ... Dans un tel cas, la probabilité conditionnelle P de B avec A comme condition.(B|A)Est requis. Ce qui est requis dans les expériences et les enquêtes est P(A|B)Donc P(B|A)Vous avez besoin d'une équation pour calculer. " Compte tenu des probabilités conditionnelles ci-dessus, si nous considérons A comme l'événement résultant et B comme l'événement causal, nous obtenons le théorème bayésien suivant. Il s'agit de trouver la probabilité que la cause soit un événement B lorsque le résultat de A est connu. Notez que $ B ^ c $ est un complément de B.
P(B|A)=\frac{P(B\cap A)}{P(A)}\\
∵P(A\cap B)=P(B\cap A)\\
=\frac{P(A|B)P(B)}{P(A)}\\
=\frac{P(A|B)P(B)}{P(A|B)P(B)+P(A|B^c)P(B^c)}\\
P (B); Probabilité de l'événement B avant l'événement A; Pré-probabilité P (B | A); Probabilité de l'événement B après l'événement A; Probabilité postérieure P (A | B); probabilité que A se produise si B se produit; probabilité;
Je fais référence à ce qui suit. 【référence】 [Cours d'ingénierie de base en mathématiques sur les probabilités / statistiques I p18 de l'Université de Tokyo](https://www.amazon.co.jp/%E5%9F%BA%E7%A4%8E%E7%B3%BB-%E6%95 % B0% E5% AD% A6-% E7% A2% BA% E7% 8E% 87% E3% 83% BB% E7% B5% B1% E8% A8% 88I-% E6% 9D% B1% E4% BA % AC% E5% A4% A7% E5% AD% A6% E5% B7% A5% E5% AD% A6% E6% 95% 99% E7% A8% 8B-% E7% B8% 84% E7% 94% B0 / dp / 4621087150) "Il y a k événements causaux de $ B_1, B_2, ..., B_k $, et ces événements sont des événements mutuellement exclusifs, et aucun autre événement ne se produit."
P(A)=P[\cup _{i=1}^{k}(A\cap B_i)]\\
=\sum _{i=1}^{k}P(A\cap B_i)\\
=\sum _{i=1}^{k}P(A|B_i)P(B_i)
Sera. Substituer ceci dans l'équation ci-dessus
P(B_i|A)=\frac{P(A|B_i)P(B_i)}{\sum _{j=1}^{k}P(A|B_j)P(B_j)}
Nombre d'essais | table | retour |
---|---|---|
10 | 0.6 | 0.4 |
100 | 0.51 | 0.49 |
1000 | 0.479 | 0.521 |
10000 | 0.505 | 0.495 |
100000 | 0.49939 | 0.50061 |
1000000 | 0.500783 | 0.499217 |
10000000 | 0.500065 | 0.499935 |
calc_steps = 1000
print('calc_steps=',calc_steps)
dice_rolls = np.random.choice(dice_data,calc_steps)
for i in range(0,2):
p = len(dice_rolls[dice_rolls==i])/calc_steps
print(i, 'Probabilité d'apparaître;', p)
Variable de probabilité, fonction de probabilité, fonction de densité de probabilité, valeur attendue, distribution uniforme, distribution de Bernoulli, distribution binomiale, distribution normale, distribution de Poisson, distribution normale logarithmique, estimation de la densité du noyau
Une variable de probabilité est une variable à laquelle une probabilité est affectée à une valeur possible. Compte tenu des dés, les valeurs possibles des variables sont de 1 à 6 et la probabilité d'apparition est également affectée à 1/6, comme indiqué dans le tableau ci-dessous. Ici, la variable X est appelée une variable de probabilité, qui indique des valeurs possibles, et P (X) est la probabilité de chaque occurrence.
X | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
P(X) | 1/6 | 1/6 | 1/6 | 1/6 | 1/6 | 1/6 |
La majuscule X représente une variable stochastique et la minuscule x représente sa valeur de réalisation. De plus, la majuscule P (X) montre la probabilité d'apparition et la minuscule p (x) la valeur réalisée.
\Sigma _{i=1}^6 p(x_i)= 1
La partie "" ci-dessous est tirée de la référence p21 ci-dessus. "Lorsque la variable de probabilité X est discrète, ce qui suit est appelé la distribution de probabilité de X.
P(X=x_i) = f(x_i)
La probabilité à chaque point est une fonction de $ x $ (l'indice i est omis ci-dessous), et $ f (x) $ est appelée une fonction de probabilité. "
La fonction de distribution (fonction de distribution de probabilité cumulative) est définie ci-dessous.
F(X)=P(X\leq x) = \Sigma _{x_i \leq x}p(x_i)
Ici, dans le cas d'une variable de probabilité continue, la dérivée de la fonction de distribution est appelée fonction de densité (fonction de densité de probabilité) et est définie comme suit.
f(x)= \frac{dF(x)}{dx}
En supposant que la variable de probabilité X, la formule de définition de la valeur attendue E (X) est la suivante.
E(x)= \Sigma _x xf(x)
Par exemple, les dés sont les suivants.
\begin{align}
E(x)&= 1*\frac{1}{6}+2*\frac{1}{6}+3*\frac{1}{6}+4*\frac{1}{6}+5*\frac{1}{6}+6*\frac{1}{6}\\
&=\frac{21}{6}\\
&=3.5
\end{align}
Ceux qui ont la même probabilité que tous les événements se produisent sont appelés des distributions uniformes. Dans le cas des dés, c'est comme suit
prob_data = []
print('calc_steps=',calc_steps)
dice_rolls = np.random.choice(dice_data,calc_steps)
for i in range(1,7):
p = len(dice_rolls[dice_rolls==i])/calc_steps
prob_data.append(p)
print(i, 'Probabilité d'apparaître;', p)
plt.bar(dice_data, prob_data)
plt.grid()
plt.show()
>python dice_choice.py
calc_steps= 1000
Probabilité de 1; 0.153
Probabilité de 2; 0.17
Probabilité de 3; 0.161
Probabilité de 4; 0.17
Probabilité de 5; 0.148
Probabilité de 6; 0.198
Essai de Bernoulli; essai avec résultats binaires Distribution de Bernoulli; probabilité que chaque événement se produise dans un seul essai de Bernoulli Si vous lancez des pièces, la probabilité que le front sorte, la probabilité que le dos sorte
Ce qui suit est la distribution de Bernoulli lorsque le résultat du lancement de pièces de monnaie huit fois est [0,0,0,0,0,1,1,1].
prob_be_data = []
coin_data = np.array([0,0,0,0,0,1,1,1])
for i in np.unique(coin_data):
p = len(coin_data[coin_data==i])/len(coin_data)
prob_be_data.append(p)
print(i, 'Probabilité d'apparaître;', p)
plt.bar([0,1], prob_be_data, align = 'center')
plt.xticks([0,1], ['head', 'tail'])
plt.grid()
plt.show()
Probabilité de 0; 0.625
Probabilité de 1; 0.375
Créez des données basées sur une distribution spécifique. Ci-dessous, nous examinerons les caractéristiques des données de distribution en calculant à l'aide de diverses fonctions de distribution de numpy.
La distribution binomiale est un essai de Bernoulli indépendant répété n fois. Il peut être généré comme suit. (30 essais, probabilité 0,5), quand j'ai essayé 1000 fois, c'est comme suit. Il y a une moyenne autour de 15 et la dispersion est de 30/4
np.random.seed(0)
x = np.random.binomial(30,0.5,1000)
print(x.mean(), x.var())
#14.98 7.6176
plt.hist(x)
plt.grid()
plt.show()
10000sample
Nombre de gouttes de pluie par unité de surface, nombre d'arbres par mètre carré, etc. Le nombre qui devrait se produire dans une certaine section est 7 et l'échantillon 1000 est le suivant.
np.random.seed(0)
x = np.random.poisson(7,1000)
print(x.mean(), x.var())
#6.885 6.457775
plt.hist(x)
plt.grid()
plt.show()
10000sample
Distribution normale mu; moyenne, sigma; écart-type
np.random.seed(0)
x = np.random.normal(5,10,1000)
print(x.mean(), x.var())
#4.547432925098047 97.42344563121543
plt.hist(x)
plt.grid()
plt.show()
Lognez la distribution normale avec l'axe logarithmique sur l'axe horizontal
np.random.seed(0)
mu, sigma = 3., 0.4
x = np.random.lognormal(mu,sigma,1000)
print(x.mean(), x.var())
#21.329823289919993 76.9718785871209
plt.hist(x)
plt.grid()
plt.show()
Comme il est difficile de comprendre la signification de la moyenne et de l'écart type, tout en regardant la référence, Normalisons l'axe vertical et alignons-le avec celui calculé par la formule.
s = np.random.lognormal(mu, sigma, 1000)
count, bins, ignored = plt.hist(s, bins=12, range =(0,60), density=True, align='mid')
x = np.linspace(min(bins), max(bins),120)
pdf = (np.exp(-(np.log(x) - mu)**2 / (2 * sigma**2))/ (x * sigma * np.sqrt(2 * np.pi)))
plt.plot(x, pdf, linewidth=2, color='r')
plt.axis('tight')
plt.show()
Estimer la fonction de densité en utilisant les données données. Pour estimer les données d'absentéisme à l'aide de la fonction de densité du noyau, procédez comme suit:
student_data_math = pd.read_csv('./chap3/student-mat.csv', sep =';')
student_data_math.absences.plot(kind='kde', style='k--')
student_data_math.absences.hist(density=True,align='mid')
plt.grid()
plt.show()
Je ne comprends pas quel type de fonction kde suppose, donc d'après la référence 【référence】 [Estimation de la densité du noyau @wikipedia](https://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E5%AF%86] % E5% BA% A6% E6% 8E% A8% E5% AE% 9A #: ~: texte =% E3% 82% AB% E3% 83% BC% E3% 83% 8D% E3% 83% AB% E5 % AF% 86% E5% BA% A6% E6% 8E% A8% E5% AE% 9A% EF% BC% 88% E3% 82% AB% E3% 83% BC% E3% 83% 8D% E3% 83 % AB% E3% 81% BF% E3% 81% A4,% E3% 83% 8E% E3% 83% B3% E3% 83% 91% E3% 83% A9% E3% 83% A1% E3% 83% 88% E3% 83% AA% E3% 83% 83% E3% 82% AF% E6% 89% 8B% E6% B3% 95% E3% 81% AE% E3% 81% B2% E3% 81% A8% E3% 81% A4% E3% 80% 82 & texte =% E5% A4% A7% E3% 81% BE% E3% 81% 8B% E3% 81% AB% E8% A8% 80% E3% 81% 88% E3 % 81% B0% E3% 80% 81% E3% 81% 82% E3% 82% 8B,% E3% 83% 87% E3% 83% BC% E3% 82% BF% E3% 82% 92% E5% A4% 96% E6% 8C% BF% E3% 81% A7% E3% 81% 8D% E3% 82% 8B% E3% 80% 82) "Soit x1, x2, ..., xn des échantillons provenant de distributions identiques indépendantes avec une fonction de densité de probabilité (inconnue). Fonction noyau K, estimation de la densité du noyau de la largeur de bande (paramètre de lissage) h. Qu'est-ce que l'estimateur de densité de noyau)?
\begin{align}
f(x)&=\frac{1}{nh}∑^n_{i=1}K(\frac{x−X_i}{h})\\
\\
Ici noyau normal&La distribution normale suivante est utilisée pour la fonction.\\
\\
K(x)&=\frac{1}{2\pi}e^{\frac{x^2}{2}}\\
\end{align}
Distribution de probabilité simultanée, fonction de probabilité périphérique, fonction de probabilité conditionnelle, moyenne conditionnelle, matrice de covariance distribuée, distribution normale multidimensionnelle
Considérons une variable de probabilité discrète où X prend une valeur sur $ {x_0, x_1, ...} $ et Y prend une valeur sur $ {y_0, y_1, ...} $. Si les probabilités de $ X = x_i $ et $ Y = y_i $ sont écrites comme suit, ce qui suit est appelé une fonction de probabilité simultanée.
P(X=x_i, Y=y_i) = p_{X,Y}\{x_i,y_i\}
Ce qui suit est appelé la fonction de probabilité périphérique de X.
P_X(x_i) = \Sigma _{j=0}^{\infty }p_{X,Y}\{x_i,y_i\}
Y est défini de la même manière.
La fonction de probabilité conditionnelle de $ Y = y_i $ étant donné $ X = x_i $ peut être définie comme suit.
p_{Y|X}(y_j|x_i)=P(Y=y_j|X=x_i)=\frac{p_{X,Y}(x_i,y_j)}{p_X(x_i)}
De plus, l'espérance conditionnelle de Y lorsque $ X = x_i $ est donnée est la suivante.
E[Y|X=x_i]=\Sigma _{j=1}^{\infty }y_jp_{Y|X}(y_j|x_i)=\frac{\Sigma _{j=1}^{\infty }y_ip_{X,Y}(x_i,y_j)}{p_X(x_i)}
La définition de l'indépendance en deux variables est supposée indépendante pour tout xi, yi lorsque ce qui suit est vrai.
p_{X|Y}(x_i|y_j)=p_X(x_i)p_Y(y_j)
En ce qui concerne la distribution continue, la fonction de densité de probabilité simultanée, la fonction de densité de probabilité périphérique, la fonction de densité de probabilité conditionnelle, la définition indépendante, etc. peuvent être définies, mais elles sont omises.
Le graphique suivant a été affiché dans le programme suivant.
import matplotlib.pyplot as plt
import numpy as np
import scipy.stats as st
from scipy.stats import multivariate_normal
from mpl_toolkits.mplot3d import Axes3D
x,y =np.mgrid[10:100:2,10:100:2]
pos = np.empty(x.shape + (2,))
pos[:,:,0]=x
pos[:,:,1]=y
rv = multivariate_normal([50,50],[[100,0],[0,100]])
z=rv.pdf(pos)
fig = plt.figure(dpi=100)
ax=Axes3D(fig)
ax.plot_wireframe(x,y,z)
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('f(x,y)')
ax.ticklabel_format(style='sci', axis = 'z',scilimits=(0,0))
plt.show()
Le programme est un peu difficile, alors je vais vous l'expliquer. Il est important de comprendre les deux lignes suivantes.
rv = multivariate_normal([50,50],[[100,0],[0,100]])
z=rv.pdf(pos)
Les références suivantes vous aideront à comprendre. 【référence】 ① [Distribution normale multivariée @wikipedia](https://ja.wikipedia.org/wiki/%E5%A4%9A%E5%A4%89%E9%87%8F%E6%AD%A3%E8%A6 % 8F% E5% 88% 86% E5% B8% 83) ② Générer des données qui suivent une distribution normale multidimensionnelle Selon la référence (2), le code ci-dessus peut être écrit comme suit. Où mu est la moyenne et sigma est la matrice de covariance.
mu = [50,50]
sigma = [[100,0],[0,100]]
rv = multivariate_normal(mu, sigma)
La formule est la suivante.
\mu=\begin{pmatrix}\mu_x \\ \mu_y \end{pmatrix}\\
\sum=
\begin{pmatrix} \sigma_x^2 & Cov(x,y) \\ Cov(y,x) & \sigma_y^2 \end{pmatrix}\\
=\begin{pmatrix} \sigma_x^2 & \rho \sigma_x\sigma_y \\ \rho\sigma_y\sigma_x & \sigma_y^2 \end{pmatrix}
Autrement dit, ici c'est comme suit.
\mu=\begin{pmatrix} 50 \\ 50\end{pmatrix}\\
\sum=\begin{pmatrix}100 & 0 \\ 0 & 100\end{pmatrix}
Et toute la formule de multivariate_normal (mu, sigma) est calculée par grille avec z = rv.pdf (pos) pour l'ensemble de (x, y) ci-dessous.
f(x,y)=\frac{1}{2\pi\sigma_x\sigma_y\sqrt{1-\rho^2}}\exp(-\frac{1}{2(1-\rho^2)}[\frac{(x-\mu_x)^2}{\sigma_x^2}+\frac{(y-\mu_y)^2}{\sigma_y^2}-\frac{2\rho(x-\mu_x)(y-\mu_y)}{\sigma_x\sigma_y}])
De plus, presque le même code est affiché dans la référence ③ ci-dessous. 【référence】 ③Python plot 3d scatter and density ④scipy.stats.multivariate_normal Aussi, pour comprendre z = rv.pdf (pos), pdf a la signification suivante et prend un argument tel qu'il est écrit comme un bonus. J'utilise: pdf=Probability density function.
【référence】 Python 3: Comment écrire un graphe 3D (matplotlib, pyplot, mplot3d, MPL) Le code est comme suit.
def func(x,y):
mux,muy,sigmax,sigmay,rho=50.,50.,10.,10.,0.
fxy=np.exp(-((x-mux)**2/(sigmax**2) + (y-muy)**2/(sigmay**2)-2*rho*(x-mux)*(y-muy)/(sigmax*sigmay))/2*(1-rho**2))/(2*np.pi*sigmax*sigmay*np.sqrt(1-rho**2))
return fxy
x,y =np.mgrid[10:100:2,10:100:2]
z=func(x,y)
fig = plt.figure(dpi=100)
ax=Axes3D(fig)
ax.plot_wireframe(x,y,z)
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('f(x,y)')
ax.ticklabel_format(style='sci', axis = 'z',scilimits=(0,0))
plt.show()
Puisque l'apparence est la même, la même image a été obtenue comme ci-dessous. Lorsque mux, muy, sigmax, sigmay, rho = 50., 50., 10., 10., 0.3 Et rv = multivariate_normal([50,50],[[100,30],[30,100]]) Lorsque j'ai calculé avec, le même résultat a été obtenu comme suit.
Ce qui est requis comme rv.Methods () of rv = multivariate_normal (mu, sigma)
Methods | Commentaire |
---|---|
pdf(x, mean=None, cov=1, allow_singular=False) |
Probability density function. |
logpdf(x, mean=None, cov=1, allow_singular=False) |
Log of the probability density function. |
cdf(x, mean=None, cov=1, allow_singular=False, maxpts=1000000*dim, abseps=1e-5, releps=1e-5) |
Cumulative distribution function. |
logcdf(x, mean=None, cov=1, allow_singular=False, maxpts=1000000*dim, abseps=1e-5, releps=1e-5) |
Log of the cumulative distribution function. |
rvs(mean=None, cov=1, size=1, random_state=None) |
Draw random samples from a multivariate normal distribution. |
entropy() |
Compute the differential entropy of the multivariate normal. |