Beispiel für Python-Code für die Exponentialverteilung und die wahrscheinlichste Schätzung (MLE)

Hier möchte ich das Grundproblem der Exponentialverteilung und das Problem der wahrscheinlichsten damit verbundenen Schätzmenge mit Python lösen.

Frage 1

python



Ns Homepage-Zugriffsintervall T.(Einheit: Zeit)Ist eine Exponentialverteilung\\
f(t) = 2 e^{-2t}~~~~ (t>0)\\

Gehorchen. Zu diesem Zeitpunkt P.(T\leq 3)Nachfragen.

Zunächst verschiedene Vorbereitungen.

python


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

Als nächstes zeichnen wir einen Graphen der Wahrscheinlichkeitsdichtefunktion.

python


expr =2* sym.exp((-2*t))
#Der Graph der erhaltenen Funktion ist von 0 bis 3 dargestellt.
plot(expr, (t, 0, 3))
#Überprüfen Sie auch, ob es sich für alle Fälle um eine Wahrscheinlichkeitsdichtefunktion handelt.
sym.integrate(expr, (t, 0, oo))

ダウンロード.png

Lösen Sie das zuletzt gegebene Problem.

python


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

Problem 2

Lösen wir nun das Problem der wahrscheinlichsten Schätzung.

python



Ns Homepage-Zugriffsintervall T.(Einheit: Zeit)Ist eine Exponentialverteilung\\
f(t) = x e^{-xt}~~~~ (t>0)\\

Angenommen, Sie folgen. Geben Sie willkürlich einen Satz unabhängiger Beobachtungen von T ein und finden Sie die wahrscheinlichste Schätzung von x, die diesem Satz von Werten entspricht.

Definieren Sie eine Wahrscheinlichkeitsfunktion. Die Variable ändert sich zu x anstelle von t. (Verwenden Sie normalerweise λ anstelle von x.)

python


#Geben Sie zunächst den Satz der beobachteten Werte ein.
A = list(map(float, input().split()))
#Definieren Sie als Nächstes die Wahrscheinlichkeitsfunktion.
expr = 1
for t in A:
    expr = expr*(x * sym.exp((-x)*t))

print(expr)
#Der Graph der Wahrscheinlichkeitsfunktion mit x als Variable wird von 0 bis 3 gezeigt. Die Zahl 3 hat hier keine besondere Bedeutung. Alles ist gut.
plot(expr, (x, 0, 3))

Definieren Sie als Nächstes die logarithmische Wahrscheinlichkeitsfunktion.

python


L = sym.log(expr)
print(L)
#Das Diagramm der erhaltenen Funktion ist dargestellt.
plot(L, (x, 0, 3))

Berechnen Sie, wo es zu 0 differenziert.

python


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

Normalerweise müssen Sie das Differential zweiter Ordnung wie folgt berechnen und sicherstellen, dass es immer negativ ist. Obwohl diese Berechnung für Menschen einfach ist, funktioniert sie nicht, da Python die Formel in der Mitte nicht transformiert, um die Berechnung zu vereinfachen. (´ · ω · `) Shobon.

python


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

Recommended Posts

Beispiel für Python-Code für die Exponentialverteilung und die wahrscheinlichste Schätzung (MLE)
Vor- und Nachteile der wahrscheinlichsten Schätzmethode
Versuchen wir es noch einmal. Wahrscheinlichste Schätzung und Anpassung des Modells (Wahrscheinlichkeitsverteilung) ① Diskrete Wahrscheinlichkeitsverteilung
Versuchen wir es noch einmal. Schätzung der meisten Wahrscheinlichkeiten und Anpassung des Modells (Wahrscheinlichkeitsverteilung) ② Kontinuierliche Wahrscheinlichkeitsverteilung
Höchstwahrscheinlich Schätzung des Mittelwerts und der Varianz mit TensorFlow
Installation von Visual Studio Code und Installation von Python
Konzept des Bayes'schen Denkens (2) ... Bayes'sche Schätzung und Wahrscheinlichkeitsverteilung
Höchstwahrscheinlich Schätzung verschiedener Verteilungen mit Pyro
Links und Memos von Python-Zeichencodezeichenfolgen
Code zum Überprüfen des Betriebs von Python Matplot lib
Liste des zu verschiebenden und zu merkenden Python-Codes
Beispiel für das Lesen und Schreiben von CSV mit Python
Liste der Python-Bibliotheken für Datenwissenschaftler und Dateningenieure
Liste der Verteilungsseiten für Beispielprogramme für Python-Bücher
Verstehen Sie die Exponentialverteilung sorgfältig und zeichnen Sie in Python
[Python] Code zur Messung des Umgebungslichts RGB von APDS9960
Beispiel für die Erstellung einer Python-Umgebung und eine SQL-Ausführung für DB und ein Memo der grundlegenden Verarbeitung für Statistiken 2019
[Python] Herons Formelfunktionalisierung und Berechnung der maximalen Fläche
Vergleich des in Python geschriebenen EMA-Codes (Exponential Moving Average)
Zusammenfassung der Unterstützung von Hash-Operationen (Dictionary) für Ruby und Python
Der Prozess, Python-Code objektorientiert zu machen und zu verbessern
Ableitung des EM-Algorithmus und Berechnungsbeispiel für den Münzwurf
2.x, 3.x Serienzeichencode von Python
[Python] Beispielcode für die Python-Grammatik
Quellinstallation und Installation von Python
Erstellen und testen Sie eine CI-Umgebung für mehrere Versionen von Python
Minimum-Square-Methode und wahrscheinlichste Schätzmethode (Vergleich durch Modellanpassung)
PRML-Diagramm Abbildung 1.15 Verzerrung bei der Schätzung der wahrscheinlichsten Wahrscheinlichkeit der Gaußschen Verteilung
PRML Kapitel 13 Wahrscheinlichste Schätzung Python-Implementierung des Hidden-Markov-Modells