Kursus
Jika Anda sudah mempelajari tutorial kami tentang kovarians, Anda tahu bahwa topiknya adalah bagaimana dua variabel berubah bersama. Korelasi membawa konsep itu selangkah lebih maju dengan menstandarkan ukuran tersebut sehingga Anda dapat membandingkan hubungan di berbagai dataset.
Dalam panduan ini, Anda akan mempelajari apa itu korelasi (secara khusus, kita akan berfokus pada yang paling umum, yaitu korelasi Pearson), bagaimana perbedaannya dari kovarians, serta cara menghitung dan menafsirkannya menggunakan Python dan R. Di akhir, kita juga akan membahas berbagai jenis korelasi untuk skenario yang berbeda.
Untuk terus mengasah keterampilan statistika Anda, jangan lewatkan jalur keterampilan Statistics Fundamentals in Python atau kursus Introduction to Statistics in R.
Apa Itu Korelasi?
Korelasi mengukur kekuatan dan arah hubungan linear antara dua variabel kuantitatif. Ini membantu Anda memahami bagaimana perubahan pada satu variabel berkaitan dengan perubahan pada variabel lain.
Korelasi positif berarti saat satu variabel meningkat, variabel lainnya cenderung meningkat juga. Korelasi negatif berarti saat satu variabel meningkat, variabel lainnya cenderung menurun.
Mari saya daftarkan gagasan utamanya:
- Korelasi mengkuantifikasi derajat sejauh mana dua variabel bergerak bersama.
- Koefisien korelasi bernilai antara -1 hingga 1.
- Nilai 1 menunjukkan hubungan linear positif sempurna.
- Nilai -1 menunjukkan hubungan linear negatif sempurna.
- Nilai 0 menunjukkan tidak ada hubungan linear.
Rumus Koefisien Korelasi Pearson
Seperti yang saya sebutkan, koefisien korelasi Pearson mengukur hubungan linear antara dua variabel kontinu. Yang belum saya katakan: Ini mengasumsikan data berdistribusi normal (lebih tepatnya, mengasumsikan kedua variabel berdistribusi normal bersama yang dikenal sebagai normalitas bivariat - ada nuansanya), dan sensitif terhadap pencilan. Koefisien korelasi Pearson dilambangkan sebagai r.

dengan xi dan yi adalah titik data, serta x dan y adalah mean masing-masing.
Koefisien Korelasi Pearson di Python dan R
Mari kita lihat cara menghitungnya di Python dan R.
Korelasi di Python
Anda dapat menghitung koefisien korelasi Pearson di Python menggunakan fungsi pearsonr() dari modul scipy.stats:
import numpy as np
from scipy.stats import pearsonr
# Temperature data in Celsius and corresponding Fahrenheit
temperature_celsius = np.array([0, 10, 20, 30, 40])
temperature_fahrenheit = np.array([32, 50, 68, 86, 104]) # Converted from Celsius
# Calculate Pearson correlation coefficient
correlation_coefficient, p_value = pearsonr(temperature_celsius, temperature_fahrenheit)
print("Pearson correlation coefficient:", correlation_coefficient)
Pearson correlation coefficient: 1.0
p-value: 0.0
Output menunjukkan hubungan linear positif sempurna antara x_values dan y_values (karena kita baru saja mendefinisikan y sebagai 2x).
Korelasi di R
Untuk R, Anda dapat menggunakan fungsi cor():
temperature_celsius <- c(0, 10, 20, 30, 40)
temperature_fahrenheit <- c(32, 50, 68, 86, 104) # Converted from Celsius
# Calculate Pearson correlation coefficient
correlation_coefficient <- cor(temperature_celsius, temperature_fahrenheit, method = "pearson")
print(correlation_coefficient)
[1] 1
Output ini juga menunjukkan hubungan linear positif sempurna, sama seperti sebelumnya.
Matriks Korelasi
Matriks korelasi menampilkan koefisien korelasi antara banyak pasangan variabel dalam suatu dataset. Ini berguna untuk mengeksplorasi hubungan dalam data multivariat.
Matriks korelasi di Python
Umum untuk merepresentasikan variabel dalam format matriks, seperti pandas DataFrame, dan menghitung matriks korelasi secara langsung:
import pandas as pd
# Create a DataFrame with two perfectly correlated variables and one that isn't
data = pd.DataFrame({
'temperature_celsius': [0, 10, 20, 30, 40],
'temperature_fahrenheit': [32, 50, 68, 86, 104], # Perfect linear transformation
'ice_cream_sales': [100, 150, 200, 220, 230] # Roughly increasing, not perfectly
})
# Calculate the Pearson correlation matrix
correlation_matrix = data.corr(method='pearson')
print(correlation_matrix)
temperature_celsius temperature_fahrenheit ice_cream_sales
temperature_celsius 1.000000 1.000000 0.993858
temperature_fahrenheit 1.000000 1.000000 0.993858
ice_cream_sales 0.993858 0.993858 1.000000
Output ini menunjukkan:
-
Korelasi positif sempurna antara
temperature_celsiusdantemperature_fahrenheit(seperti yang diharapkan, sama seperti sebelumnya). -
Korelasi yang kuat namun tidak sempurna antara
ice_cream_salesdantemperature_celsiusmaupuntemperature_fahrenheit.
Matriks korelasi di R
Di R, Anda dapat mencapai hal yang sama dengan fungsi cor() yang kita gunakan sebelumnya, diterapkan pada data frame atau matriks:
# Create a data frame with two perfectly correlated variables and one unrelated
data <- data.frame(
temperature_celsius = c(0, 10, 20, 30, 40),
temperature_fahrenheit = c(32, 50, 68, 86, 104), # Perfect conversion from Celsius
ice_cream_sales = c(100, 150, 200, 220, 230) # Generally increases, but not perfectly
)
# Calculate the correlation matrix
correlation_matrix <- cor(data, method = "pearson")
print(correlation_matrix)
temperature_celsius temperature_fahrenheit ice_cream_sales
temperature_celsius 1.00 1.00 0.99
temperature_fahrenheit 1.00 1.00 0.99
ice_cream_sales 0.99 0.99 1.00
Output R ini mencerminkan contoh Python, dengan:
-
Korelasi positif sempurna antara
temperature_celsiusdantemperature_fahrenheit. -
Korelasi negatif yang kuat antara
ice_cream_salesdantemperature_celsiusatautemperature_fahrenheit.
Tampilan matriks seperti ini sangat berguna untuk mengidentifikasi potensi multikolinearitas dalam regresi atau memilih variabel untuk teknik reduksi dimensi seperti PCA.
Korelasi vs. Metrik Lain
Kita melihat bahwa korelasi menangkap asosiasi linear. Sekarang, mari berhati-hati membedakannya dengan gagasan lain yang terdengar serupa.
Korelasi vs. kovarians
Baik korelasi maupun kovarians mengukur bagaimana dua variabel berubah bersama, tetapi keduanya berbeda dalam dua hal: skala dan keterinterpretasian.
-
Kovarians menunjukkan arah hubungan linear tetapi tidak kekuatannya secara terstandar. Nilainya bergantung pada satuan variabel, sehingga sulit dibandingkan lintas dataset.
-
Korelasi menstandarkan kovarians dengan membaginya dengan simpangan baku variabel, menghasilkan nilai tanpa satuan antara -1 dan 1.
Korelasi vs. R-squared
R-squared (R²), atau koefisien determinasi, juga kerap disalahartikan sebagai korelasi. Saya sering melihat ini saat analis mencoba menafsirkan kinerja model.
-
Korelasi (r Pearson) mengukur kekuatan dan arah hubungan linear antara dua variabel.
-
R-squared merepresentasikan proporsi varians pada satu variabel yang dapat diprediksi dari variabel lain dalam model regresi linear. Dalam regresi linear sederhana, nilainya adalah kuadrat dari r Pearson.
Korelasi vs. kausalitas
Jangan menyamakan korelasi dengan kausalitas! Ini adalah kesalahan umum.
-
Korelasi hanya menunjukkan bahwa dua variabel bergerak bersama. Ini tidak menjelaskan mengapa. Jadi bersifat deskriptif, bukan eksplanatori. Korelasi bisa terjadi karena kebetulan, variabel perancu, atau kausalitas terbalik.
-
Kausalitas menyiratkan bahwa perubahan pada satu variabel secara langsung menyebabkan perubahan pada variabel lain. Simpan pembahasan kausalitas untuk eksperimen terkontrol atau terkait teknik inferensi kausal.
Tantangan dan Kesalahan Umum dalam Analisis Korelasi
Penting untuk menyadari hal-hal umum yang bisa keliru dilakukan analis:
- Korelasi tidak menyiratkan kausalitas. Kita sudah membahas ini.
- Pencilan dapat mendistorsi koefisien korelasi.
- Hubungan non-linear mungkin tidak tertangkap dengan baik oleh koefisien korelasi Pearson.
- Koefisien korelasi juga sensitif terhadap rentang data.
Jenis Koefisien Korelasi Lainnya
Dalam artikel ini, kita membahas koefisien korelasi Pearson, karena ini adalah versi korelasi yang dibangun langsung dari konsep kovarians dan merupakan ukuran yang paling sering digunakan dalam praktik. Namun sekarang mari lihat tipe lainnya.
Koefisien korelasi peringkat Spearman (ρ)
Korelasi peringkat Spearman menilai kekuatan dan arah hubungan monotonik menggunakan nilai yang diperingkat. Ini bersifat non-parametrik dan bekerja baik untuk data ordinal atau tren yang tidak linear tetapi konsisten.

Dengan:
- di = selisih antara peringkat tiap observasi
- n = jumlah observasi
Koefisien Kendall tau (τ)
Koefisien Kendall tau juga mengukur hubungan monotonik menggunakan peringkat tetapi didasarkan pada jumlah pasangan konkordan dan diskordan. Lebih tangguh saat terdapat banyak nilai seri (ties) dan sampel kecil.

Dengan:
- C = jumlah pasangan konkordan (pasangan yang diperingkat dalam urutan yang sama pada kedua variabel)
- D = jumlah pasangan diskordan (pasangan yang diperingkat dalam urutan berbeda)
- n = jumlah observasi
Kesimpulan
Semoga Anda merasa artikel ini bermanfaat. Seperti yang telah Anda lihat, korelasi adalah alat analisis data yang mendasar untuk memahami hubungan antarvariabel.
Pastikan Anda mengikuti kursus kami untuk terus belajar. Saya merekomendasikan jalur keterampilan Statistics Fundamentals in Python atau kursus Introduction to Statistics in R sebagai langkah lanjutan yang tepat.

Saya penulis dan editor data science dengan kontribusi pada artikel riset di jurnal ilmiah. Saya sangat tertarik pada aljabar linear, statistika, R, dan sejenisnya. Saya juga cukup sering bermain catur!
Pertanyaan Umum tentang Korelasi
Apa perbedaan antara korelasi dan kovarians?
Kovarians mengukur bagaimana dua variabel berubah bersama, sedangkan korelasi menstandarkan ukuran ini, memungkinkan perbandingan lintas dataset yang berbeda. Korelasi memberikan baik kekuatan maupun arah hubungan dan dibatasi antara -1 dan 1.
Koefisien korelasi mana yang harus saya gunakan: Pearson, Spearman, atau Kendall?
Gunakan Pearson saat data Anda kontinu dan berdistribusi normal dengan hubungan linear. Pilih Spearman untuk data ordinal atau ketika hubungannya monotonik tetapi tidak harus linear. Kendall paling baik untuk dataset kecil dengan banyak nilai seri (ties) atau saat Anda menginginkan ukuran non-parametrik yang lebih tangguh.
Bagaimana cara menghitung koefisien korelasi Pearson di Python dan R?
Di Python, gunakan pearsonr() dari scipy.stats. Di R, gunakan fungsi cor() dengan method = "pearson". Kedua fungsi mengembalikan nilai antara -1 dan 1.
Dapatkah koefisien korelasi menunjukkan kausalitas antara variabel?
Tidak, korelasi tidak menyiratkan kausalitas. Meskipun dua variabel sangat berkorelasi, itu tidak berarti yang satu menyebabkan yang lainnya. Variabel perancu atau kebetulan juga dapat menghasilkan korelasi yang tinggi.
Apa saja kesalahan umum yang perlu dihindari dalam analisis korelasi?
Kesalahan umum mencakup mengasumsikan kausalitas, mengabaikan dampak pencilan, menggunakan korelasi Pearson untuk hubungan non-linear, dan menafsirkan korelasi lemah sebagai bermakna. Penting juga untuk mempertimbangkan rentang dan skala data Anda.
