ตัวอย่างของค่าสัมประสิทธิ์สหสัมพันธ์ที่แข็งแกร่งกับค่า p สูง


21

ฉันสงสัยว่าเป็นไปได้หรือไม่ที่จะมีค่าสัมประสิทธิ์สหสัมพันธ์ที่สูงมาก (พูด. 9 หรือสูงกว่า) ด้วยค่า p สูง (พูด. 25 หรือสูงกว่า)?

นี่คือตัวอย่างของสัมประสิทธิ์สหสัมพันธ์ต่ำที่มีค่า p สูง:

set.seed(10)
y <- rnorm(100)
x <- rnorm(100)+.1*y
cor.test(x,y)

cor = 0.03908927, p = 0.6994

สัมประสิทธิ์สหสัมพันธ์สูงค่า p ต่ำ:

y <- rnorm(100)
x <- rnorm(100)+2*y
cor.test(x,y)

cor = 0.8807809, p = 2.2e-16

ค่าสัมประสิทธิ์สหสัมพันธ์ต่ำค่า p ต่ำ:

y <- rnorm(100000)
x <- rnorm(100000)+.1*y
cor.test(x,y)

cor = 0.1035018, p = 2.2e-16

สัมประสิทธิ์สหสัมพันธ์สูงค่า p สูง: ???

คำตอบ:


36

บรรทัดล่าง

สัมประสิทธิ์สหสัมพันธ์ตัวอย่างจำเป็นต้องปฏิเสธสมมติฐานที่ว่าสัมประสิทธิ์สหสัมพันธ์จริง (Pearson) มีค่าเป็นศูนย์จะค่อนข้างเล็กเร็วเมื่อขนาดตัวอย่างเพิ่มขึ้น ดังนั้นโดยทั่วไปไม่มีคุณจะไม่สามารถไปพร้อม ๆ กันมี (ขนาด) ค่าสัมประสิทธิ์สหสัมพันธ์ขนาดใหญ่และขนาดใหญ่พร้อมกันp -value

The Top Line (รายละเอียด)

การทดสอบที่ใช้สำหรับสัมประสิทธิ์สหสัมพันธ์ของเพียร์สันในฟังก์ชั่นเป็นวิธีที่ฉันพูดถึงด้านล่างซึ่งเป็นเวอร์ชั่นที่ได้รับการแก้ไขเล็กน้อยRcor.test

สมมติว่ามี IID bivariate เวกเตอร์สุ่มปกติที่มีความสัมพันธ์\เราต้องการที่จะทดสอบสมมติฐานที่ว่าเมื่อเทียบกับ0 ให้เป็นสัมประสิทธิ์สหสัมพันธ์ตัวอย่าง การใช้ทฤษฎีการถดถอยเชิงเส้นมาตรฐานนั้นไม่ยากที่จะแสดงให้เห็นว่าสถิติการทดสอบ มีการแจกแจงภายใต้สมมติฐานว่าง สำหรับขนาดใหญ่ที่กระจายแนวทางมาตรฐานปกติ ดังนั้นρ ρ = 0 ρ 0 R T = R (X1,Y1),(X2,Y2),,(Xn,Yn)ρρ=0ρ0r tn-2ntn-2T2T2F1,n-2χ21

T=rn2(1r2)
tn2ntn2T2ประมาณไคสแควร์กระจายด้วยระดับหนึ่งของเสรีภาพ (ภายใต้สมมติฐานที่เราได้ทำไว้ความเป็นจริง แต่การประมาณทำให้ชัดเจนยิ่งขึ้นว่าเกิดอะไรขึ้น)T2F1,n2χ12

ดังนั้น ที่คือ quantile ของการแจกแจงแบบไคสแควร์ที่มีอิสระในระดับหนึ่งq 1 - α ( 1 - α )

P(r21r2(n2)q1α)α,
q1α(1α)

ตอนนี้ให้สังเกตว่ากำลังเพิ่มขึ้นเมื่อเพิ่มขึ้น การจัดเรียงปริมาณใหม่ในคำชี้แจงความน่าจะเป็นเรามีสิ่งนั้นสำหรับทั้งหมด เราจะได้รับการปฏิเสธสมมติฐานที่ระดับ\เห็นได้ชัดว่าด้านขวามือลดลงด้วยnr 2 | r | 1r2/(1r2)r2อัลฟ่าn

|r|11+(n2)/q1α
αn

พล็อต

นี่คือพล็อตของภูมิภาคการปฏิเสธของเป็นฟังก์ชั่นของขนาดตัวอย่าง ดังนั้นสำหรับตัวอย่างเช่นเมื่อขนาดของกลุ่มตัวอย่างเกินกว่า 100, จำเป็นที่จะต้อง (แน่นอน) ความสัมพันธ์เป็นเพียงประมาณ 0.2 จะปฏิเสธ null ที่ระดับα = 0.05|r|α=0.05

การจำลอง

เราสามารถทำการจำลองอย่างง่ายเพื่อสร้างคู่ของเวกเตอร์ที่มีค่าเฉลี่ยเป็นศูนย์ที่มีสัมประสิทธิ์สหสัมพันธ์ที่แน่นอน ด้านล่างเป็นรหัส cor.testจากนี้เราสามารถมองไปที่การส่งออกของ

k <- 100
n <- 4*k

# Correlation that gives an approximate p-value of 0.05
# Change 0.05 to some other desired p-value to get a different curve
pval <- 0.05
qval <- qchisq(pval,1,lower.tail=F)
rho  <- 1/sqrt(1+(n-2)/qval)

# Zero-mean orthogonal basis vectors
b1 <- rep(c(1,-1),n/2)
b2 <- rep(c(1,1,-1,-1),n/4)

# Construct x and y vectors with mean zero and an empirical
# correlation of *exactly* rho
x <- b1
y <- rho * b1 + sqrt(1-rho^2) * b2

# Do test
ctst <- cor.test(x,y)

ตามที่ร้องขอในความคิดเห็นนี่คือรหัสในการทำซ้ำพล็อตซึ่งสามารถเรียกใช้ได้ทันทีตามรหัสด้านบน (และใช้ตัวแปรบางตัวที่กำหนดไว้ที่นั่น)

png("cortest.png", height=600, width=600)
m  <- 3:1000
yy <- 1/sqrt(1+(m-2)/qval)
plot(m, yy, type="l", lwd=3, ylim=c(0,1),
     xlab="sample size", ylab="correlation")
polygon( c(m[1],m,rev(m)[1]), c(1,yy,1), col="lightblue2", border=NA)
lines(m,yy,lwd=2)
text(500, 0.5, "p < 0.05", cex=1.5 )
dev.off()

1
ดังนั้น - บรรทัดล่างคืออะไร ฉันคิดว่าคุณกำลังพูดว่ายกเว้นขนาดตัวอย่างเล็กค่าความสัมพันธ์สูงหมายถึงค่า p ต่ำ - แต่ฉันคิดว่ามันจะช่วยในการสะกดออกที่ชัดเจน
DW

@DW: ขอบคุณมากสำหรับความคิดเห็นของคุณ! ฉันหวังว่าบรรทัดล่างจะชัดเจนจากภาพและสมการการแสดงแสดงให้เห็นว่าความสัมพันธ์กำลังสองที่จำเป็นในการรักษาค่าคงที่ใด ๆนั้นลดลงแบบ monotonically เป็นฟังก์ชันของขนาดตัวอย่าง ฉันจะหาวิธีที่จะทำให้คำสั่งที่ชัดเจนมากขึ้นเกี่ยวกับผลกระทบนี้และสอดเข้าไปในสถานที่ที่เหมาะสม ขอขอบคุณอีกครั้งสำหรับข้อเสนอแนะที่สร้างสรรค์ p
พระคาร์ดินัล

@ cardinal คุณช่วยกรุณาโพสต์ซอร์สโค้ดสำหรับกราฟที่คุณสร้างขึ้นได้ไหม
aL3xa

@DW ฉันได้พยายามแก้ไขข้อกังวลของคุณแล้ว หากคุณเห็นการปรับปรุงที่สามารถทำได้โปรดแจ้งให้เราทราบ
พระคาร์ดินัล

1
@ aL3xa: ฉันได้เพิ่มรหัสการลงจุดที่ฉันใช้ หวังว่านี่จะช่วยได้
พระคาร์ดินัล

17
cor.test(c(1,2,3),c(1,2,2))

cor = 0.866, p = 0.333


6
@Zach: โปรดตรวจสอบการตรวจสอบของคุณอีกครั้งในขณะที่พระคาร์ดินัลและ shabbychef ได้ใช้เวลาในการตอบคำถามเต็ม
Aaron - Reinstate Monica

11

การประมาณค่าสูงของสัมประสิทธิ์สหสัมพันธ์กับค่า p สูงอาจเกิดขึ้นกับขนาดตัวอย่างที่เล็กมากเท่านั้น ฉันกำลังจะจัดทำภาพประกอบ แต่แอรอนเพิ่งทำเช่นนั้น!


9

ผมเชื่อว่าโดยฟิชเชอร์ RZ แปลงที่ arctan ผ่อนชำระความสัมพันธ์ตัวอย่างภายใต้ null เป็นประมาณปกติกับศูนย์หมายและมาตรฐานข้อผิดพลาด{n-3} ตัวอย่างเช่นเพื่อให้ได้ตัวอย่างความสัมพันธ์มีค่า p คงที่,คุณจะต้องมี ที่เป็น CDF มาตรฐานปกติและคุณกำลังดำเนินการทดสอบสองด้านสำหรับโมฆะ0ρ >0พีพี=2-2Φ ( ATANH( ρ )1/n3ρ^>0pΦH0:ρ=0

p=22Φ(atanh(ρ^)n3),
ΦH0:ρ=0

คุณสามารถเปลี่ยนให้เป็นฟังก์ชันที่ให้ค่าสำหรับค่าคงที่nρ^p

 #get n for sample correlation and p-value, 2-sided test of 0 correlation
 n.size <- function(rho.hat,p.val) {
   n <- 3 + ((qnorm(1 - 0.5 * p.val)) / atanh(rho.hat))^2
 }

ρ^=0.5p=0.2

print(n.size(0.5,0.2))

[1] 8.443062

n,pρ^


1

ใช่. ค่า p ขึ้นอยู่กับขนาดตัวอย่างดังนั้นตัวอย่างเล็ก ๆ สามารถให้ได้

สมมติว่าขนาดเอฟเฟกต์ที่แท้จริงนั้นเล็กมากและคุณวาดตัวอย่างเล็ก ๆ โชคดีที่คุณได้รับข้อมูลสองสามจุดที่มีความสัมพันธ์สูงมาก ค่า p จะสูงตามที่ควรจะเป็น ความสัมพันธ์อยู่ในระดับสูง แต่ไม่ได้ผลลัพธ์ที่น่าเชื่อถือมาก

ความสัมพันธ์ตัวอย่างจากครของ R () จะบอกคุณถึงการประมาณค่าความสัมพันธ์ที่ดีที่สุด (ให้ตัวอย่าง) ค่า p ไม่ได้วัดความแข็งแรงของสหสัมพันธ์ มันจะวัดความเป็นไปได้ที่มันจะเกิดขึ้นในกรณีที่ไม่มีผลจริงโดยพิจารณาจากขนาดของตัวอย่าง

อีกวิธีหนึ่งในการดู: หากคุณมีขนาดเอฟเฟกต์เหมือนกัน แต่รับตัวอย่างเพิ่มเติมค่า p จะเป็นศูนย์เสมอ

(หากคุณต้องการรวมแนวคิดเกี่ยวกับขนาดผลกระทบโดยประมาณและความเชื่อมั่นเกี่ยวกับค่าประมาณไว้มากขึ้นอาจเป็นการดีกว่าที่จะใช้ช่วงความมั่นใจหรือใช้เทคนิคแบบเบย์)


α=0.05x <- seq(0,4); y <- seq(0,4) + rnorm(5); cor.test(x,y)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.