O que acontece se as variáveis ​​explicativas e de resposta são classificadas independentemente antes da regressão?


302

Suponha que tenhamos um conjunto de dados com pontos. Queremos realizar uma regressão linear, mas primeiro classificamos os valores e independentemente um do outro, formando um conjunto de dados . Existe alguma interpretação significativa da regressão no novo conjunto de dados? Isso tem um nome?n X i Y i ( X i , Y j )(Xi,Yi)nXiYi(Xi,Yj)

Eu imagino que seja uma pergunta boba, então peço desculpas, não sou formalmente treinado em estatística. Na minha opinião, isso destrói completamente nossos dados e a regressão não faz sentido. Mas meu gerente diz que obtém "melhores regressões na maioria das vezes" quando faz isso (aqui "melhor" significa mais preditivo). Tenho a sensação de que ele está se enganando.

EDIT: Obrigado por todos os seus exemplos agradáveis ​​e pacientes. Mostrei a ele os exemplos de @ RUser4512 e @gung e ele permanece firme. Ele está ficando irritado e eu estou ficando exausta. Eu me sinto decepcionado. Provavelmente vou começar a procurar outros empregos em breve.


120
Mas meu gerente diz que obtém "melhores regressões na maioria das vezes" quando faz isso. Oh Deus ...
Jake Westfall

56
Certamente não há razão para você se sentir envergonhado!
Jake Westfall

36
"A ciência é o que queremos que seja." - Dr. Leo Spaceman.
Sycorax

52
Essa ideia precisa competir com outra que encontrei: Se sua amostra é pequena, basta agrupá-la com várias cópias dos mesmos dados.
Nick Cox

47
Você deve dizer ao seu chefe que tem uma ideia melhor. Em vez de usar os dados reais, basta gerar os seus próprios, pois será mais fácil modelar.
precisa saber é o seguinte

Respostas:


147

Não sei ao certo o que seu chefe acha "mais preditivo". Muitas pessoas acreditam incorretamente que valores mais baixos de significam um modelo melhor / mais preditivo. Isso não é necessariamente verdade (sendo esse o caso). No entanto, classificar independentemente as duas variáveis ​​de antemão garantirá um valor- menor . Por outro lado, podemos avaliar a precisão preditiva de um modelo comparando suas previsões com novos dados que foram gerados pelo mesmo processo. Eu faço isso abaixo em um exemplo simples (codificado com ). 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"))

insira a descrição da imagem aqui

O gráfico superior esquerdo mostra os dados originais. Existe alguma relação entre e (ou seja, a correlação é de cerca de .) O gráfico superior direito mostra a aparência dos dados após a classificação independente de ambas as variáveis. Você pode ver facilmente que a força da correlação aumentou substancialmente (agora é de cerca de ). No entanto, nas parcelas mais baixas, vemos que a distribuição dos erros preditivos está muito mais próxima de para o modelo treinado nos dados originais (não classificados). O erro preditivo médio absoluto para o modelo que usou os dados originais é , enquanto o erro preditivo médio absoluto para o modelo treinado nos dados classificados éy 0,31 0,99 0 1,1 1,98 y 68 %xy.31.9901.11.98Quase duas vezes maior. Isso significa que as previsões do modelo de dados classificados estão muito mais longe dos valores corretos. A plotagem no quadrante inferior direito é uma plotagem de pontos. Ele exibe as diferenças entre o erro preditivo com os dados originais e com os dados classificados. Isso permite comparar as duas previsões correspondentes para cada nova observação simulada. Pontos azuis à esquerda são momentos em que os dados originais estavam mais próximos do novo valor e pontos vermelhos à direita são momentos em que os dados classificados produziram melhores previsões. Havia previsões mais precisas do modelo treinado nos dados originais em do tempo. y68%


O grau em que a classificação causará esses problemas é uma função do relacionamento linear que existe em seus dados. Se a correlação entre e já fosse , a classificação não teria efeito e, portanto, não seria prejudicial. Por outro lado, se a correlação fossey 1,0 - 1,0xy1.01.0, a classificação reverteria completamente o relacionamento, tornando o modelo o mais impreciso possível. Se os dados fossem completamente não correlacionados originalmente, a classificação teria um efeito deletério intermediário, mas ainda bastante grande, na precisão preditiva do modelo resultante. Como você menciona que seus dados normalmente estão correlacionados, suspeito que tenha fornecido alguma proteção contra os danos intrínsecos a esse procedimento. No entanto, classificar primeiro é definitivamente prejudicial. Para explorar essas possibilidades, podemos simplesmente executar novamente o código acima com valores diferentes para B1(usando a mesma semente para reprodutibilidade) e examinar a saída:

  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
Sua resposta faz uma observação muito boa, mas talvez não tão claramente quanto poderia e deveria. Não é necessariamente óbvio para um leigo (como, por exemplo, o gerente do OP) o que todas essas parcelas no final (não importa o código R) realmente mostram e implicam. Na IMO, sua resposta poderia realmente usar um ou dois parágrafos explicativos.
Ilmari Karonen

3
Obrigado pelo seu comentário, @IlmariKaronen. Você pode sugerir coisas para adicionar? Tentei tornar o código o mais auto-explicativo possível e comentei-o extensivamente. Mas talvez eu não consiga mais ver essas coisas com os olhos de alguém que não está familiarizado com esses tópicos. Vou adicionar um texto para descrever as parcelas na parte inferior. Se você puder pensar em mais alguma coisa, entre em contato.
gung

13
+1 Essa ainda é a única resposta que aborda a situação proposta: quando duas variáveis já apresentam alguma associação positiva, é um erro regredir os valores classificados independentemente. Todas as outras respostas assumem que não há associação ou que ela é realmente negativa. Embora sejam bons exemplos, como não se aplicam, não serão convincentes. O que ainda nos falta, no entanto, é um exemplo intuitivo do mundo real, no nível real, de dados como aqueles simulados aqui, onde a natureza do erro é embaraçosamente óbvia.
whuber

8
+1 para não ser influenciado pela ortodoxia e usando "=" para a atribuição de R.
dsaxton

@dsaxton, eu uso <-algumas vezes, mas meu objetivo no CV é escrever o código R o mais próximo possível do pseudocódigo, para que seja mais legível para pessoas que não estão familiarizadas com R. =é bastante universal entre as linguagens de programação como um operador de atribuição .
gung

103

Se você quiser convencer seu chefe, pode mostrar o que está acontecendo com dados simulados, aleatórios e independentes . Com R:x,yinsira a descrição da imagem aqui

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")

Obviamente, os resultados classificados oferecem uma regressão muito melhor. No entanto, dado o processo usado para gerar os dados (duas amostras independentes), não há absolutamente nenhuma chance de que um possa ser usado para prever o outro.


8
É quase como toda a Internet "antes vs depois" de anúncios :)
Tim

Este é um bom exemplo, mas não acha que o convencerá porque nossos dados têm correlação positiva antes da classificação. A classificação apenas "reforça" o relacionamento (ainda que incorreto).
usuário arbitrário

17
@arbitraryuser: Bem, os dados classificados sempre mostrarão uma correlação positiva (boa, não negativa), independentemente da correlação, se houver, que os dados originais tinham. Se você sabe que os dados originais sempre têm uma correlação positiva de qualquer maneira, então é "correto por acidente" - mas então, por que se incomodar em verificar a correlação, se você já sabe que está presente e positivo? O teste que seu gerente está executando é um pouco como um "detector de qualidade do ar" que sempre diz "ar respirável detectado" - funciona perfeitamente, desde que você nunca o faça em qualquer lugar onde não haja ar respirável.
Ilmari Karonen

2
@arbitraryuser Outro exemplo que você pode achar mais persuasivo é usar x = 0: 50 ey = 0: -50, uma linha perfeita com a inclinação -1. Se você classificá-las, o relacionamento se transforma em uma linha perfeita com a inclinação 1. Se a verdade é que suas variáveis ​​variam em perfeita oposição, e você faz uma prescrição política com base na sua percepção equivocada de que elas variam em perfeito acordo, você estará fazendo exatamente a coisa errada.
John Rauser 23/01

99

Sua intuição está correta: os dados classificados independentemente não têm significado confiável, porque as entradas e saídas estão sendo mapeadas aleatoriamente uma para a outra, e não como era o relacionamento observado.

Há uma (boa) chance de a regressão nos dados classificados parecer boa, mas não faz sentido no contexto.

Exemplo intuitivo: suponha um conjunto de dados para alguma população. O gráfico dos dados não adulterados provavelmente se pareceria com uma função logarítmica ou de poder: taxas de crescimento mais rápidas para crianças que desaceleram para adolescentes posteriores e "assintoticamente" se aproximam da altura máxima de uma pessoa para adultos jovens e mais velhos.(X=age,Y=height)

Se ordenarmos em ordem crescente, o gráfico provavelmente será quase linear. Assim, a função de previsão é que as pessoas cresçam mais altas por toda a vida. Eu não apostaria dinheiro nesse algoritmo de previsão. x,y


25
+ 1 - mas eu abandonaria o "essencialmente" e enfatizaria novamente o "sem sentido".
whuber

12
Observe que o OP se refere à classificação independente dos dados, em vez de embaralhá- los. Essa é uma diferença sutil, mas importante, no que se refere ao "relacionamento" observado após a aplicação da operação especificada.
cardeal

3
Estou confuso com o exemplo que você adicionou. Se é idade e é altura, as duas variáveis ​​já estão ordenadas: a idade ou a altura de ninguém diminui. Portanto, a classificação não teria nenhum efeito. Cc para @JakeWestfall, que comentou que gostou desse exemplo. Você pode explicar? yxy
Ameba

12
@amoeba Conjunto de dados trivial: adolescente médio, centro da NBA com 30 e 30 anos, mulher média idosa. Depois de ordenar, o algoritmo de previsão é que o mais antigo é o mais alto.
precisa saber é o seguinte

1
@amoeba Eu vejo como isso pode ser interpretado assim, vou esclarecer.
precisa saber é o seguinte

40

Na verdade, vamos tornar isso realmente óbvio e simples. Suponha que eu realize um experimento no qual meço 1 litro de água em um recipiente padronizado e observe a quantidade de água restante no recipiente em função do tempo , a perda de água devido à evaporação:t iViti

Suponha agora que eu obtenho as seguintes medidas em horas e litros, respectivamente: Obviamente, esses são dados perfeitamente correlacionados (e hipotéticos). Mas se eu o tempo e as medidas de volume, obteria E a conclusão desse conjunto de dados classificados é que, à medida que o tempo aumenta, o volume de água aumenta e, além disso, a partir de 1 litro de água, você recebe, após 5 horas de espera, mais de 1 litro de água. Isso não é notável? A conclusão não é apenas oposta ao que os dados originais disseram, mas também sugere que descobrimos uma nova física! (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).

5
Bom exemplo intuitivo! Exceto pela última linha. Com os dados originais, obteríamos um volume negativo após o tempo, o que também é uma nova física. Você nunca pode realmente extrapolar uma regressão.
Jongsma

22

É uma arte real e requer uma compreensão real da psicologia para convencer algumas pessoas do erro de seus caminhos. Além de todos os excelentes exemplos acima, às vezes uma estratégia útil é mostrar que a crença de uma pessoa leva a uma inconsistência consigo mesma. Ou tente essa abordagem. Descubra algo em que seu chefe acredita firmemente, como o desempenho das pessoas na tarefa Y não tem relação com o quanto de um atributo X elas possuem. Mostre como a abordagem do seu chefe resultaria na conclusão de uma forte associação entre X e Y. Capitalize em crenças políticas / raciais / religiosas.

A invalidez do rosto deveria ter sido suficiente. Que chefe teimoso. Enquanto isso, procure um emprego melhor. Boa sorte.


12

Mais um exemplo. Imagine que você tem duas variáveis, uma relacionada à ingestão de chocolate e a segunda relacionada ao bem-estar geral. Você tem uma amostra de dois e seus dados são exibidos abaixo:

chocolateno happinessno chocolatehappiness

Qual é a relação de chocolate e felicidade com base na sua amostra? E agora, mude a ordem de uma das colunas - qual é a relação após esta operação?

tNt

iXiY

Observe que, às vezes, na verdade, estamos interessados ​​em alterar a ordem dos casos, fazemos isso nos métodos de reamostragem . Por exemplo, podemos embaralhar intencionalmente as observações várias vezes, para aprender algo sobre a distribuição nula de nossos dados (como seriam nossos dados se não houvesse relações de pares) e, em seguida, poderemos comparar se nossos dados reais são melhores do que os aleatoriamente baralhado. O que seu gerente faz é exatamente o contrário - ele intencionalmente força as observações a terem estrutura artificial onde não havia estrutura, o que leva a correlações falsas.


8

Um exemplo simples que talvez seu gerente entenda:

Digamos que você tenha a Moeda Y e a Moeda X, e você vira cada uma delas 100 vezes. Então você deseja prever se conseguir uma cara com a Coin X (IV) pode aumentar a chance de ter uma cara com a Coin Y (DV).

Sem classificação, o relacionamento será nenhum, porque o resultado da Moeda X não deve afetar o resultado da Moeda Y. Com a classificação, o relacionamento será quase perfeito.

Como faz sentido concluir que você tem uma boa chance de jogar uma moeda no flip se você acabou de jogar uma moeda com uma moeda diferente?


1
Precisa de tradução para qualquer moeda, exceto a que você está assumindo. (Eu sei que é uma oposição absolutamente trivial, e é fácil de corrigir qualquer problema, mas, ocasionalmente, vale ressaltar que este é um fórum internacional.)
Nick Cox

8

Essa técnica é realmente incrível. Estou encontrando todo tipo de relacionamento que nunca suspeitei. Por exemplo, eu não teria suspeitado que os números que aparecem na loteria Powerball, que são REIVINDICADOS, são aleatórios, na verdade estão altamente correlacionados com o preço de abertura das ações da Apple no mesmo dia! Pessoal, acho que estamos prestes a ganhar muito dinheiro. :)

> 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, parece não ter um relacionamento significativo. MAS usando a nova técnica aprimorada:

> 
> 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: Isso não pretende ser uma análise séria. Apenas mostre ao seu gerente que eles podem tornar QUALQUER duas variáveis ​​significativamente relacionadas se você classificar as duas.


6

Muitos bons exemplos de contadores aqui. Deixe-me adicionar um parágrafo sobre o coração do problema.

XiYiXYiiX1Y1X2Y2XYX1Y1X1Y1

Na verdade, deixe-me adicionar um parágrafo sobre por que "funciona" também.

XaXbXaXYaXzXYzYXaYaXzYzX1Y1


6

Na verdade, o teste descrito (ou seja, classificar os valores X e Y independentemente e regredir um contra o outro) Testa alguma coisa, assumindo que o (X, Y) seja amostrado como pares independentes de uma distribuição bivariada. Simplesmente não é um teste do que seu gerente deseja testar. É essencialmente verificar a linearidade de um gráfico QQ, comparando a distribuição marginal dos Xs com a distribuição marginal dos Ys. Em particular, os 'dados' cairão perto de uma linha reta se a densidade dos Xs (f (x)) estiver relacionada à densidade dos Ys (g (y)) desta maneira:

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


4

Estranho que o contra-exemplo mais óbvio ainda não esteja presente entre as respostas em sua forma mais simples.

Y=X

Y^X

Este é um tipo de "inverso direto" do padrão que você pode querer encontrar aqui.


Você poderia explicar a que afirmação isso é um contra-exemplo?
whuber

A afirmação do gerente de que você pode "obter melhores regressões o tempo todo" classificando entradas e saídas independentemente.
KT.

R2=1

R2

1
R2Y=X

3

Você está certo. Seu gerente encontraria resultados "bons"! Mas eles não têm sentido. O que você obtém ao classificá-los de forma independente é que os dois aumentam ou diminuem de maneira semelhante e isso dá uma aparência de um bom modelo. Mas as duas variáveis ​​foram retiradas do relacionamento real e o modelo está incorreto.


3

xx2xx2x

A regressão linear é geralmente menos razoável (existem exceções, veja outras respostas); mas a geometria das caudas e da distribuição dos erros indica a que distância estão as distribuições semelhantes.


2

Eu tenho uma intuição simples por que isso é realmente uma boa idéia se a função é monótona :

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

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

f

εi

PS: Acho incrível como uma pergunta aparentemente simples pode levar a novas maneiras interessantes de repensar o modelo de padrões. Por favor, obrigado chefe!


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

2

Digamos que você tenha esses pontos em um círculo de raio 5. Você calcula a correlação:

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

Depois, você classifica seus valores xe y e faz a correlação novamente:

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

Com essa manipulação, você altera um conjunto de dados com correlação 0,0 para um com correlação 1,0. Isso é um problema.


1

Deixe-me jogar o advogado do diabo aqui. Eu acho que muitas respostas fizeram casos convincentes de que o procedimento do chefe está fundamentalmente errado. Ao mesmo tempo, ofereço um contra-exemplo que ilustra que o chefe pode realmente ter visto resultados melhorar com essa transformação equivocada.

Penso que o reconhecimento de que esse procedimento pode ter "funcionado" para o chefe pode começar um argumento mais persuasivo: Claro, funcionou, mas apenas nessas circunstâncias de sorte que geralmente não se mantêm. Então podemos mostrar - como na excelente resposta aceita - quão ruim pode ser quando não temos sorte. Qual é a maior parte do tempo. Isoladamente, mostrar ao chefe o quão ruim pode ser pode não convencê-lo, porque ele pode ter visto um caso em que isso melhora as coisas e acha que nosso argumento sofisticado deve ter uma falha em algum lugar.

Encontrei esses dados on-line e, com certeza, parece que a regressão é aprimorada pela classificação independente de X e Y porque: a) os dados estão altamente correlacionados positivamente eb) OLS realmente não se dá bem com extrema (alta outliers). A altura e o peso têm uma correlação de 0,19 com o outlier incluído, 0,77 com o outlier excluído e 0,78 com o X e Y classificados independentemente.

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")

insira a descrição da imagem aqui

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

insira a descrição da imagem aqui

Portanto, parece-me que o modelo de regressão neste conjunto de dados é aprimorado pela classificação independente (linha preta versus linha vermelha no primeiro gráfico), e há uma relação visível (preto versus vermelho no segundo gráfico), devido ao conjunto de dados específico estar altamente (positivamente) correlacionado e com o tipo certo de discrepâncias que prejudicam mais a regressão do que o embaralhamento que ocorre quando você classifica independentemente x e y.

Novamente, não dizer que a classificação independente faz algo sensato em geral, nem que seja a resposta correta aqui. Só que o chefe pode ter visto algo assim que funcionou exatamente nas circunstâncias certas.


1
Parece pura coincidência que você tenha chegado a coeficientes de correlação semelhantes. Este exemplo não parece demonstrar nada sobre um relacionamento entre os dados originais e os classificados independentemente.
whuber

2
@ whuber: E o segundo gráfico? Parece-me que, se os dados originais estiverem altamente correlacionados, classificá-los poderá apenas embaralhar os valores um pouco, basicamente preservando o relacionamento original +/-. Com alguns discrepantes, as coisas são reorganizadas mais, mas ... Desculpe, não tenho as habilidades matemáticas para ir além.
Wayne

1
Acho que a intuição que você expressa está correta, Wayne. A lógica da pergunta - como a interpreto - diz respeito ao que você pode dizer sobre os dados originais com base apenas no gráfico de dispersão das variáveis ​​classificadas. A resposta é: absolutamente nada além do que você pode deduzir de suas distribuições separadas (univariadas). O ponto é que os pontos vermelhos em seu segundo gráfico são consistentes não apenas com os dados que você mostra, mas também com todo o número astronómico de outras permutações desses dados - e você não tem como saber qual dessas permutações é a o certo.
whuber

2
@whuber Acho que a principal distinção aqui é que o OP disse que deve "destruir completamente" os dados. Sua resposta aceita mostra em detalhes como é esse o caso, em geral. Você não pode receber dados tratados dessa maneira e tem alguma idéia se o resultado fará sentido. MAS, também é verdade que o gerente poderia ter lidado anteriormente com exemplos como o meu (contra-) exemplo e descobriu que essa transformação equivocada realmente melhorava os resultados. Portanto, podemos concordar que o gerente estava fundamentalmente errado, mas também pode ter tido muita sorte - e, no caso de sorte, funciona.
217 Wayne

@ whuber: editei a introdução da minha resposta de uma maneira que acho relevante para a discussão. Penso que reconhecer como o procedimento do chefe poderia ter funcionado para ele poderia ser o primeiro passo em um argumento mais persuasivo que concorda com a experiência do chefe. Para sua consideração.
Wayne

-7

Se ele selecionou previamente as variáveis ​​para serem monótonas, na verdade é bastante robusto. Google "modelos lineares impróprios" e "Robin Dawes" ou "Howard Wainer". Dawes e Wainer conversam sobre maneiras alternativas de escolher coeficientes. John Cook tem uma coluna curta ( http://www.johndcook.com/blog/2013/03/05/robustness-of-equal-weights/ ) nela.


4
O que Cook discute nessa postagem do blog não é o mesmo que classificar x e y independentemente um do outro e depois ajustar um modelo de regressão às variáveis ​​classificadas.
gung

4
O que o chefe do OP está fazendo não é "prever o que o FInverse (G (x)), onde F e G são os ecdfs de Y e X". Você pode ver o procedimento no código na minha resposta.
gung

4
Você pode 1. adicionar uma referência a um artigo específico de Dawes e / ou Wainer, 2. esclarecer como isso se relaciona com o procedimento de classificação do chefe? Ou é apenas o ponto que, se o valor do coeficiente não importa muito, desde que o sinal esteja correto e o sinal esteja correto por suposição, então não importa muito que o procedimento do chefe dê valores estranhos para os coeficientes?
Juho Kokkala

2
1. As referências: - Dawes, RM "A beleza robusta de modelos lineares impróprios na tomada de decisão". Amer. Psychol. 34, n. 7 (1979): 571. - Wainer, H. "Estimativa de coeficientes em modelos lineares: isso não deixa de lado". Psych. Touro. 83, n. 2 (1976): 213. - Dawes, RM, & Corrigan, B. "Linear Models in Decision Making". Psych. Bull., 81 95-106 (1974) 2. Tanto Dawes quanto Wainer mostram que, com dados reais e problemas reais de previsão, prever o futuro de Y de X com desvios de suas médias ou pela correspondência de classificações funciona muito bem, e isso é bastante insensível à inclinação.
Bill Raynor

2
Essas referências e explicações seriam melhores em sua resposta do que enterradas nos comentários.
Scortchi

-8

Eu pensei sobre isso, e pensei que há alguma estrutura aqui com base nas estatísticas da ordem. Eu verifiquei, e parece que o gerente não é tão louco quanto parece

Coeficiente de correlação de estatísticas de pedidos como uma nova medição de associação com aplicativos para análise de biossinal

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

Propomos um novo coeficiente de correlação baseado em estatísticas de ordem e desigualdade de rearranjo. O coeficiente proposto representa um compromisso entre o coeficiente linear de Pearson e os dois coeficientes baseados em classificação, nomeadamente o rho de Spearman e o tau de Kendall. Derivações teóricas mostram que nosso coeficiente possui as mesmas propriedades básicas que os três coeficientes clássicos. Estudos experimentais baseados em quatro modelos e seis biossinais mostram que nosso coeficiente apresenta desempenho melhor que os dois coeficientes baseados em classificação ao medir associações lineares; enquanto é capaz de detectar associações não lineares monótonas, como os dois coeficientes baseados em classificação. Análises estatísticas extensas também sugerem que nosso novo coeficiente possui robustez anti-ruído superior, pequeno viés,


14
Não é isso que a pergunta está descrevendo. Quando os dados são substituídos por estatísticas de pedidos, os pares de dados ainda estão conectados como sempre. A pergunta descreve uma operação que destrói essas conexões, obliterando todas as informações sobre sua distribuição conjunta.
whuber

Não necessariamente. É possível construir (ou ocorrer) conjuntos de dados em que a classificação independente não destrói todas as informações sobre a probabilidade conjunta.
Daniel

5
Por favor, dê-nos um exemplo explícito de sua reivindicação, porque é difícil ver como isso é matematicamente possível, e muito menos possível na prática.
whuber

@ whuber: Por favor, veja minha nova resposta, que possui um conjunto de dados real que satisfaz sua pergunta ... eu acho.
Wayne
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.