Более быстрый расчет матрицы дисперсий Σ набора данных - PullRequest
0 голосов
/ 06 ноября 2018

Я пытаюсь вычислить матрицу дисперсий Σ по формуле Σ=E(XX^T)−μμ^T.

Итак, я попробовал этот код ...

def fast_calc(X):

    colsum=np.sum(X,axis=0)
    X=X[:,colsum!=0]
    return X.dot(X.T)

    Y=np.empty([X.shape[0],X.shape[0]])
    for i in range(X.shape[0]):
        for j in range(i,X.shape[0]):
            Y[i][j]=sum(X[i,:]*X[j,:])
            Y[j][i]=Y[i][j]
    return Y

Но это совсем не быстро ... есть ли способ вычислить его быстрее с помощью numpy / scipy ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...