top of page
Gambar penulisCornellius Yudha Wijaya

Apa yang diperlukan agar disebut berkorelasi

Diperbarui: 2 Feb


Korelasi (Korelasi dalam Statistik) adalah ukuran hubungan timbal-balik antara dua variabel, apakah mereka bersifat kausal atau tidak. Tingkat pengukuran ini dapat diukur pada berbagai jenis tipe data (Continous dan Continous, Categorical dan Categorical, Continous dan Categorical).


Meskipun korelasi menyatakan bagaimana mengukur hubungan timbal-balik, keberadaan pengukuran korelasi tidak memberikan bukti kuat terhadap kausalitas (sebab-akibat). Artinya korelasi tidak berarti kausalitas. Lalu, bagaimana korelasi dapat berguna?


Korelasi berguna karena dapat menunjukkan hubungan prediktif yang dapat dimanfaatkan dalam praktik. Misalnya, penjualan es krim lebih sering terjadi pada suhu yang lebih tinggi di siang hari. Ini juga dapat menyiratkan kausalitas karena saat cuaca lebih panas, orang cenderung membeli es krim dibandingkan saat lebih dingin. Namun, seperti yang saya sebutkan sebelumnya; sering kali korelasi tidak dapat mengartikan kausalitas apa pun.


Sebelum kita masuk ke korelasi dan bagaimana dihitung, saya akan menunjukkan konsep covariance.

Covariance

Dalam statistik, covariance adalah ukuran asosiasi antara variabel X dan Y. Lebih tepatnya, ini mengukur kecenderungan hubungan linear antara variabel-variabel tersebut. S akan menunjukkan bagaimana covariance dihitung.

covariance dihitung dengan mengurangkan setiap anggota variabel dengan rata-ratanya (pusat data). Skor terpusat ini dikalikan untuk mengukur apakah peningkatan atau penurunan satu variabel terkait dengan yang lain. Akhirnya, expected value (E) dari skor terpusat ini dihitung sebagai summary dari asosiasi tersebut. Expected value dalam istilah lain adalah rata-rata (μ).


Masalah dengan covariance adalah bahwa X dan Y dapat mengambil berbagai jenis nilai dengan skala mereka masing-masing. Ini mempersulit proses interpretasi dan membuat perbandingan covariance satu sama lain menjadi tidak mungkin. Sebagai contoh, Cov(X, Y) = 7 dan Cov(A, B) = 5 akan memberi tahu kita bahwa pasangan ini masing-masing berasosiasi positif, tetapi sulit untuk mengatakan apakah hubungan antara X dan Y lebih kuat daripada A dan B tanpa informasi tambahan.


Inilah mengapa korelasi menjadi berguna — dengan standarisasi covariance melalui pengukuran variabilitas dalam data, akan menghasilkan produk yang memiliki interpretasi intuitif dan skala yang konsisten.


Sekarang, mari kita lanjutkan ke korelasi pertama kita.

Pearson Correlation Coefficient

Pearson Correlation adalah salah satu korelasi yang paling banyak digunakan selama proses analisis data. Pearson Correlation mengukur hubungan linear antara variabel continuous X dan variabel continuous Y dan memiliki nilai antara 1 dan -1. Dengan kata lain, Koefisien Pearson Correlation mengukur hubungan antara 2 variabel melalui garis.


Mari kita lihat bagaimana Koefisien Korelasi Pearson dihitung.


Jika Anda perhatikan, bagian atas persamaan pecahan (pembilang) mirip dengan persamaan covariance yang baru saja kita diskusikan sebelumnya. Ini berarti kita juga dapat menyatakan koefisien korelasi Pearson seperti di bawah ini.

Persamaan di atas menyatakan bahwa covariance dibagi oleh perkalian standar deviasi X (σX) dan standar deviasi Y (σY). Proses pembagian dengan standar deviasi adalah untuk menstandarisasi data kita dan memastikan nilai korelasi akan berada dalam rentang 1 hingga -1. Ini memudahkan interpretasi korelasi. Jadi, bagaimana kita dapat menginterpretasikan korelasi Pearson?


Ketika koefisien korelasi lebih dekat ke nilai 1, itu berarti ada hubungan positif antara variabel X dan Y. Hubungan positif mengidikasikan peningkatan satu variabel berkaitan dengan peningkatan variabel yang lain. Di sisi lain, semakin koefisien korelasi mendekati -1 akan berarti ada hubungan negatif yang mengidikasikan peningkatan satu variabel akan mengakibatkan penurunan variabel yang lain. Jika X dan Y independen, maka koefisien korelasi mendekati 0 meskipun korelasi Pearson dapat bernilai kecil bahkan jika ada hubungan kuat antara dua variabel.


Jika Anda menyadari dari penjelasan di atas, sebenarnya ada hubungan yang jelas antara koefisien korelasi Pearson dan kemiringan garis (slope) regresi. Pertama, saya akan menunjukkan contoh scatter plot yang memiliki garis regresi.

Dalam gambar di atas, garis regresi optimal karena meminimalkan jarak semua titik ke garis regresi. Karena itu, kemiringan garis regresi Y dan X secara matematis setara dengan korelasi antara X dan Y, distandardisasi oleh standar deviasi mereka.


Dengan kata lain, koefisien korelasi Pearson mencerminkan asosiasi dan jumlah variabilitas antara dua variabel. Properti ini juga mengimplikasikan bahwa korelasi Pearson rentan terhadap outlier.


Hubungan korelasi Pearson dengan slope telah menunjukkan mengapa korelasi Pearson menggambarkan hubungan linear dan mengapa korelasi penting dalam predictive modeling.

Bagaimana jika kita ingin mengukur hubungan non-linear antar variabel? Ada beberapa pengukuran lain untuk menggambarkan hubungan non-linear ini yang akan saya tunjukkan selanjutnya.

Spearman Rank Correlation

Berbeda dengan Koefisien Korelasi Pearson, Spearman Rank Correlation mengukur monotonic relationship (meningkat atau menurun, bukan keduanya) antara dua variabel dan diukur oleh peringkat dari nilai tersebut. Korelasi masih diukur antara continuous variable X dan variabel continuous variable Y, meskipun metode Spearman Rank Correlation masih relevan untuk variabel ordinal diskrit.

Di sini kita menghitung Spearman Rank Correlation berdasarkan peringkat data bukan skor. Artinya kita menghitung covariance antara peringkat data dan standar deviasi peringkat. Jika semua peringkat unik atau tidak ada ikatan antara peringkat, kita dapat menyederhanakan persamaan sebagai berikut.

Di mana n adalah jumlah observasi dan d adalah perbedaan antar peringkat. Rumus ini hanya digunakan secara ketat jika tidak ada ikatan.


Spearman Rank Correlation dapat diinterpretasikan dengan cara yang sama seperti Koefisien Korelasi Pearson karena nilainya berkisar antara -1 hingga 1. Semakin dekat skor dengan 1 berarti ada hubungan monotonic positif antara variabel (data terus meningkat) dan sebaliknya. Jika variabel X dan variabel Y independen, nilainya akan sama dengan 0.


Kita telah membahas tentang peringkat (rank), sebenarnya apa yang dimaksud peringkat? Berikut adalah contoh proses peringkat yang saya ambil dari Wikipedia.

Cara yang lebih mudah untuk memahami peringkat adalah ketika kita mengurutkan data dari yang terkecil hingga yang terbesar dan memberikan peringkat bergantung pada urutan data. peringkat 1 adalah peringkat terkecil, yang berarti bahwa peringkat 1 diberikan kepada nilai terkecil dari masing-masing kolom. Mengapa ini terjadi? kita bisa melihat dari tabel di atas bahwa kita memberikan peringkat pada data berdasarkan kolom masing-masing dan karena kita ingin tahu covariance antara peringkat kolom X dan kolom Y; kita memberikan peringkat sesuai dengan kolom-kolomnya. Lebih tepatnya, yang kita inginkan adalah perbedaan peringkat antar setiap baris.


Perbedaan antara Korelasi Pearson dan Spearman lebih tepat diilustrasikan pada gambar di bawah.

Karena data kita menunjukkan hubungan monotik positif yang sempurna (data selalu meningkat) dan hubungan non-linear; korelasi Spearman kita sama dengan 1. Dalam hal ini, hubungan Pearson lebih lemah tetapi masih menunjukkan hubungan yang kuat karena ada hubungan linear parsial antara data.

Kendall Tau Rank Correlation

Cara lain untuk mengukur hubungan non-linear antar variabel adalah dengan mengunakan Kendall Tau Rank Correlation. Kendall Tau Rank Correlation mengukur derajat kesamaan antara dua set peringkat yang diberikan pada satu set objek yang sama. Namun, berbeda dengan koefisien Spearman, Kendall Tau hanya mengukur kesepakatan arah (directional agreement), bukan perbedaan peringkat. Oleh karena itu, koefisien ini lebih sesuai untuk data diskrit.


Berikut adalah bagaimana kita mengukur Korelasi Kendall Tau.

Di mana Concordant pairs adalah pasangan nilai ((x1, y1), (x2, y2)) di mana peringkatnya bertepatan: x1 < x2 dan y1 < y2 atau x1 > x2 dan y1 > y2. Discordant pairs adalah pasangan peringkat yang tidak mengikuti aturan ini.


Dari persamaan di atas, kita dapat melihat bahwa pengukuran ini akan bergantung pada jumlah inversi dari pasangan objek. Untuk mengevaluasinya, setiap urutan peringkat diwakili oleh set semua pasangan objek (mis., [a, b] dan [b, a] adalah dua pasangan yang mewakili objek a dan b). Mari gunakan sampel dataset untuk mengukur korelasi.

Contoh di atas adalah dataset sampel dengan peringkat pada masing-masing kolom. Kami perlu menghitung jumlah concordant pairs dan discordant pairs sesuai dengan aturan sebelumnya. (1,2) dan (2,7) adalah concordant pairs karena 1<2 dan 2<7 sedangkan (1,2) dan (4,1) adalah discordant pairs karena 1 < 4 tetapi 2 > 1. Dalam kasus contoh dataset diatas, concordant pairs adalah:

  • (1,2) dan (2,7)

  • (1,2) dan (3,5)

dan discordant pairs adalah:

  • (1,2) dan (4,1)

  • (2,7) dan (3,5)

  • (2,7) dan (4,1)

  • (3,5) dan (4,1)

Ini berarti kita memiliki 2 concordant pairs dan 4 discordant pairs. Dengan menggunakan persamaan sebelumnya 2–4/(4(4–1)/2) akan menghasilkan nilai -0,33.


Kendall Tau akan mengambil nilai antara -1 dan +1 dengan nilai yang lebih dekat ke -1 berarti ketika satu urutan peringkat adalah kebalikan dari urutan peringkat lain dan semakin dekat nilainya ke +1 berarti kedua urutan peringkat tersebut identik. Korelasi Kendall Tau juga dapat diinterpretasikan sebagai perbedaan probabilitas antara probabilitas objek dalam urutan yang sama (concordant) dengan pengamatan dalam urutan yang berbeda (discordant).


Kendall Tau cocok digunakan ketika kita ingin mengetahui apakah urutan variabel tersebut mirip atau tidak; terutama jika data kita bersifat diskrit. Namun, ada cara lain untuk mengukur korelasi variabel diskrit (Shaked Zychlinski telah menulis artikel yang sangat baik tentang hal ini di sini, tetapi saya ingin menjelaskannya lebih lanjut)


Cramer’s V

Cramer’s V adalah ukuran asosiasi antara dua variabel diskrit. Pengukuran ini berdasarkan statistik chi-square Pearson dan memiliki rentang output antara 0 hingga 1; Semakin dekat nilai ke 0 berarti hubungan yang lebih lemah antara kedua variabel dan nilai 1 berarti hubungan yang kuat antara kedua variabel. Tidak ada nilai negatif (-) sebagai output karena tidak ada yang disebut sebagai asosiasi negatif. Perhitungan Cramer’s V dihitung dalam persamaan berikut.

Di mana χ² adalah statistik chi-square, n adalah jumlah observasi, k adalah jumlah kolom, dan r adalah jumlah baris.


Karena Cramer’s V memperkirakan kekuatan asosiasi (nilai statistik chi-square cenderung meningkat dengan peningkatan perbedaan antara jumlah baris dan kolom), kita perlu mengoreksi bias. Ini dilakukan oleh persamaan berikut.

Di mana

Contoh Menggunakan Dataset

Untungnya, modul scipy dan pandas di Python telah memberikan cara mudah untuk menghitung semua angka ini. Kali ini, kita akan menggunakan dataset sampel tips dari seaborn.

#Import module
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

#Load dataset
tips = sns.load_dataset('tips')

#buat category baru berdasarkan nilai tip (0: tip below 3 and 1 tip equal or more than 3)
tips['tip_category'] = tips['tip'].apply(lambda x: 1 if x>3 else 0)

Misalkan kita ingin mengetahui hubungan antara total_bill dan tip. Dengan menggunakan metode .corr dari pandas, kita bisa mendapatkan korelasi dalam hitungan detik. Metode .corr pandas hanya menyediakan 3 jenis pengukuran korelasi; Pearson, Spearman, dan Kendall.

#Menggunakan metode .corr dari pandas, default-nya adalah Pearson Corellation 
tips[['total_bill', 'tip']].corr()
tips['total_bill', 'tip']].corr('spearman')

Jika kita memerlukan hasil korelasi sebagai pengujian hipotesis statistik, kita bisa menggunakan fungsi dari modul scipy untuk menghitungnya.

from scipy.stats import pearsonr, spearmanr

pearsonr(tips['total_bill'], tips['tip'])
#Output: (0.6757341092113647, 6.6924706468630016e-34)

spearmanr(tips['total_bill'], tips['tip'])
#Output: SpearmanrResult(correlation=0.6789681219001009, pvalue=2.501158440923619e-34)

#Where the first number represent the Correlation Coefficient and 
#the second number represent the p-value.

Dalam analisis korelasi, kita dapat menguji hipotesis statistik apakah ada hubungan antara variabel atau tidak. Secara formal, dinyatakan sebagai berikut:

  • H0: Tidak ada hubungan statistik yang signifikan antara variabel X dan variabel Y

  • H1: Ada hubungan statistik yang signifikan antara variabel X dan variabel Y


Seperti halnya pengujian hipotesis lainnya, kita mengevaluasi hipotesis berdasarkan p-value. Biasanya, kita menetapkan tingkat alpha = 95%, yang berarti jika p-value di bawah 0,05 maka kita menolak H0 dan menerima H1. Dalam hal ini, H0 dikatakan sama jika dikatakan Variabel X dan Variabel Y adalah independen.


Kita juga dapat menghitung korelasi Kendall Tau dengan cara yang sama seperti di atas. Seperti yang saya sebutkan sebelumnya bahwa korelasi Kendall Tau lebih sesuai untuk diterapkan pada variabel diskrit, oleh karena itu saya akan mengambil contoh hubungan antara size dan tip_category.

tips[['size', 'tip_category']].corr('kendall')
from scipy.stats import kendalltau

kendalltau(tips['size'], tips['tip_category'])
#Output: KendalltauResult(correlation=0.3528363722264162, pvalue=6.456364135002584e-09)

Menghitung Cramer’s V membutuhkan modul tambahan dan corrected bias version perlu didefinisikan sendiri. Untuk versi yang belum diperbaiki, kita bisa menggunakan modul researchpy untuk membantu menghitung Cramer’s V. Mari terapkan pada hubungan antara sex dan size.

pip install researchpy #jika belum pernah menggunakan modul ini

from researchpy import crosstab
cross, res = crosstab(tips['sex'], tips['size'], test = 'chi-square')
res

Dengan menggunakan researchpy, kita akan mendapatkan informasi yang dibutuhkan tentang uji statistik dan analisis korelasi. Meskipun, seperti yang saya katakan sebelumnya bahwa itu belum diperbaiki yang berarti itu memperkirakan kekuatan asosiasi. Untuk alasan itu, saya akan menggunakan fungsi Cramer’s V yang telah diperbaiki biasnya seperti yang didefinisikan oleh Shaked Zychlinski sebelumnya.


def cramers_v(x, y):
    import scipy.stats as ss
    confusion_matrix = pd.crosstab(x,y)
    chi2 = ss.chi2_contingency(confusion_matrix)[0]
    n = confusion_matrix.sum().sum()
    phi2 = chi2/n
    r,k = confusion_matrix.shape
    phi2corr = max(0, phi2-((k-1)*(r-1))/(n-1))
    rcorr = r-((r-1)**2)/(n-1)
    kcorr = k-((k-1)**2)/(n-1)
    return np.sqrt(phi2corr/min((kcorr-1),(rcorr-1)))

cramers_v(tips['sex'], tips['size'])
#output: 0.058202656344848294

Seperti yang bisa kita lihat di atas, kekuatan asosiasi antara versi yang diperbaiki dan yang belum diperbaiki akan berbeda.


Kesimpulan

Saya telah menunjukkan beberapa cara untuk mengukur hubungan antara variabel dan bagaimana kita bisa menginterpretasikan pengukuran tersebut.

Tentu saja, sangat menggoda untuk menyimpulkan bahwa ada kausalitas (sebab-akibat) antara nilai-nilai yang berkorelasi, tetapi seperti banyak yang dikatakan sebelumnya ‘korelasi tidak menyiratkan kausalitas’. Hal-hal mungkin tidak semudah angka yang ditunjukkan. Yang kita butuhkan adalah pemikiran kritis untuk menganalisis informasi yang kita dapatkan dari korelasi ini sebelum kita dapat menyimpulkan sesuatu.

45 tampilan0 komentar

Comentários


bottom of page