За відсутності хороших апріорних здогадок про кількість компонентів, які потрібно запитати в незалежному аналізі компонентів, я прагну автоматизувати процес відбору. Я думаю, що розумним критерієм може бути число, яке мінімізує глобальні докази кореляції між обчисленими компонентами. Ось псевдокод такого підходу:
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
Я вважаю, що це повинно автоматично штрафувати кандидатів, більших за "справжню" кількість компонентів, оскільки ІКА, отримані в результаті таких кандидатів, повинні бути змушені поширювати інформацію від одних справжніх компонентів по декількох оцінених компонентах, збільшуючи середні докази кореляції між парами компонентів.
Це має сенс? Якщо так, чи існує більш швидкий спосіб досягти сукупної метрики спорідненості між оціненими компонентами, ніж запропонований вище підхід щодо ймовірності середнього журналу (який може бути досить повільним у обчисленні)? Якщо такий підхід не має сенсу, як може виглядати хороша альтернативна процедура?