OK, he revisado exhaustivamente esta respuesta. Creo, más bien, que el agrupamiento de sus datos y la comparación de los recuentos en cada bandeja, la sugerencia que le había enterrado en mi respuesta original de la instalación de un 2d núcleo de la estimación de la densidad y la comparación de ellos es una idea mucho mejor. Mejor aún, hay una función de kde.de prueba() en Tarn Duong del ks paquete de R que hace esto fácil como pastel.
Consulte la documentación de kde.examen para obtener más detalles y los argumentos que usted puede ajustar. Pero básicamente se hace casi exactamente lo que usted desea. El p valor que devuelve es la probabilidad de la generación de los dos conjuntos de datos que se comparan bajo la hipótesis nula de que éstas se generan de la misma distribución . De modo que el mayor es el p-valor, mejor es el ajuste entre a y B. Véase el ejemplo de abajo donde esta coge fácilmente que B1 y Una son diferentes, pero que B2 y son plausiblemente la misma (que es la forma en que se genera).
# generate some data that at least looks a bit similar
generate <- function(n, displ=1, perturb=1){
BV <- rnorm(n, 1*displ, 0.4*perturb)
UB <- -2*displ + BV + exp(rnorm(n,0,.3*perturb))
data.frame(BV, UB)
}
set.seed(100)
A <- generate(300)
B1 <- generate(500, 0.9, 1.2)
B2 <- generate(100, 1, 1)
AandB <- rbind(A,B1, B2)
AandB$type <- rep(c("A", "B1", "B2"), c(300,500,100))
# plot
p <- ggplot(AandB, aes(x=BV, y=UB)) + facet_grid(~type) +
geom_smooth() + scale_y_reverse() + theme_grey(9)
win.graph(7,3)
p +geom_point(size=.7)
> library(ks)
> kde.test(x1=as.matrix(A), x2=as.matrix(B1))$pvalue
[1] 2.213532e-05
> kde.test(x1=as.matrix(A), x2=as.matrix(B2))$pvalue
[1] 0.5769637
MI RESPUESTA ORIGINAL A CONTINUACIÓN, SE CONSERVAN SÓLO PORQUE EN LA ACTUALIDAD HAY ENLACES DESDE OTROS LUGARES QUE NO TIENEN SENTIDO
Primero, puede haber otras maneras de ir sobre esto.
Justel et al han puesto en marcha un multivariante de la extensión de la prueba de Kolmogorov-Smirnov de bondad de ajuste, que creo que podría ser usado en su caso, para probar qué tan bien cada conjunto de datos del modelo de ajuste a la original. No podía encontrar una implementación de este (por ejemplo, en R), pero tal vez no me parece lo suficientemente duro.
Alternativamente, puede haber una forma de hacer esto mediante la colocación de una cópula para los datos originales y para cada conjunto de datos del modelo y, a continuación, la comparación de los modelos. Existen implementaciones de este enfoque en R y en otros lugares, pero no estoy muy familiarizada con ellos así que no lo he probado.
Pero para hacer frente a su pregunta directamente, el enfoque que ha tomado es razonable. Varios de los puntos sugeridos:
A menos que el conjunto de datos es más grande de lo que parece, yo creo que un 100 x 100 rejilla es demasiado muchos contenedores. Intuitivamente, puedo imaginar que la conclusión de los diversos conjuntos de datos son más diferentes de lo que son simplemente debido a la precisión de las bandejas significa que usted tiene un montón de contenedores con un bajo número de puntos en ellos, incluso cuando la densidad de datos es alta. Sin embargo, esto al final es una cuestión de criterio. Me volvería a comprobar los resultados con diferentes enfoques para el agrupamiento.
Una vez que usted ha hecho su agrupamiento y de convertir los datos en (en efecto) de una tabla de contingencia de la cuenta con dos columnas y número de filas igual al número de contenedores (10.000 en su caso), tienes un problema de comparar las dos columnas de la cuenta. Una prueba de la Chi cuadrado o la instalación de algún tipo de Poisson de que el modelo funcione, pero como usted dice hay incomodidad debido a la gran cantidad de cero cuenta. Cualquiera de estos modelos son normalmente ajuste por la minimización de la suma de los cuadrados de la diferencia, ponderado por el inverso del número esperado de cargos; cuando este se aproxima a cero puede causar problemas.
Edit: el resto de esta respuesta yo ahora ya no creen para ser un enfoque apropiado.
Creo que la prueba exacta de Fisher puede no ser útil o apropiado en esta situación, donde los marginales totales de las filas en las cruzadas no son fijos. Se le dará una respuesta plausible, pero me resulta difícil compatibilizar su uso con su original derivación de diseño experimental. Me estoy dejando el original de la respuesta aquí, así que los comentarios y el seguimiento de la pregunta tiene sentido. Además, aún puede ser una manera de responder a la OP del enfoque deseado de agrupamiento de los datos y la comparación de los contenedores por parte de algunos test basado en la absoluta media o diferencias cuadráticas. Un enfoque de este tipo todavía el uso de la $n_g\times 2$ cross-tab se hace referencia a continuación y prueba de independencia es decir buscando un resultado donde la columna tuvo la misma proporción que la columna B.
Sospecho que una solución para el problema anterior sería el uso de la prueba exacta de Fisher, aplicándola a su $n_g \times 2$ tabulación cruzada, donde $n_g$ es el número total de contenedores. Aunque el cálculo no es práctico debido a que el número de filas en la tabla, usted puede obtener una buena estimación de la p-valor utilizando la simulación de Monte Carlo (la R de la implementación de Fisher prueba da esto como una opción para las tablas que son más grandes que 2 x 2 y sospecho que lo hacen otros paquetes). Estos valores de p son la probabilidad de que el segundo conjunto de datos (a partir de uno de sus modelos) tienen la misma distribución a través de las bandejas como la original. Por lo tanto el más alto es el p-valor, mejor es el ajuste.
He simulado algunos datos a tener un aspecto un poco como el suyo y se encontró que este enfoque era muy eficaz en la identificación de cuáles de mis "B" conjuntos de datos fueron generados a partir del mismo proceso como "Un", y que eran ligeramente diferentes. Sin duda más eficaz que el ojo desnudo.
- Con este enfoque de la prueba de la independencia de las variables en un $n_g \times 2$ tabla de contingencia, no importa que el número de puntos en Una es diferente de la de B (aunque tenga en cuenta que esto es un problema si se utiliza sólo la suma de las diferencias absolutas o el cuadrado de las diferencias, como originalmente proponer). Sin embargo, es importante que cada una de sus versiones de B tiene un número diferente de puntos. Básicamente, mayor B conjuntos de datos tienen una tendencia a volver menor p-valores. No puedo pensar en varias soluciones posibles a este problema. 1. Usted podría reducir su B conjuntos de datos del mismo tamaño (el tamaño de la más pequeña de tus B conjuntos), tomando una muestra aleatoria de tamaño de todos los B establece que son más grandes que el tamaño. 2. Usted podría primer ajuste de dos dimensiones núcleo de la estimación de la densidad para cada uno de sus B conjuntos, y luego simular datos de los que estiman que es igual tamaño. 3. usted podría utilizar algún tipo de simulación a trabajar fuera de la relación de los valores de p para el tamaño y el uso que de "corregir" los valores de p que se obtiene de la anterior procedimiento, a fin de que sean comparables. Probablemente hay otras alternativas. Que uno lo hacen dependerá de cómo el B los datos se han generado, cómo los diferentes tamaños, etc.
Espero que ayude.