Como escribió Ameba en los comentarios, este es un problema de regresión múltiple y no tiene nada que ver con PCA (ver Regresión lineal en Wikipedia ). Aquí utilizo los supuestos estándar de un modelo lineal con ruido aditivo:
$$ A = b ~ B + c ~ C + d ~ D + k + E. $$
Aquí $b$ , $c$ y $d$ son los coeficientes de regresión escalar para sus tres variables explicativas, $k$ es un desplazamiento constante, y $E$ captura todo lo que no cabe en los otros términos (el error).
En Matlab, para calcular $A$ si se dieran todos los valores del lado izquierdo, se escribiría en notación matricial:
A = [B C D ones(n, 1)] * [b c d k]' + E
asumiendo que todas las variables se representan como vectores columna, y que $n$ es el número de puntos de datos.
Para resolver esta ecuación para los coeficientes $b$ , $c$ , $d$ y $k$ para un determinado $A$ puede utilizar el operador de barra invertida :
coeff = [B C D ones(n, 1)] \ A
Este operador da un solución por mínimos cuadrados , lo que significa $A$ se determina de forma que la suma de errores al cuadrado ( $\sum_{i = 1}^n E_i^2$ o sum(E .^ 2)
en Matlab) es lo más pequeño posible. A continuación, puede extraer los coeficientes individuales:
b = coeff(1)
c = coeff(2)
d = coeff(3)
Estos coeficientes son estimaciones de la intensidad de las variables $B$ , $C$ y $D$ contribuir a $A$ .
Tu título dice que te interesa un "porcentaje de contribución" de las variables independientes, y supongo que te refieres a porcentajes de varianza explicada. El problema es que si las variables $B$ , $C$ y $D$ están correlacionadas (comparten la varianza entre ellas), no hay una respuesta sencilla a esa pregunta, porque la varianza de sus contribuciones a $A$ que son $b ~ B$ , $c ~ C$ y $d ~ D$ no se combinan de forma aditiva. Suponiendo que no hay correlaciones, se pueden calcular esas contribuciones así:
var([B C D] * diag([b c d])) / var(A) * 100
que le da un vector de tres elementos con estimaciones de la contribución relativa en porcentaje de las tres variables independientes.
2 votos
Parece que no necesitas PCA en absoluto, necesitas hacer una regresión de A sobre B, C y D.
0 votos
Mi objetivo final es poder predecir A con BCD basándome en lo que me dan los datos actuales. Así que creo que necesitaré el análisis multivariante para deducir una relación entre A y BCD, en lugar de fijarme en A frente a B, A frente a C, A frente a D respectivamente.
1 votos
Sí, @Lin, esto se sigue llamando regresión, más concretamente, "regresión múltiple" con A como variable dependiente y B,C,D como variables independientes. Lo que quería decir es que tu pregunta no tiene nada que ver con el ACP.