[PYTHON] Résumé des distributions de probabilité qui apparaissent souvent dans les statistiques et l'analyse des données

En statistique, les conséquences des événements qui se produisent dans le monde sont appelées ** variables aléatoires **. Et c'est la ** distribution de probabilité ** qui nous donne la vraisemblance de chaque variable stochastique.

La forme de la distribution de probabilité à laquelle appartient la variable de probabilité change en fonction du type d'événement dont elle résulte. Vous trouverez ci-dessous un résumé des distributions probabilistes couramment utilisées dans les statistiques, avec du code en Python qui dessine la distribution probabiliste.

Lorsque la variable de probabilité est une valeur discrète

Le résultat d'un événement est $ X $, qui a des valeurs discrètes. Comme exemple de chaque distribution, le graphique de la ** fonction de masse de probabilité ** est présenté.

La fonction de masse stochastique est une fonction qui donne à chaque $ X $ une probabilité.

Distribution Bernoulli

Supposons qu'un événement X ne puisse avoir que deux résultats: $ X = 0 $ ou $ X = 1 $. Alors, si $ P (X = 1) = p $, la variable de probabilité $ X $ suit la ** distribution de Bernoulli **.

Si la variable de probabilité $ X $ est la probabilité $ p $ [distribution de Bernouy](https://ja.wikipedia.org/wiki/%E3%83%99%E3%83%AB%E3%83%8C%E3 Si vous suivez% 83% BC% E3% 82% A4% E5% 88% 86% E5% B8% 83) ($ X $ ~ $ B (p) $), alors:


\begin{align}
P(X=1) &= p \\
P(X=0) &= 1 - p \\
E[X] &= p \\
Var(X) &= p(1-p)
\end{align}

A ce moment, $ E [X] $ représente la moyenne et $ Var (X) $ représente la variance.

Par exemple, une fois que vous passez un test avec un taux de réussite de 30%, la fonction de masse de probabilité du résultat est affichée.

bernoulli.py



## Bernoulli distribution ---------------------------------------------
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.stats import bernoulli

# probability that X=1
p = 0.3

# possible outcomes
x = [0,1]

# visualize
fig, ax = plt.subplots(1,1)
ax.plot(x, bernoulli.pmf(x, p), 'bo', ms=8)
ax.vlines(x, 0, bernoulli.pmf(x,p), colors='b', lw=5, alpha=0.5)
ax.set_xlabel('X')
ax.set_ylabel('probability')
ax.set_title('bernoulli pmf')
ax.set_ylim((0,1))
ax.set_aspect('equal')

bernoulli.png

Distribution binomiale

La distribution diagonale a généralisé la distribution de Bernoulli. Chose. C'est juste la somme des essais de Bernouy $ N $. Représente une distribution de probabilité dans laquelle un événement $ X $ avec une probabilité de $ p $ se produit $ k $ fois sur des essais $ N $.

Lorsque $ X $ ~ $ Bin (N, p) $


\begin{align}
P(X=k|p) &= \binom{N}{k} p^{k}(1-p)^{N-k} \\
E[X] &= np \\
Var(X) &= np(1-p)
\end{align}

À titre d'exemple, voici une fonction de masse probabiliste qui exprime la probabilité de réussir un test avec un taux de réussite de 30% cinq fois.

binomial.py



## Binomial distribution ---------------------------------------------
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.stats import binom

# probability that X=1
p = 0.3

# the number of trials
N = 5
 
# X=1 happens k times
k = np.arange(N+1)

# visualize
fig, ax = plt.subplots(1,1)
ax.plot(k, binom.pmf(k, N, p), 'bo', ms=8)
ax.vlines(k, 0, binom.pmf(k, N, p), colors='b', lw=5, alpha=0.5)
ax.set_xlabel('k')
ax.set_ylabel('probability (X=1)')
ax.set_title('binomial pmf')
ax.set_ylim((0,1))

binomial.png

Distribution de Poisson

[Distribution de Poisson](https://ja.wikipedia.org/wiki/%E3%83%9D%E3%82%A2%E3%82%BD%E3%83%B3%E5%88%86%E5% B8% 83) est utilisé pour décrire le nombre de fois qu'un événement se produit. Le seul paramètre est $ \ lambda $, qui représente la fréquence moyenne de l'événement.

Quand $ X \ sim Pois (\ lambda) $


\begin{align}
P(X=k|\lambda) &= \frac{\lambda^{k} e^{-\lambda}}{k!} \hspace{15pt}  for \hspace{10pt} k = 0, 1, 2, ...\\
E[X] &= \lambda \\
Var(X) &= \lambda 
\end{align}

La distribution de Poisson est caractérisée par moyenne = variance = $ \ lambda $.

Un exemple est la fréquence de déclenchement des cellules nerveuses. On sait que l'activité de mise à feu des cellules nerveuses est approximativement un processus de Poisson, et en supposant que le taux de déclenchement moyen d'une cellule nerveuse est de 5 (fois / s), le nombre de tirs de cette cellule nerveuse par seconde est le suivant. La distribution de probabilité est la suivante.

poisson.py



## Poisson distribution --------------------------------------------
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.stats import poisson

# rate parameter
mu = 5

# possible counts
k = np.arange(poisson.ppf(0.01, mu), poisson.ppf(0.99, mu))

# visualize
fig, ax = plt.subplots(1,1)
ax.plot(k, poisson.pmf(k, mu), 'bo', ms=8)
ax.vlines(k, 0, poisson.pmf(k, mu), colors='b', lw=5, alpha=0.5)
ax.set_xlabel('k')
ax.set_ylabel('probability')
ax.set_title('poisson pmf')

poisson.png

Lorsque la variable de probabilité est une valeur continue

Le résultat d'un événement est que $ X $ prend des valeurs continues plutôt que des valeurs discrètes. À titre d'exemple de chaque distribution, le graphique de la ** fonction de densité de probabilité ** est présenté.

La fonction de densité de probabilité, contrairement à la fonction de masse de probabilité, est une fonction qui donne à chaque $ X $ sa vraisemblance relative (vraisemblance relative). La probabilité que $ X $ prenne la plage $ a \ leq X \ leq b $ est calculée par l'aire de la fonction de densité de probabilité dans cette plage, c'est-à-dire l'intégrale $ \ int_ {a} ^ {b} f (X) dX $. Peut être fait. Par définition de probabilité, l'aire de la plage entière $ - \ inf \ leq X \ leq \ inf $ de la fonction de densité de probabilité est 1.

Distribution exponentielle

Distribution exponentielle montre qu'un événement se produit plusieurs fois. Lorsque vous vous réveillez, il décrit le temps écoulé entre les événements. Le point est la répartition du temps d'attente.

Plus statistiquement, il représente le temps entre les processus de Poisson. Par conséquent, le paramètre, comme Poisson, est $ \ lambda $, qui représente la fréquence moyenne.

Quand $ X \ sim Exp (\ lambda) $


\begin{align}
f(x|\lambda) &= \lambda e^{-\lambda x} \hspace{15pt} (x \geq 0) \\
E[X] &= \frac{1}{\lambda} \\
Var(X) &= \frac{1}{\lambda^{2}} 
\end{align}

En d'autres termes, si un événement est un processus de Poisson, le temps d'attente moyen d'un événement au suivant est de $ 1 / \ lambda $.

Ce qui suit montre la distribution du temps entre le déclenchement de la cellule nerveuse et le prochain déclenchement sous forme de distribution exponentielle.

exponential.py



## Exponential distribution --------------------------------------------
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.stats import expon

# rate parameter
mu = 5

# possible waiting time
k = np.linspace(expon.ppf(0.01, loc=0, scale=1/mu), expon.ppf(0.99, loc=0, scale=1/mu), 100)

# visualize
fig, ax = plt.subplots(1,1)
ax.plot(k, expon.pdf(k, loc=0, scale=1/mu), 'r-', lw=5, alpha=0.5)
ax.set_xlabel('waiting time')
ax.set_ylabel('f(x)')
ax.set_title('exponential pdf')

exponential.png

Distribution uniforme

La distribution uniforme est la forme la plus simple de distribution. Cependant, il renvoie la même valeur de probabilité pour toute variable de probabilité $ x $ dans la plage spécifiée, il s'agit donc d'une distribution de probabilité essentielle lorsque les résultats possibles sont également probables.

Lorsque $ X $ ~ $ U [a, b] $, ce qui suit est vrai.


\begin{align}
f(x) &= \frac{1}{b - a} \hspace{15pt} if \hspace{15pt} a \leq x \leq b \\
f(x) &= 0  \hspace{45pt} otherwise \\
E[X] &= \frac{a + b}{2} \\
Var(X) &= \frac{(b - a)^{2}}{12}
\end{align}

Aussi, pour la moyenne de distribution uniforme, "la somme des moyennes est la moyenne des sommes" et "le produit des moyennes est la moyenne des produits" (cependant, lorsque les événements sont indépendants).


\begin{align}
E[X+Y] &= E[X] + E[Y] \\
E[XY] &= E[X]E[Y] \hspace{20pt} (if \hspace{5pt} X \perp Y)
\end{align}

À titre d'exemple, voici une fonction de densité de probabilité lorsqu'un résultat expérimental doit prendre l'une des trois à quatre valeurs consécutives, et chaque probabilité est également probable.

uniform.py



## Uniform distribution ---------------------------------------------
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.stats import uniform

# range
a = 3
b = 4 - a
x = np.linspace(uniform.ppf(0.01, loc=a, scale=b), uniform.ppf(0.99, loc=a, scale=b), 100)

# visualize
fig, ax = plt.subplots(1,1)
ax.plot(x, uniform.pdf(x, loc=a, scale=b), 'r-', alpha=0.6, lw=5)
ax.set_xlabel('X')
ax.set_ylabel('P(X)')
ax.set_title('uniform pdf')

uniform.png

Distribution gamma

Distribution gamma Représente la distribution de la latence totale lorsqu'un événement se produit $ n $ fois. Par conséquent, si $ n = 1 $, la distribution gamma correspond à la distribution exponentielle. Il existe deux paramètres: $ \ alpha = n $, $ \ beta = \ lambda $. $ \ lambda $ est la fréquence moyenne des événements, comme les distributions de Poisson et exponentielles.

Pour $ X \ sim Gamma (\ alpha, \ beta) $, ce qui suit est valable.


\begin{align}
f(x|\alpha, \beta) &= \frac{\beta^{\alpha}}{\Gamma(\alpha)}x^{\alpha-1}e^{-\beta x} \hspace{20pt} (x \geq 0) \\
E[X] &= \frac{\alpha}{\beta} \\
Var[X] &= \frac{\alpha}{\beta^{2}} \\
\end{align}

La ** $ \ Gamma (・) $ ** qui apparaît dans la formule est appelée la ** fonction gamma **, et est en fait un système général du multiplicateur $ (!) $. La formule suivante est valable.


if \hspace{10pt} n > 0 \\
\Gamma(n) = (n-1)!

Cette fonction gamma est utilisée pour modéliser une distribution asymétrique à droite, mais c'est aussi une distribution que l'on voit souvent dans les statistiques car elle est liée à la puissance.

Vous trouverez ci-dessous la distribution gamma lorsque $ \ alpha = 7, \ beta = 5 $. Interprétez-la comme la distribution du temps d'attente total pour que les cellules nerveuses de l'exemple se déclenchent 7 fois.

gamma.py



## Gamma distribution --------------------------------------------
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.stats import gamma

# total number of events
n = 7

# rate parameter
mu = 5

# possible waiting time
x = np.linspace(gamma.ppf(0.01, n, loc=0, scale=1/mu), gamma.ppf(0.99, n, loc=0, scale=1/mu), 100)

# visualize
fig, ax = plt.subplots(1,1)
ax.plot(x, gamma.pdf(x, n, loc=0, scale=1/mu), 'r-', lw=5, alpha=0.5)
ax.set_xlabel('total waiting time until the neuron fires 7 times')
ax.set_ylabel('f(x)')
ax.set_title('gamma pdf')

gamma.png

Distribution bêta

Distribution bêta est de 0 $ \ leq X \ leq Utilisé pour représenter la variable $ X $, qui vaut 1 $. Un En d'autres termes, la probabilité elle-même peut être modélisée.

Pour $ X \ sim Beta (\ alpha, \ beta) $, ce qui suit est valable.


\begin{align}
f(x|\alpha, \beta) &= \frac{\Gamma(\alpha + \beta)}{\Gamma(\alpha) \Gamma(\beta)}x^{\alpha-1}(1 - x)^{\beta - 1} \hspace{10pt} (0 \leq x \leq 1) \\
E[X] &= \frac{\alpha}{\alpha + \beta} \\
Var[X] &= \frac{\alpha \beta}{(\alpha + \beta)^{2}(\alpha + \beta + 1)}
\end{align}

À première vue, c'est une formule compliquée, mais étonnamment, lorsque $ \ alpha = \ beta = 1 $, la distribution bêta correspond à la distribution uniforme $ U (0,1) $.

À titre d'exemple, regardons la distribution bêta lorsque $ \ alpha = \ beta = 0,5 $. La distribution bêta peut exprimer diverses formes en fonction des paramètres, mais dans ce cas, elle devient une distribution caractéristique comme une vallée (?).

beta.py



## Beta distribution --------------------------------------------
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.stats import beta

# parameters
a = 0.5
b = 0.5

# range
x = np.linspace(beta.ppf(0.01, a, b), beta.ppf(0.99, a, b), 100)

# visualize
fig, ax = plt.subplots(1,1)
ax.plot(x, beta.pdf(x, a, b), 'r-', lw=5, alpha=0.5)
ax.set_xlabel('X')
ax.set_ylabel('f(x)')
ax.set_title('beta pdf')

beta.png

La distribution bêta est essentiellement «lorsque les variables de probabilité $ X (0 \ leq X \ leq 1) $ qui suivent une distribution uniforme sont disposées par ordre décroissant, la distribution du $ p $ ème nombre à partir du bas est la distribution bêta $ Beta (p ,, q) Cela signifie "devenir $". Cependant, au moins l'utilisation principale dans les statistiques est la mise à jour bayésienne en tant que distribution naturelle commune des avantages, donc l'important n'est pas cela, mais la variété des formes que la distribution bêta peut prendre. Ci-dessous, j'ai tracé un dessin de la distribution bêta avec une combinaison de divers paramètres.

Distribution bêta diversifiée

Distribution normale

C'est enfin distribution normale (distribution gaussienne). ** Théorème central limite ** (quelle que soit la distribution de la population, la distribution de l'erreur moyenne réelle de la moyenne de l'échantillon se rapproche de la distribution normale s'il y a suffisamment d'essais), mais aussi les statistiques. C'est une distribution de probabilité qui ne peut être évitée en science.

Lorsque $ X \ sim N (\ mu, \ sigma ^ {2}) $, ce qui suit est vrai.


\begin{align}
f(X|\mu, \sigma^{2}) &= \frac{1}{\sqrt{2 \pi \sigma^{2}}} exp{^\frac{(x - \mu)^{2}}{2 \sigma^2}} \\
E[X] &= \mu \\
Var(X) &= \sigma^{2}
\end{align}

La distribution normale contient 99% ou plus des données $ X $ dans une plage de 3 fois l'écart type $ \ sigma $. Par conséquent, si une variable est en dehors de la plage de 3 fois l'écart type $ \ sigma $, elle est déterminée comme étant ** aberrante **.

En outre, pour plusieurs distributions normales indépendantes, ce qui suit est vrai.


if \hspace{10pt} X1 \sim N(\mu_1, \sigma_1^{2}) \perp X2 \sim N(\mu_2, \sigma_2^{2}) \\
\\
X1 + X2 \sim N(\mu_1 + \mu_2, \sigma_1^{2} + \sigma_2^{2})

La somme des variables obtenues à partir de distributions normales indépendantes suit une nouvelle distribution normale avec la somme originale des moyennes et la somme des variances.

A titre d'exemple du graphique, $ \ mu = 0, \ sigma ^ {2} = 1 $, c'est-à-dire ** distribution normale standard (distribution z) **.

normal.py



import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.stats import norm

# mean
mu = 0

# standard deviation
sd = 1

# range
x = np.linspace(norm.ppf(0.01, loc=mu, scale=sd), norm.ppf(0.99, loc=mu, scale=sd), 100)

# visualize
fig, ax = plt.subplots(1,1)
ax.plot(x, norm.pdf(x, loc=mu, scale=sd), 'r-', lw=5, alpha=0.5)
ax.set_xlabel('X')
ax.set_ylabel('f(x)')
ax.set_title('normal pdf')

normal.png

Il convient de rappeler que dans la distribution normale standard, la valeur à la fin de la plage contenant 95% des données est ** $ \ pm 1,96 $ **. Les valeurs qui dépassent cette valeur sont des caractères rares (environ 2,5% du total) qui correspondent à une valeur d'écart de 70 ou plus du côté +.

À propos, lors du calcul de la valeur de l'écart, le score du test est standardisé pour être $ N (50, 10 ^ {2}) $. Voici la formule de conversion des points de test $ x_i $ en valeur d'écart $ T_i $ lorsque la distribution des scores de test est $ N (\ mu_x, \ sigma_x ^ {2}) $.


T_i = \frac{10(x_i - \mu_x)}{\sigma_x} + 50

Distribution T

Le dernier est T distribution. Le test T est un moyen pratique de tester si les valeurs moyennes des deux groupes sont significativement différentes, et il est abusé sans être bien compris ~~ surtout dans le monde bio ~~, donc ici encore T Je voudrais revoir ce qu'est la distribution.

Supposons que les données expérimentales $ X $ soient obtenues à partir d'une population qui suit la distribution normale $ N (\ mu, \ sigma ^ {2}) $.


X \sim N(\mu, \sigma^{2})

À ce moment, la valeur moyenne des données expérimentales $ X $ $ \ override {X} $ a été obtenue à partir de la même distribution de probabilité dans laquelle $ X = X_1, X_2, ..., X_n $ étaient ** indépendants les uns des autres (indépendants et). En raison de la nature de la distribution normale indépendante, elle est considérée comme distribuée de manière identique; iid) **


\begin{align}
\Sigma_{i=1}^{n} X_i &\sim N(n*\mu, n*\sigma^{2}) \\
\frac{1}{n}\Sigma_{i=1}^{n} X_i &\sim N(\mu, \frac{\sigma^{2}}{n}) \\
\overline{X} &\sim N(\mu, \frac{\sigma^{2}}{n}) \\
\frac{\overline{X} - \mu}{\sigma /\sqrt{n}} &\sim N(0,1)
\end{align}

Il peut être transformé. À ce stade, si la valeur moyenne des données standardisées est supérieure à 1,96 $ ou inférieure à -1,96 $, qui est la valeur de bord contenant 95% des données dans la distribution normale standard, ** moyenne de l'échantillon $ \ override {X On peut dire que} $ est très éloigné de la moyenne de la population ** ………… est le ** test Z **.

En pratique, l'écart-type de la population $ \ sigma $ est souvent inconnu des données de l'échantillon (le test Z n'est pas éligible) et à la place ** l'écart-type de la population estimé à partir de l'échantillon (variance sans biais) S Utilisation **. Normalement, l'écart type est calculé en ajoutant les carrés de la différence entre les données et la moyenne, en divisant par le nombre de données $ n $ et en prenant la racine carrée, mais dans le calcul de la distribution non biaisée, $ n-1 au lieu de $ n $. Divisez par $.


S = \sqrt{\Sigma_{i}(X_i - \overline{X})^{2}/(n-1)}

Avec ce processus simple, vous pouvez ** faire correspondre la valeur attendue de l'écart-type de la population estimée à partir de l'échantillon avec l'écart-type de la population **.

Cependant, une fois que vous l'avez dérangé jusqu'à présent, le $ \ override {X} $ standardisé ne suivra plus une distribution normale. Au lieu de cela, il suit une distribution t avec ** degrés de liberté $ n-1 $ **.

Lorsque $ Y \ sim t_ {\ gamma} $, ce qui suit est vrai.


\begin{align}
f(y) &= \frac{\Gamma(\frac{\gamma + 1}{2})}{\Gamma(\frac{\gamma}{2})\sqrt{\gamma \pi}}(1 + \frac{y^{2}}{\gamma})^{-\frac{\gamma + 1}{2}} \\
E[Y] &= 0 \hspace{10pt} if \hspace{10pt} \gamma \geq 1 \\
Var[Y] &= \frac{\gamma}{\gamma-2} \hspace{10pt} if \hspace{10pt} \gamma \geq 2 \\
\end{align} 

Si la valeur $ t $ convertie à partir de la moyenne expérimentale $ \ override {x} $ est plus grande ou plus petite que la valeur de bord qui contient 95% des données totales dans la distribution T déterminée par le degré de liberté des données. Le test T permet de réaliser un test significatif sur la différence entre la moyenne de la population et l'échantillon.

Sous forme de graphique, je vais mettre une distribution T avec 15 degrés de liberté. La distribution T a également une forme proche d'une distribution normale, mais tend à être un peu plus large. Lorsque le degré de liberté augmente, il se rapproche d'une distribution normale.

t.py



## t distribution --------------------------------------------
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.stats import t

# degree of freedom
df = 15

# range
x = np.linspace(t.ppf(0.01, df), t.ppf(0.99, df), 100)

# visualize
fig, ax = plt.subplots(1,1)
ax.plot(x, t.pdf(x, df), 'r-', lw=5, alpha=0.5)
ax.set_xlabel('y')
ax.set_ylabel('f(y)')
ax.set_title('t pdf')

t.png

en conclusion

Nous avons résumé les distributions de probabilités qui apparaissent souvent dans les statistiques et l'analyse des données, mais il existe bien sûr de nombreux autres types de distributions de probabilités. Si j'ai le temps, j'aimerais en ajouter.

Recommended Posts

Résumé des distributions de probabilité qui apparaissent souvent dans les statistiques et l'analyse des données
Liste des principales distributions de probabilité utilisées en apprentissage automatique et statistiques et code en python
Résumé des méthodes d'analyse de données statistiques utilisant Python qui peuvent être utilisées en entreprise
[Introduction à Python] Résumé des fonctions et méthodes qui apparaissent fréquemment en Python [Format du problème]
Résumé des méthodes fréquemment utilisées chez les pandas
Séparation de la conception et des données dans matplotlib
Résumé des modules et des classes dans Python-TensorFlow2-
Analyse des données: application facile des statistiques descriptives et des statistiques d'estimation aux données CSV en Python
Résumé du livre électronique Python utile pour l'analyse de données gratuite
[Introduction aux data scientists] Bases de la probabilité et des statistiques ♬ Variable de probabilité / probabilité et distribution de probabilité
Analyse des données de pratique Python Résumé de l'apprentissage que j'ai atteint environ 10 avec 100 coups
Analyse des données en Python Résumé des sources que les débutants devraient d'abord consulter
Résumé des outils et bibliothèques OSS créés en 2016
Résumé des sources de données scikit-learn pouvant être utilisées lors de la rédaction d'articles d'analyse
Environnement enregistré pour l'analyse des données avec Python
Analyse des données financières par pandas et leur visualisation (2)
Résumé des outils nécessaires pour analyser les données en Python
Traitement pleine largeur et demi-largeur des données CSV en Python
Résumé des commandes Linux (UNIX) fournies avec Progate
Analyse des données financières par pandas et leur visualisation (1)
Histoire de l'analyse d'image du fichier PDF et de l'extraction de données
Liste du code Python utilisé dans l'analyse de Big Data
Analyse des données de mesure (2) -Hydrobacter et raccord, recommandation lmfit-
Récapitulatif du traitement de la date en Python (datetime et dateutil)
Résumé des processus souvent effectués par Pandas 2 (référence des données, opération d'édition)
Résumé de base des opérations de données dans Python Pandas - Deuxième moitié: agrégation de données
[Introduction aux Data Scientists] Statistiques descriptives et analyse de régression simple ♬
Faisons l'analyse des données de naufrage du Titanic comme ça
[Statistiques pour les programmeurs] Variables de probabilité, distributions de probabilité et fonctions de densité de probabilité
Prédiction de probabilité de données déséquilibrées
Début de l'analyse de l'encyclopédie Nico Nico ~ Appuyez sur les données fournies par JSON
Livres et sources recommandés de programmation d'analyse de données (Python ou R)
Une analyse simple des données de Bitcoin fournie par CoinMetrics en Python
À propos de Boxplot et Violinplot qui visualisent la variation des données indépendantes
Pratique de l'analyse de données par Python et pandas (Tokyo COVID-19 data edition)
Statistiques de probabilité dans Pokemon (test de non-corrélation) - Y a-t-il une corrélation entre la PC, le poids et la taille de Koiking?