** Was ist eine Regressionsanalyse ** Eine Methode zur Kenntnis des Einflussgrades der erklärenden Variablen x (Ursache) auf die Zielvariable y (Ergebnis). Wenn es nur eine erklärende Variable x gibt, verwenden Sie eine einfache Regressionsanalyse, und wenn es mehrere erklärende Variablen x gibt, verwenden Sie mehrere Regressionsanalysen.
** Theoretisches Modell der Regressionsgleichung ** y = α + βx + u Zielvariable = Abschnitt + Steigung * erklärende Variable + Fehlerterm
Eine einfache Regressionsanalyse kann mit Excel durchgeführt werden, aber dieses Mal habe ich versucht, sie mit Python zum Üben zu überprüfen. (Ich habe es geschrieben, nachdem ich die Referenzmaterialien überprüft und die Anleitung eines Universitätsprofessors erhalten hatte, aber es kann Fehler geben. Ich würde es begrüßen, wenn Sie darauf hinweisen könnten: beten Sie :)
** Was Sie überprüfen möchten ** Dieses Mal werden wir untersuchen, "wie stark sich die Zunahme oder Abnahme der Anzahl der Direktflüge von China, Südkorea, Taiwan und Hongkong auf die Anzahl der Besucher nach Japan auswirkt". Die Zielvariable ist "die Anzahl der Besucher aus asiatischen Ländern nach Japan", und die erklärende Variable ist nur "die Anzahl der Direktflüge aus asiatischen Ländern". Neben der Anzahl der Direktflüge werden Wechselkurse, Naturkatastrophen, Sicherheit usw. auch als Faktoren angesehen, die die Anzahl der Besucher in Japan erhöhen oder verringern. Daher denke ich, dass eine multiple Regressionsanalyse für die Überprüfung besser geeignet ist, möchte sie aber beim nächsten Mal erneut überprüfen.
** Zu verwendende Daten **
Ich habe die folgende Excel-Tabelle erstellt, indem ich die beiden oben genannten Daten verwendet habe. Die Anzahl der Direktflüge aus asiatischen Ländern und die Anzahl der Besucher nach Japan werden nach Präfektur zusammengefasst. 0 wird in Bereichen eingegeben, in denen es keine Direktflüge gibt oder in denen es überhaupt keinen Flughafen gibt.
Verwenden Sie "Pandas", um die Daten zu lesen und in einer Datendatei zu speichern. Geben Sie die Anzahl der Direktflüge in x und die Anzahl der Besucher nach Japan in y ein.
linear-regression.py
import pandas as pd
df = pd.read_excel('2016_summer_original.xlsx', sheet_name='Sheet2', encoding='utf-8')
x = df[['Korea']]
y = df[['Anzahl der Besucher in Japan']]
Verwenden Sie "scikit-learn" für eine einfache Regressionsanalyse und "matplotlib" für eine grafische Darstellung.
linear-regression.py
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.linear_model import LinearRegression
##Zeichnen Sie eine Regressionslinie
model_lr = LinearRegression()
model_lr.fit(x, y)
plt.plot(x, y, 'o')
plt.plot(x, model_lr.predict(x), linestyle="solid")
plt.show()
Erstellen Sie außerdem beschreibende Statistiken mit dem Statistikmodell.
linear-regression.py
import statsmodels.api as sm
#Beschreibende Statistiken anzeigen
x_add_const = sm.add_constant(x)
model_sm = sm.OLS(y, x_add_const).fit()
print(model_sm.summary())
Das Folgende ist das Ausführungsergebnis. Es ist ein sofortiger Kill: Lachen:
Vergleichen wir die Ergebnisse von China und Hongkong im Sommer 2015.
China Modell: y = 942,76x + 21142,86 P>|t|:0.000 R-squared:0.405
Hongkong Modell: y = 961,33x + 4053,08 P>|t|:0.000 R-squared:0.654
Zumindest sollte die Bedeutung der Analyseergebnisse und die Fähigkeit zur Erklärung der Formel im "P-Wert" und "R2" der deskriptiven Statistik gesehen werden. Der "P-Wert" ist die Wahrscheinlichkeit, die Nullhypothese abzulehnen (die entgegengesetzte Hypothese zu dem, was Sie behaupten möchten). Wenn es unter 5% liegt, ist es statistisch signifikant. Der "Entscheidungskoeffizient R2" ist ein Index, der misst, wie gut die geschätzte Regressionslinie auf die beobachteten Daten zutrifft. Je näher der Wert an 1 liegt, desto besser ist die Anpassung. Wenn in der obigen Abbildung der blaue Punkt nahe der orangefarbenen Linie liegt, ist die Anpassung gut.
Nach dem Regressionsmodell scheint China für jeden weiteren Direktflug um 943 zuzunehmen. Das Ergebnis ist signifikant, da der P-Wert 0 ist, die Erklärung der Formel jedoch gering ist. Andererseits steigt in Hongkong die Anzahl der Personen für jeden weiteren Flug um 961, was zeigt, dass dies sinnvoll ist und die Formel erklären kann.
Da die veröffentlichten Nonstop-Flugdaten von 2015 bis 2018 stammen, ist das Analyseziel auf den Zeitraum beschränkt, in dem die Daten vorhanden sind. Da es sich nicht um monatliche Daten handelt, ist es nicht möglich, kontinuierliche Änderungen zu analysieren. Es war schade. Ich habe es im Artikel nicht erwähnt, weil es nicht das wichtigste ist, aber diesmal war es schwieriger, Daten zu sammeln und vorzuverarbeiten als zu analysieren: heat_smile: Das nächste Mal möchte ich dies mit einer multiplen Regressionsanalyse überprüfen.
Ich habe versucht zu erklären, wie man mit Python Daten für Anfänger analysiert [# 1 So führen Sie eine einfache Regressionsanalyse mit Scikit-learn durch](https://medium.com/@yamasaKit/scikit-learn%E3%81%A7%E5%8D%98%E5%9B%9E%E5% B8% B0% E5% 88% 86% E6% 9E% 90% E3% 82% 92% E8% A1% 8C% E3% 81% 86% E6% 96% B9% E6% B3% 95-f6baa2cb761e) Lesen der Ergebnisse einer einfachen Regressionsanalyse [Excel-Datenanalysetool] [Regressionsanalyse-Serie 2] (Video) [Shinichi Kurihara und Atsushi Maruyama "Statistik-Bilderbuch" Ohm Co., Ltd.](https://www.amazon.co.jp/%E7%B5%B1%E8%A8%88%E5%AD%A6%E5%9B% B3% E9% 91% 91-% E6% A0% 97% E5% 8E% 9F-% E4% BC% B8% E4% B8% 80 / dp / 427422080X)
Recommended Posts