Questões:
Eu tenho uma grande matriz de correlação. Em vez de agrupar correlações individuais, quero agrupar variáveis com base em suas correlações umas com as outras, ou seja, se a variável A e a variável B tiverem correlações semelhantes às variáveis C a Z, então A e B devem fazer parte do mesmo cluster. Um bom exemplo disso são as diferentes classes de ativos - as correlações intra-classe são mais altas que as correlações entre classes.
Também estou considerando agrupar variáveis em termos de relação de relacionamento entre elas, por exemplo, quando a correlação entre as variáveis A e B é próxima de 0, elas agem de forma mais ou menos independente. Se de repente algumas condições subjacentes mudarem e surgir uma forte correlação (positiva ou negativa), podemos pensar nessas duas variáveis como pertencentes ao mesmo cluster. Então, em vez de procurar uma correlação positiva, procuraria-se relacionamento versus nenhum relacionamento. Eu acho que uma analogia pode ser um aglomerado de partículas carregadas positiva e negativamente. Se a carga cair para 0, a partícula se afasta do cluster. No entanto, cargas positivas e negativas atraem partículas para grupos reveladores.
Peço desculpas se algo disso não está muito claro. Entre em contato, esclareceremos detalhes específicos.
fonte
Respostas:
Aqui está um exemplo simples em R usando o
bfi
conjunto de dados: bfi é um conjunto de dados de 25 itens de teste de personalidade organizados em torno de 5 fatores.Uma análise de cluster hi-search usando a distância euclidana entre variáveis com base na correlação absoluta entre variáveis pode ser obtida da seguinte forma:
O dendrograma mostra como os itens geralmente se agrupam com outros de acordo com os agrupamentos teorizados (por exemplo, itens N (Neuroticism) agrupam). Também mostra como alguns itens dos clusters são mais semelhantes (por exemplo, C5 e C1 podem ser mais semelhantes que C5 com C3). Também sugere que o cluster N é menos semelhante a outros clusters.
Como alternativa, você pode fazer uma análise fatorial padrão como esta:
fonte
Ao agrupar correlações, é importante não calcular a distância duas vezes. Quando você pega a matriz de correlação, está essencialmente fazendo um cálculo de distância. Você deseja convertê-lo para uma distância verdadeira, tomando 1 - o valor absoluto.
Quando você vai converter essa matriz em um objeto de distância, se você utilizar a função dist, estará percorrendo as distâncias entre suas correlações. Em vez disso, você deseja usar a
as.dist()
função que simplesmente transformará suas distâncias pré-calculadas em um"dist"
objeto.Aplicando este método ao exemplo Alglim
resulta em um dendrograma diferente
fonte