Da keine guten A-priori-Vermutungen über die Anzahl der in der Analyse unabhängiger Komponenten anzufordernden Komponenten vorliegen, möchte ich einen Auswahlprozess automatisieren. Ich denke, dass ein vernünftiges Kriterium die Zahl sein könnte, die den globalen Beweis für die Korrelation zwischen den berechneten Komponenten minimiert. Hier ist der Pseudocode dieses Ansatzes:
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
Ich denke, dies sollte automatisch Kandidaten bestrafen, die größer als die "wahre" Anzahl von Komponenten sind, da ICAs, die sich aus solchen Kandidaten ergeben, gezwungen sein sollten, Informationen von einzelnen wahren Komponenten über mehrere geschätzte Komponenten zu verteilen, was den durchschnittlichen Nachweis der Korrelation zwischen Komponentenpaaren erhöht.
Macht das Sinn? Wenn ja, gibt es einen schnelleren Weg, um eine aggregierte Metrik der Verwandtschaft über geschätzte Komponenten hinweg zu erreichen, als den oben vorgeschlagenen Ansatz der mittleren Log-Wahrscheinlichkeit (der rechnerisch ziemlich langsam sein kann)? Wenn dieser Ansatz keinen Sinn ergibt, wie könnte ein gutes alternatives Verfahren aussehen?