Eu tenho uma matriz de correlações aos pares entre n itens. Agora, quero encontrar um subconjunto de k itens com a menor correlação. Portanto, existem duas perguntas:
- Qual é a medida apropriada para a correlação dentro desse grupo?
- Como encontrar o grupo com a menor correlação?
Esse problema parece um tipo de análise fatorial inversa para mim e tenho certeza de que existe uma solução direta.
Eu acho que esse problema é igual ao problema de remover nós (nk) de um gráfico completo para que os nós restantes sejam conectados com pesos mínimos de borda. O que você acha?
Agradecemos desde já as suas sugestões!
correlation
ranking
Chris
fonte
fonte
Respostas:
[Aviso prévio: esta resposta apareceu antes do OP decidir reformular a pergunta, para que pudesse ter perdido relevância. Originalmente, a pergunta era sobre
How to rank items according to their pairwise correlations
]Como a matriz de correlações aos pares não é uma matriz unidimensional, não está claro como pode ser a "classificação". Especialmente desde que você não tenha elaborado sua idéia em detalhes, ao que parece. Mas você mencionou o PCA como adequado para você, e isso imediatamente me fez pensar na raiz de Cholesky como uma alternativa potencialmente ainda mais adequada.
A raiz de Cholesky é como uma matriz de cargas deixadas pelo PCA, mas é triangular. Vou explicar os dois com um exemplo.
A matriz de carregamento A do PCA é a matriz de correlações entre as variáveis e os principais componentes. Podemos dizer isso porque as somas de linhas dos quadrados são todas 1 (a diagonal de R), enquanto a soma dos quadrados da matriz é a variação geral (traço de R). Os elementos B da raiz de Cholesky também são correlações, porque essa matriz também possui essas duas propriedades. As colunas de B não são componentes principais de A, embora sejam "componentes", em certo sentido.
Ambos A e B podem restaurar R e, portanto, ambos podem substituir R, como sua representação. B é triangular, o que mostra claramente o fato de capturar as correlações aos pares de R sequencialmente ou hierarquicamente. O componente de Cholesky se
I
correlaciona com todas as variáveis e é a imagem linear da primeira delasV1
. O componenteII
não compartilha mais com,V1
mas se correlaciona com os três últimos ... Finalmente,IV
é correlacionado apenas com o últimoV4
,. Eu pensei que esse tipo de "ranking" é talvez o que você procura ?O problema com a decomposição de Cholesky, porém, é que - diferentemente do PCA - depende da ordem dos itens na matriz R. Bem, você pode classificar os itens em ordem decrescente ou crescente da soma dos elementos ao quadrado (ou, se desejar , soma dos elementos absolutos ou na ordem do coeficiente de correlação múltipla - veja abaixo). Essa ordem reflete o quanto um item está correlacionado bruto.
Da última matriz B, vemos que
V2
, o item mais grosseiramente correlacionado, penhor todas as suas correlações emI
. O próximo item grosseiramente correlacionadoV1
penhora toda a sua correlação, exceto comV2
, inII
; e assim por diante.Outra decisão pode ser calcular o coeficiente de correlação múltipla para cada item e classificar com base em sua magnitude. A correlação múltipla entre um item e todos os outros itens aumenta à medida que o item se correlaciona mais com todos eles, mas eles se correlacionam menos entre si. Os coeficientes de correlação múltipla ao quadrado formam a diagonal da chamada matriz de covariância da imagem que é , onde é a matriz diagonal dos recíprocos das diagonais de .S R - 1SR−1S−2S+R S R−1
fonte
Aqui está a minha solução para o problema. Calculo todas as combinações possíveis de k de n itens e calculo suas dependências mútuas, transformando o problema em gráfico-teórico: Qual é o gráfico completo que contém todos os nós de k com a menor soma de arestas (dependências)? Aqui está um script python usando a biblioteca networkx e uma saída possível. Peço desculpas por qualquer ambiguidade na minha pergunta!
Código:
Saída de amostra:
Gráfico de entrada:
Gráfico da solução:
Para um exemplo de brinquedo, k = 4, n = 6: Gráfico de entrada:
Gráfico da solução:
melhor,
cristão
fonte
Encontre de itens com a correlação menos pareada: Como uma correlação de explica da relação entre duas séries, faz mais sentido minimizar a soma dos quadrados das correlações dos itens de destino . Aqui está a minha solução simples.n 0,6 0,36 kk n 0.6 0.36 k
Reescreva sua matriz de correlações para uma matriz de quadrados de correlações. Soma os quadrados de cada coluna. Elimine a coluna e a linha correspondente com a maior soma. Agora você tem uma matriz . Repita até que você tenha uma matriz . Você também pode manter as colunas e as linhas correspondentes com as menores somas. Comparando os métodos, descobri em uma matriz com e que apenas dois itens com somas próximas foram mantidos e eliminados de maneira diferente.( n - 1 ) × ( n - 1 ) k × k k n = 43 k = 20n×n (n−1)×(n−1) k×k k n=43 k=20
fonte