L'uso dei decili per trovare la correlazione è un approccio statisticamente valido?


10

Ho un campione di 1.449 punti dati non correlati (r-quadrato 0,006).

Analizzando i dati, ho scoperto che, dividendo i valori delle variabili indipendenti in gruppi positivi e negativi, sembra esserci una differenza significativa nella media della variabile dipendente per ciascun gruppo.

Dividendo i punti in 10 bin (decili) usando i valori delle variabili indipendenti, sembra esserci una più forte correlazione tra il numero di decile e i valori della variabile media dipendente (r-quadrato 0,27).

Non so molto sulle statistiche, quindi ecco alcune domande:

  1. È un approccio statistico valido?
  2. Esiste un metodo per trovare il miglior numero di bin?
  3. Qual è il termine appropriato per questo approccio in modo da poterlo Google?
  4. Quali sono alcune risorse introduttive per conoscere questo approccio?
  5. Quali sono alcuni altri approcci che posso usare per trovare relazioni in questi dati?

Ecco i dati del decile per riferimento: https://gist.github.com/georgeu2000/81a907dc5e3b7952bc90

EDIT: ecco un'immagine dei dati: Industry Momentum è la variabile indipendente, la qualità del punto di ingresso dipende

Industry Momentum è la variabile indipendente, la qualità del punto di ingresso dipende


Spero che la mia risposta (in particolare le risposte 2-4) sia compresa nel senso in cui era intesa.
Glen_b -Reststate Monica

Se il tuo scopo è quello di esplorare una forma di relazione tra l'indipendente e il dipendente, questa è una buona tecnica esplorativa. Può offendere gli statistici ma è sempre utilizzato nell'industria (ad es. Rischio di credito). Se stai costruendo un modello predittivo, allora di nuovo l'ingegnerizzazione delle caratteristiche è OK - se viene eseguita su un set di addestramento validato correttamente.
B_Miner

Potete fornire risorse su come assicurarsi che il risultato sia "validato correttamente"?
B Seven

"non correlato (r-quadrato 0,006)" significa che non sono correlati linearmente . Forse c'è qualche altra correlazione coinvolta. Hai tracciato i dati grezzi (dipendenti o indipendenti)?
Emil Friedman,

Ho tracciato i dati, ma non ho pensato di aggiungerli alla domanda. Che bella idea! Si prega di consultare la domanda aggiornata.
B Seven

Risposte:


9

0. La correlazione (0,0775) è piccola ma (statisticamente) significativamente diversa da 0. Cioè, sembra che ci sia davvero una correlazione, è solo molto piccola / debole (equivalentemente, c'è molto rumore attorno alla relazione).

1. Ciò che fa la media all'interno dei bin è ridurre la variazione dei dati (l' effetto per l'errore standard di una media), il che significa che si gonfia artificialmente la correlazione debole. Vedi anche questo (in qualche modo) problema correlato .σ/n

2. Certo, meno bin significa che vengono mediati più dati, riducendo il rumore, ma più sono larghi, più "fuzzi" diventa la media in ogni bin perché la media non è abbastanza costante - c'è un compromesso. Mentre si potrebbe derivare una formula per ottimizzare la correlazione in base a una supposizione di linearità e distribuzione delle , non si terrà pienamente conto dell'effetto alquanto sfruttabile del rumore nei dati. Il modo più semplice è provare un'intera varietà di confini diversi fino a ottenere quello che ti piace. Non dimenticare di provare a variare la larghezza del contenitore e l'origine del contenitore. Quella strategia può occasionalmente rivelarsi sorprendentemente utile con le densità e quel tipo di vantaggio occasionale può essere trasferito a relazioni funzionali - forse permettendoti di ottenerexesattamente il risultato che speravi .

3. Sì. Forse inizia con questa ricerca , quindi forse prova i sinonimi.

4. Questo è un buon punto di partenza; è un libro molto popolare rivolto ai non statistici.

5. (più seriamente :) Suggerirei il smoothing (come tramite regressione polinomiale locale / smoothing del kernel, diciamo) come un modo per investigare le relazioni. Dipende esattamente da cosa vuoi, ma questo può essere un approccio valido quando non conosci la forma di una relazione, purché eviti il ​​problema del dragaggio dei dati.


C'è una citazione popolare, il cui creatore sembra essere Ronald Coase :

"Se torturi abbastanza i dati, la natura confesserà sempre."


I punti 1 e 2 sono buone spiegazioni del perché l'approccio del PO non è un approccio statistico valido, sebbene sia un'euristica utile convincere riguardo al punto 0 (correlazione debole).
Assad Ebrahim,

9

Forse trarrai beneficio da uno strumento esplorativo. La suddivisione dei dati in decili della coordinata x sembra essere stata eseguita in questo spirito. Con le modifiche descritte di seguito, è un approccio perfettamente perfetto.

Sono stati inventati molti metodi esplorativi bivariati. Un semplice proposto da John Tukey ( EDA , Addison-Wesley 1977) è la sua "trama schematica errante". Sezionate la coordinata x in bin, erigete un diagramma a riquadri verticale dei corrispondenti dati y alla mediana di ciascun contenitore e collegate le parti chiave dei grafici a scatole (mediane, cerniere, ecc.) In curve (opzionalmente levigandole). Queste "tracce erranti" forniscono un quadro della distribuzione bivariata dei dati e consentono una valutazione visiva immediata di correlazione, linearità della relazione, valori anomali e distribuzioni marginali, nonché una solida stima e valutazione della bontà di adattamento di qualsiasi funzione di regressione non lineare .

A questa idea, Tukey ha aggiunto l'idea, in linea con l'idea del boxplot, che un buon modo per sondare la distribuzione dei dati è iniziare a metà e lavorare verso l'esterno, dimezzando la quantità di dati mentre procedi. Cioè, i bin da usare non devono essere tagliati su quantili equidistanti, ma dovrebbero invece riflettere i quantili nei punti e per . 1 - 2 - k k = 1 , 2 , 3 , ...2k12kk=1,2,3,

Per visualizzare le diverse popolazioni di bin, possiamo rendere la larghezza di ciascun boxplot proporzionale alla quantità di dati che rappresenta.

La trama schematica errante risultante sarebbe simile a questa. I dati, sviluppati dal riepilogo dei dati, vengono visualizzati come punti grigi sullo sfondo. Su questo è stato disegnato il diagramma schematico errante, con le cinque tracce di colore e le trame di box (inclusi eventuali valori anomali mostrati) in bianco e nero.

figura

La natura della correlazione vicina allo zero diventa immediatamente chiara: i dati si contorcono. Vicino al loro centro, che vanno da a , hanno una forte correlazione positiva. A valori estremi, questi dati mostrano relazioni curvilinee che nel complesso tendono ad essere negative. Il coefficiente di correlazione netto (che essere per questi dati) è vicino a zero. Tuttavia, insistere nell'interpretare che come "quasi nessuna correlazione" o "significativa ma bassa correlazione" sarebbe lo stesso errore falsificato nella vecchia battuta sullo statistico che era felice con la sua testa nel forno e i piedi nella ghiacciaia perché in media il la temperatura era confortevole. A volte un singolo numero non è sufficiente per descrivere la situazione.x = 4 - 0,074x=4x=40.074

Strumenti esplorativi alternativi con scopi simili includono solidi levigati di quantili con finestre dei dati e adattamenti di regressioni quantili usando una gamma di quantili. Con la pronta disponibilità del software per eseguire questi calcoli sono forse diventati più facili da eseguire rispetto a una traccia schematica errante, ma non godono della stessa semplicità di costruzione, facilità di interpretazione e ampia applicabilità.


Il Rcodice seguente ha prodotto la figura e può essere applicato ai dati originali con modifiche minime o nulle. (Ignora le avvertenze prodotte da bplt(chiamato da bxp): si lamenta quando non ha valori anomali da disegnare.)

#
# Data
#
set.seed(17)
n <- 1449
x <- sort(rnorm(n, 0, 4))
s <- spline(quantile(x, seq(0,1,1/10)), c(0,.03,-.6,.5,-.1,.6,1.2,.7,1.4,.1,.6),
            xout=x, method="natural")
#plot(s, type="l")
e <- rnorm(length(x), sd=1)
y <- s$y + e # ($ interferes with MathJax processing on SE)
#
# Calculations
#
q <- 2^(-(2:floor(log(n/10, 2))))
q <- c(rev(q), 1/2, 1-q)
n.bins <- length(q)+1
bins <- cut(x, quantile(x, probs = c(0,q,1)))
x.binmed <- by(x, bins, median)
x.bincount <- by(x, bins, length)
x.bincount.max <- max(x.bincount)
x.delta <- diff(range(x))
cor(x,y)
#
# Plot
#
par(mfrow=c(1,1))
b <- boxplot(y ~ bins, varwidth=TRUE, plot=FALSE)
plot(x,y, pch=19, col="#00000010", 
     main="Wandering schematic plot", xlab="X", ylab="Y")
for (i in 1:n.bins) {
  invisible(bxp(list(stats=b$stats[,i, drop=FALSE],
                     n=b$n[i],
                     conf=b$conf[,i, drop=FALSE],
                     out=b$out[b$group==i],
                     group=1,
                     names=b$names[i]), add=TRUE, 
                boxwex=2*x.delta*x.bincount[i]/x.bincount.max/n.bins, 
                at=x.binmed[i]))
}

colors <- hsv(seq(2/6, 1, 1/6), 3/4, 5/6)
temp <- sapply(1:5, function(i) lines(spline(x.binmed, b$stats[i,], 
                                             method="natural"), col=colors[i], lwd=2))

@EngrStudent Leggere il testo di questo post prima di eseguire il codice. Tale avviso è menzionato e spiegato.
whuber

Non capisco da dove provenga questo vettore c(0,.03,-.6,.5,-.1,.6,1.2,.7,1.4,.1,.6), questo viene generato e dipende dai dati ( x)? Tu citi il 2^*(-k)ma questo non è correlato.
Massimiliano

@Max Quel vettore genera questo esempio particolare.
whuber

ok, ma come hai proceduto alle figure? Questo è chiaramente sbagliato:k <- 1:11; ifelse(quantile(g, seq(0,1,1/10))>0, 2^(-k), 1-2^(-k))
Massimiliano

@Max Non riesco a capire cosa potresti voler dire con "chiaramente sbagliato". Non puoi fare riferimento al mio codice: come un assegno, l'ho rieseguito e ha riprodotto la figura in ogni dettaglio.
whuber

6

Non credo che il binning sia un approccio scientifico al problema. È una perdita di informazioni e arbitraria. I metodi di classificazione (ordinali; semiparametrici) sono molto migliori e non perdono informazioni. Anche se si dovesse accontentarsi del binning dei decili, il metodo è ancora arbitrario e non riproducibile da altri, semplicemente a causa dell'elevato numero di definizioni utilizzate per i quantili nel caso di legami nei dati. E come accennato nel bel commento sulla tortura dei dati sopra, Howard Wainer ha un bel documento che mostra come trovare bin che possano produrre un'associazione positiva e trovare bin che possano produrre un'associazione negativa, dallo stesso set di dati:

 @Article{wai06fin,
   author =          {Wainer, Howard},
   title =       {Finding what is not there through the unfortunate
    binning of results: {The} {Mendel} effect},
   journal =     {Chance},
   year =        2006,
   volume =      19,
   number =      1,
   pages =       {49-56},
   annote =      {can find bins that yield either positive or negative
    association;especially pertinent when effects are small;``With four
    parameters, I can fit an elephant; with five, I can make it wiggle its
    trunk.'' - John von Neumann}
 }

Questo è quello che sospettavo. Se scegli diversi numeri di bin, puoi trovare la migliore correlazione per mostrare ciò che stai cercando. Ma i risultati non sarebbero riproducibili o scientificamente validi. Conosci qualche risorsa introduttiva sulla classifica?
B Seven

3
Sembra una posizione troppo estrema da assumere. Naturalmente anche i metodi basati sul rango perdono informazioni: scartano tutte le informazioni sui valori effettivi. Quindi la domanda relativa alla preoccupazione per la perdita di informazioni si riduce al motivo per cui viene eseguita l'analisi? Se è per la scoperta e l'esplorazione, varie forme guidate di binning possono fare un buon lavoro mentre sostituire tutto con i ranghi probabilmente oscurerebbe e distorcerebbe le relazioni. Se si tratta di test di conferma o di ipotesi, le tue osservazioni sarebbero più generalmente applicabili e difendibili.
whuber

2
Non sono davvero d'accordo. Il tipo di informazioni perse con metodi basati sul rango è minimo (ad esempio, nel caso dei residui gaussiani) e rispetto a metodi più carichi di ipotesi che possono ottenere informazioni. Non è difficile usare un modello semiparametrico (ad es. Modello di probabilità proporzionale) per stimare la media e i quantili di . La perdita di informazioni è quasi sempre una cosa negativa, sia durante l'esplorazione (potresti perdere qualcosa di importante) sia durante l'analisi formale (perdita di potenza e precisione e arbitrarietà). Y| Xπ3πY|X
Frank Harrell,

2

La suddivisione dei dati in decili in base alla X osservata ("Qualità del punto di ingresso") sembra essere una generalizzazione di un vecchio metodo proposto prima da Wald e successivamente da altri per le situazioni in cui sia X che Y sono soggette ad errore. (Wald ha diviso i dati in due gruppi. Nair & Shrivastava e Bartlett li hanno divisi in tre.) È descritto nella sezione 5C di Comprensione dell'analisi dei dati robusta ed esplorativa , a cura di Hoaglin, Mosteller e Tukey (Wiley, 1983). Tuttavia, da allora è stato svolto molto lavoro su "Errore di misura" o "Errore nei modelli di variabili". I libri di testo che ho esaminato sono Errore di misura: modelli, metodi e applicazioni di John Buonaccorsi (CRC Press,

La tua situazione potrebbe essere leggermente diversa perché il tuo diagramma a dispersione mi porta a sospettare che entrambe le osservazioni siano variabili casuali e non so se contengano errori di misurazione. Cosa rappresentano le variabili?


La qualità del punto di ingresso è la quantità di un titolo che aumenta o diminuisce nel breve termine in un determinato momento. Industry Momentum è una misura di "slancio" nel settore per lo stock nello stesso momento. L'ipotesi è che esiste una correlazione tra lo slancio del settore e il prezzo futuro del titolo.
B Seven

1
Generalmente mettiamo la risposta sull'asse verticale. L'ispezione visiva suggerisce che anche se esiste una reale correlazione, la variazione nella qualità del punto di ingresso la rende piuttosto inutile. Ma poiché hai a che fare con i prezzi delle azioni, le cose diventano ancora più complesse perché sono coinvolte le serie temporali.
Emil Friedman,

2

Ho trovato il pacchetto localgauss molto utile per questo. https://cran.r-project.org/web/packages/localgauss/index.html

Il pacchetto contiene

Routine computazionali per la stima e la visualizzazione di parametri gaussiani locali. I parametri gaussiani locali sono utili per caratterizzare e testare la dipendenza non lineare all'interno dei dati bivariati.

Esempio:

library(localgauss)
x=rnorm(n=1000)
y=x^2 + rnorm(n=1000)
lgobj = localgauss(x,y)
plot(lgobj)

Risultato:

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.