Einführung in das Generalized Linear Model (GLM) von Python

Was ist ein verallgemeinertes lineares Modell?

Ein verallgemeinertes lineares Modell ist ein allgemeiner Begriff für statistische Modelle wie lineare Regression, Poisson-Regression und logistische Regression, die die Antwortvariable (y) durch die erklärende Variable (x) erklären. Insbesondere handelt es sich um ein statistisches Modell, das durch Wahrscheinlichkeitsverteilung, lineare Prädiktoren und Verknüpfungsfunktionen bestimmt wird.

Wahrscheinlichkeitsverteilung

Die Wahrscheinlichkeitsverteilung, der die Antwortvariable folgt. Die "binäre Verteilung" und die "Poisson-Verteilung" werden häufig verwendet, um diskrete Daten wie Zähldaten zu verarbeiten. "Normalverteilung" und "Gammaverteilung" werden häufig verwendet, um kontinuierliche Daten zu verarbeiten, die kontinuierliche Mengen wie Aktienkurse darstellen.

Linearer Prädiktor

Eine Modellformel, die durch eine lineare Kombination erklärender Variablen dargestellt wird. Sie können angeben, welche erklärenden Variablen verwendet werden sollen und welche Interaktionsterme (Begriffe, die durch das Produkt der erklärenden Variablen dargestellt werden) verwendet werden sollen.

z = β_0 + β_{1}x_{1} + β_{2}x_{2}

Link-Funktion

Eine Funktion, die einen Ausdruck so transformiert, dass er einem linearen Prädiktor entspricht. Dank der Verknüpfungsfunktion kann die Wahrscheinlichkeit, dass der Wert nur 0 bis 1 annehmen kann, auch dem linearen Prädiktor entsprechen. Die zu verwendende Verknüpfungsfunktion hängt in gewissem Maße von der Verteilung ab. Wenn Sie also mehr wissen möchten, lesen Sie bitte das verknüpfte Buch in der Referenz unter dem Artikel.

log(y) = β_0 + β_{1}x_{1} + β_{2}x_{2}

Implementierung in Python

Das verallgemeinerte lineare Modell kann leicht mit der glm-Funktion von R ausgeführt werden. Jedoch,

Ich denke, es gibt viele Leute, die das sagen, also werde ich es mit Python versuchen. Als ich danach suchte, fand ich ein Modul namens "statsmodels" wie Rs "glm function".

Modulinstallation

$ pip install statsmodels
$ pip install patsy #Nachdem ich Statistikmodelle importiert hatte, wurde mir gesagt, dass dies notwendig ist. Installieren Sie es also
$ pip install pandas #Zur Datenverarbeitung installiert

Datenerfassung und Modellierung

import statsmodels.api as sm
import pandas as pd

#Lesen Sie die Daten in der unten stehenden Referenz-URL
data3a = pd.read_csv("http://hosho.ees.hokudai.ac.jp/~kubo/stat/iwanamibook/fig/poisson/data3a.csv")
#Erstellen Sie einen linearen Prädiktor mit der Variablen x und dem konstanten Term
data3a.x_c = sm.add_constant(data3a.x)

#Erstellen Sie ein verallgemeinertes lineares Modell der Poisson-Verteilung für die Verteilung und der logarithmischen Verknüpfungsfunktion für die Verknüpfungsfunktion
#Für die Poisson-Verteilung ist standardmäßig die logarithmische Verknüpfungsfunktion angegeben
model = sm.GLM(data3a.y, data3a.x_c, family=sm.families.Poisson())
result = model.fit()

#Ergebnis
result.summary()

statsmodels Benri!

abschließend

Es war ein verallgemeinertes lineares Modell, das ein statistisches Modell wie ein lineares Modell erweiterte, aber es ist immer noch schwierig, reale Ereignisse in ein so einfaches Modell einzubeziehen. Das folgende Buch erklärt auch Techniken wie das verallgemeinerte lineare gemischte Modell, das eine Weiterentwicklung des verallgemeinerten linearen Modells darstellt. Bitte beziehen Sie sich darauf.

Referenz

http://hosho.ees.hokudai.ac.jp/~kubo/ce/IwanamiBook.html

http://statsmodels.sourceforge.net/devel/glm.html

Recommended Posts

Einführung in das Generalized Linear Model (GLM) von Python
Einführung in die statistische Modellierung für die Datenanalyse Generalized Linear Model (GLM)
Einführung in das Auffüllen von Python-Bildern Auffüllen von Bildern mit ImageDataGenerator
[Einführung in Python] Verwenden wir foreach mit Python
Einführung in Vektoren: Lineare Algebra in Python <1>
Einführung in das Testen statistischer Hypothesen mit Statistikmodellen
[Python] Einfache Einführung in das maschinelle Lernen mit Python (SVM)
Einführung in die künstliche Intelligenz mit Python 1 "Genetic Algorithm-Theory-"
Markov Chain Artificial Brainless mit Python + Janome (1) Einführung in Janome
Markov-Kette Künstlich Gehirnlos mit Python + Janome (2) Einführung in die Markov-Kette
Einführung in die künstliche Intelligenz mit Python 2 "Genetic Algorithm-Practice-"
Einführung in Tornado (1): Python Web Framework mit Tornado gestartet
Einführung in die Python-Sprache
Einführung in OpenCV (Python) - (2)
Einführung in den Formationsflug mit Tello edu (Python)
Einführung in Python mit Atom (unterwegs)
Einführung in Vector Self-Return-Modelle (VAR) mit Statistikmodellen
[Einführung in die Udemy Python3 + -Anwendung] 9. Drucken Sie zunächst mit print
[Einführung in Python] Wie iteriere ich mit der Bereichsfunktion?
[Kapitel 5] Einführung in Python mit 100 Klopfen Sprachverarbeitung
Einführung in die Mathematik ab Python Study Memo Vol.1
Lesehinweis: Einführung in die Datenanalyse mit Python
[Kapitel 3] Einführung in Python mit 100 Klopfen Sprachverarbeitung
[Kapitel 2] Einführung in Python mit 100 Klopfen Sprachverarbeitung
Einführung in die lineare Algebra mit Python: A = LU-Zerlegung
Einführung in Vector Error Correction Models (VECM) mit Statistikmodellen
[Kapitel 4] Einführung in Python mit 100 Klopfen Sprachverarbeitung
Stellen Sie mit Python eine Verbindung zu BigQuery her
Einführung in Python Django (2) Win
Stellen Sie mit Python eine Verbindung zu Wikipedia her
Post to Slack mit Python 3
Einführung in RDB mit sqlalchemy Ⅰ
Einführung in die serielle Kommunikation [Python]
Schalten Sie Python mit Alternativen auf 2.7 um
Schreiben Sie mit Python in csv
[Einführung in Python] <Liste> [Bearbeiten: 22.02.2020]
Einführung in Python (Python-Version APG4b)
[Python] Lineare Regression mit Scicit-Learn
Eine Einführung in die Python-Programmierung
Einführung in Python For, While
20200329_Einführung in die Datenanalyse mit Python 2nd Edition Personal Summary
Einführung in sie gemacht mit Python ~ Tinder Automatisierungsprojekt ~ Episode 5
Einführung in Python für VBA-Benutzer - Aufrufen von Python aus Excel mit xlwings-
[Raspi4; Einführung in den Sound] Stabile Aufzeichnung der Toneingabe mit Python ♪
[Einführung in Python] So erhalten Sie Daten mit der Funktion listdir
[Einführung in Udemy Python3 + Application] 51. Seien Sie vorsichtig mit Standardargumenten
[Einführung in die Udemy Python3 + -Anwendung] 58. Lambda
[Einführung in die Udemy Python3 + -Anwendung] 31. Kommentar
Link, um mit Python zu beginnen
Einführung in die Python Numerical Calculation Library NumPy
Trainieren! !! Einführung in Python Type (Type Hints)
[Einführung in Python3 Tag 1] Programmierung und Python
Schön dich mit Python zu treffen
[Einführung in Python] <numpy ndarray> [edit: 2020/02/22]
Einführung in verallgemeinerte Schätzungsgleichungen durch Statistikmodelle
Versuchen Sie, Facebook mit Python zu betreiben
Einführung in Python Hands On Teil 1
Ausgabe in eine CSV-Datei mit Python
[Einführung in Python] So analysieren Sie JSON