R'de Pearson ve Spearman Korelasyon Matrisi ve Örneği

⚡ Akıllı Özet

R'da Pearson ve Spearman Korelasyonu, iki değişkenin ne kadar güçlü bir şekilde birlikte hareket ettiğini ölçer; tek bir çift için `cor()` fonksiyonu, birçok çift için ise korelasyon matrisi kullanılır. Bu kılavuz, `Hmisc` ile anlamlılık testi eklemeyi ve sonucu `GGally` ısı haritalarıyla görselleştirmeyi göstermektedir.

  • 📐 Katsayı Aralığı: Her korelasyon -1 ile 1 arasında yer alır; 0 doğrusal bir ilişkinin olmadığını, her iki uç değer de mükemmel bir ilişkiyi gösterir.
  • 📈 Pearson Yöntemi: Parametrik bir ölçüm yöntemidir, doğrusal ilişkiyi ölçer ve sürekli değişkenlerin yaklaşık olarak normal dağılıma sahip olduğunu varsayar.
  • 🔢 Spearman Yöntemi: Parametrik olmayan, sıralamalar üzerinde çalışan ve aykırı değerlere, çarpık veya sıralı verilere karşı dayanıklı bir yöntemdir.
  • 🧮 Matris Görünümü: cor(df) her bir ikili katsayıyı döndürür ve as.dist() yalnızca alt üçgeni yazdırır.
  • 🔬 önemi: Tek bir çift için cor.test() veya p-değerlerinin tam bir matrisi için Hmisc'ten rcorr() kullanın.
  • 🎨 Görselleştirme: ggcorr() fonksiyonu ısı haritası çizer, ggpairs() fonksiyonu ise dağılımların ve saçılım grafiklerinin tam bir matrisini oluşturur.

R'de Korelasyon Matrisi

R'de İki Değişkenli Korelasyon

İki Değişkenli ilişki, R'deki iki değişken arasındaki ilişkiyi -veya korelasyonu- tanımlar. Bu derste, korelasyon kavramını tartışacağız ve bunun R'deki herhangi iki değişken arasındaki ilişkiyi ölçmek için nasıl kullanılabileceğini göstereceğiz.

R Programlamada Korelasyon

R Programlamada iki değişken arasındaki korelasyonu hesaplamak için iki temel yöntem vardır:

  • Pearson: Parametrik korelasyon
  • mızrakçı: Parametrik olmayan korelasyon

R'de Pearson Korelasyon Matrisi

Pearson korelasyon yöntemi genellikle iki değişken arasındaki ilişkinin birincil kontrolü olarak kullanılır.

MKS korelasyon katsayısır harfiyle yazılan bu değer, gücünü ölçer. doğrusal İki değişken x ve y arasındaki ilişki. Aşağıdaki gibi hesaplanır:

R'de Pearson Korelasyon Matrisi

'da

  • R'de Pearson Korelasyon Matrisi x'in standart sapmasıdır.
  • R'de Pearson Korelasyon Matrisi y'nin standart sapmasıdır.

Korelasyon -1 ile 1 arasında değişmektedir.

  • r değerinin 0'a yakın veya 0'a eşit olması, x ve y arasında çok az veya hiç doğrusal ilişki olmadığını gösterir.
  • r değeri 1 veya -1'e ne kadar yaklaşırsa, doğrusal ilişki o kadar güçlü olur.

Aşağıdaki t-istatistiğini kullanarak r'nin sıfırdan farklı olup olmadığını test edebilir ve bunu n – 2 serbestlik derecesine sahip Student dağılımıyla karşılaştırabilirsiniz:

R'de Pearson Korelasyon Matrisi

R'de Spearman Sıra Korelasyonu

Sıralama korelasyonu, gözlemleri sıralamaya göre sıralar ve sıralamalar arasındaki benzerlik düzeyini hesaplar. Sıralama korelasyonunun avantajı, aykırı değerlere karşı dayanıklı olması ve verilerin dağılımıyla bağlantılı olmamasıdır. Sıralama korelasyonu ayrıca sıralı değişkenler için de doğru seçimdir.

Spearman sıra korelasyonu, rho olarak yazılır ve -1 ile 1 arasında değişir; uç noktalara yakın değerler güçlü, monoton bir ilişkiyi gösterir. Hesaplaması şu şekildedir:

R'de Spearman Sıra Korelasyonu

Pay, x ve y'nin rankları arasındaki kovaryansı, payda ise standart sapmalarının çarpımını temsil eder.

R'da her ikisi de üç argüman alan cor() fonksiyonu ile hesaplanır: x, y ve method.

cor(x, y, method)

Argümanlar:

  • x: Birinci vektör
  • y: İkinci vektör
  • yöntem: Korelasyonu hesaplamak için kullanılan formül. Üç dize değeri:
    • “Pearson”
    • “kendall”
    • “mızrakçı”

Vektörler eksik değer içeriyorsa isteğe bağlı bir argüman eklenebilir: use = “complete.obs”

BudgetUK veri setini kullanacağız. Bu veri seti, 1980 ile 1982 yılları arasında İngiliz hanelerinin bütçe tahsisini rapor etmektedir. On özelliğe sahip 1519 gözlem bulunmaktadır; bunların arasında:

  • yemek: yiyeceği paylaş harcamayı paylaş
  • yakıt: yakıt harcamasını paylaş
  • kumaş: giyim harcaması için bütçe payı
  • yürüyüş: alkol harcamasını paylaş
  • wtrans: ulaşım harcamalarını paylaş
  • başka: diğer mal harcamalarının payı
  • totex: pound cinsinden toplam hane harcaması
  • gelir: toplam net hane geliri
  • yaş: hane yaşı
  • çocuklar için: Çocuk Sayısı

Örnek E-posta

library(dplyr)
PATH <- "https://raw.githubusercontent.com/guru99-edu/R-Programming/master/british_household.csv"
data <- read.csv(PATH) %>%
    filter(income < 500) %>%
    mutate(log_income = log(income),
           log_totexp = log(totexp),
           children_fac = factor(children, order = TRUE, labels = c("No", "Yes"))) %>%
    select(-c(X, X.1, children, totexp, income))
glimpse(data)

Code açıklama

  • Önce verileri içe aktarıyoruz ve dplyr kütüphanesinden bakış() fonksiyonuyla bir göz atıyoruz.
  • Üç hane 500 veya daha fazla gelir bildirdiğinden, filter(income < 500) bu haneleri kaldırır ve satır sayısı 1,519'dan 1,516'ya düşer.
  • Günlükte parasal bir değişkeni dönüştürmek yaygın bir uygulamadır. Aykırı değerlerin etkisini azaltmaya yardımcı olur ve veri kümesindeki çarpıklığı azaltır.

Çıktı:

## Observations: 1,516
## Variables: 10
## $ wfood        <dbl> 0.4272, 0.3739, 0.1941, 0.4438, 0.3331, 0.3752, 0...
## $ wfuel        <dbl> 0.1342, 0.1686, 0.4056, 0.1258, 0.0824, 0.0481, 0...
## $ wcloth       <dbl> 0.0000, 0.0091, 0.0012, 0.0539, 0.0399, 0.1170, 0...
## $ walc         <dbl> 0.0106, 0.0825, 0.0513, 0.0397, 0.1571, 0.0210, 0...
## $ wtrans       <dbl> 0.1458, 0.1215, 0.2063, 0.0652, 0.2403, 0.0955, 0...
## $ wother       <dbl> 0.2822, 0.2444, 0.1415, 0.2716, 0.1473, 0.3431, 0...
## $ age          <int> 25, 39, 47, 33, 31, 24, 46, 25, 30, 41, 48, 24, 2...
## $ log_income   <dbl> 4.867534, 5.010635, 5.438079, 4.605170, 4.605170,...
## $ log_totexp   <dbl> 3.912023, 4.499810, 5.192957, 4.382027, 4.499810,...
## $ children_fac <ord> Yes, Yes, Yes, Yes, No, No, No, No, No, No, Yes, ...

Gelir ve wfood değişkenleri arasındaki korelasyon katsayısını “pearson” ve “spearman” yöntemleriyle hesaplayabiliriz.

cor(data$log_income, data$wfood, method = "pearson")

Çıktı:

## [1] -0.2466986
cor(data$log_income, data$wfood, method = "spearman")

Çıktı:

## [1] -0.2501252

Bunu her değişken çiftine genişletmeden önce, tek bir katsayının nasıl okunması gerektiğini netleştirmekte fayda var.

Korelasyon Katsayısı Nasıl Yorumlanır?

Bir katsayı ancak anlamını söyleyebildiğinizde işe yarar. Aşağıdaki bantlar geleneksel okumayı göstermektedir ve işaret, şiddetten ayrı olarak okunur.

r'nin mutlak değeri İlişkinin gücü
0.00 için 0.19 Çok zayıf veya hiç yok
0.20 için 0.39 Zayıf
0.40 için 0.59 ılımlı
0.60 için 0.79 Güçlü
0.80 için 1.00 Çok güçlü

Daha önce log_income ve wfood arasında hesaplanan -0.2467 değeri, dolayısıyla zayıf bir negatif ilişkiye işaret etmektedir: daha varlıklı haneler bütçelerinin biraz daha küçük bir bölümünü gıdaya harcamaktadır.

Her katsayı için üç uyarı geçerlidir.

  • Korelasyon nedensellik değildir. Güçlü bir r değeri, iki değişkenin birlikte hareket ettiğini, asla birinin diğerine neden olmadığını gösterir. Genellikle üçüncü, ölçülmemiş bir değişken her ikisini de yönlendirir.
  • Pearson yalnızca düz çizgileri görür. Mükemmel U şeklinde bir ilişki, sıfıra yakın bir r değeri verir. Sayıya güvenmeden önce her zaman verileri grafik üzerinde gösterin.
  • Boyut, önemden daha önemlidir. 1,516 gözlemle, 0.06 katsayısı istatistiksel olarak anlamlı olabilir ancak pratikte anlamsız kalabilir.

cor.test() ile Korelasyonun Anlamlılığını Nasıl Test Edebilirsiniz?

`cor()` fonksiyonu yalnızca katsayıyı döndürür, başka bir şey döndürmez. Tek bir çift için, `cor.test()` fonksiyonu tek bir çağrıda p-değerini ve güven aralığını ekler.

cor.test(data$log_income, data$wfood, method = "pearson")

Çıktıda okunmaya değer dört bölüm bulunmaktadır.

  1. t ve df: test istatistiği ve serbestlik derecesi, n – 2.
  2. p-değeriGerçek korelasyon sıfır olsaydı, bu kadar büyük bir katsayı görme olasılığı.
  3. yüzde 95 güven aralığı: Gerçek korelasyon için olası aralık. Eğer sıfırı dışlıyorsa, ilişki o düzeyde anlamlıdır.
  4. örnek tahmin: cor() fonksiyonunun döndürdüğüyle aynı olan katsayının kendisi.

Aynı fonksiyon, tek bir argümanı değiştirerek sıralamaya dayalı testleri çalıştırır:

# Spearman rank correlation with a p-value
cor.test(data$log_income, data$wfood, method = "spearman")

# One-sided test: is the correlation greater than zero?
cor.test(data$log_income, data$wfood, alternative = "greater")

Hangi yöntemi ne zaman kullanmalı? Tek bir çifti incelerken cor.test() kullanın, çünkü bu fonksiyon rcorr() fonksiyonunun vermediği güven aralığını sağlar. Tüm matris için p-değerlerine aynı anda ihtiyacınız olduğunda, yukarıda gösterilen Hmisc'ten rcorr() fonksiyonunu kullanın. Birçok çifti test etmenin yanlış pozitif oranını artırdığını unutmayın, bu nedenle büyük bir matristen sonuç çıkarmadan önce p-değerlerini p.adjust(p_value, method = “BH”) ile ayarlayın.

R'de Korelasyon Matrisi

İki değişkenli korelasyon iyi bir başlangıçtır, ancak çok değişkenli bir bakış açısı daha geniş bir tablo sunar. korelasyon matrisi Bu, her bir değişkenin diğer her bir değişkenle olan ikili korelasyonunu gösteren kare şeklinde bir tablodur.

cor() fonksiyonu bir korelasyon matrisi döndürür. İki değişkenli korelasyonun tek farkı, hangi değişkenlerin olduğunu belirtmemize gerek olmamasıdır. Varsayılan olarak R, tüm değişkenler arasındaki korelasyonu hesaplar.

Bir faktör için korelasyon hesaplanamaz, bu nedenle veri çerçevesini cor() fonksiyonuna geçirmeden önce tüm kategorik sütunları silin.

Korelasyon matrisi simetriktir; bu, köşegenin üzerindeki değerlerin aşağıdaki değerlerle aynı olduğu anlamına gelir. Matrisin yarısını göstermek daha görseldir.

children_fac hariç tutuldu çünkü cor() bir faktör üzerinde işlem yapamaz.

# the last column of data is a factor level. We don't include it in the code
mat_1 <-as.dist(round(cor(data[,1:9]),2))
mat_1

Code açıklama

  • kor(veri[, 1:9]): Dokuz sayısal sütun üzerinde korelasyon matrisini hesaplayın.
  • yuvarlak(…, 2)Her katsayıyı iki ondalık basamağa yuvarlayın.
  • as.dist()Matris simetrik olduğundan, yalnızca alt üçgeni yazdırın.

Çıktı:

##            wfood wfuel wcloth  walc wtrans wother   age log_income
## wfuel       0.11                                                  
## wcloth     -0.33 -0.25                                            
## walc       -0.12 -0.13  -0.09                                     
## wtrans     -0.34 -0.16  -0.19 -0.22                               
## wother     -0.35 -0.14  -0.22 -0.12  -0.29                        
## age         0.02 -0.05   0.04 -0.14   0.03   0.02                 
## log_income -0.25 -0.12   0.10  0.04   0.06   0.13  0.23           
## log_totexp -0.50 -0.36   0.34  0.12   0.15   0.15  0.21       0.49

Önem düzeyi

Katsayı tek başına ilişkinin istatistiksel olarak güvenilir olup olmadığını göstermez. Hmisc kütüphanesindeki rcorr() fonksiyonu her çift için p-değerini döndürür. Kütüphaneyi şu adresten indirebiliriz: ilçe ve terminale yapıştırmak için kodu kopyalayın:

conda install -c r r-hmisc

rcorr(), matris olarak saklanacak bir veri çerçevesi gerektirir. P değeri ile korelasyon matrisini hesaplamadan önce verilerimizi bir matrise dönüştürebiliriz.

library("Hmisc")
data_rcorr <-as.matrix(data[, 1: 9])

mat_2 <-rcorr(data_rcorr)
# mat_2 <-rcorr(as.matrix(data)) returns the same output

Mat_2 liste nesnesi üç öğe içerir:

  • r: Korelasyon matrisinin çıktısı
  • n: Gözlem sayısı
  • P: p değeri

Üçüncü unsur olan p değeriyle ilgileniyoruz. Korelasyon matrisini korelasyon katsayısı yerine p değeriyle göstermek yaygındır.

p_value <-round(mat_2[["P"]], 3)
p_value

Code açıklama

  • mat_2[[“P”]]: P değerleri P adı verilen öğede saklanır
  • yuvarlak(mat_2[[“P”]], 3): Elemanları üç rakamla yuvarlayın

Çıktı:

           wfood wfuel wcloth  walc wtrans wother   age log_income log_totexp
wfood         NA 0.000  0.000 0.000  0.000  0.000 0.365      0.000          0
wfuel      0.000    NA  0.000 0.000  0.000  0.000 0.076      0.000          0
wcloth     0.000 0.000     NA 0.001  0.000  0.000 0.160      0.000          0
walc       0.000 0.000  0.001    NA  0.000  0.000 0.000      0.105          0
wtrans     0.000 0.000  0.000 0.000     NA  0.000 0.259      0.020          0
wother     0.000 0.000  0.000 0.000  0.000     NA 0.355      0.000          0
age        0.365 0.076  0.160 0.000  0.259  0.355    NA      0.000          0
log_income 0.000 0.000  0.000 0.105  0.020  0.000 0.000         NA          0
log_totexp 0.000 0.000  0.000 0.000  0.000  0.000 0.000      0.000         NA

R'de Korelasyon Matrisinin Görselleştirilmesi

Isı haritası, korelasyon matrisini okumanın başka bir yoludur. GGally kütüphanesi, ggplot2'yi genişletir ve conda yerine CRAN'dan yüklenir:

install.packages("GGally")

Korelasyon Matrisinin Görselleştirilmesi

Kütüphane, tüm değişkenlerin korelasyonu ve dağılımı gibi özet istatistiklerini göstermek için farklı işlevler içerir. matris.

ggcorr() fonksiyonunun birçok argümanı vardır. Yalnızca eğitimde kullanacağımız argümanları tanıtacağız:

ggcorr İşlevi

ggcorr(df, method = c("pairwise", "pearson"),
  nbreaks = NULL, digits = 2, low = "#3B9AB2",
  mid = "#EEEEEE", high = "#F21A00",
  geom = "tile", label = FALSE,
  label_alpha = FALSE)

argümanlar:

  • df: Kullanılan veri kümesi
  • yöntem: Korelasyonu hesaplamak için formül. Varsayılan olarak, çiftler ve Pearson hesaplanır
  • molalar: Katsayıların renklendirilmesi için kategorik bir aralık döndürün. Varsayılan olarak kesinti yoktur ve renk gradyanı süreklidir
  • basamak: Korelasyon katsayısını yuvarlayın. Varsayılan olarak 2'ye ayarlıdır
  • düşük: Renklendirmenin alt seviyesini kontrol edin
  • orta: Renklendirmenin orta seviyesini kontrol edin
  • yüksek: Renklenmenin yüksek seviyesini kontrol edin
  • geom: Geometrik argümanın şeklini kontrol edin. Varsayılan olarak “döşeme”
  • etiket: Boole değeri. Etiketi görüntüleyin veya görüntülemeyin. Varsayılan olarak "YANLIŞ" olarak ayarlanmıştır

Temel ısı haritası

Paketin en temel grafiği bir ısı haritasıdır. Grafiğin açıklaması -1'den 1'e kadar bir degrade rengi gösterir; sıcak renk güçlü pozitif korelasyonu, soğuk renk ise negatif korelasyonu gösterir.

library(GGally)
ggcorr(data)

Code açıklama

  • ggdüzeltme(veri): Yalnızca bir bağımsız değişkene ihtiyaç vardır, o da veri çerçevesi adıdır. Faktör düzeyindeki değişkenler çizime dahil edilmemiştir.

Çıktı:

Temel Isı Haritası

Isı Haritasına Kontrol Ekleme

Grafiğe daha fazla kontrol ekleyebiliriz:

ggcorr(data,
    nbreaks = 6,
    low = "steelblue",
    mid = "white",
    high = "darkred",
    geom = "circle")

Code açıklama

  • nbreaks=6: 6 sıra ile efsaneyi kırın.
  • düşük = “çelikmavi”: Negatif korelasyon için daha açık renkler kullanın
  • orta = “beyaz”: Orta aralık korelasyonu için beyaz renkleri kullanın
  • yüksek = “koyu kırmızı”: Pozitif korelasyon için koyu renkler kullanın
  • geom = “daire”: Isı haritasındaki pencerelerin şekli olarak daireyi kullanın. Dairenin boyutu, korelasyonun mutlak değerine orantılıdır.

Çıktı:

Isı Haritasına Kontrol Ekleme

Isı Haritasına Etiket Ekleme

GGally pencerelerin içine bir etiket eklememize olanak tanır:

ggcorr(data,
    nbreaks = 6,
    label = TRUE,
    label_size = 3,
    color = "grey50")

Code açıklama

  • etiket = DOĞRU: Isı haritasının içindeki korelasyon katsayılarının değerlerini ekleyin.
  • renk = “gri50”: Rengi seçin, yani gri
  • etiket_boyutu = 3: Etiketin boyutunu 3'e eşit olarak ayarlayın

Çıktı:

Isı Haritasına Etiket Ekleme

ggpairs İşlevi

GGally kütüphanesi ayrıca, grafiklerden oluşan bir matris döndüren ggpairs() işlevini de sağlar. Seçilen k değişken için sonuç, k x k'lık bir ızgaradır: köşegen her değişkenin dağılımını gösterirken, köşegenin üstündeki ve altındaki panellerin her biri farklı bir hesaplama içerebilir. Sözdizimi şu şekildedir:

ggpairs(df, columns = 1:ncol(df), title = NULL,
    upper = list(continuous = "cor"),
    lower = list(continuous = "smooth"),
    mapping = NULL)		

argümanlar:

  • df: Kullanılan veri kümesi
  • sütunlar: Grafiği çizmek için sütunları seçin
  • başlık: Bir başlık ekleyin
  • üstGrafiğin köşegeninin üzerindeki kutuları kontrol edin. Döndürülecek hesaplama veya grafik türünü belirtmeniz gerekir. Eğer continuous = “cor” ise, R'den korelasyonu hesaplamasını istiyoruz. Unutmayın ki, argüman bir liste olmalıdır. Diğer argümanlar da mevcuttur; bkz. GGally dokümantasyonu daha fazla bilgi için.
  • alt: Köşegenin altındaki kutuları kontrol edin.
  • haritaping: Grafiğin estetiğini belirtir. Örneğin grafiği farklı gruplar için hesaplayabiliriz.

Grup ile ggpair kullanılarak yapılan iki değişkenli analizping

Sonraki grafikte üç bilgi gösterilmektedir:

  • Hanenin çocuğu olup olmamasına göre gruplanan log_totexp, log_income, age ve wtrans değişkenleri arasındaki korelasyon matrisi.
  • Her değişkenin dağılımını gruba göre çizin
  • Grup bazında trendi içeren dağılım grafiğini görüntüleyin
library(ggplot2)
ggpairs(data, columns = c("log_totexp", "log_income", "age", "wtrans"), title = "Bivariate analysis of revenue expenditure by the British household", upper = list(continuous = wrap("cor",
        size = 3)),
    lower = list(continuous = wrap("smooth",
        alpha = 0.3,
        size = 0.1)),
    mapping = aes(color = children_fac))

Code açıklama

  • sütunlar = c(“log_totexp”, “log_gelir”, “yaş”, “wtrans”): Grafikte gösterilecek değişkenleri seçin
  • title = “İngiliz hane halkının gelir harcamasının iki değişkenli analizi”: Başlık ekle
  • üst = liste(): Grafiğin üst kısmını kontrol edin. Yani köşegenin üstünde
  • sürekli = sarma(“kor”, boyut = 3)): Korelasyon katsayısını hesaplayın. Grafiğin estetiğini kontrol etmek için argümanı sarma() fonksiyonunun içine sürekli sarıyoruz (yani boyut = 3) -lower = list(): Grafiğin alt kısmını kontrol edin. Yani köşegenin altında.
  • sürekli = sarma(“pürüzsüz”,alfa = 0.3,boyut=0.1): Doğrusal eğilime sahip bir dağılım grafiği ekleyin. Grafiğin estetiğini kontrol etmek için argümanı sarma() fonksiyonunun içine sürekli sarıyoruz (yani boyut=0.1, alfa=0.3)
  • haritaping = aes(renk = çocuk_yüzleri)Her paneli children_fac'e göre ayırın; bu sıralı faktör, çocuksuz haneler için "Hayır" ve çocuklu haneler için "Evet" olarak etiketlenmiştir.

Çıktı:

ggpair ve Grup ile İki Değişkenli Analizping

Kısmi gruplu ggpair ile iki değişkenli analizping

Aşağıdaki grafik biraz farklı. Haritanın konumunu değiştiriyoruz.ping Üst argümanın içinde.

ggpairs(data, columns = c("log_totexp", "log_income", "age", "wtrans"),
    title = "Bivariate analysis of revenue expenditure by the British household",
    upper = list(continuous = wrap("cor",
            size = 3),
        mapping = aes(color = children_fac)),
    lower = list(
        continuous = wrap("smooth",
            alpha = 0.3,
            size = 0.1))
)

Code açıklama

  • Aşağıdakiler dışında önceki örnekle tamamen aynı kod:
  • haritaping = aes(color = children_fac): Listeyi yukarı taşı = list(). Grafiğin üst kısmında yalnızca gruplandırılmış hesaplamaların yer almasını istiyoruz.

Çıktı:

Kısmi Grup ile ggpair kullanılarak yapılan iki değişkenli analizping

R'de Korelasyon: Temel Çıkarımlar ve Fonksiyon Referansı

  • İki Değişkenli ilişki, R'deki iki değişken arasındaki ilişkiyi veya korelasyonu tanımlar.
  • İki değişken arasındaki korelasyonu hesaplamak için iki temel yöntem vardır. R Programlama: Pearson ve Spearman.
  • Pearson korelasyon yöntemi genellikle iki değişken arasındaki ilişkinin birincil kontrolü olarak kullanılır.
  • Sıra korelasyonu, gözlemleri sıraya göre sıralar ve sıralar arasındaki benzerlik düzeyini hesaplar.
  • Spearman sıra korelasyonu -1 ile 1 arasında değişir ve her iki uç noktaya yakın değerler güçlü, monoton bir ilişkiyi gösterir.
  • Korelasyon matrisi, her değişkenin ikili korelasyonunu içeren kare şeklinde bir tablodur.
  • Bir p değeri, gözlemlenen bir korelasyonun istatistiksel olarak sıfırdan ayırt edilebilir olup olmadığını gösterir.

Bu eğitimde kullanılan tüm korelasyon fonksiyonları aşağıda listelenmiştir:

Kütüphane Hedef Yöntem Code
baz İki değişkenli korelasyon Pearson
cor(dfx2, method = "pearson")
baz İki değişkenli korelasyon mızrakçı
cor(dfx2, method = "spearman")
baz Çok değişkenli korelasyon Pearson
cor(df, method = "pearson")
baz Çok değişkenli korelasyon mızrakçı
cor(df, method = "spearman")
Hmisc P değeri -
rcorr(as.matrix(data[,1:9]))[["P"]]
GGally Sıcaklık haritası -
ggcorr(df)
GGally Çok değişkenli grafik matrisi -
ggpairs(df, columns = c("x1", "x2"))

SSS

İlişki monotonik ancak doğrusal değilse, aykırı değerler varsa veya değişken sıralı ise Spearman dağılımını kullanın. Pearson dağılımı ise doğrusallığı ve yaklaşık olarak normal dağılımlı sürekli verileri varsayar.

Kendall tau, sıralama farklarını değil, uyumlu ve uyumsuz çiftleri sayar. Çok sayıda eşleşme içeren küçük örneklemlerde Spearman'dan daha sağlamdır, ancak büyük veri kümelerinde hesaplanması daha yavaştır.

Hayır. Korelasyon yalnızca eş hareketi ölçer. Karıştırıcı bir değişken her iki seriyi de etkileyebilir ve herhangi bir gerçek etkinin yönü yalnızca katsayıdan belirlenemez.

Korelasyon matrisleri, eğitim öncesinde gereksiz özellikleri ortaya çıkarır; çünkü yüksek oranda ilişkili iki tahminleyici az bilgi ekler ve doğrusal modelleri istikrarsızlaştırır. Yapay zeka ekipleri ayrıca bunları hedef değişkenden veri sızıntısını tespit etmek için de kullanır.

Evet. Yapay zekâ asistanları, hangi çiftlerin bir eşiği aştığını özetleyebilir, hangi gereksiz özelliğin çıkarılması gerektiğini önerebilir ve ısı haritası renklerini açıklayabilir. İşlem yapmadan önce her iddiayı kendi cor.test() çıktınızla karşılaştırarak doğrulayın.

Bu yazıyı şu şekilde özetleyin: