Pearsonin ja Spearmanin korrelaatiomatriisi R:ssä esimerkin kanssa

⚡ Älykäs yhteenveto

Pearsonin ja Spearmanin korrelaatio R:ssä mittaa kahden muuttujan yhdessä liikkumisen voimakkuutta käyttämällä cor()-funktiota yhdelle muuttujaparille ja korrelaatiomatriisia monille. Tämä läpikäynti lisää merkitsevyystestauksen Hmisc:llä ja visualisoi tuloksen GGally-lämpökartoilla.

  • 📐 Kerroinalue: Jokainen korrelaatio on välillä -1 ja 1, jossa 0 ei merkitse lineaarista suhdetta ja kumpikin ääriarvo tarkoittaa täydellistä suhdetta.
  • 📈 Pearsonin menetelmä: Parametrinen, mittaa lineaarista yhteyttä ja olettaa karkeasti normaalit jatkuvat muuttujat.
  • 🔢 Spearmanin menetelmä: Ei-parametrinen, toimii riveillä ja on kestävä poikkeaville arvoille ja vinolle tai ordinaalidatalle.
  • 🧮 Matriisinäkymä: cor(df) palauttaa kaikki parittaiset kertoimet ja as.dist() tulostaa vain alemman kolmion.
  • 🔬 Merkitys: cor.test() yhdelle parille tai rcorr() Hmiscistä koko p-arvojen matriisille.
  • 🎨 Visualisointi: ggcorr() piirtää lämpökartan ja ggpairs() rakentaa täyden matriisin jakaumista ja sirontakaavioista.

Korrelaatiomatriisi kirjassa R

Kaksimuuttujakorrelaatio R:ssä

Kaksimuuttujasuhde kuvaa R:n kahden muuttujan välistä suhdetta tai korrelaatiota. Tässä opetusohjelmassa käsittelemme korrelaation käsitettä ja näytämme, kuinka sitä voidaan käyttää mittaamaan minkä tahansa kahden muuttujan välistä suhdetta R:ssä.

Korrelaatio R-ohjelmoinnissa

R-ohjelmoinnin kahden muuttujan välisen korrelaation laskemiseksi on kaksi ensisijaista menetelmää:

  • Pearson: Parametrinen korrelaatio
  • Spearman: Ei-parametrinen korrelaatio

Pearson-korrelaatiomatriisi kirjassa R

Pearson-korrelaatiomenetelmää käytetään yleensä ensisijaisena tarkistuksena kahden muuttujan väliselle suhteelle.

korrelaatiokerroin, kirjoitettuna r:llä, mittaa voimakkuutta lineaarinen kahden muuttujan x ja y välinen suhde. Se lasketaan seuraavasti:

Pearson-korrelaatiomatriisi kirjassa R

  • Pearson-korrelaatiomatriisi kirjassa R on x:n keskihajonta
  • Pearson-korrelaatiomatriisi kirjassa R on y:n keskihajonta

Korrelaatio vaihtelee välillä -1 ja 1.

  • Jos r on lähellä nollaa tai yhtä suuri kuin nolla, x:n ja y:n välillä on vain vähän tai ei lainkaan lineaarista suhdetta.
  • Mitä lähempänä r on arvoa 1 tai -1, sitä vahvempi lineaarinen suhde on.

Voit testata, eroaako r nollasta, alla olevalla t-tilastolla vertaamalla sitä Studentin jakaumaan, jonka vapausasteet ovat n – 2:

Pearson-korrelaatiomatriisi kirjassa R

Spearman Rankkorrelaatio R:ssä

Arvokorrelaatio lajittelee havainnot arvon mukaan ja laskee arvon samankaltaisuuden tason. Arvokorrelaatiolla on se etu, että se on robusti poikkeaville havainnoille eikä se ole sidoksissa datan jakaumaan. Arvokorrelaatio on myös oikea valinta ordinaalimuuttujille.

Spearmanin järjestyskorrelaatio, jota merkitään rho:lla, ulottuu myös välille -1–1, ja jommankumman ääripään lähellä olevat arvot osoittavat vahvaa monotonista suhdetta. Se lasketaan seuraavasti:

Spearman Rankkorrelaatio R:ssä

Osoittaja on x:n ja y:n aarteiden välinen kovarianssi ja nimittäjä on niiden keskihajontojen tulo.

R:ssä molemmat lasketaan cor()-funktiolla, joka ottaa vastaan ​​kolme argumenttia: x, y ja metodin.

cor(x, y, method)

argumentit:

  • x: Ensimmäinen vektori
  • y: Toinen vektori
  • menetelmä: Korrelaation laskemiseen käytetty kaava. Kolme merkkijonoarvoa:
    • "Pearson"
    • "kendall"
    • "keihäsmies"

Valinnainen argumentti voidaan lisätä, jos vektoreista puuttuu arvo: use = “complete.obs”

Käytämme BudgetUK-tietoaineistoa. Tämä tietojoukko raportoi brittiläisten kotitalouksien budjetin jakautumisesta vuosina 1980-1982. Havaintoja on 1519, joissa on kymmenen ominaisuutta, muun muassa:

  • wfood: jaa ruokaa jaa kulutusta
  • wpolttoaine: jaa polttoainekulutus
  • wc-kangas: budjettiosuus vaatteisiin
  • Walc: jaa alkoholikulutus
  • wtrans: jaa kuljetuskulut
  • vaimo: osuus muista tavaroista
  • totexp: kotitalouden kokonaiskulut punnissa
  • tulo: kotitalouden nettotulot yhteensä
  • ikä: kotitalouden ikä
  • lapset: lasten määrä

esimerkki

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 Selitys

  • Tuomme ensin tiedot ja tarkastelemme glimpse()-funktiota dplyr-kirjastosta.
  • Kolme kotitaloutta ilmoittaa tuloiksi 500 tai enemmän, joten filter(tulot < 500) poistaa ne ja rivien määrä putoaa 1 519:stä 1 516:een.
  • On yleinen käytäntö muuntaa rahamuuttuja logissa. Se auttaa vähentämään poikkeamien vaikutusta ja vähentämään tietojoukon vinoutta.

lähtö:

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

Voimme laskea korrelaatiokertoimen tulo- ja wfood-muuttujien välillä "pearson" ja "spearman" menetelmillä.

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

lähtö:

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

lähtö:

## [1] -0.2501252

Ennen kuin tätä laajennetaan koskemaan jokaista muuttujaparia, kannattaa tarkistaa, miten yksittäinen kerroin tulisi lukea.

Korrelaatiokertoimen tulkitseminen

Kertoimesta on hyötyä vasta, kun tiedät, mitä se tarkoittaa. Alla olevat vyöhykkeet ovat tavanomaisia ​​lukemia, ja etumerkki luetaan erillään voimakkuudesta.

r:n absoluuttinen arvo Suhteen vahvuus
0.00 ja 0.19 Hyvin heikko tai ei lainkaan
0.20 ja 0.39 Heikko
0.40 ja 0.59 Kohtalainen
0.60 ja 0.79 Vahva
0.80 ja 1.00 Erittäin vahva

Aiemmin laskettu log_income- ja wfood-muuttujien välinen arvo -0.2467 on siis heikko negatiivinen suhde: rikkaammat kotitaloudet käyttävät hieman pienemmän osan budjetistaan ​​ruokaan.

Jokaiseen kertoimeen sovelletaan kolmea varoitusta.

  • Korrelaatio ei ole syy-yhteyttä. Vahva r-arvo tarkoittaa, että kaksi muuttujaa liikkuvat yhdessä, eikä koskaan sitä, että toinen aiheuttaa toisen. Kolmas, mittaamaton muuttuja usein ohjaa molempia.
  • Pearson näkee vain suoria viivoja. Täydellinen U-muotoinen relaatio palauttaa r:n, joka on lähellä nollaa. Piirrä aina data ennen kuin luotat lukuun.
  • Koko on tärkeämpää kuin merkitys. 1 516 havainnolla kerroin 0.06 voi olla tilastollisesti merkitsevä ja silti käytännössä merkityksetön.

Korrelaatiomerkittävyyden testaaminen cor.test()-funktiolla

cor() palauttaa kertoimen eikä mitään muuta. Yhden parin kohdalla cor.test() lisää p-arvon ja luottamusvälin yhdellä kutsulla.

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

Tulosteessa on neljä lukemisen arvoista osaa.

  1. t ja df: testisuure ja sen vapausasteet, n – 2.
  2. p-arvo: todennäköisyys nähdä näin suuri kerroin, jos todellinen korrelaatio olisi nolla.
  3. 95 prosentin luottamusväli: todellisen korrelaation uskottava vaihteluväli. Jos se sulkee pois nollan, suhde on merkitsevä kyseisellä tasolla.
  4. näytearvio: kerroin itse, identtinen cor()-funktion palauttaman kanssa.

Sama funktio suorittaa rank-pohjaiset testit muuttamalla yhtä argumenttia:

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

Milloin kumpaa käyttää. Käytä cor.test()-funktiota, kun tutkit yhtä tiettyä paria, koska se antaa luottamusvälin, jonka rcorr() jättää pois. Käytä yllä esitettyä Hmisc:n rcorr()-funktiota, kun tarvitset p-arvot koko matriisille kerralla. Huomaa, että useiden parien testaaminen kasvattaa väärien positiivisten tulosten määrää, joten säädä p-arvoja p.adjust(p_value, method = “BH”) -funktiolla ennen kuin teet johtopäätöksiä suuresta matriisista.

Korrelaatiomatriisi kirjassa R

Kaksimuuttujainen korrelaatio on hyvä lähtökohta, mutta monimuuttujainen tarkastelu antaa laajemman kuvan. korrelaatiomatriisi on neliönmuotoinen taulukko, joka sisältää jokaisen muuttujan parittaisen korrelaation kaikkia muita muuttujia vastaan.

Cor()-funktio palauttaa korrelaatiomatriisin. Ainoa ero kaksimuuttujakorrelaatioon on, että meidän ei tarvitse määrittää, mitä muuttujia. Oletusarvoisesti R laskee korrelaation kaikkien muuttujien välillä.

Korrelaatiota ei voida laskea tekijälle, joten poista jokainen kategorinen sarake ennen datakehyksen välittämistä cor()-funktiolle.

Korrelaatiomatriisi on symmetrinen, mikä tarkoittaa, että diagonaalin yläpuolella olevilla arvoilla on samat arvot kuin alla. On visuaalisempaa näyttää puolet matriisista.

children_fac on suljettu pois, koska cor() ei voi käsitellä tekijää.

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

  • cor(tiedot[, 1:9])Laske korrelaatiomatriisi yhdeksälle numeeriselle sarakkeelle
  • pyöreä(…, 2)Pyöristä jokainen kerroin kahden desimaalin tarkkuudelle
  • as.dist()Tulosta vain alempi kolmio, koska matriisi on symmetrinen

lähtö:

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

Merkitsevyystaso

Kerroin yksinään ei kerro, onko suhde tilastollisesti luotettava. Hmisc-kirjaston rcorr()-funktio palauttaa p-arvon jokaiselle parille. Voimme ladata kirjaston osoitteesta Conda ja kopioi koodi liittääksesi sen terminaaliin:

conda install -c r r-hmisc

rcorr() vaatii datakehyksen tallentamisen matriisina. Voimme muuntaa tietomme matriisiksi ennen kuin laskemme korrelaatiomatriisin p-arvon kanssa.

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

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

Listaobjekti mat_2 sisältää kolme elementtiä:

  • r: Korrelaatiomatriisin tulos
  • n: Havainnon määrä
  • P: p-arvo

Olemme kiinnostuneita kolmannesta elementistä, p-arvosta. On yleistä näyttää korrelaatiomatriisi p-arvon kanssa korrelaatiokertoimen sijaan.

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

Code Selitys

  • mat_2[["P"]]: P-arvot tallennetaan elementtiin nimeltä P
  • pyöreä(matto_2[["P"]], 3): Pyöristä elementit kolmella numerolla

lähtö:

           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

Korrelaatiomatriisin visualisointi R:ssä

Lämpökartta on toinen tapa lukea korrelaatiomatriisia. GGally-kirjasto laajentaa ggplot2:ta ja asennetaan CRANista condan sijaan:

install.packages("GGally")

Visualisoiva korrelaatiomatriisi

Kirjasto sisältää erilaisia ​​toimintoja yhteenvetotilastojen näyttämiseksi, kuten kaikkien muuttujien korrelaation ja jakautumisen matriisi.

Funktiolla ggcorr() on paljon argumentteja. Esittelemme vain ne argumentit, joita käytämme opetusohjelmassa:

ggcorr-funktio

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

argumentit:

  • df: Tietojoukko käytetty
  • menetelmä: Kaava korrelaation laskemiseksi. Oletusarvoisesti pari ja Pearson lasketaan
  • nbreaks: Palauttaa kertoimien värityksen kategorisen alueen. Oletusarvoisesti ei taukoa ja värigradientti on jatkuva
  • numeroa: Pyöristä korrelaatiokerroin. Oletusarvona on 2
  • matala: Säädä värityksen alempaa tasoa
  • keski-: Säädä värityksen keskitasoa
  • korkea: Säädä värin korkeaa tasoa
  • geom: Hallitse geometrisen argumentin muotoa. Oletuksena "laatta"
  • etiketti: Boolen arvo. Näytä tarra tai älä. Oletusarvona on FALSE

Perus lämpökartta

Paketin yksinkertaisin juoni on lämpökartta. Kaavion selite näyttää gradientin värin välillä – 1:stä 1:een, kuuma väri osoittaa vahvaa positiivista korrelaatiota ja kylmä väri, negatiivinen korrelaatio.

library(GGally)
ggcorr(data)

Code Selitys

  • ggcorr(data): Tarvitaan vain yksi argumentti, joka on tietokehyksen nimi. Tekijätason muuttujat eivät sisälly kuvaajaan.

lähtö:

Perus lämpökartta

Ohjauksen lisääminen lämpökarttaan

Voimme lisätä kaavioon lisää säätimiä:

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

Code Selitys

  • nbreaks=6: murtaa legenda 6 riveillä.
  • matala = "teräksensininen": Käytä vaaleampia värejä negatiiviseen korrelaatioon
  • keski = "valkoinen": Käytä valkoisia värejä keskialueen korrelaatioon
  • korkea = "tumma": Käytä tummia värejä positiiviseen korrelaatioon
  • geom = "ympyrä": Käytä lämpökartan ikkunoiden muotoina ympyrää. Ympyrän koko on verrannollinen korrelaation itseisarvoon.

lähtö:

Ohjauksen lisääminen lämpökarttaan

Tarran lisääminen lämpökarttaan

GGally antaa meille mahdollisuuden lisätä tarran ikkunoiden sisään:

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

Code Selitys

  • etiketti = TOSI: Lisää lämpökartan sisällä olevien korrelaatiokertoimien arvot.
  • väri = "grey50": Valitse väri, eli harmaa
  • etiketin_koko = 3: Aseta tarran kooksi 3

lähtö:

Tarran lisääminen lämpökarttaan

ggpairs-funktio

GGally-kirjasto tarjoaa myös ggpairs()-funktion, joka palauttaa kuvaajamatriisin. K valitulla muuttujalla tulos on ak kertaa k ruudukko: lävistäjä näyttää kunkin muuttujan jakauman, kun taas lävistäjän ylä- ja alapuolella olevat paneelit voivat kukin suorittaa eri laskennan. Syntaksi on:

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

argumentit:

  • df: Tietojoukko käytetty
  • sarakkeet: Piirrä kaavio valitsemalla sarakkeet
  • otsikko: Sisällytä otsikko
  • ylempi: Ohjaa kuvaajan lävistäjän yläpuolella olevia laatikoita. Sinun on annettava palautettavien laskutoimitusten tai kuvaajan tyyppi. Jos jatkuva = ”korrelaatio”, pyydämme R:ää laskemaan korrelaation. Huomaa, että argumentin on oltava lista. Muita argumentteja on saatavilla; katso GGally-dokumentaatio lisätietoja.
  • alentaa: Ohjaa diagonaalin alla olevia ruutuja.
  • karttaping: Ilmaisee kaavion esteettisyyden. Voimme esimerkiksi laskea kaavion eri ryhmille.

Kaksimuuttuja-analyysi gg-pairilla ryhmien kanssaping

Seuraavassa kaaviossa on kolme tietoa:

  • Korrelaatiomatriisi log_totexp-, log_income-, age- ja wtrans-muuttujien välillä ryhmiteltynä sen mukaan, onko taloudessa lapsi vai ei.
  • Piirrä kunkin muuttujan jakauma ryhmittäin
  • Näytä hajontakaavio trendin kanssa ryhmittäin
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 Selitys

  • sarakkeet = c("log_totexp", "log_income", "age", "wtrans"): Valitse kaaviossa näytettävät muuttujat
  • otsikko = "Britannian kotitalouden tulomenojen kaksimuuttujaanalyysi": Lisää otsikko
  • ylempi = lista(): Ohjaa kaavion yläosaa. Eli diagonaalin yläpuolella
  • jatkuva = kääri ("cor", koko = 3)): Laske korrelaatiokerroin. Käärimme argumentin jatkuvana wrap()-funktion sisällä hallitaksemme graafin esteettisyyttä (eli koko = 3) -lower = list(): Ohjaa kaavion alaosaa. Eli diagonaalin alapuolella.
  • jatkuva = kääri ("sileä", alfa = 0.3, koko = 0.1): Lisää sirontakaavio lineaarisella trendillä. Käärimme argumentin jatkuvana wrap()-funktion sisällä hallitaksemme graafin esteettisyyttä (eli koko=0.1, alpha=0.3)
  • karttaping = aes(väri = lasten_fakta)Jaa jokainen paneeli children_fac-tekijän mukaan, jossa järjestetty tekijä on merkitty ”Ei” lapsettomille kotitalouksille ja ”Kyllä” lapsiperheille.

lähtö:

Kaksimuuttuja-analyysi ggpairilla ja ryhmälläping

Kaksimuuttuja-analyysi gg-parilla osittaisella ryhmälläping

Alla oleva kaavio on hieman erilainen. Muutamme kartan sijaintia.ping ylemmän argumentin sisällä.

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 Selitys

  • Täsmälleen sama koodi kuin edellinen esimerkki paitsi:
  • karttaping = aes(color = children_fac): Siirrä listaa yläosassa = list(). Haluamme laskennan olevan pinottu ryhmittäin vain graafin yläosaan.

lähtö:

Kaksimuuttuja-analyysi ggpairilla ja osittaisella ryhmälläping

Korrelaatio R:ssä: Keskeiset tiedot ja funktioiden viite

  • Kaksimuuttujasuhde kuvaa suhdetta - tai korrelaatiota - kahden R:n muuttujan välillä.
  • On olemassa kaksi ensisijaista menetelmää kahden muuttujan välisen korrelaation laskemiseksi R-ohjelmointi: Pearson & Spearman.
  • Pearson-korrelaatiomenetelmää käytetään yleensä ensisijaisena tarkistuksena kahden muuttujan väliselle suhteelle.
  • Sijoituskorrelaatio lajittelee havainnot arvon mukaan ja laskee arvon samankaltaisuuden tason.
  • Spearmanin järjestyskorrelaatio on välillä -1 - 1, ja lähellä jompaakumpaa ääripäätä olevat arvot osoittavat vahvaa monotonista suhdetta.
  • Korrelaatiomatriisi on neliömäinen taulukko, joka sisältää jokaisen muuttujan parittaisen korrelaation.
  • P-arvo kertoo, onko havaittu korrelaatio tilastollisesti erotettavissa nollasta.

Jokainen tässä opetusohjelmassa käytetty korrelaatiofunktio on lueteltu alla:

Kirjasto Tavoite Menetelmä Code
pohja Kaksimuuttujainen korrelaatio Pearson
cor(dfx2, method = "pearson")
pohja Kaksimuuttujainen korrelaatio Spearman
cor(dfx2, method = "spearman")
pohja Monimuuttujakorrelaatio Pearson
cor(df, method = "pearson")
pohja Monimuuttujakorrelaatio Spearman
cor(df, method = "spearman")
Hmisc P-arvo -
rcorr(as.matrix(data[,1:9]))[["P"]]
GGally Lämpökartta -
ggcorr(df)
GGally Monimuuttujakuvaajamatriisi -
ggpairs(df, columns = c("x1", "x2"))

UKK

Käytä Spearmania, kun suhde on monotoninen mutta ei lineaarinen, kun esiintyy poikkeavia havaintoja tai kun muuttuja on ordinaalinen. Pearson olettaa lineaarisuuden ja karkeasti normaalin jatkuvan datan.

Kendall tau laskee konkordantteja ja diskordantteja pareja erojen sijaan. Se on Spearman-menetelmää luotettavampi pienissä otoksissa, joissa on paljon yhteyksiä, vaikkakin hitaampi laskea suurissa tietojoukoissa.

Ei. Korrelaatio mittaa vain samanaikaista liikettä. Sekoittava muuttuja voi ohjata molempia aikasarjoja, eikä minkään todellisen vaikutuksen suuntaa voida määrittää pelkästään kertoimesta.

Korrelaatiomatriisit paljastavat tarpeettomia ominaisuuksia ennen koulutusta, koska kaksi vahvasti korreloivaa ennustajaa lisäävät vain vähän tietoa ja horjuttavat lineaaristen mallien vakautta. Tekoälytiimit käyttävät niitä myös merkitsemään datavuotoja kohdemuuttujasta.

Kyllä. Tekoälyavustajat voivat tiivistää, mitkä parit ylittävät kynnysarvon, ehdottaa poistettavia tarpeettomia ominaisuuksia ja selittää lämpökartan värit. Vahvista jokainen väite omaa cor.test()-tulostasi vasten ennen toimimista.

Tiivistä tämä viesti seuraavasti: