[PYTHON] Concept de raisonnement bayésien (2) ... Estimation bayésienne et distribution de probabilité

Du raisonnement bayésien expérimenté en Python

"Inférence de Bayes expérimentée en Python"

Je l'ai écrit une fois, mais je n'y suis pas habitué, j'ai donc supprimé cet élément. C'est pourquoi je l'ai réécrit. .. Tohoho.

Qu'est-ce que le bayésianisme?

Fréquence et bayésianisme

Le fréquencenisme est une statistique classique qui existe depuis longtemps. En principe de fréquence, la probabilité est considérée comme "la fréquence des événements sur une longue période".

Dans le bayésianisme, la probabilité est considérée comme le degré de «croyance» ou de «confiance» auquel un événement se produit. Considérer la probabilité comme une croyance est en fait une idée naturelle pour les humains.

"La probabilité est une croyance"

La croyance qu'un événement se produit est exprimée comme $ P (A) $, appelée pré-probabilité, et la croyance mise à jour avec la preuve $ X $ est exprimée comme $ P (A | X) $. C'est la probabilité de $ A $ donné la preuve X. C'est ce qu'on appelle la probabilité postérieure.

Concept de raisonnement bayésien

Les fonctions d'inférence bayésiennes renvoient des probabilités, tandis que les fonctions d'inférence basées sur la fréquence renvoient des valeurs numériques qui représentent des estimations. .. Ceci est important et doit être rappelé.

Par exemple, considérons un exemple de programme Si vous pensez d'une manière basée sur la fréquence, "Ce programme a passé tous les tests. (Information X) Y a-t-il un problème avec ce programme?", Vous diriez "Oui, il n'y a pas de bogues dans le programme."

Si vous pensez à cela dans le bayésianisme, vous répondez: "Oui, la probabilité de ne pas avoir de bogues est de 0,8. Non, la probabilité d'avoir des bogues est de 0,2." Dans le bayésianisme, vous pouvez toujours ajouter une connaissance préalable qu'un programme a un bogue comme argument.

Lorsque la quantité de preuves (information X) augmente et qu'un nombre infini de preuves (très grandes) sont collectées, le fréquencenisme et le bayésisme aboutiront à des résultats d'inférence similaires.

À propos du Big Data

Un algorithme relativement simple est utilisé pour l'analyse et la prédiction à l'aide de mégadonnées. En d'autres termes, la difficulté d'analyser le big data ne réside pas dans l'algorithme. Les problèmes les plus difficiles sont les «données moyennes» et les «petites données». Le bayésianisme prend vie ici.

Théorème de Bayes

Théorème de Bayes (loi de Bayes)


P( A | X ) = \displaystyle \frac{ P(X | A) P(A) } {P(X) }

L'inférence bayésienne relie seulement mathématiquement la pré-probabilité $ P (A) $ avec le probabiliste post-mise à jour $ P (A | X) $.

Distribution de probabilité

Pour les valeurs discrètes

Si $ Z $ est une valeur discrète, la distribution de probabilité sera une distribution de masse de probabilité. C'est la probabilité que $ Z $ prenne $ k $. Ceci est exprimé comme $ P (Z = k) $. Il existe une distribution de Poisson dans la fonction de masse stochastique. La fonction de masse stochastique de $ Z $ suit la distribution de Poisson et est exprimée par l'équation suivante.


P(Z = k) =\frac{ \lambda^k e^{-\lambda} }{k!}, \; \; k=0,1,2, \dots

$ \ lambda $ est un paramètre qui détermine la forme de la distribution, et dans le cas de la distribution de Poisson, $ \ lambda $ est un nombre réel positif. L'augmentation de $ \ lambda $ augmente la probabilité de grandes valeurs, et la diminution de $ \ lambda $ augmente la probabilité de petites valeurs. Donc $ \ lambda $ est la force de la distribution de Poisson.

$ k $ est un entier non négatif. Notez que $ k $ est un entier. Écris que la variable stochastique $ Z $ suit la distribution de Poisson comme suit.


 Z\sim \text{Poi}(\lambda) 

Une propriété pratique de la distribution de Poisson est que la valeur attendue est égale au paramètre de distribution.


E\large[ \;Z\; | \; \lambda \;\large] = \lambda 

Ceci est un tracé de la fonction de masse stochastique avec $ \ lambda $ changé.

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt 
import scipy.stats as stats
import numpy as np
a = np.arange(25)
#Fonction de distribution de Poisson de scipy
poi = stats.poisson
lambda_ = [1.5, 4.25,8.50]
colours = ["#348ABD", "#A60628","#5AFF19"]

plt.bar(a, poi.pmf(a, lambda_[0]), color=colours[0],
        label="$\lambda = %.1f$" % lambda_[0], alpha=0.60,
        edgecolor=colours[0], lw="3")

plt.bar(a, poi.pmf(a, lambda_[1]), color=colours[1],
        label="$\lambda = %.1f$" % lambda_[1], alpha=0.60,
        edgecolor=colours[1], lw="3")

plt.bar(a, poi.pmf(a, lambda_[2]), color=colours[2],
        label="$\lambda = %.1f$" % lambda_[2], alpha=0.60,
        edgecolor=colours[1], lw="3")


plt.xticks(a + 0.4, a)
plt.legend()
plt.ylabel("probability of $k$")
plt.xlabel("$k$")
plt.title("Probability mass function of a Poisson random variable;\
          differing \$\lambda$ values");

Il y avait deux livres, $ \ lambda = 1,5,4,25 $, donc j'ai ajouté un autre 8,5 et en ai calculé trois. 1_3_1_Figure 2020-08-09 132457.png

L'augmentation de $ \ lambda $ augmente la probabilité de grandes valeurs, et la diminution de $ \ lambda $ augmente la probabilité de petites valeurs, ce qui est montré dans le graphique en conséquence.

Pour des valeurs continues

Elle est représentée par une fonction de distribution de densité de probabilité, et non par une variable de probabilité continue ou une variable de masse de probabilité. La fonction de densité de probabilité a une distribution exponentielle.

f_Z(z | \lambda) = \lambda e^{-\lambda z }, \;\; z\ge 0

Les variables de probabilité de distribution exponentielle prennent des valeurs non négatives. Puisqu'il s'agit d'une valeur continue, elle convient aux données qui prennent des valeurs réelles positives telles que le temps et la température (Kelvin). La variable de probabilité $ Z $ suit une distribution exponentielle si la fonction de distribution de densité est exponentielle. En d'autres termes

Z \sim \text{Exp}(\lambda)

La valeur attendue de la distribution exponentielle est l'inverse du paramètre $ \ lambda $.

E[\; Z \;|\; \lambda \;] = \frac{1}{\lambda}
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt 
import scipy.stats as stats
import numpy as np

a = np.linspace(0, 10, 100)
expo = stats.expon
lambda_ = [0.5, 1, 5]
colours = ["#348ABD", "#A60628","#5AFF19"]

for l, c in zip(lambda_, colours):
    plt.plot(a, expo.pdf(a, scale=1./l), lw=3,
             color=c, label="$\lambda =!
 %.1f$" % l)
    plt.fill_between(a, expo.pdf(a, scale=1./l), color=c, alpha=.33)

plt.legend()
plt.ylabel("PDF at $z$")
plt.xlabel("$z$")
plt.ylim(0,1.2)
plt.title("Probability density function of an Exponential random variable;\
 differing $\lambda$");

1_3_2_Figure 2020-08-09 132457.png

Qu'est-ce que λ?

Vous ne pouvez pas obtenir $ \ lambda $. Tout ce que nous savons, c'est $ Z $. De plus, $ \ lambda $ et $ Z $ n'ont pas de relation un-à-un.

Quelle est la valeur de $ \ lambda $ dont traite l'inférence bayésienne? Est la croyance de. L'important n'est donc pas de trouver la valeur exacte de $ \ lambda $, mais de réfléchir à la distribution de probabilité pour $ \ lambda $, qui dit que $ \ lambda $ est susceptible d'être cette valeur.

Si vous pensez que $ \ lambda $ est une constante, donc ce n'est pas une variable stochastique, et comment vous pouvez donner une probabilité à la valeur d'une constante non probabiliste qui n'est pas du tout aléatoire, cela signifie que vous êtes déjà envahi par le fréquencenisme. Est. Le bayésianisme considère les probabilités comme une croyance, donc en fait vous pouvez attribuer des probabilités à n'importe quoi.

En d'autres termes

"La probabilité est une croyance"

C'est ce que cela signifie.

Article suivant "Concept de raisonnement bayésien (3) ... Calcul réel par pymc3"

Recommended Posts

Concept de raisonnement bayésien (2) ... Estimation bayésienne et distribution de probabilité
Estimation de la distribution gaussienne mixte par la méthode de Bayes
Essayons à nouveau Estimation de la plupart des probabilités et ajustement du modèle (distribution de probabilité) ① Distribution de probabilité discrète
Essayons à nouveau La plupart des estimations de probabilité et ajustement du modèle (distribution de probabilité) ② Distribution de probabilité continue
Test d'hypothèse et distribution de probabilité
Avantages et inconvénients de la méthode d'estimation la plus probable
Revoir le concept et la terminologie de la régression
[Introduction aux data scientists] Bases de la probabilité et des statistiques ♬ Variable de probabilité / probabilité et distribution de probabilité
Exemple de code python pour la distribution exponentielle et l'estimation la plus probable (MLE)
[Bases des statistiques mathématiques modernes avec python] Chapitre 2: Distribution des probabilités et valeur attendue
[Statistiques psychologiques] Estimation bayésienne de la "quantité d'illusion" dans Mulleriya illusion
Battre la fonction de densité de probabilité de la distribution normale
Prise en compte du score de propension et de la précision de l'estimation des effets
Distribution et test
"Régression linéaire" et "Version probabiliste de la régression linéaire" en Python "Régression linéaire de Bayes"
Python: Diagramme de distribution de données bidimensionnelle (estimation de la densité du noyau)
Vérifiez le type et la version de la distribution Linux
Vérifiez la nature atrophique de la distribution de probabilité en Python