Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 несимметричные ранговые корреляции
При вычислении ранговых корреляций (по Кенделлу) обнаружил, что корреляционная матрица получается несимметричной. Есть предположение, раньше казалось что это какие то проявления нелинейности зависимости. Теперь мне кажется, что это из-за наличия связанных рангов (корреляции я вычисляю с поправкой на связки), а истинная корреляция не должна зависеть от перестановки переменных. Буду благодарен если кто то объяснит мне причину асимметрии.

Второй вопрос, который меня волнует - как интерпретировать несимметричные корреляции. Первое что приходит в голову - это расширить доверительный интервал таким образом, чтобы в него попадало оба значения.

Третий вопрос - вводятся ли какие то поправки в формулы для расчёта доверительных интервалов ранговых корреляций при наличии связок, или эти формулы остаются прежними?
В литературе говорится, что при наличии связок оценки загрубляются. Чтобы их улучшить - вводятся поправки, а про доверительный интервал ничего не говорится. Мне почему то кажется, что приведённые формулы справедливы только в отсутствии связок.

Прошу специалистов дать коментарии по моим вопросам, либо дать ссылки на авторитетные источники, где об этом можно было бы почитать.

 Re: несимметричные ранговые корреляции
Без конкретного примера и применяемых формул - пустой разговор.

 Re: несимметричные ранговые корреляции
Аватара пользователя
Боюсь, ошибка в программе. Скорее всего действительно в обработке связок.

 Re: несимметричные ранговые корреляции
Простой пример, сделанный с Математикой:
Код:
v1 = {3, -4, 1, 4, 22, 17, -2, 2, 13, -11};
v2 = {-20, -24, 0, 4, 24, 36, -12, -12, 56, -14};
KendallTau[v1, v2]
13/(3 Sqrt[55])
KendallTau[v2, v1]
13/(3 Sqrt[55])

 Re: несимметричные ранговые корреляции
У Вас 0.5843, у меня получается 0.5843 и 0.6068.

Но я уже кажется разобрался в чём дело, Евгений оказался прав, ошибка в программе:
когда я считаю инверсии, то упорядочиваю одну переменную по другой, а потом последовательно, от первого до предпоследнего элемента ищу количества элементов меньше текущего, и всё складываю. Вроде как бы нормально.
Но ошибка вот в чём - такой подход неявно предполагает, что в первой переменной, по которой идёт ранжирование, связок нет. Если же есть связки, то некоторые элементы можно переставить произвольно, не нарушая порядка первой переменной и за счёт этого уменьшить число инверсий.
Как раз это и видно из приведённого Markiyan Hirnyk примера: в первой переменной связок нет - корреляции совпадают точно, во второй есть связка и у меня получается завышенное значение.

В общем я понял как исправить, это не сложно.

Кстати, разобрался и с доверительным интервалом при наличии связок. Как я и предполагал, он считается совсем по другому,
кому интересно - можете почитать вот здесь:

https://en.wikipedia.org/wiki/Kendall_rank_correlation_coefficient

Всем большое спасибо! проблема решена

 [ Сообщений: 5 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group