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

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

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

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

Відповіді:
... зв’язок нелінійний, але чітке відношення між x та y є, як я можу перевірити асоціацію та позначити її характер?
Одним із способів цього було б пристосування до напівпараметрично оціненої функції x з використанням, наприклад, узагальненої моделі добавок та перевірка того, чи є ця функціональна оцінка постійною чи ні, що вказувало б на відсутність зв'язку між y та x . Такий підхід звільняє вас від необхідності здійснювати поліноміальну регресію та приймати іноді довільні рішення щодо порядку полінома тощо.
Зокрема, якщо у вас є спостереження, , ви можете відповідати моделі:
і перевірити гіпотезу . У , ви можете це зробити за допомогою функції. Якщо ваш результат і ваш прогноз , ви можете ввести:Rgam()yx
library(mgcv)
g <- gam(y ~ s(x))
Введення тексту summary(g)дасть вам результат випробування гіпотези вище. Що стосується характеристики характеру стосунків, то це найкраще зробити за допомогою сюжету. Один із способів зробити це R(припускаючи, що код вище вже введений)
plot(g,scheme=2)
Якщо ваша змінна відповіді дискретна (наприклад, двійкова), ви можете розмістити її в цьому рамках, встановивши логістичну GAM (в R, яку ви додали б family=binomialу свій дзвінок gam). Крім того, якщо у вас є кілька предикторів, ви можете включити кілька додаючих термінів (або звичайні лінійні умови) або підходити до багатовимірних функцій, наприклад якщо у вас були предиктори . Складність взаємозв'язку вибирається автоматично шляхом перехресної перевірки, якщо ви використовуєте методи за замовчуванням, хоча тут є велика гнучкість - див. Файл довідки, якщо зацікавлений.x, zgam
при оцінці з використанням усіх даних ці оцінки будуть як великими, так і протилежними за знаком.
Ви можете перевірити будь-яку залежність, використовуючи тести на кореляцію відстані. Дивіться тут для отримання додаткової інформації про кореляцію відстані: Розуміння обчислень кореляції відстаней
І ось оригінальний папір: https://arxiv.org/pdf/0803.4101.pdf
У R це реалізовано в energyпакеті з dcor.testфункцією.
Хтось мене виправить, якщо моє розуміння тут неправильне, але один із способів поводження з нелінійними змінними - це використання лінійного наближення. Так, наприклад, прийняття журналу експоненціального розподілу повинно дозволяти вам ставитися до змінної як до звичайного розподілу. Потім він може бути використаний для вирішення проблеми, як і будь-яка лінійна регресія.
Я використовував для реалізації загальної моделі адитивів для виявлення нелінійної залежності між двома змінними, але останнім часом я дізнався про нелінійну кореляцію, реалізовану через 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)
Ви можете переглянути це посилання для більш детальної інформації