Digamos que eu escolha alguma combinação linear dessas variáveis - por exemplo, , eu poderia calcular quanta variação nos dados isso descreve?A + 2 B + 5 C
Essa pergunta pode ser entendida de duas maneiras diferentes, levando a duas respostas diferentes.
Uma combinação linear corresponde a um vetor, que no seu exemplo é . Este vetor, por sua vez, define um eixo no espaço 6D das variáveis originais. O que você está perguntando é: quanta variação a projeção nesse eixo "descreve"? A resposta é dada através da noção de "reconstrução" dos dados originais desta projeção e medindo o erro de reconstrução (consulte a Wikipedia sobre Fração de variação inexplicada ). Acontece que essa reconstrução pode ser razoavelmente feita de duas maneiras diferentes, produzindo duas respostas diferentes.[ 1 , 2 , 5 , 0 , 0 , 0 ]
Abordagem # 1
Seja seja o centrado conjunto de dados ( linhas correspondem às amostras, colunas correspondem às variáveis), deixar ser sua matriz de covariância, e deixar ser um vector de unidade . A variação total do conjunto de dados é a soma de todas as variações , ou seja, o traço da matriz de covariância: . A questão é: que proporção de faz n d Σ w R d d T = t r ( Σ ) TXndΣWRddT=tr(Σ)TX w T R 2 f i r s t = V a r ( X w )wdescrever? As duas respostas fornecidas por @todddeluca e @probabilityislogic são equivalentes às seguintes: calcular projeção , calcular sua variação e dividir por :XwT
R2first=Var(Xw)T=w⊤Σwtr(Σ).
Isso pode não ser imediatamente óbvio, porque, por exemplo, @probabilityislogic sugere considerar a reconstrução e depois calcular mas com um pouco de álgebra, isso pode ser mostrado como uma expressão equivalente.‖ X ‖ 2 - ‖ X - X w w ⊤ ‖ 2Xww⊤
∥X∥2−∥X−Xww⊤∥2∥X∥2,
Abordagem # 2
OK. Agora considere um exemplo a seguir: é um conjunto dados com matriz de covariância e é simplesmente um vetor : d = 2Xd=2 w = ( 1 0 ) ⊤ x
Σ=(10.990.991)
w=(10)⊤x
A variação total é . A variação da projeção em (mostrada em pontos vermelhos) é igual a . Portanto, de acordo com a lógica acima, a variação explicada é igual a . E, em certo sentido, é: os pontos vermelhos ("reconstrução") estão longe dos pontos azuis correspondentes; portanto, grande parte da variação é "perdida".w 1 1 / 2T=2w11/2
Por outro lado, as duas variáveis têm correlação de e são quase idênticas; dizer que um deles descreve apenas da variação total é estranho, porque cada um deles contém "quase todas as informações" sobre o segundo. Podemos formalizá-lo da seguinte forma: dada a projeção , encontre a melhor reconstrução possível com não necessariamente o mesmo que , depois calcule o erro de reconstrução e conecte-o ao expressão para a proporção da variância explicada: que é escolhido de forma que50 % X w X w v ⊤ v w0.9950%XwXwv⊤vwv"X
R2second=∥X∥2−∥X−Xwv⊤∥2∥X∥2,
vR 2 R 2 X 1 X w∥X−Xwv⊤∥2 é mínimo (isto é, é máximo). Esta é exactamente equivalente a computação de regressão multivariada prevendo originais conjunto de dados da projecção -dimensional .
R2R2X1Xw
É uma questão de álgebra direta usar a solução de regressão para para descobrir que toda a expressão se simplifica paraNo exemplo acima, isso é igual a , o que parece razoável.R 2 s e c o n d = ‖ Σ w ‖ doisv0.9901
R2second=∥Σw∥2w⊤Σw⋅tr(Σ).
0.9901
Observe que se (e somente se) for um dos vetores próprios de , ou seja, um dos eixos principais, com valor próprio (de modo que ), as duas abordagens para calcular coincidem e reduzem à expressão familiar de PCA Σ λ ΣwΣλR 2 R 2 P C A = R 2 f i r s t = RΣw=λwR2
R2PCA=R2first=R2second=λ/tr(Σ)=λ/∑λi.
PS. Veja minha resposta aqui para uma aplicação da fórmula derivada no caso especial de sendo um dos vetores básicos : Variação dos dados explicados por uma única variável .w
Apêndice. Derivação da fórmula paraR2second
Encontrar minimizar a reconstrução é um problema de regressão (com como preditor univariado e como resposta multivariada). Sua solução é dada por - X - Xv∥X−Xwv⊤∥2XwX
v⊤=((Xw)⊤(Xw))−1(Xw)⊤X=(w⊤Σw)−1w⊤Σ.
Em seguida, a fórmula pode ser simplificada como devido ao teorema de Pitágoras, porque a matriz de chapéu em regressão é uma projeção ortogonal (mas também é fácil mostrar diretamente).R2
R2=∥X∥2−∥X−Xwv⊤∥2∥X∥2=∥Xwv⊤∥2∥X∥2
Conectando agora a equação para , obtemos para o numerador: ″ X w v ⊤ ″ 2 = t r (v
∥Xwv⊤∥2=tr(Xwv⊤(Xwv⊤)⊤)=tr(Xww⊤ΣΣww⊤X⊤)/(w⊤Σw)2=tr(w⊤ΣΣw)/(w⊤Σw)=∥Σw∥2/(w⊤Σw).
O denominador é igual a resultando na fórmula fornecida acima.∥X∥2=tr(Σ)