Ich möchte einen konkreteren Blick darauf werfen, was die multiple Regressionsanalyse uns sagen kann. Daher werden wir Beispieldaten aus bekannten statistischen Daten erstellen und damit mehrere Regressionsanalysen durchführen, um zu versuchen, sie zu interpretieren. Bei der Erstellung der Beispieldaten haben wir diesmal die folgenden zwei Datenquellen verwendet.
➀ Website des Regierungsstatistikportals "Umfassendes Fenster für Regierungsstatistik e-Stat" Präfekturdaten https://www.e-stat.go.jp/regional-statistics/ssdsview/prefectures ➁ Ministerium für Gesundheit, Arbeit und Soziales "New Corona Virus Infection" Status von testpositiven Personen in jeder Präfektur https://www.mhlw.go.jp/content/10906000/000646813.pdf
Als Zielvariable sei zunächst die Rate der mit dem neuen Koronavirus infizierten Personen angegeben. Als erklärende Variablen, die dies beeinflussen können, haben wir die folgenden sieben Variablen als Indikatoren für die sogenannten "drei dichten" und "Aktivitäten der Menschen" vorbereitet, von denen angenommen wird, dass sie zur Ausbreitung von Infektionen führen.
Name des Indikators | Indexberechnungsformel | Erhebungsjahr |
---|---|---|
Bevölkerungskonzentrationsgebiet Bevölkerungsverhältnis(%) | Bevölkerungskonzentration Bezirksbevölkerung(Mann) / 総Mann口(Mann) | 2015 |
Tag / Nacht-Bevölkerungsverhältnis(%) | Tagesbevölkerung/Nachtbevölkerung | 2015 |
Beschäftigungsquote(%) | Anzahl der Angestellten(Mann) / 総Mann口(Mann) | 2015 |
Beschäftigungsverhältnis zwischen Restaurant und Unterkunft(%) | Anzahl der Angestellten(Restaurant / Unterkunftsgeschäft)(Mann) / Anzahl der Angestellten(Mann) | 2005 |
Reiseaktivitätsrate(%) | Reiseaktivitätsrate 10歳以上(%) | 2016 |
Ausländische Gästequote(%) | Gesamtzahl der ausländischen Gäste(Mann) /Gesamtzahl der Gäste(Mann) | 2018 |
Verhältnis einzelner Haushalte(%) | Anzahl der einzelnen Haushalte(Haushalt) / Haushalt数(Haushalt) | 2018 |
Infektionsrate pro 100.000 Einwohner(%) | Anzahl der Infizierten Positives Datum(Mann) / 総Mann口(Mann) | Stand 5. Juli 2020 |
import numpy as np #Numerische Berechnung
import pandas as pd #Datenrahmenbetrieb
from sklearn import linear_model #Lineares Modell des maschinellen Lernens
#Geben Sie die URL an und lesen Sie die CSV-Datei
url = 'https://raw.githubusercontent.com/yumi-ito/sample_data/master/covid19_factors_prefecture.csv'
df = pd.read_csv(url)
#Überprüfen Sie den Inhalt, indem Sie die ersten 5 Datenzeilen anzeigen
df.head()
Da die Beispieldaten (covid19_factors_prefecture.csv) auf GitHub abgelegt sind, werden sie von dort gelesen. Es gibt ein "Bevölkerungsverhältnis", aber dieser dicht besiedelte Bezirk (DID: Densely Inhabited District) ist ein Stadtgebiet, das durch einen bestimmten Standard definiert wird, der auf statistischen Daten basiert. Was ist ein Stadtgebiet? Es ist ein besonders dicht besiedeltes Gebiet, das im weitesten Sinne ein Stadtgebiet ist. Wie konzentriert ist grob gesagt die Bevölkerung einer Präfektur in der Stadt? Wenn beispielsweise in Hokkaido die Bevölkerungsdichte einfach festgelegt wird, wird sie verstreut, weil das Gebiet groß ist, aber die Bevölkerungsquote in dem dicht besiedelten Gebiet 75,2% beträgt und 3 von 4 Personen im Stadtgebiet leben, was zeigt, dass die Dichte bemerkenswert ist.
#Erhalten Sie zusammenfassende Statistiken für jede Spalte
df.describe()
Verwenden Sie die Pandas-Funktion "beschreiben".
Selbstverständlich beträgt der Maximalwert in Tokio 46,34% und der Minimalwert in der Präfektur Iwate 0,00%.
#Es versteht sich von selbst, dass Tokio im Allgemeinen die Spitze ist, aber ich bin gespannt, dass die beiden Präfekturen Hokuriku, Ishikawa und Toyama, in der Infektionsrate eingestuft sind. Beide Präfekturen sind in Bezug auf die Anzahl der Infizierten unauffällig, aber das Verhältnis von Infizierten zur Bevölkerung der Präfektur ist hoch. Die tatsächliche Zahl beträgt übrigens 300 in der Präfektur Ishikawa und 228 in der Präfektur Toyama. In der Präfektur Ishikawa beträgt das Verhältnis von Restaurant- / Unterkunftsarbeitern zu allen Arbeitern in der Präfektur 5,8%. Dies entspricht dem Verhältnis der Präfektur Nagano, die in Japan die fünfthöchste ist. Die Absicht, diese Variable zu übernehmen, ist eine etwas erweiterte Interpretation, aber die Idee ist, dass touristische wirtschaftliche Aktivitäten wie Unterkunft und begleitendes Essen und Trinken aktiv sind und es viele Möglichkeiten für menschlichen Kontakt gibt. In diesem Sinne kann die Bedeutung der Präfektur Okinawa genickt werden. Darüber hinaus gab es in Hokkaido zusammen mit der großen Anzahl infizierter Menschen viele Berichte über touristische Auswirkungen in den Medien, aber es stimmt, dass das Verhältnis von Ausländern zur Gesamtzahl der Übernachtungsgäste in einem Jahr ist Es ist der 4. Platz nach der Präfektur Kyoto mit 25,3%. Lassen Sie uns nun eine multiple Regressionsanalyse durchführen. (4) Speichern Sie erklärende Variablen bzw. objektive Variablen
X = df.loc[:, 'Bevölkerungskonzentrationsgebiet Bevölkerungsverhältnis':'Verhältnis einzelner Haushalte']
#Extrahieren Sie nur die Zielvariable und speichern Sie sie in der Variablen Y.
Y = df["Infektionsrate pro 100.000 Einwohner"]
#Generieren Sie eine Instanz eines linearen Modells
model = linear_model.LinearRegression()
#Übergeben Sie Daten, um ein Modell zu generieren
model.fit(X,Y)
#Holen Sie sich den Wert des Koeffizienten und speichern Sie ihn im variablen Koeffizienten
coefficient = model.coef_
#In Datenrahmen mit Spaltennamen und Indexnamen konvertieren
df_coefficient = pd.DataFrame(coefficient, columns=["Partieller Regressionskoeffizient"], index=[X.columns])
df_coefficient
Der partielle Regressionskoeffizient repräsentiert die ** Größe der Auswirkung jeder erklärenden Variablen auf die Zielvariable **. Erstens ist das "Beschäftigungsverhältnis zwischen Restaurant und Unterkunft" bei weitem das größte, gefolgt vom "Reisendenverhältnis" und dem "Tag / Nacht-Bevölkerungsverhältnis". Wenn es um Unterkunft geht, ist es meistens entweder Sightseeing oder Business. Mit anderen Worten kann gesagt werden, dass die Tatsache, dass viele Menschen von außerhalb der Präfektur kommen und für einen bestimmten Zeitraum bleiben und daher der Prozentsatz der im Restaurant- und Beherbergungsgeschäft tätigen Personen hoch ist, einen großen Einfluss auf die Infektionsrate hat. Wenn viele Menschen in die Präfektur ein- und ausreisen, um zu reisen oder zur Schule zu pendeln, steigt auch die Anzahl der Infizierten. Kurz gesagt, eine "Bewegungseinschränkung" verhindert wirksam eine Infektion.
#Holen Sie sich einen Abschnitt
model.intercept_
Der Schnitt (Schnittpunkt mit der Y-Achse) wurde mit der Funktion "intercept_" berechnet, die die multiple Regressionsgleichung enthüllte.
#Holen Sie sich den Entscheidungsfaktor
model.score(X, Y)
Schließlich wird die "Score" -Funktion verwendet, um den Bestimmungskoeffizienten $ R ^ 2 $ zu berechnen, um die "Anpassungsgüte" der multiplen Regressionsgleichung zu bestätigen. Mit anderen Worten, inwieweit kann diese multiple Regressionsgleichung den tatsächlichen Kausalzusammenhang erklären? Um ehrlich zu sein, dachte ich, dass ich wollte, dass es 0,8 überschreitet, aber ich denke, es ist notwendig, die Zusammensetzung der erklärenden Variablen zu berücksichtigen (weil ich es schnell gemacht habe).