Corelația cu o constantă
On februarie 9, 2021 by adminÎncerc să obțin corelația dintre 2 variabile, având un set de date. Din când în când, în setul de date dat, Când una dintre variabile are o valoare constantă, deoarece deviația standard a variabilei este zero, obțin o valoare NA pentru corelație. (În R). Aș dori să atribui o valoare pentru corelația în aceste scenarii în mod explicit sau să încerc să obțin o anumită valoare prin mijloace alternative, astfel încât să pot compara acest punct cu alte ori când calculez corelația. Cum mă descurc? (1) Ar trebui să adaug zgomot la variabila respectivă și să calculez din nou corelația. Ar fi un lucru semnificativ de făcut?
Comentarii
- Rețineți că constanta de răspuns, în ciuda predictorului variabil și a constantei predictorului, în timp ce variabila de răspuns este în mod substanțial situații total diferite, nu ar trebui să ' nu dorim să le tratăm în același mod, indiferent de faptul că corelația în ambele cazuri este (destul de raportată ca) nedeterminată. (Pentru completare, adăugați ambele variabile constante.
- Puteți extinde la ce vă referiți comparând-o cu alte ori când calculați corelația?
Răspuns
Reamintim că corelația este definită ca
$$ \ rho_ {X, Y} = \ frac {\ sigma (X, Y)} { \ sigma_X \ sigma_Y} $$
Aceasta înseamnă că dacă una dintre „variabilele” dvs. este constantă, atunci nu este o variabilă, are o varianță egală cu zero și deci, corelația cu orice este nedefinit (deoarece împărțiți la zero).
Abaterea standard a variabilei $ X $ plus constantă $ c $ este aceeași cu abaterea standard de $ X $
$$ \ sigma (X + c) = \ sigma (X) $$
același lucru pentru covarianță
$$ \ sigma (X + c, Y) = \ sigma (X, Y) $$
astfel încât adăugarea zgomotului la „variabila” constantă ar avea ca rezultat măsurarea corelației a zgomotului dvs. cu o altă variabilă („variabila” dvs. este $ c $ și zgomotul este $ X $).
Pe de altă parte, covarianța variabilei aleatorii cu constantă este zero o
$$ \ sigma (Y, c) = 0 $$
și variabila constantă aleatorie este independent a oricărei alte variabile aleatorii. Deci, dacă într-adevăr trebuie să redefiniți corelația pentru un astfel de caz, atunci cea mai bună alegere ar fi $ 0 $. Observați totuși că, așa cum a menționat Nick Cox în comentariul de mai jos, acest lucru nu rezolvă niciuna dintre problemele dvs.
Problema de bază cu variabila aleatorie constantă este că este independentă de orice altceva și nu va schimba nimic în legătură cu analiza dvs. Din această cauză, multe pachete software ar returna erori atunci când se utilizează variabile constante sau le arunca automat din analiză. Așa face R și un astfel de comportament este în concordanță cu definiția corelației.
Comentarii
- În ciuda logicii de aici, " corelația nedefinită " pare cel mai bun răspuns pentru oricine se confruntă cu această întrebare. " Nu ' nu știm " nu este același lucru cu corelația zero. Mai mult, o analiză suplimentară care tratează corelația ca zero este mai probabil să distrugă orice analiză din aval, de ex. PCA bazat pe matricea de corelație cu zerouri fudged.
- Deci, dacă covarianța este 0, atunci numeratorul este 0. Și dacă o variabilă este constantă, atunci numitorul este 0. Și 0/0 este un mizerie. Cu toate acestea, aici denumirea este doar un factor de scalare, deci, poate, corect = 0 este OK. Dar, deși aveți dreptate cu siguranță că covarianța unei variabile cu o constantă este definită ca 0, ' nu îmi este clar nici că are sens. Substantival. Așadar, NA este cel mai bun, cred că
- @PeterFlom sunt total de acord cu dvs.
- Aceasta este ceea ce R are de spus în această privință: `cor (x < – rep (1, 10), y < – rnorm (10)) [1] NA Mesaj de avertizare: În cor (x < – rep (1, 10), y < – rnorm (10)): abaterea standard este zero`
Răspuns
Întrebările despre cum să faci lucrurile în R (sau în orice limbă) sunt off-topic aici, dar ai și o întrebare statistică, adică
Care este o valoare rezonabilă pentru corelația dintre două variabile atunci când o variabilă este constantă?
Vă sugerăm să adăugați ceva zgomot variabilei. Dacă ai de gând să faci asta, atunci ai putea să spui pur și simplu că corelația este 0.
Problema este că într-adevăr nu ai nicio idee care ar trebui să fie corelația – ar putea fi orice de la -1 la 1. De aceea R dă NA. Deci, nu există niciun lucru rezonabil de făcut decât să spunem că „nu avem informații” și să nu le comparăm cu alte valori.
Lasă un răspuns