[PYTHON] [Für Anfänger] Für diejenigen, die durch ihre eigenen Daten des Regressionsmodells gestoppt werden (Statistikmodelle (2. Mal))

[Für Anfänger] Für diejenigen, die durch ihre eigenen Daten des Regressionsmodells gestoppt werden (Statistikmodelle (2. Mal))

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.

customer_cigar.jpg

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