No estoy muy seguro de qué es lo que tiene de divertido estos datos: no parecen Impares en ningún sentido en particular (el coeficiente de variación es razonable, no hay nada llamativamente extraño en el histograma...) Sin embargo, aquí hay algunas rutas posibles hacia adelante.
require(car)
bcdata = unlist(read.table(url("http://www.tropic.org.uk/~crispin/boxcoxerror")))
mean(bcdata)
sd(bcdata)
hist(bcdata,freq=FALSE)
lines(density(bcdata))
Reproducir el error (R 2.14.1, Linux de 32 bits)
powerTransform(bcdata)
L-BFGS-B, el optimizador utilizado internamente, es notoriamente sensible a los problemas de escala. Esto parece funcionar:
powerTransform(bcdata/1000)
Curiosamente, boxcox
también da respuestas muy diferentes en función de la escala:
m <- MASS::boxcox(lm(bcdata~1),lambda=seq(-4,2,by=0.05))
m2 <- MASS::boxcox(lm(bcdata/1000~1),lambda=seq(-8,2,by=0.05))
m2$x[which.max(m2$y)] ## agrees pretty well with powerTransform()
La otra cosa que me preocupa es que la transformación de potencia que se sugiere es tan extrema: ¿realmente necesitamos una potencia de casi -5 para normalizar estos datos?
Tal vez alguien que piense más detenidamente en los detalles analíticos reales de las transformaciones de Box-Cox/poder pueda explicar lo que ocurre aquí.