Hola, espero puedan ayudarme con lo siguiente:
Me pidieron realizar el análisis de coeficientes principales, pero no sé si este haciendo el procedimiento correcto a la hora de programar, esto es lo que tengo:
X1=[ 0. 56. 38. 134. 804. 213. 242. 93. 0. 104.
2621. 492. 492. 458. 514. 659. 388. 122. 46. 791.
338. 148. 109. 301. 176. 433. 412. 318. 38. 1280.
237. 169.]
X2=[ 3.95388745 3.54900299 3.50932407 3.75996313 4.1997148 3.5672546
3.73093164 3.53977554 3.52112017 3.90807648 3.94190676 4.10977109
3.99836109 3.88252275 3.88621978 3.89964364 3.70512848 3.63711259
3.77632171 3.90266526 4.01128119 3.89498203 3.51986151 3.92666346
3.79770285 3.66035377 3.85751196 3.58895079 4.12491693 3.7105939
3.75576998 3.86993742]
X3=[ 1.16277303 1.26665937 1.07130697 0.9206689 0. 0.95451146
1.08282505 1.40357496 0.47038141 1.16883537 0.98319487 0.7925191
0.48986252 0.06235258 0.59990324 0.2064521 0.71364469 0.72530484
1.14226178 0.58951107 0.77785688 0.9888759 1.05809137 0.93454583
0.61335991 1.01689888 0.79148081 1.15620494 0.9040832 0.81415175
1.17087652 0.95155396]
X4=[ 8.18027211e-01 3.85560676e-01 3.33333333e-01 2.95681063e-01
0.00000000e+00 2.37639061e-01 6.49621212e-01 1.17543860e+00
0.00000000e+00 3.28566786e-01 0.00000000e+00 5.54967168e-02
2.00951420e-01 1.09383995e-01 3.57781753e-03 1.40845070e-04
9.97326203e-01 1.72413793e-02 2.47165160e+00 2.09319145e-01
4.95088780e-01 6.04782882e-01 3.78960710e-01 2.91821561e-01
1.75732218e-01 6.72000000e-01 9.46208684e-01 2.22696766e-01
8.95442359e-01 3.92599934e-01 2.90559120e-01 1.17413572e+00]
X5=[ 7.09183673e-01 2.61136713e-02 6.91823899e-02 1.66112957e-02
5.91579512e-02 5.33065513e-02 2.46212121e-01 5.38011696e-01
0.00000000e+00 2.82092948e-01 4.86627907e-01 0.00000000e+00
0.00000000e+00 2.47553253e-02 4.47227191e-03 1.40845070e-04
9.49197861e-01 6.48275862e-02 2.31306491e+00 3.77105073e-02
2.93917643e-01 1.82504720e-01 2.15462611e-02 2.41842214e-01
1.02700647e-01 1.69454545e-01 3.38302009e-01 5.24710189e-02
8.12332440e-01 8.40436075e-02 1.83318057e-03 5.87067862e-01]
# Lo primero es:
sample = np.concatenate((X1,X2,X3,X4,X5), axis=1)
assert [sample.shape == (5,32)," The matrix has not the dimensions 5x32"]
print sample
mean_x = np.mean(sample[1])
mean_y = np.mean(sample[2])
mean_z = np.mean(sample[3])
mean_w = np.mean(sample[4])
mean_v = np.mean(sample[5])
mean_vector = np.array([[mean_x],[mean_y],[mean_z],[mean_w],[mean_v]])
#-----imprimo el vector de Medias
print mean_vector
#-------------En las siguientes parte trato de calcular la matriz de dispersión, pero no me compila mi código y no encuentro como corregirlo
matrix = np.zeros((5,32))
for i in range(sample.shape[1]):
matrix += (sample[:i].reshape(5,1) - mean_vector).dot((sample[:i].reshape(5,1) - mean_vector).T)
print matrix
#------------por otra parte mi pregunta es que después de crear la matriz de dispersión con la siguiente instrucción podría calcular la matriz de covarianza.
cov_mat = np.cov([sample[0:],sample[1:],sample[2:]])
#------------- porque también probé solo con la siguiente instrucción pero no sé si agá los cálculos de manera correcta o si los demás cálculos que hice antes están de mas
cov_mat = np.cov([X1X2,X3,X4,X5])
Mc=np.corrcoef([X1X2,X3,X4,X5])
print Mc