Entendo (principalmente) como a análise de componentes independentes (ICA) funciona em um conjunto de sinais de uma população, mas não estou conseguindo fazê-lo funcionar se minhas observações (matriz X) incluírem sinais de duas populações diferentes (com meios diferentes) e eu Estou me perguntando se é uma limitação inerente à ICA ou se posso resolver isso. Meus sinais são diferentes do tipo comum que está sendo analisado, pois meus vetores de origem são muito curtos (por exemplo, 3 valores), mas tenho muitas (por exemplo, 1000) de observações. Especificamente, estou medindo a fluorescência em três cores, onde os amplos sinais de fluorescência podem "transbordar" para outros detectores. Eu tenho 3 detectores e usando 3 fluoróforos diferentes em partículas. Pode-se pensar nisso como uma espectroscopia de resolução muito ruim. Qualquer partícula fluorescente pode ter uma quantidade arbitrária de qualquer um dos três fluoróforos diferentes. No entanto, tenho um conjunto misto de partículas que tendem a ter concentrações bastante distintas de fluoróforos. Por exemplo, um conjunto geralmente pode ter muito fluoróforo nº 1 e pouco fluoróforo nº 2, enquanto o outro conjunto possui pouco número 1 e muitos nº 2.
Basicamente, eu quero desconvolver o efeito spillover para estimar a quantidade real de cada fluoróforo em cada partícula, em vez de ter uma fração do sinal de um fluoróforo adicionada ao sinal de outra. Parecia que isso seria possível para a ICA, mas após algumas falhas significativas (a transformação da matriz parece priorizar a separação das populações em vez de girar para otimizar a independência do sinal), estou me perguntando se a ICA não é a solução certa ou se preciso pré-processe meus dados de alguma outra maneira para resolver isso.
Os gráficos mostram meus dados sintéticos usados para demonstrar o problema. Começando com fontes "verdadeiras" (painel A) consistindo de uma mistura de 2 populações, criei uma matriz "verdadeira" de mistura (A) e calculei a matriz de observação (X) (painel B). O FastICA estima a matriz S (mostrada no painel C) e, em vez de encontrar minhas fontes verdadeiras, parece-me que ele gira os dados para minimizar a covariância entre as duas populações.
Procurando sugestões ou insights.