[PYTHON] Darstellung der Regressionslinie durch Restdarstellung

Einführung

Ein intuitives Verständnis des Prinzips der Residuendiagramme erfordert ein Verständnis der Bedeutung von Residuen. Den theoretischen Hintergrund des Residuendiagramms finden Sie im "FWL-Theorem". In diesem Artikel werde ich kurz die Bedeutung von Residuen erläutern, um das Residuendiagramm zu verstehen. Danach werde ich Ihnen zeigen, wie man Python-Code schreibt.

Bedeutung des Residuums

Betrachten Sie eine lineare Regressionsanalyse mit zwei Variablen. $ Y_i = \alpha + \beta X_{1i} + \beta X_{2i} +\epsilon_i $

Wenn Sie die Bedeutung des Fehlerterms verstehen können, werden Sie verstehen, warum diese gerade Linie durch eine zweistufige Regressionsanalyse erhalten wird.

Der Fehlerterm ist ein Begriff, der die Information erklärt, dass die erklärenden Variablen die erklärte Variable nicht erklären können. Das heißt, es enthält alle Informationen zu der erklärten Variablen mit Ausnahme der erklärenden Variablen. Betrachten Sie eine einfache Regressionsanalyse von Y mit X1. $ Y_i = \pi_i + \pi_2 X_{1i} + \eta_i $ $ \ Eta_i $ in diesem Modell enthält alle Informationen zu Y, die $ X_ {1} $ nicht erklären kann. Betrachten Sie als nächstes eine Regressionsanalyse von X2 mit X1. $ X_{2i} = \theta_1 + \theta_2 X_{1i} + \zeta_i $ $ \ Zeta_i $ in diesem Modell enthält alle Informationen zu X2, die $ X_ {1} $ nicht erklären kann.

Haben Sie sich jemals vorgestellt, was Sie zu diesem Zeitpunkt tun sollen? $ \ eta $ enthält X2-Informationen zu Y, jedoch keine X1-Informationen. Andererseits enthält X2 in $ \ zeta $ Informationen über Y, jedoch keine Informationen über X1. Daher regressiert die vom FWL-Theorem behauptete Restregressionsanalyse $ \ eta_i $ um $ \ zeta_i $.

Python-Code

Gehen Sie so weit, dass das verbleibende Diagramm angezeigt wird.

import statsmodels.api as sm
import pandas as pd
import matplotlib.pyplot as plt
#read data
data=pd.read_csv("___.csv")
Y=data.loc[:,"name"]
X1=data.loc[:,["names1"]]
X2=data.loc[:,"names2"]

#it is necessary to add constant variable
X1=sm.add_constant(X1)

model1=sm.OLS(Y, X1)
result1=model1.fit()
Y1_hat=result1.predict(X1)

model2=sm.OLS(X2, X1)
result2=model2.fit()
Y2_hat=result2.predict(X1)

e1=Y-Y1_hat
e2=X2-Y2_hat

plt.plot(e1,e2,linestyle="None",marker=".") 

plt.show()

Wie weit sollten wir analysieren

Sie können analysieren, bis das Restdiagramm nicht mehr korreliert ist. Da es aufgezeichnet ist, kann es zuverlässiger sein, festzustellen, ob eine Korrelation besteht, als die Teststatistik zu betrachten.

Recommended Posts

Darstellung der Regressionslinie durch Restdarstellung
Rückkehr per CNN (gebautes Modell der Fackelsicht)
[Statistik] Verstehen Sie den Mechanismus von Q-Q-Plots mit Animation.
Grundlagen der Regressionsanalyse
Chaos Rückkehr der logistischen Kartierung durch Petit RNN in Tensorflow
Berechnung der Ähnlichkeit durch MinHash
Strichzeichnungsextraktion der Illustration
Klassifikation / Regression durch Stapeln (Scikit-Learn)
Interaktives Diagramm eines 3D-Diagramms
Lineares Zeichnen mit einer Matrix-Originalforschung von einem Neuerfinder der Python-Bildverarbeitung-
Lesen Sie die Standardausgabe eines Unterprozesses zeilenweise in Python
[GWAS] Zeichnen Sie die Ergebnisse der Hauptkomponentenanalyse (PCA) von PLINK auf
Beschriften Sie die Zeichen der von jTessBoxEditor generierten Boxdatei zeilenweise [Tesseract]