Cosa succede se le variabili esplicative e di risposta sono ordinate in modo indipendente prima della regressione?


302

Supponiamo di avere un set di dati con punti. Vogliamo eseguire una regressione lineare, ma prima valori e indipendentemente l'uno dall'altro, formando un set di dati . Esiste un'interpretazione significativa della regressione sul nuovo set di dati? Questo ha un nome?n X i Y i ( X i , Y j )(Xi,Yi)nXiYi(Xi,Yj)

Immagino che questa sia una domanda sciocca, quindi mi scuso, non sono formalmente addestrato in statistica. Nella mia mente questo distrugge completamente i nostri dati e la regressione non ha senso. Ma il mio manager dice che ottiene "regressioni migliori per la maggior parte del tempo" quando lo fa (qui "meglio" significa più predittivo). Ho la sensazione che si stia ingannando.

EDIT: Grazie per tutti i tuoi esempi carini e pazienti. Gli ho mostrato gli esempi di @ RUser4512 e @gung e rimane fedele. Si sta irritando e mi sto esaurendo. Mi sento in rovina. Probabilmente inizierò presto a cercare altri lavori.


120
Ma il mio manager dice che ottiene "regressioni migliori per la maggior parte del tempo" quando lo fa. Oh dio ...
Jake Westfall il

56
C'è sicuramente alcun motivo per voi di sentirsi in imbarazzo!
Jake Westfall,

36
"La scienza è qualunque cosa vogliamo che sia." - Dr. Leo Spaceman.
Sycorax,

52
Questa idea deve competere con un'altra che ho riscontrato: se il tuo campione è di piccole dimensioni, basta raggrupparlo con diverse copie degli stessi dati.
Nick Cox,

47
Dovresti dire al tuo capo che hai un'idea migliore. Invece di utilizzare i dati effettivi, genera i tuoi dati perché sarà più semplice modellarli.
Dsaxton,

Risposte:


147

Non sono sicuro di cosa significhi il tuo capo "più predittivo". Molte persone credono erroneamente che valori inferiori significhino un modello migliore / più predittivo. Questo non è necessariamente vero (questo è un caso emblematico). Tuttavia, l'ordinamento indipendente di entrambe le variabili in anticipo garantirà un valore inferiore . D'altra parte, possiamo valutare l'accuratezza predittiva di un modello confrontando le sue previsioni con i nuovi dati generati dallo stesso processo. Lo faccio di seguito in un semplice esempio (codificato con ). pppR

options(digits=3)                       # for cleaner output
set.seed(9149)                          # this makes the example exactly reproducible

B1 = .3
N  = 50                                 # 50 data
x  = rnorm(N, mean=0, sd=1)             # standard normal X
y  = 0 + B1*x + rnorm(N, mean=0, sd=1)  # cor(x, y) = .31
sx = sort(x)                            # sorted independently
sy = sort(y)
cor(x,y)    # [1] 0.309
cor(sx,sy)  # [1] 0.993

model.u = lm(y~x)
model.s = lm(sy~sx)
summary(model.u)$coefficients
#             Estimate Std. Error t value Pr(>|t|)
# (Intercept)    0.021      0.139   0.151    0.881
# x              0.340      0.151   2.251    0.029  # significant
summary(model.s)$coefficients
#             Estimate Std. Error t value Pr(>|t|)
# (Intercept)    0.162     0.0168    9.68 7.37e-13
# sx             1.094     0.0183   59.86 9.31e-47  # wildly significant

u.error = vector(length=N)              # these will hold the output
s.error = vector(length=N)
for(i in 1:N){
  new.x      = rnorm(1, mean=0, sd=1)   # data generated in exactly the same way
  new.y      = 0 + B1*x + rnorm(N, mean=0, sd=1)
  pred.u     = predict(model.u, newdata=data.frame(x=new.x))
  pred.s     = predict(model.s, newdata=data.frame(x=new.x))
  u.error[i] = abs(pred.u-new.y)        # these are the absolute values of
  s.error[i] = abs(pred.s-new.y)        #  the predictive errors
};  rm(i, new.x, new.y, pred.u, pred.s)
u.s = u.error-s.error                   # negative values means the original
                                        # yielded more accurate predictions
mean(u.error)  # [1] 1.1
mean(s.error)  # [1] 1.98
mean(u.s<0)    # [1] 0.68


windows()
  layout(matrix(1:4, nrow=2, byrow=TRUE))
  plot(x, y,   main="Original data")
  abline(model.u, col="blue")
  plot(sx, sy, main="Sorted data")
  abline(model.s, col="red")
  h.u = hist(u.error, breaks=10, plot=FALSE)
  h.s = hist(s.error, breaks=9,  plot=FALSE)
  plot(h.u, xlim=c(0,5), ylim=c(0,11), main="Histogram of prediction errors",
       xlab="Magnitude of prediction error", col=rgb(0,0,1,1/2))
  plot(h.s, col=rgb(1,0,0,1/4), add=TRUE)
  legend("topright", legend=c("original","sorted"), pch=15, 
         col=c(rgb(0,0,1,1/2),rgb(1,0,0,1/4)))
  dotchart(u.s, color=ifelse(u.s<0, "blue", "red"), lcolor="white",
           main="Difference between predictive errors")
  abline(v=0, col="gray")
  legend("topright", legend=c("u better", "s better"), pch=1, col=c("blue","red"))

inserisci qui la descrizione dell'immagine

La trama in alto a sinistra mostra i dati originali. V'è una certa relazione tra ed (viz., La correlazione è circa .) Il grafico in alto a destra mostra come i dati assomigliano dopo la cernita indipendentemente entrambe le variabili. Si può facilmente vedere che la forza della correlazione è aumentata sostanzialmente (ora è di circa ). Tuttavia, nei grafici inferiori, vediamo che la distribuzione degli errori predittivi è molto più vicina a per il modello addestrato sui dati originali (non ordinati). L'errore predittivo assoluto medio per il modello che utilizzava i dati originali è , mentre l'errore predittivo assoluto medio per il modello addestrato sui dati ordinati èy .31 .99 0 1.1 1.98 y 68 %xy.31.9901.11.98- quasi due volte più grande. Ciò significa che le previsioni del modello di dati ordinati sono molto più lontane dai valori corretti. La trama nel quadrante in basso a destra è una trama a punti. Visualizza le differenze tra l'errore predittivo con i dati originali e con i dati ordinati. Ciò consente di confrontare le due previsioni corrispondenti per ogni nuova osservazione simulata. I punti blu a sinistra sono momenti in cui i dati originali erano più vicini al nuovo valore , mentre i punti rossi a destra sono momenti in cui i dati ordinati hanno prodotto previsioni migliori. Ci sono state previsioni più accurate dal modello addestrato sui dati originali il delle volte. y68%


Il grado in cui l'ordinamento causerà questi problemi è una funzione della relazione lineare esistente nei dati. Se la correlazione tra ed erano già, smistamento non avrebbe alcun effetto e quindi non essere dannosa. D'altra parte, se la correlazione fossey 1,0 - 1,0xy1.01.0, l'ordinamento invertirebbe completamente la relazione, rendendo il modello il più impreciso possibile. Se i dati fossero completamente non correlati in origine, l'ordinamento avrebbe un effetto intermedio, ma comunque piuttosto ampio, deleterio sull'accuratezza predittiva del modello risultante. Dato che dici che i tuoi dati sono generalmente correlati, sospetto che abbia fornito una certa protezione contro i danni intrinseci a questa procedura. Tuttavia, l'ordinamento per primo è decisamente dannoso. Per esplorare queste possibilità, possiamo semplicemente rieseguire il codice sopra con valori diversi per B1(usando lo stesso seme per la riproducibilità) ed esaminare l'output:

  1. B1 = -5:

    cor(x,y)                            # [1] -0.978
    summary(model.u)$coefficients[2,4]  # [1]  1.6e-34  # (i.e., the p-value)
    summary(model.s)$coefficients[2,4]  # [1]  1.82e-42
    mean(u.error)                       # [1]  7.27
    mean(s.error)                       # [1] 15.4
    mean(u.s<0)                         # [1]  0.98
  2. B1 = 0:

    cor(x,y)                            # [1] 0.0385
    summary(model.u)$coefficients[2,4]  # [1] 0.791
    summary(model.s)$coefficients[2,4]  # [1] 4.42e-36
    mean(u.error)                       # [1] 0.908
    mean(s.error)                       # [1] 2.12
    mean(u.s<0)                         # [1] 0.82
  3. B1 = 5:

    cor(x,y)                            # [1] 0.979
    summary(model.u)$coefficients[2,4]  # [1] 7.62e-35
    summary(model.s)$coefficients[2,4]  # [1] 3e-49
    mean(u.error)                       # [1] 7.55
    mean(s.error)                       # [1] 6.33
    mean(u.s<0)                         # [1] 0.44

12
La tua risposta è molto valida, ma forse non nel modo più chiaro possibile e dovrebbe. Non è necessariamente ovvio per un laico (come, diciamo, il responsabile dell'OP) cosa effettivamente mostrano e implicano tutte quelle trame alla fine (non importa il codice R). IMO, la tua risposta potrebbe davvero utilizzare uno o due paragrafi esplicativi.
Ilmari Karonen,

3
Grazie per il tuo commento, @IlmariKaronen. Puoi suggerire cose da aggiungere? Ho cercato di rendere il codice il più possibile esplicativo e l'ho commentato ampiamente. Ma potrei non essere più in grado di vedere queste cose con gli occhi di qualcuno che non ha familiarità con questi argomenti. Aggiungerò del testo per descrivere le trame in basso. Se riesci a pensare ad altro, per favore fatemelo sapere.
gung

13
+1 Questa è ancora l'unica risposta che affronta la situazione proposta: quando due variabili mostrano già qualche associazione positiva, è comunque un errore regredire i valori ordinati in modo indipendente. Tutte le altre risposte presuppongono che non vi sia alcuna associazione o che sia effettivamente negativa. Sebbene siano buoni esempi, dal momento che non si applicano non saranno convincenti. Ciò che ci manca ancora, tuttavia, è un esempio intuitivo a livello reale di dati reali come quelli simulati qui dove la natura dell'errore è imbarazzantemente ovvia.
whuber

8
+1 per non essere influenzato dall'ortodossia e usare "=" per l'incarico in R.
dsaxton

@dsaxton, lo uso a <-volte, ma il mio obiettivo su CV è quello di scrivere il codice R il più vicino possibile allo pseudocodice in modo che sia più leggibile per le persone che non hanno familiarità con R. =è piuttosto universale tra i linguaggi di programmazione come operatore di assegnazione .
gung

103

x,yinserisci qui la descrizione dell'immagine

n <- 1000

y<- runif(n)
x <- runif(n)

linearModel <- lm(y ~ x)


x_sorted <- sort(x)
y_sorted <- sort(y)

linearModel_sorted <- lm(y_sorted ~ x_sorted)

par(mfrow = c(2,1))
plot(x,y, main = "Random data")
abline(linearModel,col = "red")


plot(x_sorted,y_sorted, main = "Random, sorted data")
abline(linearModel_sorted,col = "red")

Ovviamente, i risultati ordinati offrono una regressione molto più piacevole. Tuttavia, dato il processo utilizzato per generare i dati (due campioni indipendenti) non c'è assolutamente alcuna possibilità che uno possa essere utilizzato per prevedere l'altro.


8
È quasi come tutte le pubblicità su Internet "prima vs dopo" :)
Tim

Questo è un buon esempio, ma non pensa che lo convincerà perché i nostri dati hanno una correlazione positiva prima dell'ordinamento. L'ordinamento "rinforza" la relazione (anche se in modo errato).
utente arbitrario

17
@arbitraryuser: Bene, i dati ordinati mostreranno sempre una correlazione positiva (bene, non negativa), indipendentemente da quale, eventualmente, correlazione avessero i dati originali. Se sai che i dati originali hanno sempre una correlazione positiva comunque, allora sono "corretti per caso" - ma poi, perché preoccuparsi di controllare la correlazione, se sai già che sono presenti e positivi comunque? Il test che il tuo manager sta eseguendo è un po 'come un "rilevatore della qualità dell'aria" che dice sempre "rilevata aria respirabile" - funziona perfettamente, purché non lo porti mai in luoghi dove non c'è aria respirabile.
Ilmari Karonen,

2
@arbitraryuser Un altro esempio che potresti trovare più persuasuve è prendere x = 0: 50 e y = 0: -50, una linea perfetta con pendenza -1. Se li ordini, la relazione si trasforma in una linea perfetta con pendenza 1. Se la verità è che le tue variabili variano in perfetta opposizione e fai una prescrizione politica basata sulla tua percezione errata che variano in perfetto accordo, sarai facendo esattamente la cosa sbagliata.
John Rauser,

99

La tua intuizione è corretta: i dati ordinati in modo indipendente non hanno un significato affidabile perché gli input e gli output vengono mappati casualmente l'uno con l'altro piuttosto che con la relazione osservata.

C'è una (buona) possibilità che la regressione sui dati ordinati sia buona, ma non ha senso nel contesto.

(X=age,Y=height)

x,y


25
+ 1 - ma lascerei cadere "essenzialmente" e sottolineo di nuovo il "insignificante".
whuber

12
Si noti che il PO si riferisce alle indipendentemente classificare i dati anziché mischiare esso. Questa è una differenza sottile ma importante in quanto riguarda ciò che la "relazione" osservata vedrebbe dopo l'applicazione dell'operazione data.
cardinale il

3
xy

12
@amoeba Set di dati di prova: adolescente medio, centro NBA a metà degli anni '30, donna media anziana. Dopo aver ordinato l'algoritmo di predizione è che il più vecchio è il più alto.
d0rmLife

1
@amoeba Vedo come potrebbe essere interpretato in questo modo, chiarirò.
d0rmLife

40

Viti

(ti,Vi)

(0,1.0),(1,0.9),(2,0.8),(3,0.7),(4,0.6),(5,0.5).
(0,0.5),(1,0.6),(2,0.7),(3,0.8),(4,0.9),(5,1.0).
E la conclusione di questo set di dati ordinati è che con l'aumentare del tempo, il volume dell'acqua aumenta e inoltre, a partire da 1 litro di acqua, si otterrebbero dopo 5 ore di attesa, più di 1 litro di acqua. Non è straordinario? Non solo la conclusione è opposta a quanto affermato dai dati originali, ma suggerisce anche che abbiamo scoperto una nuova fisica!

5
Bell'esempio intuitivo! Tranne l'ultima riga. Con i dati originali avremmo un volume negativo dopo il tempo, che è altrettanto nuova fisica. Non puoi mai estrapolare davvero una regressione.
Jongsma,

22

È una vera arte e richiede una vera comprensione della psicologia per essere in grado di convincere alcune persone dell'errore delle loro vie. Oltre a tutti gli eccellenti esempi di cui sopra, a volte una strategia utile è dimostrare che la convinzione di una persona porta a un'incoerenza con se stessa. Oppure prova questo approccio. Scopri qualcosa in cui il tuo capo crede fermamente, come il modo in cui le persone svolgono il compito Y non ha alcuna relazione con la quantità di un attributo X che possiedono. Mostra come l'approccio del tuo capo porterebbe alla conclusione di una forte associazione tra X e Y. Sfrutta le credenze politiche / razziali / religiose.

L'invalidità del viso avrebbe dovuto essere sufficiente. Che capo testardo. Nel frattempo, cerca un lavoro migliore. In bocca al lupo.


12

Un altro esempio. Immagina di avere due variabili, una connessa al consumo di cioccolato e una seconda al benessere generale. Ne hai un campione di due e i tuoi dati sono i seguenti:

chocolateno happinessno chocolatehappiness

Qual è la relazione tra cioccolato e felicità basata sul tuo campione? E ora, cambia l'ordine di una delle colonne: qual è la relazione dopo questa operazione?

tNt

iXiY

Si noti che a volte siamo effettivamente interessati a cambiare l'ordine dei casi, lo facciamo nei metodi di ricampionamento . Ad esempio, possiamo mescolare intenzionalmente più volte le osservazioni in modo da imparare qualcosa sulla distribuzione nulla dei nostri dati (come sarebbero i nostri dati se non ci fossero relazioni a coppie), e poi possiamo confrontare se i nostri dati reali sono comunque migliori di quelli casuali mescolate. Quello che fa il tuo manager è esattamente l'opposto: costringe intenzionalmente le osservazioni ad avere una struttura artificiale dove non c'era struttura, il che porta a correlazioni fasulle.


8

Un semplice esempio che forse il tuo manager potrebbe capire:

Supponiamo che tu abbia la moneta Y e la moneta X e le capovolgi ognuna 100 volte. Quindi vuoi prevedere se ottenere una testa con Coin X (IV) può aumentare la possibilità di ottenere una testa con Coin Y (DV).

Senza l'ordinamento, la relazione non sarà nessuna, poiché l'esito di Coin X non dovrebbe influire sull'esito di Coin Y. Con l'ordinamento, la relazione sarà quasi perfetta.

Come ha senso concludere che hai buone probabilità di ottenere un testa sul lancio di una moneta se hai appena lanciato una testa con una moneta diversa?


1
Necessita traduzione per qualsiasi valuta, tranne quella che stai assumendo. (So ​​che è un'obiezione assolutamente banale, ed è facile risolvere qualsiasi problema, ma a volte vale la pena sottolineare che si tratta di un forum internazionale.)
Nick Cox,

8

Questa tecnica è davvero sorprendente. Sto trovando tutti i tipi di relazioni che non ho mai sospettato. Ad esempio, non avrei mai sospettato che i numeri che compaiono nella lotteria Powerball, che è RICHIESTO, sono casuali, in realtà sono altamente correlati con il prezzo di apertura delle azioni Apple lo stesso giorno! Gente, penso che stiamo per incassare alla grande. :)

> powerball_last_number = scan()
1: 69 66 64 53 65 68 63 64 57 69 40 68
13: 
Read 12 items
> #Nov. 18, 14, 11, 7, 4
> #Oct. 31, 28, 24, 21, 17, 14, 10
> #These are powerball dates.  Stock opening prices 
> #are on same or preceding day.
> 
> appl_stock_open = scan()
1: 115.76  115.20 116.26  121.11  123.13 
6: 120.99  116.93  116.70  114.00  111.78
11: 111.29  110.00
13: 
Read 12 items
> hold = lm(appl_stock_open ~ powerball_last_number)
> summary(hold)


Coefficients:
                       Estimate Std. Error t value Pr(>|t|)    
(Intercept)           112.08555    9.45628  11.853 3.28e-07 ***
powerball_last_number   0.06451    0.15083   0.428    0.678    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 4.249 on 10 degrees of freedom
Multiple R-squared:  0.01796,   Adjusted R-squared:  -0.08024 
F-statistic: 0.1829 on 1 and 10 DF,  p-value: 0.6779

Hmm, non sembra avere una relazione significativa. MA usando la nuova tecnica migliorata:

> 
> vastly_improved_regression = lm(sort(appl_stock_open)~sort(powerball_last_number))
> summary(vastly_improved_regression)

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)                 91.34418    5.36136  17.038 1.02e-08 ***
sort(powerball_last_number)  0.39815    0.08551   4.656    9e-04 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.409 on 10 degrees of freedom
Multiple R-squared:  0.6843,    Adjusted R-squared:  0.6528 
F-statistic: 21.68 on 1 and 10 DF,  p-value: 0.0008998

NOTA: non si tratta di un'analisi seria. Basta mostrare al proprio manager che possono rendere QUALSIASI due variabili significativamente correlate se le si ordinano entrambe.


6

Un sacco di buoni esempi contrari qui. Vorrei solo aggiungere un paragrafo sul nocciolo del problema.

XiYiXYiiX1Y1X2Y2XYX1Y1X1Y1

In realtà, vorrei aggiungere un paragrafo sul perché "funziona".

XaXbXaXYaXzXYzYXaYaXzYzX1Y1


6

In realtà, il test descritto (ovvero ordinare i valori X e Y in modo indipendente e regredire l'uno contro l'altro) verifica qualcosa, supponendo che gli (X, Y) vengano campionati come coppie indipendenti da una distribuzione bivariata. Non è solo un test di ciò che il tuo manager vuole testare. Sta essenzialmente controllando la linearità di un diagramma QQ, confrontando la distribuzione marginale delle X con la distribuzione marginale delle Y. In particolare, i "dati" si avvicinano a una linea retta se la densità di Xs (f (x)) è correlata alla densità di Ys (g (y)) in questo modo:

f(x)=g((ya)/b)ab>0


4

Strano che il contro-esempio più ovvio non sia ancora presente tra le risposte nella sua forma più semplice.

Y=X

Y^X

Questo è un tipo di "inverso diretto" del modello che potresti essere disposto a trovare qui.


Potresti spiegare a quale affermazione si tratta di un controesempio?
whuber

L'affermazione del manager secondo cui è possibile "ottenere sempre migliori regressioni" ordinando gli ingressi e le uscite in modo indipendente.
KT.

R2=1

R2

1
R2Y=X

3

Hai ragione. Il tuo manager troverà risultati "buoni"! Ma sono insignificanti. Quello che ottieni quando li ordini in modo indipendente è che i due aumentano o diminuiscono in modo simile e questo dà una parvenza di un buon modello. Ma le due variabili sono state eliminate dalla loro relazione effettiva e il modello non è corretto.


3

xx2xx2x

La regressione lineare è generalmente meno ragionevole (esistono eccezioni, vedi altre risposte); ma la geometria delle code e della distribuzione degli errori indica quanto distanti siano le distribuzioni.


2

Ho una semplice intuizione sul perché questa è in realtà una buona idea se la funzione è monotona :

x1,x2,,xnxi<xi+1f:yi=f(xi)+εiεi

εi=f(xi+δ)f(xi)
δ{Δ,Δ+1,Δ1,Δ}ΔNΔ=0Δ=n

f

εi

PS: Trovo sorprendente come una domanda apparentemente semplice possa portare a nuovi modi interessanti di ripensare il modello di standard. Per favore, grazie capo!


1
xi+δi+δ<1i+δ>n

2

Supponi di avere questi punti su un cerchio di raggio 5. Calcola la correlazione:

import pandas as pd
s1 = [(-5, 0), (-4, -3), (-4, 3), (-3, -4), (-3, 4), (0, 5), (0, -5), (3, -4), (3, 4), (4, -3), (4, 3), (5, 0)]
df1 = pd.DataFrame(s1, columns=["x", "y"])
print(df1.corr())

   x  y
x  1  0
y  0  1

Quindi ordina i valori x e y e fai di nuovo la correlazione:

s2 = [(-5, -5), (-4, -4), (-4, -4), (-3, -3), (-3, -3), (0, 0), (0, 0), (3, 3), (3, 3), (4, 4), (4, 4), (5, 5)]
df2 = pd.DataFrame(s2, columns=["x", "y"])
print(df2.corr())

   x  y
x  1  1
y  1  1

Con questa manipolazione, si modifica un set di dati con correlazione 0.0 in uno con correlazione 1.0. Questo é un problema.


1

Lasciami giocare a Devil's Advocate qui. Penso che molte risposte abbiano reso convincenti i casi in cui la procedura del capo è fondamentalmente sbagliata. Allo stesso tempo, offro un controesempio che mostra che il boss potrebbe aver effettivamente visto migliorare i risultati con questa trasformazione errata.

Penso che riconoscere che questa procedura avrebbe potuto "funzionare" per il capo potrebbe iniziare un argomento più persuasivo: certo, ha funzionato, ma solo in queste fortunate circostanze che di solito non reggono. Quindi possiamo mostrare - come nell'eccellente risposta accettata - quanto può essere brutta quando non siamo fortunati. Qual è il più delle volte. In isolamento, che mostra il boss quanto male può essere non potrebbe convincerlo perché potrebbe aver visto un caso in cui si fa migliorare le cose, e la figura che il nostro argomento fantasia deve avere una falla da qualche parte.

Ho trovato questi dati online, e abbastanza sicuro, sembra che la regressione sia migliorata dall'ordinamento indipendente di X e Y perché: a) i dati sono altamente correlati positivamente e b) OLS in realtà non funziona bene con estremi (alto -leverage) valori anomali. L'altezza e il peso hanno una correlazione di 0,19 con il valore anomalo incluso, 0,77 con il valore anomalo escluso e 0,78 con X e Y ordinati separatamente.

x <- read.csv ("https://vincentarelbundock.github.io/Rdatasets/csv/car/Davis.csv", header=TRUE)

plot (weight ~ height, data=x)

lm1 <- lm (weight ~ height, data=x)

xx <- x
xx$weight <- sort (xx$weight)
xx$height <- sort (xx$height)

plot (weight ~ height, data=xx)

lm2 <- lm (weight ~ height, data=xx)

plot (weight ~ height, data=x)
abline (lm1)
abline (lm2, col="red")

inserisci qui la descrizione dell'immagine

plot (x$height, x$weight)
points (xx$height, xx$weight, col="red")

inserisci qui la descrizione dell'immagine

Quindi mi sembra che il modello di regressione su questo set di dati sia migliorato dall'ordinamento indipendente (nero contro linea rossa nel primo grafico) e che vi sia una relazione visibile (nero contro rosso nel secondo grafico), a causa del particolare set di dati altamente (positivamente) correlato e con il giusto tipo di valori anomali che danneggiano la regressione più del mescolamento che si verifica quando si ordinano in modo indipendente xey.

Ancora una volta, non dire che l'ordinamento indipendente fa qualcosa di sensato in generale, né che qui è la risposta corretta. Solo che il capo avrebbe potuto vedere qualcosa del genere che funzionava nelle giuste circostanze.


1
Sembra una pura coincidenza che tu abbia raggiunto coefficienti di correlazione simili. Questo esempio non sembra dimostrare nulla di una relazione tra i dati originali e quelli ordinati separatamente.
whuber

2
@whuber: che ne dici del secondo grafico? Mi sembra che se i dati originali sono altamente correlati, l'ordinamento può solo mescolare un po 'i valori, sostanzialmente preservando la relazione originale +/-. Con un paio di valori anomali, le cose vengono riorganizzate di più, ma ... Mi dispiace non ho le costolette matematiche per andare oltre.
Wayne,

1
Penso che l'intuizione che esprimi sia corretta, Wayne. La logica della domanda - mentre la interpreto - riguarda ciò che puoi dire sui dati originali in base al grafico a dispersione delle sole variabili ordinate. La risposta è assolutamente nulla al di là di ciò che si può dedurre dalle loro distribuzioni separate (univariate). Il punto è che i punti rossi nel secondo grafico sono coerenti non solo con i dati che mostri, ma anche con tutto il numero astronomicamente enorme di altre permutazioni di quei dati - e non hai modo di sapere quale di queste permutazioni è il il giusto.
whuber

2
@whuber Penso che la distinzione chiave qui sia che l'OP ha detto che deve "distruggere completamente" i dati. La tua risposta accettata mostra in dettaglio come questo è il caso, in generale. Non puoi consegnare i dati trattati in questo modo e non hai idea se il risultato avrà senso. MA, è anche vero che il manager avrebbe potuto trattare in precedenza esempi come il mio (contro) esempio e aver scoperto che questa trasformazione errata ha effettivamente migliorato i risultati. Quindi possiamo essere d'accordo sul fatto che il manager si sia sostanzialmente sbagliato, ma potrebbe anche essere stato abbastanza fortunato - e nel caso fortunato, funziona.
Wayne,

@whuber: ho modificato l'introduzione della mia risposta in un modo che penso lo renda rilevante per la discussione. Penso che riconoscere come la procedura del capo avrebbe potuto funzionare per lui potrebbe essere il primo passo in una discussione più persuasiva che si contrappone all'esperienza del capo. Per la tua considerazione.
Wayne,

-7

Se ha preselezionato le variabili come monotone, in realtà è abbastanza robusto. Google "modelli lineari impropri" e "Robin Dawes" o "Howard Wainer". Dawes e Wainer parlano di modi alternativi di scegliere i coefficienti. John Cook ha una breve colonna ( http://www.johndcook.com/blog/2013/03/05/robustness-of-equal-weights/ ).


4
Ciò che Cook discute in quel post sul blog non è la stessa cosa dell'ordinamento xey indipendentemente l'uno dall'altro e quindi adattamento di un modello di regressione alle variabili ordinate.
gung

4
Quello che sta facendo il capo dell'OP non è "prevedere [ing] yhat di FInverse (G (x)), dove F e G sono gli ecdf di Y e X". Puoi vedere la procedura nel codice nella mia risposta.
gung

4
Puoi 1. aggiungere un riferimento a un particolare documento di Dawes e / o Wainer, 2. chiarire come si collega alla procedura di smistamento del capo? O è solo il punto che se il valore del coefficiente non conta molto fintanto che il segno è corretto e il segno è corretto per ipotesi, allora non importa molto che la procedura del boss dia strani valori per i coefficienti?
Juho Kokkala,

2
1. I riferimenti: - Dawes, RM "La solida bellezza dei modelli lineari impropri nel processo decisionale." Amer. Psychol. 34, n. 7 (1979): 571. - Wainer, H. "Stima dei coefficienti nei modelli lineari: non fa nulla." Psych. Toro. 83, n. 2 (1976): 213. - Dawes, RM e Corrigan, B. "Modelli lineari nel processo decisionale". Psych. Bull., 81 95-106 (1974) 2. Sia Dawes che Wainer mostrano che con dati reali e problemi di previsione reali, prevedere il futuro Y da X con deviazioni dai loro mezzi o abbinando i ranghi funziona abbastanza bene, e questo è piuttosto insensibile alla pendenza.
Bill Raynor,

2
Questi riferimenti e spiegazioni sarebbero migliori nella tua risposta piuttosto che seppelliti nei commenti.
Scortchi

-8

Ci ho pensato e ho pensato che qui ci fosse una struttura basata sulle statistiche degli ordini. Ho controllato e sembra che il manager non sia pazzo come sembra

Coefficiente di correlazione delle statistiche degli ordini come misura di una nuova associazione con applicazioni all'analisi del biosegnale

http://www.researchgate.net/profile/Weichao_Xu/publication/3320558_Order_Statistics_Correlation_Coefficient_as_a_Novel_Association_Measurement_With_Applications_to_Biosignal_Analysis/links/0912f507ed6f94a3c6000000.pdf

Proponiamo un nuovo coefficiente di correlazione basato sulle statistiche degli ordini e sulla disuguaglianza di riorganizzazione. Il coefficiente proposto rappresenta un compromesso tra il coefficiente lineare di Pearson e i due coefficienti basati sul rango, vale a dire il rho di Spearman e il tau di Kendall. Le derivazioni teoriche mostrano che il nostro coefficiente possiede le stesse proprietà di base dei tre coefficienti classici. Studi sperimentali basati su quattro modelli e sei biosegnali mostrano che il nostro coefficiente ha prestazioni migliori rispetto ai due coefficienti basati sul rango quando si misurano le associazioni lineari; mentre è in grado di rilevare associazioni non lineari monotone come i due coefficienti basati sul rango. Ampie analisi statistiche suggeriscono anche che il nostro nuovo coefficiente ha una robustezza anti-rumore superiore, una piccola polarizzazione,


14
Questo non è ciò che la domanda sta descrivendo. Quando i dati vengono sostituiti da statistiche dell'ordine, le coppie di dati vengono comunque collegate come sempre. La domanda descrive un'operazione che distrugge tali connessioni, cancellando tutte le informazioni sulla loro distribuzione congiunta.
whuber

Non necessariamente. Possibile costruire (o accadere) set di dati in cui l'ordinamento indipendente non distrugge tutte le informazioni sulla probabilità congiunta.
Daniel,

5
Ti preghiamo di darci un esempio esplicito del tuo reclamo, perché è difficile vedere come una cosa del genere sia persino matematicamente possibile, molto meno possibile nella pratica.
whuber

@whuber: Per favore, vedi la mia nuova risposta, che ha un set di dati reale che soddisfa la tua domanda ... Penso.
Wayne,
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.