6 votos

¿Dónde puedo encontrar más materiales sobre 'binning' después de PCA?

Se supone que debo escribir una revisión de la literatura sobre un papel particular para mi Universidad y estoy perdido después de leer el papel principal se supone que debo leer. El enlace para el papel está aquí. El papel del CERN y ofertas con el uso de técnicas de aprendizaje de máquina para acelerar el ATLAS calorímetro de simulación.

En este, para simular las partículas de la ducha en el CERN, el uso de una doble PCA técnica. Primero los eventos son decorrelated uso de PCA, el primer principio de la componente y de cada uno de los eventos se agrupan en 10 binns de la primera PC. No entiendo esta parte. Por favor alguien puede decirme lo que está haciendo cuando usted bin los puntos de datos utilizando un componente del principio? He intentado buscar pero no me parecen encontrar ninguna referencia a este concepto en cualquier lugar. Incluso un puntero a un papel de escritura/-hasta que explican este agrupamiento(por qué y cómo) sería genial.

Los depósitos de energía por cada capa están correlacionadas entre sí. Si, por ejemplo, una gran cantidad de energía se pierde en las primeras capas, menos serán depositados en las capas inferiores. En fin decorrelate los depósitos de energía, un análisis de componentes principales (PCA) se utiliza. Un PCA es una transformación de un conjunto de variables en un conjunto ortogonal de y no correlacionados, los llamados componentes principales. El primer componente tiene la mayor varianza. Con el fin de lograr una mejor descorrelación, los eventos se dividen en las papeleras de la primera (o segunda) de los componentes. Los contenedores tienen aproximadamente el mismo número de eventos, y, normalmente, un número de contenedores entre el 5 y el 10 es el elegido. Un segundo PCA transformación se aplica a los depósitos de energía capa por capa, para los eventos en cada uno de los recipientes, y por lo tanto los componentes de la segunda transformación de ahora en gran medida decorrelated.

Este es el párrafo que explica el procedimiento. La sección que está en negrita es donde estoy confundido.

5voto

jldugger Puntos 7490

Vamos a dibujar una imagen con dos variables. Va a ilustrar la idea general.

Para lograr esto, se generó un conjunto de 500 datos con las expectativas de correlación de $0.25$, calcula el primer componente principal (PC), se corta en cinco equinumerous contenedores, y se calcula la primera PC para cada uno de los recipientes.

Figure

El primer PC (no se muestra directamente) puntos a lo largo del eje mayor de la nube de puntos. Los límites entre los recipientes son líneas perpendiculares a la dirección. Estos se muestran en blanco. Tallan el avión en cinco regiones, para que los puntos se asignan y de color de la región. El primer PC de los puntos dentro de cada grupo se indica con una flecha con origen en el centroide de la bandeja de puntos. (Los centroides están marcados con puntos negros.)

El sentido en el que esta "decorrelates" algo no está claro, porque, como es evidente en la trama--los puntos dentro de cada recipiente puede, en todo caso, más correlacionada de los puntos originales. Este procedimiento hace estratificar los datos de acuerdo a sus posiciones a lo largo del eje mayor de la nube de puntos, con lo que la eliminación de la mayoría de los efecto de la variación a lo largo del eje mayor: tal vez que se realiza algo útil en la aplicación.

El R código está escrito para permitir la variación de los parámetros de la simulación: número de puntos, el coeficiente de correlación, y el número de contenedores. Ofrezco, para uso en explorar más a fondo esta situación.

library(MASS)       # Generates multivariate Normal data
library(ggplot2)    # Plots nicely
library(data.table) # Computes on data frames well
#
# Specify the multivariate data distribution.
#
n <- 5e2     # Sample size
mu <- c(0,0) # Mean
rho <- 0.25  # Correlation coefficient
n.bins <- 5  # Number of bins
#
# Generate correlated variables.
#
X <- as.data.table(mvrnorm(n, mu, matrix(c(1,rho,rho,1), 2))) # Observations
#
# Compute the first PC.
#
P <- prcomp(X, rank.=1)
X$PC1 <- t(t(X) - P$center) %*% P$rotation 
#
# Bin the first principal component.
#
n.bins <- min(n.bins, n)
q <- quantile(X$PC1, seq(0, 1, length.out=n.bins+1))
q[1] <- -Inf; q[n.bins+1] <- Inf
X$Bin <- cut(X$PC1, q)
#
# Create a data frame for plotting the bin boundaries.
#
beta <- P$rotation
Q <- data.table(intercept=q[-c(1,n.bins+1)]/beta[2], slope=-beta[1]/beta[2])
#
# Do PCA by bin.
#
f <- function(x, y, length=1.5) {
  s <- sign(cor(x,y))
  slope <- s * sd(y) / sd(x)
  intercept <- mean(y) - mean(x) * slope
  list(x=mean(x), y=mean(y), xend=mean(x)+length*s*sd(x), yend=mean(y)+length*sd(y))
}
#
# Create a data frame for plotting the bin PCs.
#
P <- X[, c(f(V1, V2)), by=Bin]
#
# Plot the data and the results.
#
g <- ggplot(X, aes(V1, V2, group=Bin, color=Bin)) + 
  geom_abline(aes(intercept=intercept, slope=slope), data=Q,
              size=1, color="White", alpha=0.9) +
  geom_segment(aes(x=x, y=y, xend=xend, yend=yend), data=P,
               size=1.25, arrow = arrow(length = unit(0.02, "npc"))) +
  geom_point(aes(x, y), data=P, shape=19, size=1.5, color="Black") + 
  geom_point(alpha=0.4) +
  coord_fixed() + 
  ggtitle("Bins of the First PC",
          "First PC of Each Bin Shown With Arrows") + 
  theme(panel.grid=element_blank())
print(g)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X