Sobes.tech
Middle

Mi az a jellemzők multikollinearitása? Miért veszélyes és hogyan lehet felismerni?

sobes.tech MI

Válasz az MI-től

A többkollinearitás jellemzők között olyan helyzet, amikor két vagy több jellemző (feature) erősen korrelál egymással, vagyis egy jellemző szinte lineárisan kifejezhető a többi segítségével.

Miért veszélyes:

  • Rontja a modellek stabilitását és értelmezhetőségét, különösen a lineáris regressziók esetében.
  • A jellemzők együtthatói instabillá válnak, és kis adatváltozások hatására megváltozhatnak a jelük vagy nagyságuk.
  • Nehezíti az egyes jellemzők hatásának azonosítását a célváltozóra.

Hogyan lehet felismerni:

  • Számítsa ki a jellemzők korrelációs mátrixát, és keressen magas korrelációval rendelkező párokat (pl. > 0.8).
  • Használja a VIF (Variance Inflation Factor) mutatót: VIF érték > 5 vagy 10 erős többkollinearitást jelez.

Python példakód VIF számítására:

from statsmodels.stats.outliers_influence import variance_inflation_factor
import pandas as pd

X = pd.DataFrame({
    'x1': [...],
    'x2': [...],
    'x3': [...],
})

vif_data = pd.DataFrame()
vif_data['feature'] = X.columns
vif_data['VIF'] = [variance_inflation_factor(X.values, i) for i in range(len(X.columns))]
print(vif_data)

Ha többkollinearitás észlelhető, akkor a korreláló jellemzőket eltávolíthatja vagy összevonhatja, jellemzők kiválasztási módszereket alkalmazhat, vagy regularizációt használhat.