Pearsonova i Spearmanova korelacijska matrica u R-u s primjerom

โšก Pametni saลพetak

Pearsonova i Spearmanova korelacija u R-u mjeri koliko se snaลพno dvije varijable kreฤ‡u zajedno, koristeฤ‡i cor() za jedan par i matricu korelacije za viลกe njih. Ovaj vodiฤ dodaje testiranje znaฤajnosti pomoฤ‡u Hmisc-a i vizualizira rezultat pomoฤ‡u GGally toplinskih mapa.

  • ๐Ÿ“ Raspon koeficijenata: Svaka korelacija leลพi izmeฤ‘u -1 i 1, gdje 0 oznaฤava da nema linearne veze, a bilo koja krajnost oznaฤava savrลกenu.
  • ๐Ÿ“ˆ Pearsonova metoda: Parametarski, mjeri linearnu povezanost i pretpostavlja pribliลพno normalne kontinuirane varijable.
  • ๐Ÿ”ข Spearmanova metoda: Neparametrijski, radi na rangovima i otporan je na outliere i iskrivljene ili ordinalne podatke.
  • ๐Ÿงฎ Matriฤni prikaz: cor(df) vraฤ‡a svaki parni koeficijent, a as.dist() ispisuje samo donji trokut.
  • ๐Ÿ”ฌ Znaฤaj: cor.test() za jedan par ili rcorr() iz Hmisc-a za punu matricu p-vrijednosti.
  • ๐ŸŽจ Vizualizacija: ggcorr() crta toplinsku kartu, a ggpairs() gradi punu matricu distribucija i dijagrame rasprลกenja.

Korelacijska matrica u R

Bivarijatna korelacija u R

Bivarijantni odnos opisuje odnos - ili korelaciju - izmeฤ‘u dviju varijabli u R. U ovom vodiฤu ฤ‡emo raspravljati o konceptu korelacije i pokazati kako se moลพe koristiti za mjerenje odnosa izmeฤ‘u bilo koje dvije varijable u R.

Korelacija u R programiranju

Postoje dvije primarne metode za izraฤunavanje korelacije izmeฤ‘u dvije varijable u R programiranju:

  • Pearson: Parametarska korelacija
  • Kopljanik: Neparametarska korelacija

Pearsonova korelacijska matrica u R

Pearsonova metoda korelacije obiฤno se koristi kao primarna provjera odnosa izmeฤ‘u dviju varijabli.

The koeficijent korelacije, oznaฤeno kao r, mjeri snagu linearan odnos izmeฤ‘u dvije varijable x i y. Izraฤunava se na sljedeฤ‡i naฤin:

Pearsonova korelacijska matrica u R

sa

  • Pearsonova korelacijska matrica u R je standardna devijacija x
  • Pearsonova korelacijska matrica u R je standardna devijacija y

Korelacija se kreฤ‡e izmeฤ‘u -1 i 1.

  • Vrijednost r blizu ili jednaka 0 implicira malu ili nikakvu linearnu vezu izmeฤ‘u x i y.
  • ล to je r bliลพe 1 ili -1, to je linearni odnos jaฤi.

Moลพete provjeriti razlikuje li se r od nule pomoฤ‡u t-statistike u nastavku, usporeฤ‘ujuฤ‡i je sa Studentovom distribucijom s n โ€“ 2 stupnja slobode:

Pearsonova korelacijska matrica u R

Spearmanova korelacija ranga u R

Rang korelacija sortira opaลพanja po rangu i izraฤunava razinu sliฤnosti izmeฤ‘u rangova. Rang korelacija ima prednost ลกto je robusna na outliere i nije povezana s distribucijom podataka. Rang korelacija je takoฤ‘er pravi izbor za ordinalne varijable.

Spearmanova korelacija ranga, oznaฤena kao rho, takoฤ‘er se kreฤ‡e od -1 do 1, a vrijednosti blizu bilo kojem ekstremu ukazuju na jaku monotonu vezu. Izraฤunava se na sljedeฤ‡i naฤin:

Spearmanova korelacija ranga u R

Brojnik je kovarijanca izmeฤ‘u rangova x i y, a nazivnik je umnoลพak njihovih standardnih devijacija.

U R-u se oboje izraฤunava funkcijom cor(), koja uzima tri argumenta: x, y i metodu.

cor(x, y, method)

argumenti:

  • x: Prvi vektor
  • y: Drugi vektor
  • naฤin: Formula koja se koristi za izraฤunavanje korelacije. Tri vrijednosti niza:
    • โ€œpearsonโ€
    • โ€œkendallโ€
    • "kopljanik"

Neobavezni argument moลพe se dodati ako vektori sadrลพe vrijednost koja nedostaje: use = โ€œcomplete.obsโ€

Koristit ฤ‡emo skup podataka BudgetUK. Ovaj skup podataka izvjeลกฤ‡uje o raspodjeli proraฤuna britanskih kuฤ‡anstava izmeฤ‘u 1980. i 1982. Postoji 1519 promatranja s deset znaฤajki, meฤ‘u kojima su:

  • wfood: dijeliti hranu dijeliti troลกiti
  • wgorivo: podijelite potroลกnju goriva
  • krpa: udio proraฤuna za potroลกnju na odjeฤ‡u
  • hodati: podijeliti troลกenje alkohola
  • wtrans: podijelite troลกkove prijevoza
  • majka: udio potroลกnje ostalih dobara
  • totexp: ukupna potroลกnja kuฤ‡anstva u funtama
  • dohodak: ukupni neto prihod kuฤ‡anstva
  • starost: starost kuฤ‡anstva
  • djeca: broj djece

Primjer

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 Objaลกnjenje

  • Prvo uvozimo podatke i pogledamo pomoฤ‡u funkcije glimpse() iz knjiลพnice dplyr.
  • Tri kuฤ‡anstva prijavljuju prihod od 500 ili viลกe, pa ih filter(prihod < 500) uklanja i broj redaka pada s 1,519 na 1,516.
  • Uobiฤajena je praksa pretvaranje monetarne varijable u log. Pomaลพe smanjiti utjecaj odstupanja i smanjuje asimetriju u skupu podataka.

Izlaz:

## 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, ...

Moลพemo izraฤunati koeficijent korelacije izmeฤ‘u varijabli dohotka i wfood metodama โ€œpearsonโ€ i โ€œspearmanโ€.

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

Izlaz:

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

Izlaz:

## [1] -0.2501252

Prije proลกirenja ovoga na svaki par varijabli, vrijedi utvrditi kako treba ฤitati pojedinaฤni koeficijent.

Kako interpretirati koeficijent korelacije

Koeficijent je koristan samo kada moลพete reฤ‡i ลกto znaฤi. Trake ispod su konvencionalno oฤitanje, a predznak se oฤitava odvojeno od jaฤine.

Apsolutna vrijednost r Snaga odnosa
0.00 0.19 se Vrlo slabo ili nimalo
0.20 0.39 se Slab
0.40 0.59 se Umjereno
0.60 0.79 se jak
0.80 1.00 se Vrlo jak

Vrijednost od -0.2467 izraฤunata ranije izmeฤ‘u log_income i wfood stoga je slaba negativna veza: bogatija kuฤ‡anstva troลกe neลกto manji dio svog proraฤuna na hranu.

Tri upozorenja primjenjuju se na svaki koeficijent.

  • Korelacija nije uzroฤnost. Snaลพan r kaลพe da se dvije varijable kreฤ‡u zajedno, nikada da jedna uzrokuje drugu. Treฤ‡a, neizmjerena varijabla ฤesto pokreฤ‡e obje.
  • Pearson vidi samo ravne linije. Savrลกen odnos u obliku slova U vraฤ‡a r blizu nule. Uvijek iscrtajte podatke prije nego ลกto se povjerujete broju.
  • Veliฤina je vaลพnija od znaฤaja. S 1,516 opaลพanja, koeficijent od 0.06 moลพe biti statistiฤki znaฤajan, a ipak praktiฤki beznaฤajan.

Kako testirati znaฤajnost korelacije pomoฤ‡u cor.test()

cor() vraฤ‡a koeficijent i niลกta drugo. Za jedan par, cor.test() zbraja p-vrijednost i interval pouzdanosti u jednom pozivu.

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

Izlaz ima ฤetiri dijela vrijedna ฤitanja.

  1. t i df: testna statistika i njezini stupnjevi slobode, n โ€“ 2.
  2. p-vrijednostvjerojatnost da ฤ‡e koeficijent biti ovako velik ako bi stvarna korelacija bila nula.
  3. 95-postotni interval pouzdanosti: vjerojatni raspon za stvarnu korelaciju. Ako iskljuฤuje nulu, odnos je znaฤajan na toj razini.
  4. primjer procjene: sam koeficijent, identiฤan onome ลกto vraฤ‡a cor().

Ista funkcija pokreฤ‡e testove temeljene na rangu promjenom jednog argumenta:

# 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")

Kada koji koristiti. Koristite cor.test() kada ispitujete jedan odreฤ‘eni par, jer daje interval pouzdanosti koji rcorr() izostavlja. Koristite rcorr() iz Hmisc-a, prikazan gore, kada trebate p-vrijednosti za cijelu matricu odjednom. Imajte na umu da testiranje mnogih parova poveฤ‡ava stopu laลพno pozitivnih rezultata, stoga prilagodite p-vrijednosti pomoฤ‡u p.adjust(p_value, method = โ€œBHโ€) prije izvlaฤenja zakljuฤaka iz velike matrice.

Korelacijska matrica u R

Bivarijantna korelacija je dobar poฤetak, ali multivarijantni pogled daje ลกiru sliku. korelacijska matrica je kvadratna tablica koja sadrลพi parne korelacije svake varijable u odnosu na sve ostale.

Funkcija cor() vraฤ‡a korelacijsku matricu. Jedina razlika u odnosu na bivarijatnu korelaciju je ลกto ne trebamo specificirati koje varijable. Prema zadanim postavkama, R izraฤunava korelaciju izmeฤ‘u svih varijabli.

Korelacija se ne moลพe izraฤunati za faktor, stoga izostavite svaki kategoriฤki stupac prije nego ลกto proslijedite podatkovni okvir funkciji cor().

Korelacijska matrica je simetriฤna ลกto znaฤi da vrijednosti iznad dijagonale imaju iste vrijednosti kao one ispod. Vizualnije je prikazati polovicu matrice.

children_fac je iskljuฤen jer cor() ne moลพe operirati na faktoru.

# 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 Objaลกnjenje

  • cor(podaci[, 1:9])Izraฤunajte matricu korelacije na devet numeriฤkih stupaca
  • okruglo(โ€ฆ, 2)Zaokruลพite svaki koeficijent na dvije decimale
  • as.dist()Ispiลกite samo donji trokut, buduฤ‡i da je matrica simetriฤna

Izlaz:

##            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

Razina znaฤajnosti

Koeficijent sam po sebi ne govori je li odnos statistiฤki pouzdan. Funkcija rcorr() iz Hmisc biblioteke vraฤ‡a p-vrijednost za svaki par. Biblioteku moลพemo preuzeti s konda i kopirajte kod da biste ga zalijepili u terminal:

conda install -c r r-hmisc

Rcorr() zahtijeva da okvir podataka bude pohranjen kao matrica. Moลพemo pretvoriti naลกe podatke u matricu prije nego ลกto izraฤunamo korelacijsku matricu s p-vrijednoลกฤ‡u.

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

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

Objekt liste mat_2 sadrลพi tri elementa:

  • r: Izlaz korelacijske matrice
  • n: Broj opaลพanja
  • P: p-vrijednost

Zanima nas treฤ‡i element, p-vrijednost. Uobiฤajeno je prikazati korelacijsku matricu s p-vrijednoลกฤ‡u umjesto koeficijenta korelacije.

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

Code Objaลกnjenje

  • mat_2[[โ€œPโ€]]: p-vrijednosti su pohranjene u elementu koji se zove P
  • okruglo(mat_2[[โ€œPโ€]], 3): Zaokruลพite elemente s tri znamenke

Izlaz:

           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

Vizualizacija korelacijske matrice u R

Toplinska karta je joลก jedan naฤin ฤitanja korelacijske matrice. Biblioteka GGally proลกiruje ggplot2 i instalira se iz CRAN-a, a ne iz conda-e:

install.packages("GGally")

Vizualizacija korelacijske matrice

Knjiลพnica ukljuฤuje razliฤite funkcije za prikaz sumarne statistike kao ลกto je korelacija i distribucija svih varijabli u matrica.

Funkcija ggcorr() ima mnogo argumenata. Predstavit ฤ‡emo samo argumente koje ฤ‡emo koristiti u uputama:

Funkcija ggcorr

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

argumenti:

  • df: Koriลกteni skup podataka
  • naฤin: Formula za izraฤunavanje korelacije. Prema zadanim postavkama izraฤunavaju se parovi i Pearson
  • nbreaks: Vrati kategoriฤki raspon za bojenje koeficijenata. Prema zadanim postavkama, nema prekida i gradijent boja je kontinuiran
  • znamenki: Zaokruลพite koeficijent korelacije. Prema zadanim postavkama postavljeno na 2
  • nisko: Kontrolirajte niลพu razinu obojenosti
  • srednji: Kontrolirajte srednju razinu obojenosti
  • visok: Kontrolirajte visoku razinu obojenosti
  • geom: Kontrolirajte oblik geometrijskog argumenta. Prema zadanim postavkama, "ploฤica"
  • oznaka: Booleova vrijednost. Prikaลพi ili ne oznaku. Prema zadanim postavkama postavljeno na `FALSE`

Osnovna toplinska karta

Najosnovniji crteลพ paketa je toplinska karta. Legenda grafikona prikazuje gradijent boje od โ€“ 1 do 1, s vruฤ‡om bojom koja oznaฤava jaku pozitivnu korelaciju, a hladnom bojom negativnu korelaciju.

library(GGally)
ggcorr(data)

Code Objaลกnjenje

  • ggcorr(podaci): Potreban je samo jedan argument, a to je naziv okvira podataka. Varijable razine faktora nisu ukljuฤene u dijagram.

Izlaz:

Osnovna toplinska karta

Dodavanje kontrole na toplinsku kartu

Grafikonu moลพemo dodati viลกe kontrola:

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

Code Objaลกnjenje

  • nprekidi=6: razbiti legendu sa 6 redova.
  • niska = "ฤeliฤnoplava": Koristite svjetlije boje za negativnu korelaciju
  • sredina = โ€œbijeloโ€: Koristite bijele boje za korelaciju srednjih raspona
  • visoko = "tamno": Koristite tamne boje za pozitivnu korelaciju
  • geom = โ€œkrugโ€: Koristite krug kao oblik prozora na toplinskoj karti. Veliฤina kruga proporcionalna je apsolutnoj vrijednosti korelacije.

Izlaz:

Dodavanje kontrole na toplinsku kartu

Dodavanje oznake na toplinsku kartu

GGally nam omoguฤ‡uje dodavanje oznake unutar prozora:

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

Code Objaลกnjenje

  • oznaka = TRUE: Dodajte vrijednosti koeficijenata korelacije unutar toplinske karte.
  • boja = โ€œsiva50โ€: Odaberite boju, tj. sivu
  • veliฤina_oznake = 3: Postavite veliฤinu naljepnice na 3

Izlaz:

Dodavanje oznake na toplinsku kartu

Funkcija ggpairs

Biblioteka GGally takoฤ‘er nudi ggpairs(), koja vraฤ‡a matricu grafova. Za k odabranih varijabli rezultat je mreลพa ak x k: dijagonala prikazuje distribuciju svake varijable, dok ploฤe iznad i ispod dijagonale mogu nositi razliฤit izraฤun. Sintaksa je:

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

argumenti:

  • df: Koriลกteni skup podataka
  • stupovi: Odaberite stupce za crtanje dijagrama
  • naslov: Ukljuฤite naslov
  • gornji: Kontrolirajte okvire iznad dijagonale grafikona. Potrebno je navesti vrstu izraฤuna ili grafa koji treba vratiti. Ako je continuous = "cor", traลพimo od R-a da izraฤuna korelaciju. Imajte na umu da argument mora biti popis. Dostupni su i drugi argumenti; pogledajte GGally dokumentacija za viลกe informacija.
  • smanjiti: Kontrolirajte okvire ispod dijagonale.
  • kartaping: Oznaฤava estetiku grafikona. Na primjer, moลพemo izraฤunati grafikon za razliฤite skupine.

Bivarijantna analiza s ggpairom i grouping

Sljedeฤ‡i grafikon prikazuje tri informacije:

  • Korelacijska matrica izmeฤ‘u varijabli log_totex, log_income, age i wtrans grupiranih prema tome ima li kuฤ‡anstvo dijete ili ne.
  • Nacrtajte distribuciju svake varijable po skupini
  • Prikaลพite dijagram rasprลกenosti s trendom po grupi
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 Objaลกnjenje

  • stupci = c(โ€œlog_totexโ€, โ€œlog_incomeโ€, โ€œageโ€, โ€œwtransโ€): Odaberite varijable za prikaz na grafikonu
  • title = โ€œBivarijantna analiza rashoda prihoda britanskog kuฤ‡anstvaโ€: Dodajte naslov
  • gornji = lista(): Kontrolirajte gornji dio grafikona. Tj. Iznad dijagonale
  • kontinuirano = omot ("cor", veliฤina = 3)): Izraฤunajte koeficijent korelacije. Umotavamo kontinuirani argument unutar funkcije wrap() kako bismo kontrolirali estetiku grafa (tj. veliฤina = 3) -lower = list(): Kontrolirajte donji dio grafa. Tj. Ispod dijagonale.
  • kontinuirano = omot (โ€œglatkoโ€, alfa = 0.3, veliฤina = 0.1): Dodajte dijagram rasprลกenosti s linearnim trendom. Umotavamo kontinuirani argument unutar funkcije wrap() kako bismo kontrolirali estetiku grafikona (tj. veliฤina=0.1, alfa=0.3)
  • kartaping = aes(boja = djeฤji_fac)Podijelite svaki panel prema children_fac, ureฤ‘enom faktoru oznaฤenom s "Ne" za kuฤ‡anstva bez djece i "Da" za kuฤ‡anstva s djecom

Izlaz:

Bivarijantna analiza s ggpair metodom i Grou metodomping

Bivarijatna analiza s ggpairom i parcijalnom grupomping

Grafikon ispod je malo drugaฤiji. Mijenjamo poloลพaj karteping unutar gornjeg argumenta.

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 Objaลกnjenje

  • Potpuno isti kod kao prethodni primjer osim:
  • kartaping = aes(color = children_fac): Premjesti popis u gornji = list(). ลฝelimo da izraฤun bude sloลพen po grupama samo u gornjem dijelu grafa.

Izlaz:

Bivarijatna analiza s ggpairom i parcijalnom grupomping

Korelacija u R-u: Kljuฤne informacije i referenca funkcija

  • Bivarijantni odnos opisuje odnos - ili korelaciju - izmeฤ‘u dvije varijable u R.
  • Postoje dvije primarne metode za izraฤunavanje korelacije izmeฤ‘u dvije varijable R Programiranje: Pearson & Spearman.
  • Pearsonova metoda korelacije obiฤno se koristi kao primarna provjera odnosa izmeฤ‘u dviju varijabli.
  • Korelacija ranga razvrstava zapaลพanja prema rangu i izraฤunava razinu sliฤnosti izmeฤ‘u ranga.
  • Spearmanova korelacija ranga kreฤ‡e se od -1 do 1, a vrijednosti blizu bilo kojeg ekstrema ukazuju na jaku monotonu vezu.
  • Matrica korelacije je kvadratna tablica koja sadrลพi parne korelacije svake varijable.
  • P-vrijednost vam govori je li uoฤena korelacija statistiฤki razliฤita od nule.

Svaka korelacijska funkcija koriลกtena u ovom tutorijalu navedena je u nastavku:

Knjiลพnica Cilj naฤin Code
Baza Bivarijantna korelacija Pearson
cor(dfx2, method = "pearson")
Baza Bivarijantna korelacija Kopljanik
cor(dfx2, method = "spearman")
Baza Multivarijatna korelacija Pearson
cor(df, method = "pearson")
Baza Multivarijatna korelacija Kopljanik
cor(df, method = "spearman")
Hmisc P vrijednost -
rcorr(as.matrix(data[,1:9]))[["P"]]
GGally Karta topline -
ggcorr(df)
GGally Matrica viลกevarijantnog grafikona -
ggpairs(df, columns = c("x1", "x2"))

Pitanja i odgovori

Koristite Spearmanov model kada je odnos monoton, ali ne i linearan, kada su prisutni outlieri ili kada je varijabla ordinalna. Pearson pretpostavlja linearnost i pribliลพno normalne kontinuirane podatke.

Kendall tau broji konkordantne i neskladne parove umjesto razlika u rangiranju. Robusniji je od Spearmanovog testa na malim uzorcima s mnogo veza, iako ga je sporije izraฤunati na velikim skupovima podataka.

Ne. Korelacija mjeri samo zajedniฤko kretanje. Zbunjujuฤ‡a varijabla moลพe pokretati obje serije, a smjer bilo kojeg stvarnog uฤinka ne moลพe se utvrditi samo iz koeficijenta.

Matrice korelacije otkrivaju redundantne znaฤajke prije treniranja, buduฤ‡i da dva visoko korelirana prediktora dodaju malo informacija i destabiliziraju linearne modele. Timovi za umjetnu inteligenciju takoฤ‘er ih koriste za oznaฤavanje curenja podataka iz ciljne varijable.

Da. AI asistenti mogu saลพeti koji parovi prelaze prag, predloลพiti koje redundantne znaฤajke treba izbaciti i objasniti boje toplinske karte. Potvrdite svaku tvrdnju u odnosu na vlastiti izlaz cor.test() prije djelovanja.

Saลพmite ovu objavu uz: