Що станеться, якщо змінні пояснень та відповідей сортуються незалежно до регресії?


302

Припустимо, у нас є набір даних з точками. Ми хочемо виконати лінійну регресію, але спочатку сортуємо значення та значення незалежно один від одного, утворюючи набір даних . Чи є якесь осмислене тлумачення регресії у новому наборі даних? Чи має це ім’я?n X i Y i ( X i , Y j )(Xi,Yi)nXiYi(Xi,Yj)

Я думаю, що це дурне питання, тому я вибачаюся, що офіційно я не навчаюсь статистиці. На мій погляд, це повністю руйнує наші дані, і регрес безглуздий. Але мій менеджер каже, що він отримує «кращі регресії більшу частину часу», коли робить це (тут «краще» означає більш прогнозувати). У мене є відчуття, що він обманює себе.

EDIT: Дякую за всі ваші приємні та терплячі приклади. Я показав йому приклади @ RUser4512 та @gung, і він залишається непохитним. Він стає роздратованим, і я виснажується. Я відчуваю себе засміченим. Я, мабуть, незабаром почну шукати іншу роботу.


120
Але мій менеджер каже, що він отримує «кращі регресії більшу частину часу», коли робить це. О боже ...
Джейк Уестпад

56
Ви, звичайно, не маєте ніяких причин відчувати себе ніяково!
Джейк Уестпад

36
"Наука - це все, що ми хочемо". - Доктор Лев Спейсмен.
Sycorax

52
Ця ідея повинна конкурувати з іншою, з якою я стикався: Якщо ваш зразок невеликий, просто навантажте його кількома копіями одних і тих же даних.
Нік Кокс

47
Ви повинні сказати своєму начальникові, що маєте кращу ідею. Замість використання фактичних даних просто генеруйте власні, тому що моделювати їх буде простіше.
dsaxton

Відповіді:


147

Я не впевнений, що ваш начальник вважає "більш передбачувальним". Багато людей неправильно вважають, що більш низькі значення означають кращу / більш прогнозовану модель. Це не обов'язково правда (це вже справа). Однак незалежне сортування обох змінних заздалегідь гарантуватиме нижчу величину. З іншого боку, ми можемо оцінити прогностичну точність моделі, порівнявши її прогнози з новими даними, що були сформовані тим самим процесом. Я роблю це нижче на простому прикладі (закодовано ). рppR

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

введіть тут опис зображення

Лівий верхній графік показує вихідні дані. Існує деяка залежність між і (а саме, кореляція становить приблизно .) Правий верхній графік показує, як виглядають дані після незалежного сортування обох змінних. Можна легко побачити, що сила кореляції значно зросла (зараз це приблизно ). Однак на нижніх графіках ми бачимо, що розподіл помилок прогнозування набагато ближче до для моделі, навченої за вихідними (несортованими) даними. Середня абсолютна помилка прогнозування для моделі, яка використовувала вихідні дані, становить , тоді як середня абсолютна помилка прогнозування для моделі, тренуваної на відсортованих даних, становитьy .31 .99 0 1.1 1.98 y 68 %xy.31.9901.11.98—Порожньо вдвічі більше. Це означає, що передбачення моделі відсортованої моделі даних значно відрізняються від правильних значень. Сюжет у правому нижньому квадранті - це крапка. Він відображає відмінності між помилкою прогнозування з вихідними даними та з відсортованими даними. Це дозволяє порівняти два відповідних прогнози для кожного модельованого нового спостереження. Сині точки зліва - це часи, коли вихідні дані були ближче до нового значення , а червоні точки праворуч - це часи, коли відсортовані дані давали кращі прогнози. Були більш точні прогнози моделі, яка навчалася за вихідними даними часу. y68%


Ступінь сортування спричинить ці проблеми - це функція лінійної залежності, яка існує у ваших даних. Якби кореляція між і вже становила , сортування не матиме ефекту і, таким чином, не буде згубним. З іншого боку, якби кореляція булаy 1,0 - 1,0xy1.01.0, сортування повністю змінило б взаємозв'язок, зробивши модель максимально неточною. Якби дані були спочатку непов'язаними, сортування мало б проміжний, але все ще досить великий, шкідливий вплив на прогнозовану точність отриманої моделі. Оскільки ви згадуєте, що ваші дані, як правило, співвідносяться, я підозрюю, що це забезпечило певний захист від шкоди, властивої цій процедурі. Тим не менш, сортування спочатку, безумовно, шкідливо. Щоб вивчити ці можливості, ми можемо просто запустити вищезазначений код з різними значеннями для B1(використовуючи одне і те ж насіння для відтворюваності) та вивчити вихід:

  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
Ваша відповідь підкреслює дуже добре, але, можливо, не так чітко, як могло б і слід. Не обов'язково очевидно для лайперсона (як, скажімо, менеджер з ОП), що всі ці сюжети наприкінці (не маючи на увазі код R) насправді показують та мають на увазі. ІМО, ваша відповідь справді могла б використовувати пояснювальний абзац чи два.
Ільмарі Каронен

3
Дякуємо за Ваш коментар, @IlmariKaronen. Чи можете ви запропонувати щось додати? Я намагався зробити код якомога зрозумілішим, і це прокоментував широко. Але я, можливо, більше не зможу бачити ці речі очима того, хто не знайомий з цими темами. Я додам трохи тексту для опису сюжетів внизу. Якщо ви можете придумати щось інше, будь ласка, дайте мені знати.
gung

13
+1 Це все ще є єдиною відповіддю, яка стосується запропонованої ситуації: коли дві змінні вже виявляють позитивну асоціацію, це все ж є помилкою регресу незалежно відсортованих значень. Усі інші відповіді припускають, що немає асоціації або це насправді негативно. Хоча вони є хорошими прикладами, оскільки не застосовуються, вони не будуть переконливими. Нам все-таки бракує інтуїтивно зрозумілого реального прикладу даних на рівні кишок, таких як імітовані тут, де природа помилки незручно очевидна.
whuber

8
+1 за те, що він не коливався ортодоксами та не використовував "=" для призначення в Р.
dsaxton

@dsaxton, я використовую <-іноді, але моя мета в CV - написати R-код якомога ближче до псевдокоду, щоб він був більш читабельним для людей, які не знайомі, коли ж / Р =є досить універсальним серед мов програмування в якості оператора призначення .
gung

103

Якщо ви хочете переконати свого начальника, ви можете показати, що відбувається з імітованими, випадковими, незалежними даними . З R:x,yвведіть тут опис зображення

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

Очевидно, відсортовані результати пропонують набагато приємніший регрес. Однак, враховуючи процес, який використовується для генерування даних (двох незалежних зразків), немає абсолютно жодного шансу, що один може бути використаний для передбачення іншого.


8
Це майже як у всіх рекламах Інтернету "до vs після" :)
Тім

Це хороший приклад, але не думаю, що це переконає його, оскільки наші дані мають позитивну кореляцію перед сортуванням. Сортування просто "підсилює" відносини (хоч і неправильне).
довільний користувач

17
@arbitraryuser: Добре, відсортовані дані завжди показуватимуть позитивну (ну, негативну) кореляцію, незалежно від того, яка, якщо така є, кореляція у вихідних даних. Якщо ви знаєте, що вихідні дані так чи інакше мають позитивну кореляцію, то це "правильно випадково" - але тоді, навіщо взагалі турбувати перевірку на кореляцію, якщо ви вже знаєте, що вона присутня і позитивна в будь-якому випадку? Тест, який проводить ваш менеджер, трохи схожий на "детектор якості повітря", який завжди говорить "виявлено дихаюче повітря" - він працює чудово, доки ви ніколи не приймаєте його в будь-яке місце, де немає дихаючого повітря.
Ільмарі Каронен

2
@arbitraryuser Ще один приклад, який ви можете знайти більше переконання - це взяти x = 0: 50, а y = 0: -50, ідеальна лінія зі схилом -1. Якщо ви їх сортуєте, взаємозв'язок перетворюється на ідеальну лінію зі схилом 1. Якщо правда полягає в тому, що ваші змінні відрізняються ідеальною опозицією, і ви складаєте рецепт політики, виходячи з помилкового уявлення про те, що вони відрізняються ідеальною згодою, ви будете роблячи саме неправильну справу.
Джон Раузер

99

Ваша інтуїція правильна: незалежно відсортовані дані не мають надійного значення, оскільки входи та виходи випадковим чином відображаються між собою, а не те, що було спостережуваним співвідношенням.

Є (хороший) шанс, що регресія на відсортованих даних буде виглядати приємно, але безглуздо в контексті.

Інтуїтивний приклад: припустимо, набір даних для деякої сукупності. Графік недопущених даних, ймовірно, буде схожий на логарифмічну або силову функцію: швидші темпи зростання дітей, які сповільнюють подальших підлітків і "асимптотично" наближаються до максимального зросту для молодих і старших.(X=age,Y=height)

Якщо ми будемо сортувати у порядку зростання, графік, ймовірно, буде майже лінійним. Таким чином, функція передбачення полягає в тому, що люди ростуть вище за все життя. Я не став би гроші на цей алгоритм прогнозування. x,y


25
+ 1 - але я б упустив "по суті" і підкреслив би "безглузде".
whuber

12
Зауважте, що ОП посилається на незалежне сортування даних на відміну від переміщення їх. Це тонка, але важлива відмінність, оскільки вона стосується того, які спостережувані "відносини" видно після застосування даної операції.
кардинал

3
Мене бентежить приклад, який ви додали. Якщо - вік, а - висота, то обидві змінні вже впорядковані: вік чи зріст ніколи не зменшується. Тож сортування не матиме жодного ефекту. Купіть на @JakeWestfall, який прокоментував, що цей приклад йому подобається. Ти можеш пояснити? уxy
амеба

12
@amoeba Тривіальний набір даних: середній підліток, центр серед НБА середніх 30-х років, середня літня жінка. Після сортування алгоритму прогнозування є те, що найстаріший - найвищий.
d0rmLife

1
@amoeba Я бачу, як це можна було б трактувати так, уточнимо.
d0rmLife

40

Власне, давайте зробимо це справді очевидним і простим. Припустимо, я провожу експеримент, в якому вимірюю 1 літр води в стандартизованій ємності, і дивлюся на кількість води, що залишається в ємності як функцію часу , втрати води внаслідок випаровування:t iViti

Тепер припустимо, що я отримую такі вимірювання у годинах та літрах відповідно: Це цілком очевидно чудово співвіднесені (і гіпотетичні) дані. Але якби я вимірювання часу та гучності, я отримав би І висновок з цього сортованого набору даних полягає в тому, що з часом збільшується об'єм води, і тим більше, що, починаючи з 1 літра води, ви отримаєте після 5 годин очікування більше 1 літра води. Хіба це не примітно? Не тільки висновок, протилежний тому, що було сказано в первинних даних, але також говорить про те, що ми відкрили нову фізику! (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
Приємний інтуїтивний приклад! За винятком останнього рядка. З початковими даними ми отримали б негативний обсяг за часом, що так само є новою фізикою. Ви ніколи не можете екстраполювати регресію.
Jongsma

22

Це справжнє мистецтво і вимагає реального розуміння психології, щоб можна було переконати деяких людей у ​​помилці своїх шляхів. Окрім усіх чудових вище прикладів, корисною стратегією є іноді показати, що віра людини призводить до невідповідності собі. Або спробуйте такий підхід. Дізнайтеся, що ваш начальник сильно вірить, наприклад, те, як люди виконують завдання Y, не має відношення до того, якою кількістю атрибутів X вони володіють. Покажіть, як власний підхід вашого начальника призведе до утвердження міцної асоціації між X та Y. Використовуйте політичні / расові / релігійні переконання.

Інвалідності обличчя повинно було бути достатньо. Який упертий начальник. Тим часом шукайте кращу роботу. Удачі.


12

Ще один приклад. Уявіть, що у вас є дві змінні, одна пов'язана з вживанням шоколаду, а друга пов'язана із загальним самопочуттям. У вас є зразок двох, і ваші дані виглядають так:

chocolateno happinessno chocolatehappiness

Яке співвідношення шоколаду та щастя базується на вашому зразку? А тепер змінити порядок однієї із стовпців - яке відношення має після цієї операції?

До однієї і тієї ж проблеми можна підійти по-різному. Скажіть, що у вас є більший зразок, з деякою кількістю випадків, і ви вимірюєте дві безперервні змінні: споживання шоколаду в день (в грамах) і щастя (уявіть, що у вас є спосіб вимірювати це). Якщо вас цікавить, чи вони пов'язані, ви можете виміряти кореляцію або використовувати лінійну регресійну модель, але іноді в таких випадках люди просто дихотомізують одну змінну і використовують її як групуючий фактор з -test (це не найкраще і неN ttРекомендований підхід, але дозвольте використовувати його як приклад). Тож ви поділяєте свій зразок на дві групи: з великим споживанням шоколаду та з низьким споживанням шоколаду. Далі ви порівнюєте середнє щастя в обох групах. А тепер уявіть, що буде, якби ви сортували змінну щастя незалежно від групування змінної: всі випадки з високим щастям переходитимуть до групи з високим споживанням шоколаду, а всі випадки низького щастя виявляться у групі низького споживання шоколаду - чи був би такий тест гіпотези якийсь сенс? Це можна легко екстраполювати в регресію, якщо уявити, що замість двох груп для споживання шоколаду у вас таких груп, по одній для кожного учасника (зауважте, що -test пов'язаний з регресією).Nt

При двовимірній регресії або кореляції нас цікавлять попарні відносини між кожним -м значенням і -м значенням , зміна порядку спостережень руйнує це відношення. Якщо ви сортуєте обидві змінні, це завжди призводить до їх більш позитивної кореляції між собою, оскільки завжди буде так, що якщо одна зі змінних збільшується, інша також збільшується (тому що вони сортуються!).X i YiXiY

Зауважте, що іноді нас справді цікавить зміна порядку справ, ми робимо це методами перекомпонування . Наприклад, ми можемо навмисно переміщувати спостереження кілька разів, щоб дізнатися щось про нульовий розподіл наших даних (як би виглядали наші дані, якби не було парних зв’язків), а далі ми можемо порівняти, чи справді наші дані так чи інакше кращі, ніж випадково перетасовувався. Те, що робить ваш менеджер, - якраз навпаки - він навмисно змушує спостереження мати штучну структуру там, де не було структури, що призводить до хибних кореляцій.


8

Простий приклад, який, можливо, ваш менеджер міг зрозуміти:

Скажімо, у вас є Монета Y і Монета X, і ви перегортаєте кожну з них 100 разів. Тоді ви хочете передбачити, чи може отримати головки з монетою X (IV) шанс отримати голову з монетою Y (DV).

Без сортування стосунки будуть жодними, оскільки результат Coin X не повинен впливати на результат Coin Y. З сортуванням стосунки будуть майже ідеальними.

Як має сенс зробити висновок про те, що у вас є шанси отримати голову на монетному перевороті, якщо ви просто перекинули голову іншою монетою?


1
Необхідний переклад для будь-якої валюти, крім тієї, яку ви припускаєте. (Я знаю, що це зовсім тривіальне заперечення, і легко усунути будь-яку проблему, але іноді варто підкреслити, що це міжнародний форум.)
Нік Кокс

8

Ця техніка насправді дивовижна. Я знаходжу всілякі відносини, про які я ніколи не підозрював. Наприклад, я б не підозрював, що цифри, які з’являються в лотереї Powerball, на яку вона заявлена, є випадковими, насправді дуже корелюються з ціною відкриття акцій Apple того ж дня! Люди, я думаю, ми збираємося заробляти гроші у великі терміни. :)

> 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

Гм, схоже, не має значних стосунків. АЛЕ з використанням нової, вдосконаленої техніки:

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

ПРИМІТКА. Це не означає серйозний аналіз. Просто покажіть своєму менеджеру, що вони можуть зробити будь-які дві змінні суттєво пов’язані між собою, якщо ви сортуєте їх обидві.


6

Тут є багато хороших зустрічних прикладів. Дозвольте лише додати абзац про суть проблеми.

XiYiXYiiX1Y1X2Y2XYX1Y1X1Y1

Насправді дозвольте додати абзац про те, чому він так само працює.

XaXbXaXYaXzXYzYXaYaXzYzX1Y1


6

Насправді описаний тест (тобто сортувати значення X та значення Y незалежно та регресувати одне проти іншого) НЕ перевіряє щось, припускаючи, що (X, Y) відбираються як незалежні пари з двовимірного розподілу. Це просто не тест того, що хоче перевірити ваш менеджер. Це по суті перевірка лінійності QQ-графіку, порівнюючи граничний розподіл Xs з граничним розподілом Ys. Зокрема, "дані" впадуть близько до прямої, якщо щільність Xs (f (x)) пов'язана з щільністю Ys (g (y)) таким чином:

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


4

Дивно, що найбільш очевидний контрприклад все ще не присутній серед відповідей у ​​його найпростішому вигляді.

Y=X

Y^X

Це свого роду "пряма обернена модель", яку ви, можливо, захочете знайти тут.


Чи можете ви пояснити, для чого це твердження є контрприкладом?
whuber

Твердження менеджера про те, що ви можете «отримувати кращі регресії весь час», сортуючи входи та виходи незалежно.
КТ.

R2=1

R2

1
R2Y=X

3

Ти правий. Ваш менеджер знайде "хороші" результати! Але вони безглузді. Що ви отримуєте, коли сортуєте їх самостійно, це те, що вони або збільшуються, або зменшуються однаково, і це дає вигляд хорошої моделі. Але дві змінні були позбавлені їх фактичного взаємозв'язку, і модель неправильна.


3

xx2xx2x

Лінійна регресія зазвичай менш розумна (існують винятки, див. Інші відповіді); але геометрія хвостів і розподіл помилок говорить вам про те, наскільки далекі від подібних розподіли.


2

Я маю просту інтуїцію, чому це насправді гарна ідея, якщо функція одноманітна :

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

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

f

εi

PS: Мені здається дивним, як, мабуть, просте запитання може призвести до нових цікавих способів переосмислення моделі стандартів. Будь ласка, спасибі вам бос!


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

2

Скажіть, у вас ці точки на колі радіуса 5. Ви обчислюєте співвідношення:

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

Потім ви сортуєте свої x- та y-значення та повторюєте кореляцію:

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

За допомогою цієї маніпуляції ви змінюєте набір даних з кореляцією 0,0 на один з 1,0 кореляцією. Це проблема.


1

Дозвольте мені тут зіграти захисника диявола. Я думаю, що багато відповідей дали переконливі випадки, що процедура начальника принципово помилкова. У той же час я пропоную зустрічний приклад, який ілюструє, що начальник, можливо, побачив, що результати покращуються при цій помилковій трансформації.

Я думаю, що визнання того, що ця процедура "працювала" для начальника, може почати більш переконливий аргумент: Звичайно, це спрацювало, але лише за таких щасливих обставин, які зазвичай не будуть дотримані. Тоді ми можемо показати - як у чудово прийнятій відповіді - наскільки це може бути погано, коли нам не пощастить. Яка більшість часу. В ізоляції, показуючи бос , як погано це може бути не може переконати його , тому що він , можливо , бачив випадок , коли він робить поліпшити становище речей, і фігуру , що наші фантазії аргумент повинен мати вада де - то.

Я знайшов ці дані в Інтернеті, і, напевно, виявляється, що регресія покращується незалежним сортуванням X і Y, оскільки: а) дані дуже позитивно корелюють; б) OLS дійсно не справляється з екстремальними (високими -лівері) віджимання. Зріст і вага мають кореляцію 0,19 з включеною стороною, 0,77 з виключеною фортецею і 0,78 з X і Y незалежно відсортовано.

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

введіть тут опис зображення

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

введіть тут опис зображення

Отже, мені здається, що модель регресії на цьому наборі даних вдосконалюється незалежним сортуванням (чорна проти червоної лінії у першому графіку), і є видиме співвідношення (чорне проти червоного у другому графіку), завдяки тому, що конкретний набір даних сильно (позитивно) співвіднесені та мають правильний тип видатків, які завдають шкоди регресії більше, ніж перетасування, що відбувається, коли ви самостійно сортуєте х та у.

Знову ж таки, якщо сказати, що незалежне сортування не робить нічого розумного взагалі, і що це правильна відповідь. Тільки, що начальник, можливо, бачив щось подібне, що траплялося працювати за правильних обставин.


1
Це виглядає як чистий збіг обставин, що ви дійшли до подібних коефіцієнтів кореляції. Цей приклад не демонструє нічого про зв’язок між вихідними та незалежно відсортованими даними.
качан

2
@whuber: Як щодо другого графіка? Мені здається, що якщо вихідні дані сильно співвідносяться, сортування їх може лише трохи змінити значення, в основному зберігаючи початкове відношення +/-. З парою чужих людей все переставляють більше, але ... Вибачте, у мене немає математичних відбитків, щоб піти далі від цього.
Уейн

1
Я думаю, що інтуїція, яку ви висловлюєте, правильна, Уейн. Логіка питання - як я його трактую - стосується того, що ви можете сказати про вихідні дані, засновані лише на розсіюванні розсортованих змінних. Відповідь - абсолютно нічого, крім того, що ви можете зробити з їх окремих (універсальних) розподілів. Справа в тому, що червоні точки у вашому другому графіку відповідають не лише показаним вами даним, а й усім астрономічно величезним числом інших перестановок цих даних - і ви не можете знати, яка з цих перестановок є правильний.
whuber

2
@whuber Я думаю, що ключовим відмінністю тут є те, що ОП заявило, що воно повинно "повністю знищити" дані. Ваша прийнята відповідь докладно показує, як це відбувається в цілому. Ви не можете передавати дані, оброблені таким чином, і не маєте уявлення, чи результат матиме сенс. Але правда також, що менеджер міг раніше мати справу з такими прикладами, як мій (зустрічний) приклад, і виявив, що це неправильне перетворення насправді покращило результати. Тож ми можемо погодитись, що менеджер принципово помилився, але, можливо, також пощастив - і в щасливому випадку це працює.
Уейн

@whuber: Я відредагував вступ до своєї відповіді так, що, на мою думку, робить її актуальною для обговорення. Я думаю, що визнання того, як може діяти процедура начальника, може стати першим кроком у більш переконливому аргументі, що джебс із досвідом боса. На ваш розгляд.
Уейн

-7

Якщо він обрав змінні, щоб бути монотонними, він насправді є досить надійним. Google "неправильні лінійні моделі" та "Робін Дауз" або "Говард Вайнер". Дауес і Вайнер говорять про альтернативні способи вибору коефіцієнтів. Джон Кук має коротку колонку ( http://www.johndcook.com/blog/2013/03/05/robustness-of-equal-weights/ ) на ній.


4
Те, що Кук обговорює в цій публікації блогу, - це не те саме, що сортувати х і у незалежно один від одного, а потім пристосувати регресійну модель до відсортованих змінних.
gung

4
Те, що робить начальник ОП, - це не "прогнозувати, що по FInverse (G (x)), де F і G - екдфс Y і X". Ви можете побачити процедуру в коді в моїй відповіді.
gung

4
Чи можете ви 1. додати посилання на певний документ від Dawes та / або Wainer, 2. уточнити, як це стосується процедури сортування шефа? Або справа лише в тому, що якщо значення коефіцієнта не має великого значення, якщо знак правильний і знак правильний за припущенням, то це не має великого значення, що процедура начальника дає дивні значення для коефіцієнтів?
Juho Kokkala

2
1. Посилання: - Dawes, RM "Надійна краса неправильних лінійних моделей при прийнятті рішень". Амер. Психол. 34, ні. 7 (1979): 571. - Вайнер, Х. "Оцінка коефіцієнтів у лінійних моделях. Це не робить ніколи не значення". Психіка. Бик. 83, ні. 2 (1976): 213. - Dawes, RM, & Corrigan, B. "Лінійні моделі при прийнятті рішень". Психіка. Bull., 81 95-106 (1974) 2. І Дауес, і Вайнер показують, що з реальними даними і реальними проблемами прогнозування прогнозування майбутнього Y від X з відхиленнями від їх засобів або шляхом відповідності рангів працює досить добре, і що це досить нечутливий до схилу.
Білл Рейнор

2
Ці посилання та пояснення було б краще у вашій відповіді, а не закопуватися в коментарі.
Scortchi

-8

Я подумав про це, і подумав, що тут є якась структура, заснована на статистиці замовлень. Я перевірив, і здається, що менеджер не так горіш, як це звучить

Статистика замовлень Коефіцієнт кореляції як вимірювання нової асоціації з додатками до біосигнального аналізу

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

Ми пропонуємо новий коефіцієнт кореляції на основі статистики замовлень та нерівності перестановки. Запропонований коефіцієнт являє собою компроміс між лінійним коефіцієнтом Пірсона та двома коефіцієнтами, заснованими на ранговому рівні, а саме rho Spearman's і Tau Кендалла. Теоретичні похідні показують, що наш коефіцієнт має ті ж основні властивості, що й три класичні коефіцієнти. Експериментальні дослідження на основі чотирьох моделей та шести біосигналів показують, що при вимірюванні лінійних асоціацій наш коефіцієнт працює краще, ніж два коефіцієнти, засновані на ранзі; тоді як він цілком може виявити монотонні нелінійні асоціації, такі як два коефіцієнти, засновані на ранзі. Обширний статистичний аналіз також дозволяє припустити, що наш новий коефіцієнт має чудову стійкість проти шуму, малу упередженість,


14
Це не те, що описує питання. Коли дані замінюються статистикою замовлень, пари даних все ще підключаються, як завжди. Питання описує операцію, яка руйнує ці з'єднання, видаляючи всю інформацію про їх спільний розподіл.
whuber

Не обов'язково. Можлива побудова (або трапляється на них) наборів даних, коли незалежне сортування не знищує всю інформацію про спільну ймовірність.
Даніель

5
Наведіть, будь ласка, чіткий приклад вашої претензії, оскільки важко зрозуміти, як таке можливо навіть математично, а тим більше на практиці неможливо.
whuber

@whuber: Ознайомтесь з моєю новою відповіддю, в якій є набір реальних даних, що задовольняє ваше запитання ... Я думаю.
Уейн
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.