Problem bei der Berechnung des Korrelationsansatzes?

Aug 28 2020

Es gibt drei Spalten sagen product_id, product_typeund price_drop. product_idist einzigartig, während ein Produkt zu 100 Klassen gehören kann, deren Informationen durch product_type angegeben werden. Der Spaltenwert price_drop ist 1, wenn der Preis des Produkts gesunken ist, andernfalls 0. Was ich getan habe, ist, dass ich die product_typeSpalte, die die Dummy-Variable für sie erstellt hat , einmalig codiert habe. Mit jeder Dummy-Variablen habe ich ihre Korrelation mit der price_dropSpalte berechnet . Ich wollte die Korrelation zwischen jedem Produkttyp und einem Preisverfall sehen. Ist dieser Ansatz richtig?

Antworten

1 10xAI Aug 28 2020 at 21:31

Höchstwahrscheinlich verwenden Sie die Pearson-Korrelationsmethode. Diese Methode wird für zwei fortlaufende Funktionen verwendet.
Hier sind sowohl die price_drop- als auch die OHE-Funktionen binäre kategoriale Funktionen.

Sie können also diese Methoden verwenden -
Phi - Phi ist ein Maß für den Grad der Assoziation zwischen zwei binären Variablen (zwei kategoriale Variablen, von denen jede nur einen von zwei Werten haben kann).
Crammers V - Cramers V ist eine Erweiterung von phi für Tabellen größer als 2 × 2.
Beide sind Erweiterungen des Chi-Quadrat-Unabhängigkeitstests.

Da beide Features zwei Werte haben, geben beide oben genannten Methoden das gleiche Ergebnis aus.

# dataset is your DataFrame
s1 = dataset['Status']
s2 = dataset[product_type_OHE_01]

import pandas as pd
from scipy.stats import chi2_contingency
n = len(s1)
r,c = s1.nunique(), s2.nunique()
matrix = pd.crosstab(s1,s2).values
chi_sq = chi2_contingency(matrix)

phi = np.sqrt(chi_sq[0]/n)
cramm_V = np.sqrt(chi_sq[0]/(n*min(r-1,c-1)))

print(phi, cramm_V)