[PYTHON] Datenanalyse zur Verbesserung von POG 3 ~ Regressionsanalyse ~

Rückblick bis zum letzten Mal

Datenanalyse zur Verbesserung des POG 2 ~ Analyse mit Jupiter-Notizbuch ~ zeigt den kausalen Zusammenhang zwischen dem Pferdeprofil und den während des POG-Zeitraums gewonnenen Preisen. Durch die Analyse konnten wir allgemeine Trends wie "weibliche Pferde sind nachteilig" und "frühere Geburt ist vorteilhafter" erfassen.

Zweck dieser Zeit

Bestimmen Sie die Möglichkeit einer Preisvorhersage für den POG-Zeitraum basierend auf dem Profil des Pferdes durch Regressionsanalyse.

Datenanalyse

Umgang mit qualitativen Daten

Werfen wir einen Blick auf den Inhalt der zu analysierenden Daten.

AnalysePOG_160203.jpg

Da wir den Preisbetrag basierend auf dem Profil jedes Pferdes vorhersagen möchten, lautet die Zielvariable "POG-Zeitraum Prize_Jahr-Runde" und die erklärenden Variablen sind "Geschlecht", "Geburtsmonat", "Trainer", "Pferdebesitzer", "Produzent". , "Origin", "Seri Transaktionspreis", "Vater", "Mutter und Vater" wären angemessen. Da jedoch in der vorherigen Analyse keine signifikante Beziehung gefunden wurde, wird diesmal der "Seri-Transaktionspreis" von der Analyse ausgeschlossen.

Unter den erklärenden Variablen sind übrigens andere Daten als der "Seri-Transaktionspreis" sogenannte qualitative Daten. Daher kann die Regressionsanalyse nicht so durchgeführt werden, wie sie ist.

In einem solchen Fall scheint es eine allgemeine Methode * zu sein, eine Regressionsanalyse durchzuführen, nachdem qualitative Daten in Dummy-Variablen konvertiert wurden, damit sie als quantitative Daten behandelt werden können.

pandas hat die Funktion, qualitative Daten in Dummy-Variablen umzuwandeln. Ein Beispiel ist unten gezeigt.

python


horse_df = pd.read_csv('./horse_db/horse_prof_2010_2014_mod.csv', encoding='utf-8', header=0, index_col=0)
pd.get_dummies(horse_df[u'Sex'])[:3]

AnalysePOG_160203.jpg

Einfache Regressionsanalyse

In dieser Analyse wird die OLS (Minimum Square Method) des Statistikmoduls verwendet. Der für die Analyse verwendete Code ist unten dargestellt.

python


#Modulimport
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(font='Osaka')
import statsmodels.api as sm
import IPython.display as display
%matplotlib inline

#Lesen Sie die Daten der Analysequelle
horse_df = pd.read_csv('./horse_db/horse_prof_2010_2014_mod.csv', encoding='utf-8', header=0, index_col=0)
#horse_df = horse_df[:50]

#Konvertieren Sie qualitative Daten in Dummy-Variablen
use_col = [
    u'Sex',
    #u'Geburtsmonat',
    #u'Trainer',
    #u'Pferdebesitzer',
    #u'Produzent',
    #u'Ursprung',
    #u'Vater',
    #u'Mutter Vater',
    ]

if len(use_col) == 1:
    dum = pd.get_dummies(horse_df[use_col[0]])
else:
    dum = pd.get_dummies(horse_df[use_col])    

# X,Definition von y
X_col = dum.columns
y_col = u'POG-Preis_Das ganze Jahr'
tmp_df = pd.concat([dum, horse_df[y_col]], axis=1)
tmp_df = tmp_df.dropna()
tmp_df = tmp_df.applymap(np.int) 
X = tmp_df[X_col].ix[:,:]
X = sm.add_constant(X)
y = tmp_df[y_col]

#Modellgenerierung
model = sm.OLS(y,X)

#Ergebnis
results = model.fit()
y_predict = results.predict()
plt.plot(y_predict, y, marker='o', ls='None', label='_'.join(use_col))
plt.xlabel(u'Prognose')
plt.ylabel(u'Tatsächliche Messung')
plt.legend(loc=0)
plt.title('R^2: %.3f,  F: %.3f' % (results.rsquared, results.fvalue))
plt.savefig('./figure/fig_'+'_'.join(use_col)+'.png')
#display.display(results.summary())

Sex

fig_性別.png

Geburtsmonat

fig_生まれ月.png

Trainer

fig_調教師.png

Pferdebesitzer

fig_馬主.png

Produzent

fig_生産者.png

Ursprung

fig_産地.png

Vater

fig_父.png

Mutter Vater

fig_母父.png

Multiple Regressionsanalyse

fig_性別_生まれ月_調教師_馬主_生産者_産地_父_母父.png

Diese Zusammenfassung

Eine Regressionsanalyse wurde mit der Zielvariablen als "POG-Zeitraum Preisjahr" und der erklärenden Variablen als verschiedene Pferdeprofile ("Geschlecht", "Vater" usw.) durchgeführt. Es wurde festgestellt, dass es schwierig ist, den Preisbetrag aus dem Pferdeprofil vorherzusagen, da R ^ 2 sowohl in der einfachen Regressionsanalyse als auch in der multiplen Regressionsanalyse klein ist.

von jetzt an

Diskriminierungsanalyse (Identifizierung von nicht gewonnenen, durchschnittlich offenen Pferden, erstklassigen Pferden) Analyse mit Schwerpunkt auf Stammbaum

Recommended Posts

Datenanalyse zur Verbesserung von POG 3 ~ Regressionsanalyse ~
Datenanalyse zur Verbesserung von POG 2 ~ Analyse mit Jupiter-Notebook ~
Datenanalyse zur Verbesserung von POG 1 ~ Web Scraping mit Python ~
Python für die Datenanalyse Kapitel 4
Python für die Datenanalyse Kapitel 2
Tipps und Vorsichtsmaßnahmen bei der Datenanalyse
Python für die Datenanalyse Kapitel 3
Vorverarbeitungsvorlage für die Datenanalyse (Python)
Python-Visualisierungstool für die Datenanalyse
JupyterLab Grundeinstellung 2 für die Datenanalyse (pip)
JupyterLab Basic Setup für die Datenanalyse (pip)
Datenanalyse Titanic 2
Datenanalyse Python
Poisson-Regressionsanalyse
Methode der Regressionsanalyse
Datenanalyse Titanic 3
Bereiten Sie eine Programmiersprachenumgebung für die Datenanalyse vor
[CovsirPhy] COVID-19 Python-Paket für die Datenanalyse: Laden von Daten
Eine Einführung in die statistische Modellierung für die Datenanalyse
Verwendung von Datenanalysetools für Anfänger
Erstellen Sie ein Multi-Output-Modell für die Regressionsanalyse [Anfänger]
Datenanalyse mit Python 2
Organisation grundlegender Verfahren zur Datenanalyse und statistischen Verarbeitung (4)
Datenanalyse mit xarray
[Für Anfänger] So studieren Sie den Python3-Datenanalysetest
Ordnerstruktur zur Analyse
Datenanalyse Übersicht Python
Analyse der Messdaten ①-Memorandum of Scipy Fitting-
Quellenanalyse für Django - INSTALLED_APPS
[CovsirPhy] COVID-19 Python-Paket für die Datenanalyse: SIR-F-Modell
[CovsirPhy] COVID-19 Python-Paket für die Datenanalyse: S-R-Trendanalyse
LightGBM, der erste Schritt, um das Denken in Datenanalyse-Wettbewerben zu beenden
Python-Datenanalysevorlage
[CovsirPhy] COVID-19 Python-Paket für die Datenanalyse: SIR-Modell
[CovsirPhy] COVID-19 Python-Paket für die Datenanalyse: Parameterschätzung
Grundlagen der Regressionsanalyse
Führen Sie eine Regressionsanalyse mit NumPy durch
Datenanalyse mit Python
Regressionsanalyse mit Python
[CovsirPhy] COVID-19 Python-Paket für die Datenanalyse: Szenarioanalyse (Parametervergleich)
[Einführung in Data Scientists] Deskriptive Statistik und einfache Regressionsanalyse ♬
[In kürzester Zeit verstehen] Python-Grundlagen für die Datenanalyse
Welches sollte ich für die Datenanalyse studieren, R oder Python?
Python-Lernnotiz für maschinelles Lernen von Chainer Kapitel 7 Regressionsanalyse
<Python> Erstellen Sie einen Server für die Datenanalyse mit Jupyter Notebook
Einführung in die statistische Modellierung für die Datenanalyse GLM-Modellauswahl
Datensatz für maschinelles Lernen
Mein Python-Datenanalyse-Container
Mehrdimensionale Datenanalysebibliothek xarray
Was ist eine logistische Regressionsanalyse?
Multiple Regressionsanalyse mit Keras
[Python] Hinweise zur Datenanalyse
Lernnotizen zur Python-Datenanalyse
Einfache Regressionsanalyse mit Python
Wrap-Analyse Teil1 (Datenaufbereitung)
[PyTorch] Datenerweiterung zur Segmentierung
Datenanalyse mit Python-Pandas
Twitter-Daten analysieren | Trendanalyse