Exemple de code python pour la distribution exponentielle et l'estimation la plus probable (MLE)

Ici, je voudrais résoudre le problème de base de la distribution exponentielle et le problème du montant d'estimation le plus probable qui y est lié avec python.

question 1

python



Intervalle d'accès à la page d'accueil de N T(Unité: temps)Est une distribution exponentielle\\
f(t) = 2 e^{-2t}~~~~ (t>0)\\

Obéir. A ce moment P(T\leq 3)Demander.

Tout d'abord, diverses préparations.

python


import sympy as sym
from sympy.plotting import plot
sym.init_printing(use_unicode=True)
%matplotlib inline
oo = sym.oo #Infini
(x,t) = sym.symbols('x t')

Ensuite, dessinons un graphique de la fonction de densité de probabilité.

python


expr =2* sym.exp((-2*t))
#Le graphique de la fonction obtenue est illustré de 0 à 3.
plot(expr, (t, 0, 3))
#Vérifiez également qu'il s'agit d'une fonction de densité de probabilité au cas où.
sym.integrate(expr, (t, 0, oo))

ダウンロード.png

Résolvez le dernier problème donné.

python


sym.integrate(expr, (t, 0, 3))

Problème 2

Résolvons maintenant le problème de l'estimation la plus probable.

python



Intervalle d'accès à la page d'accueil de N T(Unité: temps)Est une distribution exponentielle\\
f(t) = x e^{-xt}~~~~ (t>0)\\

Supposons que vous suiviez. Entrez arbitrairement un ensemble d'observations indépendantes de T et trouvez l'estimation la plus probable de x correspondant à cet ensemble de valeurs.

Définissez une fonction de vraisemblance. La variable devient x au lieu de t. (Habituellement, utilisez λ au lieu de x.)

python


#Tout d'abord, entrez l'ensemble des valeurs observées.
A = list(map(float, input().split()))
#Ensuite, définissez la fonction de vraisemblance.
expr = 1
for t in A:
    expr = expr*(x * sym.exp((-x)*t))

print(expr)
#Le graphique de la fonction de vraisemblance avec x comme variable est montré de 0 à 3. Le chiffre 3 n'a pas de signification particulière ici. Tout va bien.
plot(expr, (x, 0, 3))

Ensuite, définissez la fonction de vraisemblance logarithmique.

python


L = sym.log(expr)
print(L)
#Le graphique de la fonction obtenue est illustré.
plot(L, (x, 0, 3))

Calculez où il se différencie à 0.

python


L_1 = L.diff(x,1)
plot(L_1, (x, 1, 3))
sym.solve(L_1, x)

Normalement, vous devez calculer le différentiel de second ordre comme suit et vous assurer qu'il est toujours négatif. Cependant, bien que ce calcul soit facile pour les humains, il ne fonctionne pas car Python ne transforme pas la formule du milieu pour faciliter le calcul. (´ · ω · `) Shobon.

python


L_2 = L_1.diff(x,1)
plot(L_2, (x, 1, 2))
print(L_2)

Recommended Posts

Exemple de code python pour la distribution exponentielle et l'estimation la plus probable (MLE)
Avantages et inconvénients de la méthode d'estimation la plus probable
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
Estimation la plus probable de la moyenne et de la variance avec TensorFlow
Installation du code Visual Studio et installation de python
Concept de raisonnement bayésien (2) ... Estimation bayésienne et distribution de probabilité
Estimation la plus probable de diverses distributions avec Pyro
Liens et mémos de chaînes de code de caractères Python
Code pour vérifier le fonctionnement de Python Matplot lib
Liste de code Python à déplacer et à mémoriser
Exemple de lecture et d'écriture de CSV avec Python
Liste des bibliothèques Python pour les data scientists et les data ingénieurs
Liste d'exemples de sites de distribution de programmes pour les livres Python
Comprenez attentivement la distribution exponentielle et dessinez en Python
[Python] Code pour mesurer la lumière ambiante RVB de l'APDS9960
Exemple de construction d'environnement Python et d'exécution SQL vers DB et mémo de traitement de base pour les statistiques 2019
[Python] Fonctionnalisation de la formule de Heron et calcul de la surface maximale
Comparaison du code de moyenne mobile exponentielle (EMA) écrit en Python
Résumé de la prise en charge des opérations de hachage (dictionnaire) pour Ruby et Python
Le processus de création et d'amélioration du code Python orienté objet
Dérivation de l'algorithme EM et exemple de calcul pour le tirage au sort
2.x, 3.x code de caractères des séries python
[Python] Exemple de code pour la grammaire Python
Installation source et installation de Python
Créer et tester un environnement CI pour plusieurs versions de Python
Méthode du carré minimum et méthode d'estimation la plus probable (comparaison par ajustement du modèle)
Diagramme PRML Figure 1.15 Biais dans l'estimation la plus probable de la distribution gaussienne
PRML Chapter 13 Estimation la plus probable Implémentation Python du modèle de Markov caché