Korelace s konstantou
On 9 února, 2021 by adminSnažím se získat korelaci mezi 2 proměnnými, vzhledem k souboru dat. Jednou za čas, v dané datové sadě, Když má jedna z proměnných konstantní hodnotu, protože standardní odchylka této proměnné je nula, dostanu pro korelaci hodnotu NA. (V R). Chtěl bych explicitně přiřadit hodnotu pro korelaci v těchto scénářích nebo se pokusit získat nějakou hodnotu alternativními prostředky, abych mohl tento bod porovnat s jinými časy, kdy vypočítám korelaci. Jak na to? (1) Mám do této proměnné přidat nějaký šum a znovu vypočítat korelaci. Byla by to smysluplná věc?
Komentáře
- Pamatujte, že konstanta odezvy navzdory proměnnému prediktoru a prediktorské konstantě, zatímco proměnná odezvy jsou podstatně úplně odlišné situace, neměli byste Nechceme s nimi zacházet stejně, bez ohledu na to, že korelace v obou případech je (spravedlivě označena jako) neurčitá. (Pro úplnost přidejte obě proměnné konstantní.
- Můžete rozšířit to, co máte na mysli, porovnáním s jinými výpočty korelace?
Odpověď
Připomeňme, že korelace je definována jako
$$ \ rho_ {X, Y} = \ frac {\ sigma (X, Y)} { \ sigma_X \ sigma_Y} $$
To znamená, že pokud je jedna z vašich „proměnných“ konstantní, pak se nejedná o proměnnou, má rozptyl rovný nule, a tak je korelace s čímkoli undefined (protože vyděláváte nulou).
Standardní odchylka proměnné $ X $ plus konstanta $ c $ je stejná jako standardní odchylka $ X $
$$ \ sigma (X + c) = \ sigma (X) $$
to samé pro kovarianci
$$ \ sigma (X + c, Y) = \ sigma (X, Y) $$
takže přidání šumu do vaší konstantní „proměnné“ by mělo za následek měření korelace vašeho šumu s nějakou jinou proměnnou (vaše „proměnná“ je $ c $ a šum je $ X $).
Na druhou stranu, kovariance náhodné proměnné s konstantou je nula o
$$ \ sigma (Y, c) = 0 $$
a konstantní náhodná proměnná je nezávislá jakékoli jiné náhodné proměnné. Takže pokud opravdu potřebujete znovu definovat korelaci pro takový případ, nejlepší volbou by bylo $ 0 $. Všimněte si však, že jak poznamenal Nick Cox v komentáři níže, nevyřeší to žádný z vašich problémů.
Základní problém s konstantní náhodnou proměnnou spočívá v tom, že je nezávislá na všechno ostatní a na vaší analýze to nic nezmění. Z tohoto důvodu by mnoho softwarových balíčků vrátilo chyby při použití konstantních proměnných nebo je automaticky odstranilo z vaší analýzy. To je to, co R dělá, a takové chování je v souladu s definicí korelace.
Komentáře
- Navzdory logice zde korelace undefined " se zdá být lepší odpovědí pro kohokoli, kdo čelí této otázce. " Nevíme ', že " není totéž jako nulová korelace. Kromě toho je pravděpodobnější, že další analýza, která bude považovat korelaci za nulovou, pokazí jakoukoli analýzu po proudu, např. PCA na základě korelační matice s fudged nulami.
- Takže pokud je kovariance 0, pak čitatel je 0. A pokud je jedna proměnná konstantní, pak jmenovatel je 0. A 0/0 je a nepořádek. Zde je však denominatior pouze měřítkem, takže možná corr = 0 je v pořádku. Ale i když máte jistotu, že kovariance proměnné s konstantou je definována jako 0, ' mi také není jasné, že to dává smysl. věcně. Takže NA je nejlepší, myslím, že
- @PeterFlom s vámi naprosto souhlasím.
- To je to, co k tomu říká R: `cor (x < – rep (1, 10), y < – rnorm (10)) [1] NA Varovná zpráva: V kor (x < – rep (1, 10), y < – rnorm (10)): směrodatná odchylka je nula`
Odpověď
Otázky, jak dělat věci v jazyce R (nebo jakémkoli jazyce), jsou mimo téma, ale máte také statistickou otázku, tj.
Jaká je rozumná hodnota pro korelaci mezi dvěma proměnnými, když je jedna proměnná konstantní?
Navrhujete do proměnné přidat nějaký šum. Pokud to uděláte, můžete jednoduše říci, že korelace je 0.
Potíž je v tom, že ve skutečnosti nemáte ponětí, jaká by měla být korelace – mohlo by to být cokoli od -1 do 1. Proto R dává NA. Neexistuje tedy nic opravdu rozumného, kromě toho, že řekneme, že „nemáme žádné informace“ a neporovnáváme je s jinými hodnotami.
Napsat komentář