Sie können VIF (Varianzinflationsfaktor) in Python überprüfen und die mehrfache Co-Linearität zwischen den erklärenden Variablen überprüfen, während Sie dieses Ergebnis betrachten. Wenn VIF> 10 ist, kann im Allgemeinen beurteilt werden, dass die multiple Co-Linearität stark ist.
from statsmodels.stats.outliers_influence import variance_inflation_factor
df_all = pd.read_excel('train.xlsx',sheet_name="Sheet1")
cols = df_all.select_dtypes(include=[np.number]).columns
cols_x = cols[1:]
data_x = df_all[cols_x]
#Berechne vif
vif = pd.DataFrame()
vif["VIF Factor"] = [variance_inflation_factor(data_x.values, i) for i in range(data_x.shape[1])]
#vif["features"] = data_x.columns
#das Berechnungsergebnis von vif ausgeben
print(vif)
#Graph vif
plt.plot(vif["VIF Factor"])
Das Ergebnis wird so herauskommen. Es ist bequem!
Es wurde festgestellt, dass VIF mit unterschiedlichen Ergebnissen ('Д') herauskam .. !!
Zunächst wird VIF nach der folgenden Formel berechnet.
VIF = 1/(1-R2) #R2: Entscheidungskoeffizient
Wenn eine der erklärenden Variablen als Zielvariable betrachtet wird, wird der Entscheidungskoeffizient R2 verwendet, der erhalten wird, wenn eine multiple Regressionsanalyse mit den verbleibenden erklärenden Variablen durchgeführt wird. Sinnlich gesprochen verstehe ich, dass Sie diese Variable nicht benötigen, wenn Sie eine Variable ausdrücken können, die die verbleibende erklärende Variable ist. Die Tatsache, dass das VIF unterschiedlich ist, bedeutet, dass dieses R2 zwischen Python und Excel unterschiedlich ist, sodass ich für einen Moment in Panik geriet.
Es stellte sich heraus, dass der Grund anders war, ob der Abschnitt in die erklärende Variable aufgenommen werden sollte oder nicht.
Verarbeiten Sie auf der Python-Seite als Abschnitt = 0 Als ich es in Excel untersucht habe, habe ich den Abschnitt nicht angegeben.
Ich konnte bestätigen, dass die VIFs übereinstimmen, wenn ich auch in Excel section = 0 setze.
↑ Ob hier überprüft werden soll
Ich denke über das Obige nach, aber wie steht es mit allen? Ich bin auch neugierig, was der VIF-Berechnungsalgorithmus des Statistikmodells überhaupt ist.
Recommended Posts