Innym podejściem, które może być mniej dokładne niż transformacja Fishera, ale myślę, że może być bardziej intuicyjne (i może dawać pomysły na znaczenie praktyczne oprócz znaczenia statystycznego) to test wizualny:
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
Istnieje implementacja tego w vis.test
funkcji w TeachingDemos
pakiecie dla R. Jednym z możliwych sposobów uruchomienia go dla twojego przykładu jest:
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 )
Oczywiście, jeśli twoje rzeczywiste dane nie są normalne lub relacja nie jest liniowa, można to łatwo odczytać za pomocą powyższego kodu. Jeśli chcesz jednocześnie je przetestować, powyższy kod by to zrobił, lub powyższy kod można dostosować, aby lepiej reprezentował charakter danych.