Korrelation med en konstant (Svenska)
On februari 9, 2021 by adminJag försöker få korrelationen mellan två variabler, givet en uppsättning data. Ibland, i den givna datamängden, När en av variablerna har ett konstant värde, eftersom standardavvikelsen för den variabeln är noll, får jag ett NA-värde för korrelationen. (I R). Jag vill tilldela ett värde för korrelationen i dessa scenarier uttryckligen eller försöka få lite värde på alternativa sätt, så att jag kan jämföra denna punkt med andra gånger jag beräknar korrelationen. Hur gör jag för det? (1) Ska jag lägga till brus i den variabeln och beräkna korrelationen igen. Skulle det vara en meningsfull sak att göra?
Kommentarer
- Observera att svarkonstant trots variabel prediktor och prediktorkonstant medan svarsvariabler är väsentligen helt olika situationer. Du bör inte ' vill inte behandla dem på samma sätt, oavsett att korrelationen i båda fallen är (ganska redovisad som) obestämd. (För fullständighet, lägg till båda variablerna konstant.
- Kan du utöka vad du menar genom att jämföra det med andra gånger du beräknar korrelationen?
Svar
Minns att korrelation är definierad som
$$ \ rho_ {X, Y} = \ frac {\ sigma (X, Y)} { \ sigma_X \ sigma_Y} $$
Detta betyder att om en av dina ”variabler” är konstant, så är den inte en variabel, den har en varians lika med noll och så är det korrelation med vad som helst odefinierad (eftersom du delar med noll).
Standardavvikelse för variabel $ X $ plus konstant $ c $ är densamma som standardavvikelse på $ X $
$$ \ sigma (X + c) = \ sigma (X) $$
samma för kovarians
$$ \ sigma (X + c, Y) = \ sigma (X, Y) $$
så att lägga till brus i din konstanta ”variabel” skulle resultera genom att mäta korrelation av ditt brus med någon annan variabel (din ”variabel” är $ c $ och buller är $ X $).
Å andra sidan är kovariansen av slumpmässig variabel med konstant noll o
$$ \ sigma (Y, c) = 0 $$
och konstant slumpmässig variabel är oberoende av alla andra slumpmässiga variabler. Så om du verkligen behöver omdefiniera korrelation för ett sådant fall skulle det bästa valet vara $ 0 $. Observera dock att, som noterat av Nick Cox i kommentaren nedan, detta inte löser några av dina problem.
Det grundläggande problemet med konstant slumpmässig variabel är att den är oberoende av allt annat och det kommer inte att förändra någonting i din analys. På grund av detta skulle många programvarupaket returnera fel när de använder konstanta variabler eller släppa dem automatiskt från din analys. Detta är vad R gör och sådant beteende överensstämmer med definitionen av korrelation.
Kommentarer
- Trots logiken här, " korrelation odefinierad " verkar vara det bättre svaret för alla som står inför denna fråga. " Vi vet inte ' " är inte samma sak som noll korrelation. Vidare är det mer sannolikt att ytterligare analys som behandlar korrelationen som noll förstör någon analys nedströms, t.ex. PCA baserat på korrelationsmatrisen med fudgade nollor.
- Så om kovariansen är 0 är täljaren 0. Och om en variabel är konstant är nämnaren 0. Och 0/0 är en röra. Men här är denominatorn bara en skalningsfaktor, så kanske corr = 0 är OK. Men även om du säkert har rätt att kovariansen hos en variabel med en konstant är definierad som 0, är det ' inte klart för mig att det är vettigt heller. väsentligt. Så NA är bäst, jag tror
- @PeterFlom Jag håller helt med dig.
- Detta är vad R har att säga i frågan: `cor (x < – rep (1, 10), y < – rnorm (10)) [1] NA Varningsmeddelande: I cor (x < – rep (1, 10), y < – rnorm (10)): standardavvikelsen är noll`
Svar
Frågor om hur man gör saker på R (eller vilket språk som helst) är inte ämne här, men du har också en statistisk fråga, dvs
Vad är ett rimligt värde för korrelationen mellan två variabler när en variabel är konstant?
Du föreslår att du lägger till lite brus i variabeln. Om du ska göra det, kan du lika gärna säga att korrelationen är 0.
Problemet är att du verkligen inte har någon aning om vad korrelationen ska vara – det kan vara vad som helst från -1 till 1. Det är därför R ger NA. Så det finns ingen riktigt rimlig sak att göra förutom att säga att ”vi har ingen information” och inte jämföra den med andra värden.
Lämna ett svar