2.2.11. ICA - Independent Component Analysis
A análise de componentes independentes ou blind source separation, assim como a análise de componentes principais, é uma técnica que permite a redução do número total de variáveis pela combinação linear das variáveis originais em novas variáveis. No entanto, enquanto no PCA busca-se a obtenção de componentes ou direções que capturem a maior variância possível dos dados, na análise de componentes independentes busca-se componentes estatisticamente independentes ou sources ou fontes.
A análise de componentes independentes pode ser considerada uma extensão do PCA, sendo porém mais potente e capaz de identificar fatores – fontes - que os componentes principais não conseguem.
A técnica de ICA considera que uma série de sources ocultas, em número não superior ao total de variáveis, é misturada (mixing) e a partir daí são observados os dados ou os valores das variáveis. Estas variáveis podem, então, ser novamente separadas (demixing) e as fontes identificadas. Estas fontes são mutuamente independentes e têm uma distribuição não normal (no máximo uma fonte pode ter distribuição normal, o que não representa uma restrição no caso de dados financeiros).
Importante:
Uma fonte é dita independente de outra quando, observando esta fonte, não há nenhuma informação sobre o comportamento da outra e vice-versa!
|
Para a redução do número total de fontes, adota-se o mesmo critério que a análise de componentes principais, ou seja, fontes associadas a autovalores muito baixos (ou relativamente baixos) devem ser desprezadas. Traçando um paralelo com sinais sonoros, a redução no número de fontes equivale a reduzir o ruído presente nos sinais sonoros - misturados! No entanto, a importância de um componente independente não está diretamente associada à importância ou ranking do autovalor correspondente. Pode-se também utilizar um segundo critério como amplitudes de variação para selecionar os componentes independentes.
Consideremos o exemplo de dois sinais misturados. A técnica ICA consiste em a determinar as fontes, independentes, a partir destas misturas. Por simplicidade, vamos desconsiderar a possibilidade de redução de sources.
O ICA trabalha as possíveis fontes de modo a obter resultados não correlacionados e utiliza processos rotacionais para convergência, buscando minimizar as informações mútuas dessas fontes ou maximizar a não-normalidade (kurtosis ou Negentropy – mais robusta, por exemplo) das fontes. O Teorema do Limite Central é uma das diretrizes para justificar a determinação das sources.
Antes da determinação dos componentes independentes, os dados analisados comumente precisam passar por tratamentos (centralização, anulação das correlações etc.). Estes tratamentos não afetam os resultados e são utilizados apenas para facilitar a determinação dos componentes. O tratamento para anular correlações entre os dados é conhecido por whitening e o seu inverso por dewhitening.
O ICA é uma análise que apresenta algumas ambigüidades. Isto quer dizer que as matrizes de mixing e demixing permitem identificar as fontes, mas a intensidade destas fontes não é necessariamente única, ou seja, pode haver um escalar multiplicando o valor das fontes originais. Outra ambigüidade é que a ordem de determinação dos componentes não é determinável, ou seja, trocando a ordem das fontes e dos vetores nas matrizes pode-se obter o mesmo resultado observado dos sinais ou amostra.
A análise de componentes independentes é muito utilizada em tratamento de áudio e separação de fontes sonoras ou coktail-party problem.
Em finanças, ICA pode ser utilizado para revelar alguns mecanismos ocultos em outras análises no estudo de séries temporais, retorno de ações etc. Em alguns casos, a sua utilização juntamente com a análise de componentes principais pode ser complementar e se tornar uma ferramenta poderosa no entendimento de eventos econômico-financeiros.
Um outro exemplo de aplicação financeira, voltada para analistas de empresas ou research, pode ser na identificação de fatores comuns a um determinado setor que sejam responsáveis por alterações no cashflow das empresas deste setor.
Importante:
A análise de componentes independentes só pode ser realizada se no máximo uma fonte possuir distribuição gaussiana ou normal!
|
2.2.11.1. Comando ICA
Acesso:
- Menu - Metrixus | ICA
- Barra de ferramentas Metrixus
Descrição:
Realiza a análise de componentes independentes – ICA – dos dados informados. Retorna os componentes independentes, a matriz de mixing e matriz de demixing. Também retorna indicadores e ferramentas para análise, como autovalores da matriz de covariância dos dados centralizados.
O número de componentes independentes pode gerado pode ser limitado, devendo a opção ser informada em Limitar número de componentes a:. O objetivo de limitar o número de componentes independentes é o de realizar a redução do número total de fontes ou, por paralelo com sinais auditivos, reduzir o ruído. A análise ex-post dos autovalores gerados a partir da matriz de covariância dos dados centralizados sinaliza o total de fontes que devem ser extraídas ou então, fontes associadas a autovalores relativamente pequenos devem ser desconsideradas. A análise da importância de cada componente independente não está diretamente relacionada ao ranking do autovalor associado.
A opção Reproduzir matrizes de "mixing" e "demixing" indica se as referidas matrizes devem ou não ser apresentadas nos resultados.
A opção Reproduzir componentes independentes indica se os valores das fontes relativos aos pontos das amostras devem ser exibidos.
O processo de iteração para determinação das fontes utiliza a lógica de ponto-fixo baseada no algoritmo FastICA – algoritmo de Aapo Hyvarinen, com precisão de convergência de 0,0001 (ou máximo de 10.000 iterações). Para maximização da não-normalidade é utilizada a medida de Negentropy com momentos gaussianos e função de contraste dada por:
A região ou intervalo de dados deve ser uma região contígua onde cada coluna representa valores (números reais) para uma variável. São necessárias pelo menos duas colunas e um número de linhas mínimo igual ao número de colunas. Campos com formato texto ou vazios são desconsiderados, bem como todos os correspondentes dados das demais colunas. O intervalo de dados deve ser selecionado antes de chamar este comando.
Importante:
Se algum operador matemático for aplicado aos dados originais, a análise ICA representará a combinação linear das variáveis modificadas pelo operador. Lembre-se de reverter a operação após utilizar os componentes independentes!
|
Este comando gera um novo arquivo contendo os resultados na forma de tabelas.
A geração de planilhas sem cores permite uma impressão fácil dos dados além de representar ganhos de performance de execução.
O resultado da análise de componentes independentes é uma nova planilha com dados estáticos, isto é, sem vínculos com a base dados que originou o resultado. Nesta nova planilha há as seguintes informações, onde n é o total de dados válidos e m é o numero de variáveis ou sinais e mi é o número de fontes ou sources ou componentes independentes extraídos:
- Média: média de cada variável ou sinal ou coluna.

- DP: desvio padrão de cada variável ou sinal ou coluna da amostra.

Importante:
Para a determinação dos parâmetros estatísticos dos dados - como média, desvio padrão - não é aplicado nenhum operador matemático (logarítmico, por exemplo). Desta forma, a média apresentada deve ser entendida como a esperança dos valores, bem como o desvio padrão deve ser entendido como a volatilidade da esperança dos valores!
|
Importante:
Todos os dados são considerados amostras e portanto todos os cálculos estatísticos de desvio padrão são baseados em amostras e não na população.
|
- Covariâncias: matriz m x m contendo as covariâncias entre as dados ou sinais ou colunas.

Importante:
Os cálculos de covariância podem diferir da covariância do Microsoft Excel, pois aqui são realizados cálculos para amostra e não população! Esta matriz é a matriz de covariâncias dos dados de origem (não-centralizados)!
|
- Autovalores: valor característico ou eigenvalue da matriz de covariância dos dados centralizados. O objetivo destes dados é permitir uma análise ex-post do total de fontes que devem ser extraídas dos dados ou sinais. São apresentados tantos autovalores quanto o número de variáveis ou colunas (m). Para a determinação dos autovalores, é utilizada a transformação de Hessenberg sobre a matriz de correlações e o algoritmo QR, obtido pela transformação de Householder, para iterações. A precisão das iterações QR para determinação de autovalores é fixa em 0,00001.

Importante:
Os autovalores gerados são originados a partir da matriz de covariância dos dados centralizados, que é diferente da matriz informada como matriz de covariâncias!
|
- Mixing: matriz m x mi responsável pela mistura das fontes para gerar cada sinal ou coluna ou variável informada. Informada apenas se marcada a opção correspondente.

- Demixing: matriz mi x m de conversão dos sinais ou variáveis ou colunas observadas em fontes independentes. Informada apenas se marcada a opção correspondente.

- Fontes: matriz n x mi contendo os valores dos componentes independentes ou fontes equivalentes para cada ponto da amostra. São gerados todos os componentes ou até o limite informado (máximo de 99 componentes independentes).

Importante:
O índice T representa a transposta da matriz!
|
Importante:
Os componentes independentes e as matrizes de mixing e demixing podem ser numericamente diferentes entre simulações de diferentes aplicativos, pois pode haver um escalar (ou número) multiplicando os dois lados da equação matricial (ambigüidade - não influi nos resultados). No comando ICA, é utilizado um algoritmo determinístico para geração dos pontos iniciais das iterações. Desta forma, sempre será obtido o mesmo resultado em simulações diferentes que tenham os mesmos dados de entrada, facilitando repetições de cálculo e auditorias.
|
Exemplo de utilização para retorno de ações:
O exemplo a seguir visa ilustrar uma utilização de ICA para análise de ações. O objetivo é identificar fontes ou componentes independentes a partir de séries temporais de ações e reproduzir estas séries a partir destas fontes, identificando os fatores que direcionam os mecanismos de preços.
Os dados representam os preços de algumas ações negociadas em bolsa de valores – BOVESPA - e compreendem o período de outubro de 1997 até julho de 1998. Estes dados são próximos aos preços reais, mas devem ser considerados hipotéticos aqui.
- Limite de componentes independentes 5
- Reproduzir mixing e demixing
- Reproduzir fontes
- Preços médios de 10 ações. Intervalo L4:U205
Em função da característica da distribuição dos retornos dos ativos financeiros – considerada log-normal aqui - e da necessidade de utilização de dados estacionários (limitados entre valores), será analisado o logaritmo dos retornos dos preços.
Os dados de entrada não foram apresentados aqui mas são obtidos pela aplicação do operador logarítmico aos retornos para todas as datas, exceto a primeira:
Resultados:
|
|
Total de sinais ou variáveis ou ações. A amostra possui apenas 202 dias e não 203 pois foi calculada sobre os retornos!
| S1 | S2 | S3 | S4 | S5 | S6 | S7 | S8 | S9 | S10 |
| Médias | -0,0017 | -0,0004 | 0,0008 | -0,0027 | -0,0053 | -0,0028 | -0,0059 | -0,0015 | -0,0012 | -0,0020 |
| DP | 0,0303 | 0,0370 | 0,0502 | 0,0381 | 0,0440 | 0,0369 | 0,0447 | 0,0305 | 0,0474 | 0,0378 |
|
| Convariâncias | S1 | S2 | S3 | S4 | S5 | S6 | S7 | S8 | S9 | S10 |
| S1 | 0,0009 | 0,0004 | 0,0006 | 0,0005 | 0,0006 | 0,0005 | 0,0003 | 0,0004 | 0,0006 | 0,0005 |
| S2 | 0,0004 | 0,0014 | 0,0008 | 0,0007 | 0,0008 | 0,0006 | 0,0005 | 0,0004 | 0,0008 | 0,0007 |
| S3 | 0,0006 | 0,0008 | 0,0025 | 0,0009 | 0,0013 | 0,0010 | 0,0010 | 0,0007 | 0,0013 | 0,0010 |
| S4 | 0,0005 | 0,0007 | 0,0009 | 0,0014 | 0,0009 | 0,0008 | 0,0007 | 0,0005 | 0,0010 | 0,0008 |
| S5 | 0,0006 | 0,0008 | 0,0013 | 0,0009 | 0,0019 | 0,0010 | 0,0010 | 0,0007 | 0,0013 | 0,0011 |
| S6 | 0,0005 | 0,0006 | 0,0010 | 0,0008 | 0,0010 | 0,0014 | 0,0007 | 0,0005 | 0,0011 | 0,0009 |
| S7 | 0,0003 | 0,0005 | 0,0010 | 0,0007 | 0,0010 | 0,0007 | 0,0020 | 0,0003 | 0,0009 | 0,0007 |
| S8 | 0,0004 | 0,0004 | 0,0007 | 0,0005 | 0,0007 | 0,0005 | 0,0003 | 0,0009 | 0,0006 | 0,0006 |
| S9 | 0,0006 | 0,0008 | 0,0013 | 0,0010 | 0,0013 | 0,0011 | 0,0009 | 0,0006 | 0,0022 | 0,0011 |
| S10 | 0,0005 | 0,0007 | 0,0010 | 0,0008 | 0,0011 | 0,0009 | 0,0007 | 0,0006 | 0,0011 | 0,0014 |
|
Indicadores estatísticos para o logaritmo dos retornos das ações. Mais uma vez, a tabela de covariância informada pode diferir da covariância calculada pelo Microsoft Excel, pois aqui é calculada a covariância da amostra!
|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| Autovalores | 0,0089 | 0,0015 | 0,0012 | 0,0009 | 0,0008 | 0,0008 | 0,0006 | 0,0006 | 0,0005 | 0,0004 |
|
A tabela de autovalores deve ser utilizada para identificar que fontes estão mais próximas de ruídos do que de um componente independente. Novamente, aqui pode ser aplicado um segundo critério para seleção das fontes, como amplitude de variação que cada componente proporciona.
|
| Mixing | ICA1 | ICA2 | ICA3 | ICA4 | ICA5 |
| S1 | -0,002 | -0,008 | 0,005 | 0,000 | 0,003 |
| S2 | 0,000 | -0,007 | -0,001 | -0,003 | 0,018 |
| S3 | -0,001 | -0,016 | -0,037 | 0,001 | 0,018 |
| S4 | -0,014 | -0,011 | 0,003 | 0,000 | 0,023 |
| S5 | 0,006 | -0,019 | -0,001 | 0,008 | 0,022 |
| S6 | -0,00 | -0,010 | -0,001 | 0,002 | 0,015 |
| S7 | -0,002 | -0,011 | -0,007 | 0,038 | 0,013 |
| S8 | 0,002 | -0,004 | -0,001 | -0,001 | 0,025 |
| S9 | -0,001 | -0,042 | -0,003 | 0,002 | 0,015 |
| S10 | 0,002 | -0,011 | -0,002 | 0,005 | 0,017 |
|
| Demixing | S1 | S2 | S3 | S4 | S5 | S6 | S7 | S8 | S9 | S10 |
| ICA1 | -2,147 | 1,983 | -0,955 | -16,967 | 8,534 | 1,031 | -1,594 | 2,707 | 0,398 | 3,414 |
| ICA2 | -0,633 | 5,000 | 0,916 | 1,166 | -2,668 | 8,382 | 1,630 | 4,826 | -27,423 | 3,033 |
| ICA3 | 8,413 | -0,182 | -25,960 | 6,184 | 7,158 | 5,536 | -1,132 | 1,280 | 1,830 | 0,783 |
| ICA4 | 2,752 | -3,622 | -4,846 | -4,571 | -1,715 | -3,684 | 26,081 | -0,352 | -3,479 | 3,691 |
| ICA5 | -13,955 | 5,846 | -1,248 | 12,997 | 2,291 | -3,522 | 1,396 | 26,514 | -4,187 | 0,561 |
|
Matrizes de mixing e demixing. É através destas matrizes que se obtém as fontes ou sources ou componentes independentes para as ações.
|
Importante:
O processo de determinação de componentes independentes é um processo iterativo. Se o número máximo de iterações for alcançado sem convergência de valores, os elementos correspondentes na matriz de mixing e demixing ficam iguais a 0. Após realizar o ICA, se houver muitos “0”, convém testar a multiplicação das matrizes de mixing por demixing para verificar se o resultado é próximo da matriz identidade (diagonal igual a 1) ou se houve estouro de iterações!
|
|
Os gráficos a seguir representam a reconstrução das ações da Petrobrás ON e Banco do Brasil ON através da utilização de apenas 5 componentes independentes.
Gráfico da PETR3 com apenas 5 componentes independentes.
Gráfico da BBAS3 com apenas 5 componentes independentes.
Pelos gráficos acima, percebe-se que é possível decompor os retornos das ações em apenas algumas fontes estatisticamente independentes. Ainda, estas fontes contribuem de forma expressiva para o preço das ações e, sendo assim, seu estudo pode levar a um melhor entendimento dos mecanismos que influenciam o mercado acionário.
2.2.11.2. Planilha de exemplo de aplicação ICA
ICA_EXAMPLE.xls
|
|