Un altro approccio che può essere meno esatto della trasformazione di Fisher, ma penso che potrebbe essere più intuitivo (e potrebbe dare idee sul significato pratico oltre al significato statistico) è il test visivo:
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
C'è un'implementazione di questo nella vis.testfunzione nel TeachingDemospacchetto per R. Un possibile modo per eseguirlo per il tuo esempio è:
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 )
Naturalmente se i tuoi dati reali non sono normali o la relazione non è lineare, allora sarà facilmente acquisito con il codice sopra. Se si desidera testare simultaneamente per quelli, allora il codice sopra lo farebbe, o il codice sopra potrebbe essere adattato per rappresentare meglio la natura dei dati.