"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.
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 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.
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.
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 (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) $.
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.
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.
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$");
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
C'est ce que cela signifie.
Article suivant "Concept de raisonnement bayésien (3) ... Calcul réel par pymc3"
Recommended Posts