อีกวิธีที่อาจไม่แม่นยำกว่าการเปลี่ยนรูปแบบของฟิชเชอร์ แต่ฉันคิดว่าน่าจะเป็นสัญชาตญาณมากกว่า (และสามารถให้ความคิดเกี่ยวกับความสำคัญเชิงปฏิบัตินอกเหนือจากนัยสำคัญทางสถิติ) คือการทดสอบด้วยภาพ:
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 )
แน่นอนหากข้อมูลจริงของคุณไม่ปกติหรือความสัมพันธ์ไม่เป็นเชิงเส้นก็จะหยิบขึ้นมาได้อย่างง่ายดายด้วยรหัสข้างต้น หากคุณต้องการทดสอบพร้อมกันสำหรับโค้ดเหล่านั้นโค้ดด้านบนจะทำเช่นนั้นหรือโค้ดด้านบนสามารถปรับเปลี่ยนเพื่อแสดงถึงลักษณะของข้อมูลได้ดียิ่งขึ้น