Пірсонова кореляція наборів даних з можливо нульовим стандартним відхиленням?


12

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

Припустимо, у мене є такі два набори даних:

float x[] = {2, 2, 2, 3, 2};
float y[] = {2, 2, 2, 2, 2};

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

float r = covariance(x, y) / (std_dev(x) * std_dev(y));

Однак, оскільки всі дані в наборі даних "y" мають однакове значення, стандартне відхилення std_dev (y) буде нульовим, а "r" буде невизначеним.

Чи є рішення цієї проблеми? Або я повинен використовувати інші методи для вимірювання взаємозв'язку даних у цьому випадку?


У цьому прикладі немає "взаємозв'язку даних", оскільки y не змінюється. Присвоєння будь-якого числового значення r було б помилкою.
whuber

1
@whuber - це правда, що не визначено, але необов'язково, що "справжнє" невідоме співвідношення ρ неможливо оцінити. Просто потрібно використовувати щось інше, щоб оцінити це. rρ
ймовірністьлогічний

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

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

@ Можливість Здається, ваш аналіз суперечливий: якщо насправді y моделюється з нормальним розподілом, то зразок з п'яти двох показує, що ця модель є недоцільною. Зрештою, ви нічого не отримуєте дарма: ваші результати сильно залежать від припущень, зроблених щодо пріорів. Первісні проблеми з ідентифікацією все ще існують, але всі ці додаткові припущення були приховані. Здається, IMHO просто для затемнення питань, а не для їх прояснення. ρ
whuber

Відповіді:


9

Люди "теорії вибірки" скажуть вам, що такої оцінки не існує. Але ви можете отримати її, вам просто потрібно бути розумним щодо вашої попередньої інформації та робити набагато складніше математичну роботу.

Якщо ви вказали байєсівський метод оцінки, а задній такий же, як і попередній, то ви можете сказати, що дані нічого не говорять про параметр. Оскільки речі можуть на нас набути "сингулярності", ми не можемо використовувати нескінченні проміжки параметрів. Я припускаю, що через те, що ви використовуєте кореляцію Пірсона, у вас є двозначна нормальна ймовірність:

p(D|μx,μy,σx,σy,ρ)=(σxσy2π(1ρ2))Nexp(iQi2(1ρ2))
Qi=(xiμx)2σx2+(yiμy)2σy22ρ(xiμx)(yiμy)σxσy

yi=y

iQi=N[(yμy)2σy2+sx2+(x¯μx)2σx22ρ(x¯μx)(yμy)σxσy]
sx2=1Ni(xix¯)2

sx2,y,x¯,Nρμx,μy,σx,σy

iQi1ρ2=N[(μy[y(x¯μx)ρσyσx])2σy2(1ρ2)+sx2σx2(1ρ2)+(x¯μx)2σx2]

Lμ<μx,μy<UμLσ<σx,σy<Uσρ±1

p(ρ,μx,μy,σx,σy)=p(ρ)Aσxσy

A=2(UμLμ)2[log(Uσ)log(Lσ)]2

p(ρ|D)=p(ρ,μx,μy,σx,σy)p(D|μx,μy,σx,σy,ρ)dμydμxdσxdσy

=p(ρ)A[2π(1ρ2)]N2LσUσLσUσ(σxσy)N1exp(Nsx22σx2(1ρ2))×
LμUμexp(N(x¯μx)22σx2)LμUμexp(N(μy[y(x¯μx)ρσyσx])22σy2(1ρ2))dμydμxdσxdσy

μyz=Nμy[y(x¯μx)ρσyσx]σy1ρ2dz=Nσy1ρ2dμyμy

σy2π(1ρ2)N[Φ(Uμ[y(x¯μx)ρσyσx]σyN1ρ2)Φ(Lμ[y(x¯μx)ρσyσx]σyN1ρ2)]

ρp(ρ)ρ

μyρΦ(.)ρ0.99,0.98,,0.98,0.99


@probabilityislogic: Нічого собі. Просто вау. Побачивши деякі ваші відповіді, я справді замислююся: що повинен зробити дур, як я, щоб досягти такого гнучкого байєсівського душевного стану?
steffen

1
@steffen - lol. Це не так складно, потрібно просто потренуватися. І завжди завжди пам’ятайте, що правила ймовірності товару та суми - єдині правила, які вам коли-небудь знадобляться . Вони витягуватимуть будь-яку інформацію там - бачите ви її чи ні. Таким чином, ви застосовуєте правила продукту та суми, а потім просто робіть математику. Це все, що я тут зробив.
ймовірністьлогічний

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

@probabilityislogic: Дякую, я пам’ятаю про це, як тільки я закінчу, працюючи над моїм «байєсівським аналізом» -копією;).
steffen

@probabilityislogic: Якби ви могли зголоситись на нематематичному статистику / досліднику ... чи можна було б узагальнити або перекласти свою відповідь до групи стоматологів чи директорів середніх шкіл чи студентів, що вводять статистику?
rolando2

6

gower(v1,v2)=i=1nδ(v1i,v2i)nδv1,v2

Наприклад, якщо всі значення рівні, gower (.,.) = 1. Якщо, з іншого боку, вони відрізняються лише одним виміром, gower (.,.) = 0.9. Якщо вони різняться в кожному вимірі, gower (.,.) = 0 і так далі.

Звичайно, це не міра кореляції, але вона дозволяє обчислити, наскільки близький вектор з s> 0 до того, що s = 0. Звичайно, ви можете застосовувати й інші показники, якщо вони краще відповідають вашим цілям.


+1 Це творча ідея. Звучить, що «подібність Гоувера» - це масштабована відстань Хеммінга .
whuber

@whuber: Дійсно так!
steffen

0

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


0

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


2
Немає жодних доказів відсутності кореляції, то чому б не підключити 1? Або -1? Або щось середнє? Всі вони призводять до повторного використання коду!
whuber

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

1
@prob Я сумніваюся, чому має сенс як загальна процедура оцінювати серед усіх кореляцій. Фактично ця процедура підміняє певну і, можливо, зовсім неправильну відповідь "нуль!" за правильну відповідь "дані не кажуть нам". Ця різниця може бути важливою для прийняття рішень.
whuber

Тільки тому, що питання може бути від програміста, не означає, що ви повинні перетворити невизначене значення в нуль. Нуль означає щось конкретне в розрахунку кореляції. Киньте виняток. Нехай абонент вирішить, що має статися. Ваша функція повинна розраховувати кореляцію, а не вирішувати, що робити, якщо її неможливо обчислити.
Джаред Бекфорт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.