परिकल्पना का परीक्षण कैसे करें कि सहसंबंध आर का उपयोग करके दिए गए मूल्य के बराबर है?


10

क्या परिकल्पना का परीक्षण करने के लिए एक फ़ंक्शन है कि दो वैक्टरों का सहसंबंध एक दी गई संख्या के बराबर है, 0.75 कहते हैं? Cor.test का उपयोग करके मैं cor = 0 का परीक्षण कर सकता हूं और मैं देख सकता हूं कि 0.75 विश्वास अंतराल के अंदर है या नहीं। लेकिन क्या cor = 0.75 के लिए p- मान की गणना करने के लिए एक फ़ंक्शन है?

x <- rnorm(10)
y <- x+rnorm(10)
cor.test(x, y)

2
यह सवाल crossvalidated.com के लिए बेहतर है
Sacha Epskamp

1
@sacha - कृपया किसी साइट के अक्सर पूछे जाने वाले प्रश्नों की जांच करें।
केव

प्रश्न "कोर = 0.75 के लिए पी-मान की गणना करने के लिए एक फ़ंक्शन है?" प्रोग्रामिंग से कोई लेना-देना नहीं है। यह एक सांख्यिकीय प्रश्न है।
सच्चा ईप्सकैंप

मैं आँकड़े लोगों से परामर्श करूँगा और देखूँगा कि वे क्या सोचते हैं।
केव

1
@ मोज़ेक कृपया, अपना खाता यहाँ पंजीकृत करें। इस तरह, आप अपने एसओ खाते को वर्तमान के साथ जोड़ पाएंगे।
chl

जवाबों:


12

फिशर के एटैन परिवर्तन को स्थिर करने वाले विचरण का उपयोग करके , आप पी-मान प्राप्त कर सकते हैं

pnorm( 0.5 * log( (1+r)/(1-r) ), mean = 0.5 * log( (1+0.75)/(1-0.75) ), sd = 1/sqrt(n-3) )

या एकतरफा / दो तरफा पी-मूल्य का जो भी संस्करण आप में रुचि रखते हैं। Obviuosly, आप इस के लिए इनपुट के रूप में नमूना आकार nऔर नमूना सहसंबंध गुणांक की जरूरत है r


+1 आपके उत्तर के लिए धन्यवाद - यह मेरे लिए स्पष्ट नहीं था कि इस मामले में फ़िशर का रूपांतरण उचित था या नहीं, लेकिन आपका उत्तर स्पष्ट होने में मदद करता है।
गैविन सिम्पसन

@ गेविन, आपने स्पष्ट करने का प्रयास किया कि ओपी का इरादा क्या था। मैंने बस उस मोडल स्थिति को ग्रहण किया, जिसमें उस तरह का सवाल उठता है, और ऐसा लगता है जैसे उसने काम किया है :)।
StasK

4

Rho के आसपास r_hat का वितरण इस R फ़ंक्शन द्वारा दिया गया है जो जू कुई के वेबपेज पर Matlab कोड से अनुकूलित है । यह संभव नहीं है कि इस संभावना को एक अनुमान में बदल दिया जाए कि एक मनाया गया मान "r" "n" का एक नमूना आकार और "ro" का एक काल्पनिक वास्तविक मूल्य है।

corrdist <- function (r, ro, n) {
        y = (n-2) * gamma(n-1) * (1-ro^2)^((n-1)/2) * (1-r^2)^((n-4)/2)
        y = y/ (sqrt(2*pi) * gamma(n-1/2) * (1-ro*r)^(n-3/2))
        y = y* (1+ 1/4*(ro*r+1)/(2*n-1) + 9/16*(ro*r+1)^2 / (2*n-1)/(2*n+1)) }

फिर उस फ़ंक्शन के साथ आप 0.75 के शून्य rho के वितरण की साजिश कर सकते हैं, इस संभावना की गणना करें कि r_hat 0.6 से कम होगा और भूखंड पर उस क्षेत्र में छाया:

 plot(seq(-1,1,.01), corrdist( seq(-1,1,.01), 0.75, 10) ,type="l")
 integrate(corrdist, lower=-1, upper=0.6, ro=0.75, n=10)
# 0.1819533 with absolute error < 2e-09
 polygon(x=c(seq(-1,0.6, length=100), 0.6, 0), 
         y=c(sapply(seq(-1,0.6, length=100), 
         corrdist, ro=0.75, n=10), 0,0), col="grey")

यहाँ छवि विवरण दर्ज करें


4

एक और दृष्टिकोण जो फिशर के विरूपण से कम सटीक हो सकता है, लेकिन मुझे लगता है कि यह अधिक सहज हो सकता है (और सांख्यिकीय महत्व के अलावा व्यावहारिक महत्व के बारे में विचार दे सकता है) दृश्य परीक्षण है:

 Buja, A., Cook, D. Hofmann, H., Lawrence, M. Lee, E.-K., Swayne,
 D.F and Wickham, H. (2009) Statistical Inference for exploratory
 data analysis and model diagnostics Phil. Trans. R. Soc. A 2009
 367, 4361-4383 doi: 10.1098/rsta.2009.0120

वहाँ इस के एक कार्यान्वयन है vis.testमें समारोह TeachingDemosआर एक के लिए पैकेज संभवतः अपने उदाहरण के लिए इसे चलाने के लिए जिस तरह से:

vt.scattercor <- function(x,y,r,...,orig=TRUE)
{
    require('MASS')
    par(mar=c(2.5,2.5,1,1)+0.1)
    if(orig) {
        plot(x,y, xlab="", ylab="", ...)
    } else {
        mu <- c(mean(x), mean(y))
        var <- var( cbind(x,y) )
        var[ rbind( 1:2, 2:1 ) ] <- r * sqrt(var[1,1]*var[2,2])
        tmp <- mvrnorm( length(x), mu, var )
        plot( tmp[,1], tmp[,2], xlab="", ylab="", ...)
    }
}

test1 <- mvrnorm(100, c(0,0), rbind( c(1,.75), c(.75,1) ) )
test2 <- mvrnorm(100, c(0,0), rbind( c(1,.5), c(.5,1) ) )

vis.test( test1[,1], test1[,2], r=0.75, FUN=vt.scattercor )
vis.test( test2[,1], test2[,2], r=0.75, FUN=vt.scattercor )

बेशक, यदि आपका वास्तविक डेटा सामान्य नहीं है या संबंध रैखिक नहीं है, तो वह आसानी से उपरोक्त कोड के साथ उठाया जाएगा। यदि आप उन लोगों के लिए एक साथ परीक्षण करना चाहते हैं, तो उपरोक्त कोड ऐसा करेगा, या डेटा की प्रकृति का बेहतर प्रतिनिधित्व करने के लिए उपरोक्त कोड को अनुकूलित किया जा सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.