Eu sou novo no campo de aprendizado de máquina, mas já fiz minha parte no processamento de sinais. Informe-me se esta pergunta foi classificada incorretamente.
Eu tenho dados bidimensionais que são definidos por pelo menos três variáveis, com um modelo altamente não linear muito complicado para simular.
Eu tive vários níveis de sucesso ao extrair os dois componentes principais dos dados usando métodos como PCA e ICA (da biblioteca python Scikit-Learn), mas parece que esse método (ou pelo menos essa implementação dos métodos) é limitado para extrair quantos componentes houver dimensões nos dados, por exemplo, 2 componentes de uma nuvem de pontos 2D.
Ao plotar os dados, fica claro para os olhos treinados que existem três tendências lineares diferentes, as três linhas de cores mostram as direções.
Ao usar o PCA, o componente principal é alinhado a uma das linhas de cores e o outro está a 90 °, conforme o esperado. Ao usar o ICA, o primeiro componente está alinhado com a linha azul e o segundo está entre os vermelhos e os verdes. Estou procurando uma ferramenta que possa reproduzir todos os três componentes no meu sinal.
EDIT, Informações adicionais: Estou aqui trabalhando em um pequeno subconjunto de um plano de fase maior. Nesse pequeno subconjunto, cada variável de entrada produz uma mudança linear no plano, mas a direção e a amplitude dessa mudança são não lineares e dependem de onde exatamente no plano maior eu estou trabalhando. Em alguns lugares, duas das variáveis podem ser degeneradas: elas produzem mudanças na mesma direção. por exemplo, digamos que o modelo dependa de X, Y e Z. Uma mudança na variável X produzirá uma variação ao longo da linha azul; Y causa uma variação ao longo da linha verde; Z, ao longo do vermelho.