Estoy tratando de construir un sencillo modelo de riesgo para las poblaciones de uso de PCA. Me he dado cuenta de que cuando mis dimensiones son mayores que el número de observaciones (por ejemplo 1000 acciones, pero sólo 250 días de devolución), y el resultado es transformado regreso de la serie (devuelve girado por vectores propios o factor de devoluciones) tiene correlación no nula.
Intuitivamente, puedo ver por qué esto podría ser, ya que en el proceso de pca estoy en la estimación de una 1000x1000 matriz de covarianza de 250x1000 observaciones. Así es como un sistema subdeterminado. Pero no estoy exactamente seguro de lo que está pasando. Puede alguien explicar lo que está sucediendo?
También, para el modelo de riesgo de los efectos, es mejor asumir una diagonal de la matriz de covarianza o utilizar el ejemplo de la covarianza de los factores?
Aquí hay algunas código de matlab para demostrar el problema:
% More observation than dimensions
Nstock = 10;
Nobs = 11;
obs = randn(Nobs, Nstock);
rot = princomp(obs);
rotobs = obs * rot;
corr(rotobs) % off diagonals are all zero
% More dimensions that observations
Nstock = 10;
Nobs = 9;
obs = randn(Nobs, Nstock);
rot = princomp(obs);
rotobs = obs * rot;
corr(rotobs) % some off diagonals are non-zero