¿Qué sucede si las variables explicativas y de respuesta se ordenan independientemente antes de la regresión?


302

Supongamos que tenemos un conjunto de datos con puntos. Queremos realizar una regresión lineal, pero primero clasificamos los valores y los valores independientemente uno del otro, formando un conjunto de datos . ¿Hay alguna interpretación significativa de la regresión en el nuevo conjunto de datos? esto tiene nombre?(Xi,Yi)nY i ( X i , Y j )XiYi(Xi,Yj)

Me imagino que esta es una pregunta tonta, así que me disculpo, no estoy formalmente entrenado en estadística. En mi opinión, esto destruye completamente nuestros datos y la regresión no tiene sentido. Pero mi gerente dice que obtiene "mejores regresiones la mayor parte del tiempo" cuando hace esto (aquí "mejor" significa más predicción). Tengo la sensación de que se está engañando a sí mismo.

EDITAR: Gracias por todos sus buenos y pacientes ejemplos. Le mostré los ejemplos de @ RUser4512 y @gung y él sigue firme. Se está irritando y yo me estoy agotando. Me siento abatido. Probablemente comenzaré a buscar otros trabajos pronto.


120
Pero mi gerente dice que obtiene "mejores regresiones la mayor parte del tiempo" cuando hace esto. Oh dios ...
Jake Westfall

56
¡Ciertamente no hay razón para que te sientas avergonzado!
Jake Westfall

36
"La ciencia es lo que queramos que sea". - Dr. Leo Spaceman.
Sycorax

52
Esta idea tiene que competir con otra que he encontrado: si su muestra es pequeña, simplemente engánchela con varias copias de los mismos datos.
Nick Cox

47
Deberías decirle a tu jefe que tienes una mejor idea. En lugar de utilizar los datos reales, solo genera los tuyos propios porque será más fácil modelarlos.
dsaxton

Respuestas:


147

No estoy seguro de lo que su jefe piensa que significa "más predictivo". Muchas personas creen incorrectamente que los valores más bajos significan un modelo mejor / más predictivo. Eso no es necesariamente cierto (siendo este el caso). Sin embargo, la clasificación independiente de ambas variables de antemano garantizará un valor más bajo . Por otro lado, podemos evaluar la precisión predictiva de un modelo comparando sus predicciones con los nuevos datos generados por el mismo proceso. Lo hago a continuación en un ejemplo simple (codificado 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"))

ingrese la descripción de la imagen aquí

La gráfica superior izquierda muestra los datos originales. Existe alguna relación entre e (es decir, la correlación es de alrededor de .) La gráfica superior derecha muestra cómo se ven los datos después de ordenar de forma independiente ambas variables. Puede ver fácilmente que la fuerza de la correlación ha aumentado sustancialmente (ahora es de aproximadamente ). Sin embargo, en las parcelas inferiores, vemos que la distribución de los errores predictivos está mucho más cerca de para el modelo entrenado en los datos originales (sin clasificar). El error predictivo absoluto medio para el modelo que utilizó los datos originales es , mientras que el error predictivo absoluto medio para el modelo entrenado en los datos ordenados esy .31 .99 0 1.1 1.98 y 68 %xy.31.9901.11.98—Casi dos veces más grande. Eso significa que las predicciones del modelo de datos ordenados están mucho más lejos de los valores correctos. La gráfica en el cuadrante inferior derecho es una gráfica de puntos. Muestra las diferencias entre el error predictivo con los datos originales y con los datos ordenados. Esto le permite comparar las dos predicciones correspondientes para cada nueva observación simulada. Los puntos azules a la izquierda son momentos en que los datos originales estaban más cerca del nuevo valor , y los puntos rojos a la derecha son momentos en que los datos ordenados arrojan mejores predicciones. Hubo predicciones más precisas del modelo entrenado sobre los datos originales el del tiempo. y68%


El grado en que la clasificación causará estos problemas es una función de la relación lineal que existe en sus datos. Si la correlación entre e ya fuera , la clasificación no tendría ningún efecto y, por lo tanto, no sería perjudicial. Por otro lado, si la correlación fueray 1.0 - 1.0xy1.01.0, la clasificación revertiría completamente la relación, haciendo que el modelo sea lo más inexacto posible Si los datos no estuvieran completamente correlacionados originalmente, la clasificación tendría un efecto perjudicial intermedio, pero aún bastante grande, sobre la precisión predictiva del modelo resultante. Como usted menciona que sus datos generalmente están correlacionados, sospecho que ha proporcionado cierta protección contra los daños intrínsecos a este procedimiento. Sin embargo, ordenar primero es definitivamente dañino. Para explorar estas posibilidades, simplemente podemos volver a ejecutar el código anterior con diferentes valores para B1(usando la misma semilla para la reproducibilidad) y examinar el resultado:

  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
Su respuesta hace un muy buen punto, pero quizás no tan claramente como podría y debería. No es necesariamente obvio para un laico (como, por ejemplo, el gerente del OP) lo que todas esas tramas al final (no importa el código R) realmente muestran e implican. OMI, su respuesta realmente podría usar un párrafo explicativo o dos.
Ilmari Karonen

3
Gracias por tu comentario, @IlmariKaronen. ¿Puedes sugerir cosas para agregar? Traté de hacer que el código se explicara lo más posible, y lo comenté extensamente. Pero es posible que ya no pueda ver estas cosas con los ojos de alguien que no está familiarizado con estos temas. Agregaré un texto para describir las parcelas en la parte inferior. Si puede pensar en otra cosa, hágamelo saber.
Gung

13
+1 Esta sigue siendo la única respuesta que aborda la situación propuesta: cuando dos variables ya exhiben alguna asociación positiva, sin embargo, es un error regresar los valores ordenados de forma independiente. Todas las otras respuestas suponen que no hay asociación o que en realidad es negativa. Aunque son buenos ejemplos, dado que no se aplican, no serán convincentes. Sin embargo, lo que aún nos falta es un ejemplo intuitivo de datos reales en el mundo real como los simulados aquí, donde la naturaleza del error es vergonzosamente obvia.
whuber

8
+1 por no ser influido por la ortodoxia y usar "=" para la asignación en R.
dsaxton

@dsaxton, uso a <-veces, pero mi objetivo en CV es escribir el código R lo más cerca posible del pseudocódigo para que sea más legible para las personas que no están familiarizadas con R. =es bastante universal entre los lenguajes de programación como operador de asignación .
Gung

103

Si desea convencer a su jefe, puede mostrar lo que está sucediendo con datos simulados, aleatorios e independientes . Con R:x,yingrese la descripción de la imagen aquí

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, los resultados ordenados ofrecen una regresión mucho más agradable. Sin embargo, dado el proceso utilizado para generar los datos (dos muestras independientes) no hay absolutamente ninguna posibilidad de que uno pueda usarse para predecir el otro.


8
Es casi como todos los anuncios de Internet "antes vs después" :)
Tim

Este es un buen ejemplo, pero no creo que lo convenza porque nuestros datos tienen una correlación positiva antes de ordenar. La clasificación simplemente "refuerza" la relación (aunque sea incorrecta).
usuario arbitrario

17
@arbitraryuser: Bueno, los datos ordenados siempre mostrarán una correlación positiva (bueno, no negativa), sin importar la correlación, si es que la hubo, de los datos originales. Si sabe que los datos originales siempre tienen una correlación positiva de todos modos, entonces es "correcta por accidente", pero entonces, ¿por qué molestarse en verificar la correlación, si ya sabe que está presente y es positiva de todos modos? La prueba que está ejecutando su gerente es un poco como un "detector de calidad del aire" que siempre dice "aire respirable detectado": funciona perfectamente, siempre y cuando nunca lo lleve a ningún lugar donde no haya aire respirable.
Ilmari Karonen

2
@arbitraryuser Otro ejemplo que puede encontrar más persuasuve es tomar x = 0: 50 ey = 0: -50, una línea perfecta con pendiente -1. Si los clasifica, la relación se convierte en una línea perfecta con pendiente 1. Si la verdad es que sus variables varían en oposición perfecta, y hace una prescripción de política basada en su percepción errónea de que varían en perfecto acuerdo, usted estará haciendo exactamente lo incorrecto.
John Rauser

99

Su intuición es correcta: los datos ordenados independientemente no tienen un significado confiable porque las entradas y salidas se asignan aleatoriamente entre sí en lugar de cuál era la relación observada.

Hay una (buena) posibilidad de que la regresión en los datos ordenados se vea bien, pero no tiene sentido en su contexto.

Ejemplo intuitivo: suponga un conjunto de datos para alguna población. El gráfico de los datos no adulterados probablemente se parecería más bien a una función logarítmica o de poder: tasas de crecimiento más rápidas para los niños que disminuyen para los adolescentes posteriores y se acercan "asintóticamente" a la estatura máxima para adultos jóvenes y mayores.(X=age,Y=height)

Si ordenamos en orden ascendente, la gráfica probablemente será casi lineal. Por lo tanto, la función de predicción es que las personas crecen más alto durante toda su vida. No apostaría dinero en ese algoritmo de predicción. x,y


25
+ 1 - pero dejaría lo "esencialmente" y volvería a enfatizar lo "sin sentido".
whuber

12
Tenga en cuenta que el OP se refiere a ordenar de forma independiente los datos en lugar de barajarlos . Esta es una diferencia sutil pero importante ya que se refiere a lo que la "relación" observada se vería después de aplicar la operación dada.
cardenal

3
Estoy confundido por el ejemplo que agregaste. Si es edad e es altura, entonces ambas variables ya están ordenadas: la edad o altura de nadie nunca disminuye. Por lo tanto, la clasificación no tendría ningún efecto en absoluto. Cc a @JakeWestfall, quien comentó que le gustó este ejemplo. ¿Puedes explicar? xy
ameba

12
@amoeba Conjunto de datos triviales: adolescente promedio, centro de la NBA a mediados de los años 30, mujer promedio de edad avanzada. Después de ordenar el algoritmo de predicción es que el más antiguo es el más alto.
d0rmLife

1
@amoeba Ya veo cómo podría interpretarse así, aclararé.
d0rmLife

40

En realidad, hagamos esto realmente obvio y simple. Supongamos que realizo un experimento en el que mido 1 litro de agua en un recipiente estandarizado y miro la cantidad de agua que queda en el recipiente en función del tiempo , la pérdida de agua debido a la evaporación:Viti

Ahora suponga que las siguientes medidas en horas y litros, respectivamente: Esto es, obviamente, datos perfectamente correlacionados (e hipotéticos). Pero si tuviera que clasificar el tiempo y las mediciones de volumen, obtendría Y la conclusión de este conjunto de datos ordenados es que a medida que aumenta el tiempo, aumenta el volumen de agua y, además, que a partir de 1 litro de agua, obtendría más de 1 litro después de 5 horas de espera . ¿No es eso notable? La conclusión no solo es opuesta a lo que dicen los datos originales, sino que también sugiere que hemos descubierto una nueva 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).

55
Buen ejemplo intuitivo! Excepto por la última línea. Con los datos originales obtendríamos un volumen negativo una y otra vez, lo cual es una nueva física. Nunca se puede extrapolar realmente una regresión.
Jongsma

22

Es un arte real y requiere una comprensión real de la psicología para poder convencer a algunas personas del error de sus formas. Además de todos los excelentes ejemplos anteriores, una estrategia útil es a veces mostrar que la creencia de una persona lleva a una inconsistencia consigo misma. O prueba este enfoque. Descubra algo en lo que su jefe cree firmemente, como el desempeño de las personas en la tarea Y no tiene relación con la cantidad de atributo X que poseen. Muestre cómo el enfoque de su propio jefe daría como resultado la conclusión de una fuerte asociación entre X e Y. Aproveche las creencias políticas / raciales / religiosas.

La invalidez facial debería haber sido suficiente. Qué jefe terco. Mientras tanto, busca un mejor trabajo. Buena suerte.


12

Un ejemplo mas. Imagine que tiene dos variables, una relacionada con el consumo de chocolate y la segunda relacionada con el bienestar general. Tiene una muestra de dos y sus datos se ven a continuación:

chocolateno happinessno chocolatehappiness

¿Cuál es la relación entre chocolate y felicidad según tu muestra? Y ahora, cambie el orden de una de las columnas: ¿cuál es la relación después de esta operación?

El mismo problema puede abordarse de manera diferente. Digamos que tiene una muestra más grande, con algunos casos y mide dos variables continuas: consumo de chocolate por día (en gramos) y felicidad (imagine que tiene alguna forma de medirlo). Si está interesado si están relacionados, puede medir la correlación o usar el modelo de regresión lineal, pero a veces en tales casos las personas simplemente dicotomizan una variable y la usan como un factor de agrupación con prueba (esto no es lo mejor y noN ttenfoque recomendado, pero déjame usarlo como ejemplo). Entonces divide su muestra en dos grupos: con alto consumo de chocolate y con bajo consumo de chocolate. Luego, compara la felicidad promedio en ambos grupos. Ahora imagine lo que sucedería si clasificara la variable de felicidad independientemente de la variable de agrupación: todos los casos con alta felicidad irían al grupo de alto consumo de chocolate, y todos los casos de baja felicidad terminarían en un grupo de bajo consumo de chocolate, si tal prueba de hipótesis tuviera cualquier sentido? Esto puede extrapolarse fácilmente a la regresión si imagina que en lugar de dos grupos para el consumo de chocolate tiene estos grupos, uno para cada participante (observe que prueba está relacionada con la regresión).Nt

En la regresión o correlación bivariada, nos interesan las relaciones por pares entre cada -ésimo valor de y el -ésimo valor de , el cambio de orden de las observaciones destruye esta relación. Si ordena ambas variables, esto siempre las lleva a estar más positivamente correlacionadas entre sí, ya que siempre ocurrirá que si una de las variables aumenta, la otra también aumenta (¡porque están ordenadas!).X i YiXiY

Tenga en cuenta que a veces en realidad estamos interesados ​​en cambiar el orden de los casos, lo hacemos en los métodos de remuestreo . Por ejemplo, podemos mezclar intencionalmente las observaciones varias veces para aprender algo sobre la distribución nula de nuestros datos (cómo se verían nuestros datos si no hubiera relaciones por pares), y luego podemos comparar si nuestros datos reales son de alguna manera mejores que los aleatorios barajado Lo que hace su gerente es exactamente lo contrario: intencionalmente obliga a las observaciones a tener una estructura artificial donde no había estructura, lo que conduce a correlaciones falsas.


8

Un ejemplo simple que tal vez su gerente podría entender:

Digamos que tienes la Moneda Y y la Moneda X, y volteas cada una de ellas 100 veces. Luego, desea predecir si obtener una cara con Coin X (IV) puede aumentar la posibilidad de obtener una cara con Coin Y (DV).

Sin ordenar, la relación será nula, porque el resultado de la moneda X no debería afectar el resultado de la moneda Y. Con la clasificación, la relación será casi perfecta.

¿Cómo tiene sentido concluir que tienes una buena posibilidad de obtener una cara en un lanzamiento de moneda si acabas de lanzar una cara con una moneda diferente?


1
Necesita traducción para cualquier moneda que no sea la que está asumiendo. (Sé que es una objeción completamente trivial, y es fácil solucionar cualquier problema, pero en ocasiones vale la pena enfatizar que este es un foro internacional.)
Nick Cox

8

Esta técnica es realmente asombrosa. Estoy encontrando todo tipo de relaciones que nunca sospeché. Por ejemplo, no habría sospechado que los números que aparecen en la lotería Powerball, que se RECLAMA son aleatorios, ¡en realidad están altamente correlacionados con el precio de apertura de las acciones de Apple el mismo día! Amigos, creo que estamos a punto de cobrar en 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, no parece tener una relación significativa. PERO usando la nueva técnica mejorada:

> 
> 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: Esto no pretende ser un análisis serio. Simplemente muestre a su gerente que pueden hacer que CUALQUIERA dos variables estén significativamente relacionadas si las ordena a ambas.


6

Un montón de buenos ejemplos de contador aquí. Permítanme agregar un párrafo sobre el corazón del problema.

XiYiXYiiX1Y1X2Y2XYX1Y1X1Y1

En realidad, permítanme agregar un párrafo sobre por qué "funciona" también.

XaXbXaXYaXzXYzYXaYaXzYzX1Y1


6

En realidad, la prueba que se describe (es decir, ordenar los valores X y los valores Y independientemente y hacer retroceder uno contra el otro) prueba algo, suponiendo que los (X, Y) se muestrean como pares independientes de una distribución bivariada. Simplemente no es una prueba de lo que su gerente quiere probar. Es esencialmente verificar la linealidad de una gráfica QQ, comparando la distribución marginal de las X con la distribución marginal de las Ys. En particular, los 'datos' caerán cerca de una línea recta si la densidad de las X (f (x)) está relacionada con la densidad de las Y (g (y)) de esta manera:

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


4

Es extraño que el contraejemplo más obvio todavía no esté presente entre las respuestas en su forma más simple.

Y=X

Y^X

Este es un tipo de "inverso directo" del patrón que podría estar dispuesto a encontrar aquí.


¿Podría explicar para qué afirmación es un contraejemplo?
whuber

La afirmación del gerente de que puede "obtener mejores regresiones todo el tiempo" clasificando las entradas y salidas de forma independiente.
KT.

R2=1

R2

1
R2Y=X

3

Tienes razón. ¡Su gerente encontraría "buenos" resultados! Pero no tienen sentido. Lo que obtienes cuando los clasificas independientemente es que los dos aumentan o disminuyen de manera similar y esto da la apariencia de un buen modelo. Pero las dos variables han sido despojadas de su relación real y el modelo es incorrecto.


3

xx2xx2x

La regresión lineal suele ser menos razonable (existen excepciones, ver otras respuestas); pero la geometría de las colas y de la distribución de errores te dice cuán lejos de similares son las distribuciones.


2

Tengo una intuición simple de por qué esta es realmente una buena idea si la función es monótona :

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

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

f

εi

PD: Me parece sorprendente cómo una pregunta aparentemente simple puede conducir a nuevas e interesantes formas de repensar el modelo de estándares. Por favor, gracias jefe!


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

2

Digamos que tiene estos puntos en un círculo de radio 5. Calcula la correlación:

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

Luego ordena los valores de x e y y vuelve a hacer la correlación:

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

Mediante esta manipulación, cambia un conjunto de datos con una correlación de 0.0 a uno con una correlación de 1.0. Eso es un problema.


1

Déjame jugar a Devil's Advocate aquí. Creo que muchas respuestas han dado casos convincentes de que el procedimiento del jefe está fundamentalmente equivocado. Al mismo tiempo, ofrezco un contraejemplo que ilustra que el jefe puede haber visto que los resultados mejoran con esta transformación equivocada.

Creo que reconocer que este procedimiento podría haber "funcionado" para el jefe podría comenzar un argumento más persuasivo: Claro, funcionó, pero solo bajo estas circunstancias afortunadas que generalmente no son válidas. Entonces podemos mostrar, como en la excelente respuesta aceptada, lo malo que puede ser cuando no tenemos suerte. Que es la mayor parte del tiempo. De forma aislada, mostrando el jefe de lo malo que puede ser no le podría persuadir porque él podría haber visto un caso en el que hace mejorar las cosas, y la cifra que nuestro argumento de fantasía debe tener un defecto en alguna parte.

Encontré estos datos en línea y, efectivamente, parece que la regresión se mejora mediante la clasificación independiente de X e Y porque: a) los datos están altamente correlacionados positivamente, yb) OLS realmente no funciona bien con extrema (alta -palanca) valores atípicos. La altura y el peso tienen una correlación de 0.19 con el valor atípico incluido, 0.77 con el valor atípico excluido y 0.78 con X e Y independientemente clasificados.

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

ingrese la descripción de la imagen aquí

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

ingrese la descripción de la imagen aquí

Entonces, me parece que el modelo de regresión en este conjunto de datos se mejora mediante la clasificación independiente (línea negra versus línea roja en el primer gráfico), y hay una relación visible (negro versus rojo en el segundo gráfico), debido a que el conjunto de datos particular es altamente (positivamente) correlacionado y tener el tipo correcto de valores atípicos que dañan la regresión más que la combinación aleatoria que ocurre cuando clasifica independientemente x e y.

Una vez más, no decir que la ordenación independiente hace algo sensato en general, ni que es la respuesta correcta aquí. Solo que el jefe podría haber visto algo así que funcionó en las circunstancias correctas.


1
Parece una pura coincidencia que hayas llegado a coeficientes de correlación similares. Este ejemplo no parece demostrar nada sobre una relación entre los datos originales y los ordenados de forma independiente.
whuber

2
@whuber: ¿Qué tal el segundo gráfico? Me parece que si los datos originales están altamente correlacionados, ordenarlos solo puede mezclar un poco los valores, básicamente preservando la relación original +/-. Con un par de valores atípicos, las cosas se reorganizan más, pero ... Lo siento, no tengo las habilidades matemáticas para ir más allá.
Wayne

1
Creo que la intuición que expresas es correcta, Wayne. La lógica de la pregunta, tal como la interpreto, se refiere a lo que puede decir sobre los datos originales basados ​​solo en el diagrama de dispersión de las variables ordenadas. La respuesta es, absolutamente nada más allá de lo que se puede inferir de sus distribuciones separadas (univariadas). El punto es que los puntos rojos en su segundo gráfico son consistentes no solo con los datos que muestra, sino también con toda la gran cantidad astronómica de otras permutaciones de esos datos, y no tiene forma de saber cuál de esas permutaciones es la el correcto.
whuber

2
@whuber Creo que la distinción clave aquí es que el OP dijo que debe "destruir completamente" los datos. Su respuesta aceptada muestra en detalle cómo es este el caso, en general. No se le pueden entregar datos tratados de esta manera y tener alguna idea de si el resultado tendrá sentido. PERO, también es cierto que el gerente podría haber tratado previamente con ejemplos como mi (contra) ejemplo y descubrió que esta transformación equivocada en realidad mejoró los resultados. Por lo tanto, podemos estar de acuerdo en que el gerente estaba fundamentalmente equivocado, pero también podría haber tenido bastante suerte, y en el caso de suerte, funciona.
Wayne

@whuber: he editado la introducción a mi respuesta de una manera que creo que la hace relevante para la discusión. Creo que reconocer cómo el procedimiento del jefe podría haber funcionado para él podría ser un primer paso en un argumento más persuasivo que concuerda con la experiencia del jefe. Por tu consideración.
Wayne

-7

Si ha preseleccionado las variables para que sean monótonas, en realidad es bastante robusto. Google "modelos lineales impropios" y "Robin Dawes" o "Howard Wainer". Dawes y Wainer hablan sobre formas alternativas de elegir coeficientes. John Cook tiene una columna corta ( http://www.johndcook.com/blog/2013/03/05/robustness-of-equal-weights/ ) en ella.


44
Lo que Cook discute en esa publicación de blog no es lo mismo que ordenar xey independientemente uno del otro y luego ajustar un modelo de regresión a las variables ordenadas.
Gung

44
Lo que está haciendo el jefe del OP no es "predecir [ing] yhat por FInverse (G (x)), donde F y G son los ecdfs de Y y X". Puedes ver el procedimiento en el código en mi respuesta.
Gung

44
¿Puede 1. agregar una referencia a un artículo en particular de Dawes y / o Wainer, 2. aclarar cómo se relaciona con el procedimiento de clasificación del jefe? ¿O el punto es solo que si el valor del coeficiente no importa mucho mientras el signo sea correcto y el signo sea correcto por suposición, entonces no importa mucho que el procedimiento del jefe dé valores extraños para los coeficientes?
Juho Kokkala

2
1. Las referencias: - Dawes, RM "La belleza robusta de los modelos lineales inadecuados en la toma de decisiones". Amer Psychol 34, no. 7 (1979): 571. - Wainer, H. "Estimación de coeficientes en modelos lineales: no importa". Psicoanalizar. Toro. 83, no. 2 (1976): 213. - Dawes, RM y Corrigan, B. "Modelos lineales en la toma de decisiones". Psicoanalizar. Bull., 81 95-106 (1974) 2. Tanto Dawes como Wainer muestran que con datos reales y problemas de predicción reales, predecir el futuro Y de X con desviaciones de sus medios o haciendo coincidir los rangos funciona bastante bien, y esto es bastante insensible a la pendiente.
Bill Raynor

2
Estas referencias y explicaciones serían mejores en su respuesta en lugar de estar enterradas en los comentarios.
Scortchi

-8

Lo pensé y pensé que hay una estructura aquí basada en estadísticas de pedidos. Lo comprobé, y parece que la mo del gerente no es tan loca como parece

Coeficiente de correlación de estadísticas de pedidos como una nueva medición de asociación con aplicaciones al análisis de bioseñales

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.

Proponemos un nuevo coeficiente de correlación basado en estadísticas de orden y desigualdad de reordenamiento. El coeficiente propuesto representa un compromiso entre el coeficiente lineal de Pearson y los dos coeficientes basados ​​en rango, a saber, el rho de Spearman y la tau de Kendall. Las derivaciones teóricas muestran que nuestro coeficiente posee las mismas propiedades básicas que los tres coeficientes clásicos. Los estudios experimentales basados ​​en cuatro modelos y seis señales biológicas muestran que nuestro coeficiente funciona mejor que los dos coeficientes basados ​​en rangos al medir asociaciones lineales; mientras que es capaz de detectar asociaciones no lineales monótonas como los dos coeficientes basados ​​en rangos. Extensos análisis estadísticos también sugieren que nuestro nuevo coeficiente tiene una robustez antirruido superior, un pequeño sesgo,


14
Esto no es lo que describe la pregunta. Cuando los datos se reemplazan por estadísticas de pedidos, los pares de datos todavía están conectados como siempre lo estuvieron. La pregunta describe una operación que destruye esas conexiones, borrando toda la información sobre su distribución conjunta.
whuber

No necesariamente. Posible construir (o suceder) conjuntos de datos donde la clasificación independiente no destruye toda la información sobre la probabilidad conjunta.
Daniel

55
Danos un ejemplo explícito de tu reclamo, porque es difícil ver cómo tal cosa es matemáticamente posible, y mucho menos posible en la práctica.
whuber

@whuber: Por favor, vea mi nueva respuesta, que tiene un conjunto de datos real que satisface su pregunta ... creo.
Wayne
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.