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


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» будет неопределенным.

Есть ли решение этой проблемы? Или я должен использовать другие методы для измерения связи данных в этом случае?


В этом примере нет «отношения данных», потому что у не меняется. Присвоение любого числового значения r было бы ошибкой.
whuber

1
@whuber - это правда, что не определено, но не обязательно, что «истинная» неизвестная корреляцияρrρ не может быть оценена. Просто нужно использовать что-то другое, чтобы оценить это.
вероятностная

@probability Вы предполагаете, что это проблема оценки, а не просто характеристика. Но, принимая это, какую оценку вы бы предложили в примере? Ни один ответ не может быть универсально правильным, потому что это зависит от того, как будет использоваться оценщик (в действительности, функция потерь). Во многих приложениях, таких как PCA, кажется вероятным, что при использовании любой процедуры, которая вменяетρρ может быть хуже, чем другие процедуры, которые распознают не могут быть идентифицированы. ρ
whuber

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

@Probability Кажется, ваш анализ противоречив: если действительно y моделируется с нормальным распределением, то выборка из пяти 2 показывает, что эта модель неуместна. В конечном счете, вы не получаете что-то впустую: ваши результаты сильно зависят от предположений, сделанных о приорах. Оригинальные проблемы в идентификацииρ все еще существуют, но были скрыты всеми этими допущениями. Это кажется ИМХО только для того, чтобы скрыть проблемы, а не прояснить их.
whuber

Ответы:


9

«Теория выборки» скажет вам, что такой оценки не существует. Но вы можете получить его, вам просто нужно быть разумным в отношении вашей предыдущей информации и выполнять более сложную математическую работу.

Если вы указали байесовский метод оценки, а апостериор такой же, как и предыдущий, то вы можете сказать, что данные ничего не говорят о параметре. Поскольку вещи могут стать «особенными» для нас, то мы не можем использовать бесконечные пространства параметров. Я предполагаю, что, поскольку вы используете корреляцию Пирсона, у вас есть двумерное нормальное правдоподобие:

где Qi=(xi-

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

где s2x=1

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

И поэтому ваша вероятность зависит от четырех чисел, . Таким образом, вы хотите оценить ρ , поэтому вам нужно умножить на априор и интегрировать неприятные параметры μ x , μ y , σ x , σ y . Теперь, чтобы подготовиться к интеграции, мы «завершим квадрат» 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-(Икс¯-μИкс)ρσYσИкс]σYN1-ρ2)-Φ(Lμ-[Y-(Икс¯-μИкс)ρσYσИкс]σYN1-ρ2)]

ρп(ρ)ρ

μYρΦ(,)ρ-0,99,-0,98,...,0,98,0,99довольно легко. Просто замените интегралы суммированием на достаточно малых интервалах - так вы получите тройное суммирование


@probabilityislogic: Вау. Просто вау. После просмотра некоторых из ваших ответов я действительно задаюсь вопросом: что должен сделать такой глупец, как я, чтобы достичь такого гибкого байесовского состояния ума?
Штеффен

1
@steffen - лол. Это не так сложно, вам просто нужно практиковаться. И всегда всегда помните, что произведение и вероятностные правила - единственные правила, которые вам когда-либо понадобятся . Они будут извлекать любую информацию, независимо от того, видите вы это или нет. Таким образом, вы применяете правила произведения и суммы, а затем просто выполняете математику. Это все, что я сделал здесь.
вероятностная

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

@probabilityislogic: Спасибо, я буду помнить об этом ... как только я закончу работу с моей копией "Байесовского анализа";).
Штеффен

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

6

граммовесер(v1,v2)знак равноΣязнак равно1Nδ(v1я,v2я)Nδv1,v2 .

Например, если все значения равны, gower (.,.) = 1. Если, с другой стороны, они отличаются только в одном измерении, газонокосилка (.,.) = 0,9. Если они различаются в каждом измерении, gower (.,.) = 0 и так далее.

Конечно, это не показатель корреляции, но он позволяет рассчитать, насколько близок вектор с s> 0 к вектору с s = 0. Конечно, вы можете применять и другие метрики, если они лучше соответствуют вашим целям.


+1 Это креативная идея. Похоже, что «сходство Гауэр» - это масштабированное расстояние Хэмминга .
whuber

@whuber: Это действительно так!
Штеффен

0

В этом случае корреляция не определена. Если вы должны определить это, я бы определил его как 0, но вместо этого рассмотрим простую среднюю абсолютную разницу.


0

Этот вопрос задается программистами, поэтому я бы предложил подключить ноль. Нет никаких доказательств корреляции, и нулевая гипотеза будет нулевой (без корреляции). Могут существовать другие знания о контексте, которые обеспечат «типичную» корреляцию в одном контексте, но код может быть повторно использован в другом контексте.


2
Также нет доказательств отсутствия корреляции, так почему бы не включить 1? Или -1? Или что-то среднее? Все они приводят к повторному использованию кода!
whuber

@whuber - вы подключаете ноль, потому что данные «менее стеснены», когда они независимы - вот почему максимальные распределения являются независимыми, если вы явно не укажете корреляции в ограничениях. Независимость можно рассматривать как консервативное предположение, если вы не знаете о таких корреляциях - фактически вы усредняете все возможные корреляции .
вероятностная

1
@prob Я спрашиваю, почему имеет смысл в качестве общей процедуры усреднять все корреляции. По сути, эта процедура заменяет определенный и, возможно, совершенно неправильный ответ "ноль!" для правильного ответа «данные не говорят нам». Эта разница может быть важна для принятия решений.
whuber

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