Une autre approche qui peut être moins exacte que la transformation de Fisher, mais je pense qu'elle pourrait être plus intuitive (et pourrait donner des idées sur la signification pratique en plus de la signification statistique) est le test visuel:
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
Il y a une implémentation de ceci dans la vis.test
fonction dans le TeachingDemos
package pour R. Une façon possible de l'exécuter pour votre exemple est:
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 )
Bien sûr, si vos données réelles ne sont pas normales ou si la relation n'est pas linéaire, cela sera facilement détecté avec le code ci-dessus. Si vous souhaitez tester simultanément ceux-ci, le code ci-dessus le ferait ou le code ci-dessus pourrait être adapté pour mieux représenter la nature des données.