Correlazione con una costante
Su Febbraio 9, 2021 da adminSto cercando di ottenere la correlazione tra 2 variabili, dato un insieme di dati. Di tanto in tanto, nel dato set di dati, quando una delle variabili ha un valore costante, poiché la deviazione standard di quella variabile è zero, ottengo un valore NA per la correlazione. (In R). Vorrei assegnare un valore per la correlazione in questi scenari in modo esplicito o cercare di ottenere un valore con mezzi alternativi, in modo da poter confrontare questo punto con altre volte in cui calcolo la correlazione. Come posso procedere? (1) Dovrei aggiungere un po di rumore a quella variabile e calcolare di nuovo la correlazione. Sarebbe una cosa significativa da fare?
Commenti
- Nota che la costante di risposta nonostante il predittore variabile e la costante predittore mentre la variabile di risposta sono situazioni sostanzialmente completamente diverse, non dovresti ' Non voglio trattarli allo stesso modo, indipendentemente dal fatto che la correlazione in entrambi i casi è (abbastanza segnalata come) indeterminata. (Per completezza, aggiungi entrambe le variabili costanti.
- Puoi ampliare ciò che intendi confrontandolo con altre volte in cui calcoli la correlazione?
Risposta
Ricorda che la correlazione è definita come
$$ \ rho_ {X, Y} = \ frac {\ sigma (X, Y)} { \ sigma_X \ sigma_Y} $$
Questo significa che se una delle tue “variabili” è costante, allora non è una variabile, ha varianza uguale a zero e quindi, la sua correlazione con qualsiasi cosa è undefined (poiché stai dividendo per zero).
La deviazione standard della variabile $ X $ più la costante $ c $ è uguale alla deviazione standard di $ X $
$$ \ sigma (X + c) = \ sigma (X) $$
lo stesso per la covarianza
$$ \ sigma (X + c, Y) = \ sigma (X, Y) $$
quindi laggiunta di rumore alla tua “variabile” costante risulterebbe misurando la correlazione del tuo rumore con qualche altra variabile (la tua “variabile” è $ c $ e il rumore è $ X $).
Daltra parte, la covarianza della variabile casuale con costante è zero o
$$ \ sigma (Y, c) = 0 $$
e la variabile casuale costante è indipendente di qualsiasi altra variabile casuale. Quindi, se hai davvero bisogno di ridefinire la correlazione per questo caso, la scelta migliore sarebbe $ 0 $. Nota tuttavia che, come notato da Nick Cox nel commento sotto, questo non risolve nessuno dei tuoi problemi.
Il problema di base con la variabile casuale costante è che è indipendente da tutto il resto e non cambierà nulla della tua analisi. Per questo motivo, molti pacchetti software restituirebbero errori quando si utilizzano variabili costanti o li eliminerebbero automaticamente dallanalisi. Questo è ciò che fa R e tale comportamento è coerente con la definizione di correlazione.
Commenti
- Nonostante la logica qui, " correlation undefined " sembra la risposta migliore per chiunque debba affrontare questa domanda. " Non ' sappiamo che " non è la stessa correlazione zero. Inoltre, unulteriore analisi che tratta la correlazione come zero è più probabile che rovini qualsiasi analisi a valle, ad es. PCA basato sulla matrice di correlazione con zeri confusi.
- Quindi, se la covarianza è 0, il numeratore è 0. E se una variabile è costante, il denominatore è 0. E 0/0 è un pasticcio. Tuttavia, qui il denominatore è solo un fattore di scala, quindi forse corr = 0 va bene. Ma, sebbene tu abbia sicuramente ragione sul fatto che la covarianza di una variabile con una costante sia definita come 0, ' non mi è chiaro nemmeno che abbia senso. sostanzialmente. Quindi NA è il migliore, penso
- @PeterFlom di essere totalmente daccordo con te.
- Questo è ciò che R ha da dire sullargomento: `cor (x < – rep (1, 10), y < – rnorm (10)) [1] NA Messaggio di avviso: In cor (x < – rep (1, 10), y < – rnorm (10)): la deviazione standard è zero`
Risposta
Le domande su come fare le cose in R (o in qualsiasi lingua) qui sono fuori tema, ma hai anche una domanda statistica, ad esempio
Qual è un valore ragionevole per la correlazione tra due variabili quando una variabile è costante?
Suggerisci di aggiungere un po di rumore alla variabile. Se hai intenzione di farlo, potresti anche semplicemente dire che la correlazione è 0.
Il problema è che non hai davvero idea di quale dovrebbe essere la correlazione – potrebbe essere qualsiasi cosa da -1 a 1. Ecco perché R dà NA. Quindi, non cè niente di veramente ragionevole da fare se non dire che “non abbiamo informazioni” e non confrontarle con altri valori.
Lascia un commento