Як перевірити нелінійну асоціацію?


37

Для сюжету 1 я можу перевірити асоціацію між x та y, зробивши просту кореляцію. сюжет 1

Для сюжету 2, де зв'язок нелінійний, але чітке співвідношення між x та y є, як я можу перевірити асоціацію та позначити її природу? сюжет 2

Відповіді:


35

... зв’язок нелінійний, але чітке відношення між x та y є, як я можу перевірити асоціацію та позначити її характер?

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

Зокрема, якщо у вас є спостереження, , ви можете відповідати моделі:(Yi,Xi)

E(Yi|Xi)=α+f(Xi)+εi

і перевірити гіпотезу . У , ви можете це зробити за допомогою функції. Якщо ваш результат і ваш прогноз , ви можете ввести:H0:f(x)=0, xRgam()yx

library(mgcv) 
g <- gam(y ~ s(x)) 

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

plot(g,scheme=2)

Якщо ваша змінна відповіді дискретна (наприклад, двійкова), ви можете розмістити її в цьому рамках, встановивши логістичну GAM (в R, яку ви додали б family=binomialу свій дзвінок gam). Крім того, якщо у вас є кілька предикторів, ви можете включити кілька додаючих термінів (або звичайні лінійні умови) або підходити до багатовимірних функцій, наприклад якщо у вас були предиктори . Складність взаємозв'язку вибирається автоматично шляхом перехресної перевірки, якщо ви використовуєте методи за замовчуванням, хоча тут є велика гнучкість - див. Файл довідки, якщо зацікавлений.f(x,z)x, zgam


1
Я віддаю перевагу такому підходу двом окремим кореляційним рангам з будь-якої сторони оскільки він вивчає відношення в цілому. Це також краще, ніж параметрична модель, тому я прийняв це замість цього. x=a
користувач1447630

@ user1447630 Це модель для стосунків. Поліноміальна лінійна регресія або нелінійна регресія, а також адитивні моделі - це способи характеризувати функціональний зв'язок. Я міг би згадати будь-яке з них. Але ви попросили міру асоціації, тому я дав вам інші можливі форми кореляції. Як би приємна відповідь Макроса, вона відповідає функціональним відносинам, але не передбачає міри асоціації.
Майкл Р. Черник

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

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

5
xу

14

0

x=a(x,y)x<ax>axy0 при оцінці з використанням усіх даних ці оцінки будуть як великими, так і протилежними за знаком.

(x,y)


y=ax2+bx+ca

1
Для цього ви підходите до квадратичної моделі, використовуючи лінійну регресію скажімо OLS, і робите стандартний статистичний тест, що коефіцієнт a більший за 0 (скажімо, однобічний t-тест).
Майкл Р. Черник

1
xxx2t

212

1

Ви можете перевірити будь-яку залежність, використовуючи тести на кореляцію відстані. Дивіться тут для отримання додаткової інформації про кореляцію відстані: Розуміння обчислень кореляції відстаней

І ось оригінальний папір: https://arxiv.org/pdf/0803.4101.pdf

У R це реалізовано в energyпакеті з dcor.testфункцією.


0

Хтось мене виправить, якщо моє розуміння тут неправильне, але один із способів поводження з нелінійними змінними - це використання лінійного наближення. Так, наприклад, прийняття журналу експоненціального розподілу повинно дозволяти вам ставитися до змінної як до звичайного розподілу. Потім він може бути використаний для вирішення проблеми, як і будь-яка лінійна регресія.


8
Я не думаю, що це дійсно відповідає на питання. Введення журналів - це не те саме, що робити лінійне наближення. Більше того, навіть якщо ви приймаєте журнали, розподіл, для якого журнал вихідної змінної є звичайно розподіленою змінною, - це не експоненціальний розподіл, а логічний розподіл . Однак ні незалежну, ні залежну змінну не потрібно нормально розподіляти, щоб лінійна регресія була доречною - питання тут полягає у взаємозв'язку змінних, а не їх граничних розподілах.
Срібна рибка

0

Я використовував для реалізації загальної моделі адитивів для виявлення нелінійної залежності між двома змінними, але останнім часом я дізнався про нелінійну кореляцію, реалізовану через nlcorпакет в R, ви можете реалізувати цей метод так само, як кореляція Пірсона , коефіцієнт кореляції становить між 0 і 1, а не -1 і 1, як у Пірсоновій кореляції. Більш високий коефіцієнт кореляції передбачає наявність сильної нелінійної залежності. Припустимо два часових ряди, x2і y2нелінійна кореляція між двома часовими рядами перевіряється наступним чином

install.packages("devtools") 
library(devtools)
install_github("ProcessMiner/nlcor")
library(nlcor)
c <- nlcor(x2, y2, plt = T)
c$cor.estimate
[1] 0.897205

Дві змінні, здається, сильно корелюються через нелінійну залежність, ви також можете отримати скориговане значення p для коефіцієнта кореляції

c$adjusted.p.value
[1] 0

Ви також можете побудувати результати

print(c$cor.plot)

Ви можете переглянути це посилання для більш детальної інформації

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