Tương quan Pearson của các tập dữ liệu với độ lệch chuẩn có thể bằng không?


12

Tôi đang gặp vấn đề khi tính toán hệ số tương quan pearson của các tập dữ liệu với độ lệch chuẩn có thể bằng 0 (tức là tất cả dữ liệu có cùng giá trị).

Giả sử rằng tôi có hai bộ dữ liệu sau:

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

Hệ số tương quan "r", sẽ được tính bằng phương trình sau:

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

Tuy nhiên, vì tất cả dữ liệu trong tập dữ liệu "y" có cùng giá trị, độ lệch chuẩn std_dev (y) sẽ bằng 0 và "r" sẽ không được xác định.

Có giải pháp nào cho vấn đề này? Hoặc tôi nên sử dụng các phương pháp khác để đo lường mối quan hệ dữ liệu trong trường hợp này?


Không có "mối quan hệ dữ liệu" trong ví dụ này vì y không thay đổi. Việc gán bất kỳ giá trị số nào cho r sẽ là một sai lầm.
whuber

1
@whuber - đúng là không xác định được, nhưng không nhất thiết là không thể ước tính được mối tương quan "đúng" . Chỉ cần sử dụng một cái gì đó khác nhau để ước tính nó. rρ
xác suất

@probability Bạn giả định đây là một vấn đề về ước tính và không chỉ đơn giản là một đặc tính. Nhưng chấp nhận điều đó, bạn sẽ đề xuất công cụ ước tính nào trong ví dụ này? Không có câu trả lời nào có thể đúng bởi vì nó phụ thuộc vào cách sử dụng công cụ ước tính (hàm mất, có hiệu lực). Trong nhiều ứng dụng, chẳng hạn như PCA, dường như việc sử dụng bất kỳ quy trình nào áp đặt giá trị cho có thể tệ hơn các quy trình khác nhận ra không thể được xác định. ρρρ
whuber

1
@whuber - ước tính là một sự lựa chọn xấu của lời cho tôi (bạn có thể nhận thấy tôi không phải là Wordsmith tốt nhất), những gì tôi có nghĩa là mặc dù có thể không được xác định duy nhất, điều này không có nghĩa là các dữ liệu là vô dụng trong kể chúng tôi về ρ . Câu trả lời của tôi đưa ra một minh chứng (xấu xí) về điều này từ quan điểm đại số. ρρ
xác suất

@Probability Dường như phân tích của bạn trái ngược nhau: nếu thực sự y được mô hình hóa với phân phối bình thường, thì một mẫu năm 2 cho thấy mô hình này không phù hợp. Cuối cùng, bạn không nhận được gì khi không có gì: kết quả của bạn phụ thuộc mạnh mẽ vào các giả định được đưa ra về các linh mục. Những vấn đề ban đầu trong việc xác định vẫn còn đó nhưng đã bị che giấu bởi tất cả các giả định này bổ sung. Điều đó dường như IMHO chỉ để làm mờ các vấn đề hơn là làm rõ chúng. ρ
whuber

Câu trả lời:


9

"Lý thuyết lấy mẫu" mọi người sẽ nói với bạn rằng không có ước tính nào như vậy tồn tại. Nhưng bạn có thể có được một, bạn chỉ cần hợp lý về thông tin trước đó của bạn, và làm công việc toán học khó hơn rất nhiều.

Nếu bạn đã chỉ định một phương pháp ước lượng Bayes và hậu thế giống như trước, thì bạn có thể nói dữ liệu không nói gì về tham số. Bởi vì mọi thứ có thể có "số ít" đối với chúng tôi, sau đó chúng tôi không thể sử dụng không gian tham số vô hạn. Tôi giả sử rằng vì bạn sử dụng tương quan Pearson, bạn có khả năng bình thường bivariate:

nơi Qi=(xi-μx)2

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

Bây giờ để chỉ ra rằng một tập dữ liệu có thể có cùng giá trị, hãy viết và sau đó chúng tôi nhận được:yi=y

trong đó s2x=1

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

Và như vậy khả năng của bạn phụ thuộc vào bốn số, . Vì vậy, bạn muốn một ước lượng ρ , vì vậy bạn cần phải nhân với một trước, và tích hợp ra những phiền toái thông số μ x , μ y , σ x , σ y . Bây giờ để chuẩn bị cho hội nhập, chúng ta "hoàn thành vuông" Σ i Q isx2,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]

Bây giờ chúng ta nên lỗi ở phía thận trọng và đảm bảo xác suất chuẩn hóa đúng. Bằng cách đó chúng ta không thể gặp rắc rối. Một lựa chọn như vậy là sử dụng thông tin yếu trước, chỉ giới hạn phạm vi của từng loại. Vì vậy, chúng ta có cho các phương tiện với TV trước và L σ < σ x , σ y < U σ cho độ lệch chuẩn với Jeffreys trước. Những giới hạn này dễ dàng được thiết lập với một chút suy nghĩ "thông thường" về vấn đề. Tôi sẽ lấy một trước không xác định cho ρLμ<μx,μy<UμLσ<σx,σy<Uσρvà vì vậy chúng tôi nhận được (đồng phục sẽ hoạt động tốt, nếu không cắt bớt điểm kỳ dị ở ):±1

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

Trong đó . Điều này mang lại cho một hậu thế của: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

Now the first integration over μy can be done by making a change of variables z=Nμy[y(x¯μx)ρσyσx]σy1ρ2dz=Nσy1ρ2dμy and the first integral over μy becomes:

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

And you can see from here, no analytic solutions are possible. However, it is also worthwhile to note that the value ρ has not dropped out of the equations. This means that the data and prior information still have something to say about the true correlation. If the data said nothing about the correlation, then we would be simply left with p(ρ) as the only function of ρ in these equations.

It also shows how that passing to the limit of infinite bounds for μy "throws away" some of the information about ρ, which is contained in the complicated looking normal CDF function Φ(.). Now if you have a lot of data, then passing to the limit is fine, you don't loose much, but if you have very scarce information, such as in your case - it is important keep every scrap you have. It means ugly maths, but this example is not too hard to do numerically. So we can evaluate the integrated likelihood for ρ at values of say 0.99,0.98,,0.98,0.99 fairly easily. Just replace the integrals by summations over a small enough intervals - so you have a triple summation


@probabilityislogic: Wow. Simply wow. After seen some of your answers I really wonder: what should a doofus like me do to reach such a flexible bayesian state of mind ?
steffen

1
@steffen - lol. Its not that difficult, you just need to practice. And always always always remember that the product and sum rules of probability are the only rules you will ever need. They will extract whatever information is there - whether you see it or not. So you apply product and sum rules, then just do the maths. That is all I have done here.
probabilityislogic

@steffen - and the other rule - more a mathematical one than stats one - don't pass to an infinite limit too early in your calculations, your results may become arbitrary, or little details may get thrown out. Measurement error models are a perfect example of this (as is this question).
probabilityislogic

@probabilityislogic: Thank you, I'll keep this in mind... as soon as I am done working through my "Bayesian Analysis"-copy ;).
steffen

@probabilityislogic: If you could humor a nonmathematical statistician/researcher...would it be possible to summarize or translate your answer to a group of dentists or high school principals or introductory statistics students?
rolando2

6

I agree with sesqu that the correlation is undefined in this case. Depending on your type of application you could e.g. calculate the Gower Similarity between both vectors, which is: gower(v1,v2)=i=1nδ(v1i,v2i)n where δ represents the kronecker-delta, applied as function on v1,v2.

So for instance if all values are equal, gower(.,.)=1. If on the other hand they differ only in one dimension, gower(.,.)=0.9. If they differ in every dimension, gower(.,.)=0 and so on.

Of course this is no measure for correlation, but it allows you to calculate how close the vector with s>0 is to the one with s=0. Of course you can apply other metrics,too, if they serve your purpose better.


+1 That's a creative idea. It sounds like the "Gower Similarity" is a scaled Hamming distance.
whuber

@whuber: Indeed it is !
steffen

0

The correlation is undefined in that case. If you must define it, I would define it as 0, but consider a simple mean absolute difference instead.


0

This question is coming from programmers, so I'd suggest plugging in zero. There's no evidence of a correlation, and the null hypothesis would be zero (no correlation). There might be other context knowledge that would provide a "typical" correlation in one context, but the code might be re-used in another context.


2
There's no evidence of lack of correlation either, so why not plug in 1? Or -1? Or anything in between? They all lead to re-usable code!
whuber

@whuber - you plug in zero because the data is "less constrained" when it is independent - this is why maxent distributions are independent unless you explicitly specify correlations in the constraints. Independence can be viewed as a conservative assumption when you know of no such correlations - effectively you are averaging over all possible correlations.
probabilityislogic

1
@prob I question why it makes sense as a generic procedure to average over all correlations. In effect this procedure substitutes the definite and possibly quite wrong answer "zero!" for the correct answer "the data don't tell us." That difference can be important for decision making.
whuber

Just because the question might be from a programmer, does not mean you should convert an undefined value to zero. Zero means something specific in a correlation calculation. Throw an exception. Let the caller decide what should happen. Your function should calculate a correlation, not decide what to do if one cannot be computed.
Jared Becksfort
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.