Fast ein Memorandum
** Einführung in Statistikmodelle (OLS) für diejenigen, die mit Beispieldaten nicht weiterkommen </ font> **
Dies ist ein Einführungsartikel für diejenigen, die eine Regressionsstichprobe mit Statistikmodellen ausprobiert haben und mit ihren eigenen Daten nicht weiterkommen.
Bei diesem Skript handelt es sich um ein fiktives Restaurant (vermutlich eine Bar oder eine Sky Lounge). Bei Verkäufen werden fiktive Verkaufsdaten angenommen, in denen die Hauptkategorien von Produkten, der Stückpreis pro Kunde, die Anzahl der Besucher usw. aufgezeichnet sind. Gibt es eine Tendenz an Tagen, an denen es viele gibt? Es ist eine Einstellung.
【Umgebung】 Linux: debian10.3 python: 3.7.3 pandas: 1.0.3 statsmodels: 0.11.1 jupyter-lab: 2.1.0
Angenommen, Sie haben eine CSV-Datei wie die folgende
Date,earnings,customer,earnings_customer,fortified_sweet,rum,brown_spirits,mojito_rebjito,cocktail,bar_food,cigar 2020-03-01,30000,5,6000,2,2,2,3,2,5,1
[1] Anwenden des Modells und Anzeigen der Zusammenfassung (Fortsetzung der vorherigen Zeit)
statsmodels
#Regressionsmodell aufrufen
model = sm.OLS(y, sm.add_constant(X))
#Modell erstellen
results = model.fit()
#Ergebnisdetails anzeigen
print(results.summary())
OLS Regression Results
==============================================================================
Dep. Variable: earnings R-squared: 0.930
Model: OLS Adj. R-squared: 0.921
Method: Least Squares F-statistic: 100.8
Date: Sat, 09 May 2020 Prob (F-statistic): 2.50e-28
Time: 01:09:38 Log-Likelihood: -618.49
No. Observations: 61 AIC: 1253.
Df Residuals: 53 BIC: 1270.
Df Model: 7
Covariance Type: nonrobust
===================================================================================
coef std err t P>|t| [0.025 0.975]
-----------------------------------------------------------------------------------
const -435.1552 2434.515 -0.179 0.859 -5318.173 4447.863
customer 5103.4245 617.184 8.269 0.000 3865.511 6341.338
fortified_sweet 844.1247 543.874 1.552 0.127 -246.747 1934.997
rum -389.6465 440.184 -0.885 0.380 -1272.545 493.252
brown_spirits 1267.2019 581.664 2.179 0.034 100.532 2433.872
cocktail -1766.9369 568.908 -3.106 0.003 -2908.022 -625.852
bar_food 74.3759 514.091 0.145 0.886 -956.760 1105.512
cigar 4420.0626 599.323 7.375 0.000 3217.972 5622.153
==============================================================================
Omnibus: 16.459 Durbin-Watson: 1.864
Prob(Omnibus): 0.000 Jarque-Bera (JB): 24.107
Skew: 0.971 Prob(JB): 5.83e-06
Kurtosis: 5.390 Cond. No. 37.4
==============================================================================
Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
** Einen Teil der Zusammenfassung betrachten **
statsmodels
#Ergebnisdetails anzeigen
print(results.summary())
Teil der Zusammenfassung
R-squared: 0.930
Adj. R-squared: 0.921
AIC: 1253.
coef std err t P>|t| [0.025 0.975]
-----------------------------------------------------------------------------------
customer 5103.4245 617.184 8.269 0.000 3865.511 6341.338
fortified_sweet 844.1247 543.874 1.552 0.127 -246.747 1934.997
rum -389.6465 440.184 -0.885 0.380 -1272.545 493.252
brown_spirits 1267.2019 581.664 2.179 0.034 100.532 2433.872
cocktail -1766.9369 568.908 -3.106 0.003 -2908.022 -625.852
bar_food 74.3759 514.091 0.145 0.886 -956.760 1105.512
cigar 4420.0626 599.323 7.375 0.000 3217.972 5622.153
Wenn die Zusammenfassung angezeigt wird, gibt es zuerst etwas zu sehen.
Bestimmungskoeffizient "R-Quadrat" (je näher er an 1 liegt, desto höher ist die Genauigkeit) "Adj. R-Quadrat" Freiheitsbereinigter Entscheidungskoeffizient (Entscheidungskoeffizient, wenn es viele erklärende Variablen gibt) -In diesem Fall gibt es viele erklärende Variablen, daher werde ich diesen Wert beurteilen.
"AIC" Inwieweit passt das Modell? (Je kleiner der Wert, desto höher die Genauigkeit.) ・ Der numerische Wert scheint zu groß zu sein (geringe Genauigkeit).
Regressionskoeffizient "Coef" (je größer der Wert, desto größer die Auswirkung auf das Ganze) ・ Betrachtet man dies, so scheinen "Kunde" und "Zigarre" einen großen Einfluss zu haben.
「>|t|」(Der Kleinere(Als Referenz 0.Weniger als 05)Der Einfluss von Variablen ist wahrscheinlich nicht zufällig) ・ Wenn man dies betrachtet, scheint es kein Zufall zu sein, dass der Wert von "Cocktail" neben "Kunde" und "Zigarre" gering ist.
** In der bisherigen Zusammenfassung scheint es viele erklärende Variablen zu geben. ** **.
Man kann sagen, dass "Kunde" und "Zigarre" einen großen Einfluss auf den Umsatz haben. </ font>
Betrachtet man die Ausgabe des Regressionskoeffizienten, so kann man sagen, dass das Ergebnis fast wie erwartet ist.
** Betrachtet man den Wert von "AIC", so scheint es, dass es viele erklärende Variablen gibt und die Genauigkeit gering ist. ** **. Ich werde die erklärenden Variablen reduzieren und die Analyse erneut versuchen.
Die Ergebnisse der erneuten Analyse werden zu einem anderen Zeitpunkt aktualisiert.
Wenn Sie zuerst nur die Grafik veröffentlichen, gibt es keine Legende. Wenn Sie sich jedoch die Grafik ansehen, ist die bläuliche Linie die Bewegung von "Kunde (Anzahl der Besucher)" und die rötliche Linie die Bewegung von "Zigarre (von Zigarre bereitgestellt)".
** Oben [für Anfänger] Es war für Personen, die bei ihren eigenen Daten des Regressionsmodells (Statistikmodelle (2. Mal)) stehen blieben. ** **.
Recommended Posts