A falta de buenas conjeturas a priori sobre el número de componentes a solicitar en el Análisis de Componentes Independientes, estoy buscando automatizar un proceso de selección. Creo que un criterio razonable podría ser el número que minimiza la evidencia global de correlación entre los componentes calculados. Aquí está el pseudocódigo de este enfoque:
for each candidate number of components, n:
run ICA specifying n as requested number of components
for each pair (c1,c2) of resulting components:
compute a model, m1: lm(c1 ~ 1)
compute a model, m2: lm(c1 ~ c2)
compute log likelihood ratio ( AIC(m2)-AIC(m1) ) representing the relative likelihood of a correlation between c1 & c2
compute mean log likelihood ratio across pairs
Choose the final number of components as that which minimizes the mean log likelihood of component relatedness
Me imagino que esto debería penalizar automáticamente a los candidatos más grandes que el número "verdadero" de componentes porque los ICAs resultantes de tales candidatos deberían ser forzados a distribuir la información de los componentes verdaderos individuales a través de múltiples componentes estimados, aumentando la evidencia media de correlación a través de pares de componentes.
¿Tiene esto sentido? Si es así, ¿hay una forma más rápida de conseguir una métrica agregada de relación entre los componentes estimados que el enfoque de probabilidad logarítmica media sugerido anteriormente (que puede ser bastante lento computacionalmente)? Si este enfoque no tiene sentido, ¿cómo podría ser un buen procedimiento alternativo?