Nauka o danych — korelacja statystyk a przyczynowość
Korelacja nie implikuje przyczynowości
Korelacja mierzy liczbową zależność między dwiema zmiennymi.
Wysoki współczynnik korelacji (bliski 1) nie oznacza, że z całą pewnością możemy wnioskować o rzeczywistej zależności między dwiema zmiennymi.
Klasyczny przykład:
- Latem rośnie sprzedaż lodów na plaży
- Jednocześnie wzrasta również liczba wypadków utonięcia
Czy to oznacza, że wzrost sprzedaży lodów jest bezpośrednią przyczyną zwiększonej liczby utonięć?
Przykład plaży w Pythonie
Tutaj stworzyliśmy fikcyjny zestaw danych, który możesz wypróbować:
Przykład
import pandas as pd
import matplotlib.pyplot as plt
Drowning_Accident = [20,40,60,80,100,120,140,160,180,200]
Ice_Cream_Sale =
[20,40,60,80,100,120,140,160,180,200]
Drowning = {"Drowning_Accident":
[20,40,60,80,100,120,140,160,180,200],
"Ice_Cream_Sale":
[20,40,60,80,100,120,140,160,180,200]}
Drowning = pd.DataFrame(data=Drowning)
Drowning.plot(x="Ice_Cream_Sale", y="Drowning_Accident", kind="scatter")
plt.show()
correlation_beach = Drowning.corr()
print(correlation_beach)
Wyjście:
Korelacja a przyczynowość — przykład z plaży
Innymi słowy: czy możemy wykorzystać sprzedaż lodów do przewidywania wypadków związanych z utonięciem?
Odpowiedź brzmi - prawdopodobnie nie.
Jest prawdopodobne, że te dwie zmienne przypadkowo korelują ze sobą.
Co w takim razie powoduje utonięcie?
- Niewprawni pływacy
- Fale
- Skurcz
- Zaburzenia napadowe
- Brak nadzoru
- (Niewłaściwe) używanie alkoholu
- itp.
Odwróćmy argument:
Czy niski współczynnik korelacji (bliski zeru) oznacza, że zmiana x nie wpływa na y?
Powrót do pytania:
- Czy możemy stwierdzić, że Average_Pulse nie wpływa na spalanie kalorii z powodu niskiego współczynnika korelacji?
Odpowiedź brzmi nie.
Istnieje ważna różnica między korelacją a przyczynowością:
- Korelacja to liczba, która mierzy stopień powiązania danych
- Przyczynowość to wniosek, że x powoduje y.
Dlatego ważne jest, aby krytycznie zastanowić się nad koncepcją przyczynowości, kiedy robimy prognozy!