Ein anderer Ansatz, der möglicherweise weniger genau ist als die Transformation von Fisher, aber ich denke, er könnte intuitiver sein (und neben der statistischen Signifikanz auch Ideen zur praktischen Bedeutung liefern), ist der visuelle Test:
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
Es gibt eine Implementierung in der vis.test
Funktion im TeachingDemos
Paket für R. Eine Möglichkeit, sie für Ihr Beispiel auszuführen, ist:
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 )
Wenn Ihre realen Daten nicht normal sind oder die Beziehung nicht linear ist, kann dies natürlich mit dem obigen Code leicht erfasst werden. Wenn Sie diese gleichzeitig testen möchten, würde der obige Code dies tun, oder der obige Code könnte angepasst werden, um die Art der Daten besser darzustellen.