import numpy as np
import math
x = np.array([2.5, 0.5, 2.2, 1.9, 3.1, 2.3, 2, 1, 1.5, 1.1])
y = np.array([2.4, 0.7, 2.9, 2.2, 3.0, 2.7, 1.6, 1.1, 1.6, 0.9])
ax = x.mean()
ay = y.mean()
xx = np.empty(10)
yy = np.empty(10)
for i in range(0, 10):
xx[i] = x[i] - ax
yy[i] = y[i] - ay
Y = np.array([xx, yy])
stdx = x.std()
stdy = y.std()
covxy = np.cov(x, y)
A, B = np.linalg.eig(covxy)
if A[0] > A[1]:
D = np.array([B[0, 0], B[1, 0]])
else:
D = np.array([B[0, 1], B[1, 1]])
X = np.dot(Y.T , D.T)
print(X)
[-0.82797019 1.77758033 -0.99219749 -0.27421042 -1.67580142 -0.9129491
0.09910944 1.14457216 0.43804614 1.22382056]