マスクされた NumPy 配列の固有値と固有ベクトルを計算するにはどうすればよいですか (マスクされていない配列の場合、これは によって実現できますscipy.linalg.eig
)。
編集:
結局のところ、これを行うことができます。
# a list of numpy matrices
import numpy as np
import numpy.ma as npma
import numpy.matlib as npm
import scipy as sp
import scipy.linalg as splin
import pandas as pd
# read in numpy data
import urllib
dataURL = 'http://archive.ics.uci.edu/ml/machine-learning-databases/arrhythmia/arrhythmia.data'
dataFile = urllib.urlopen(dataURL)
# read in the data as a NumPy dataset
aArr = np.genfromtxt(dataFile, dtype = np.float,
delimiter = ',', missing_values = '?')
aArrMasked = npma.masked_array(aArr, np.isnan(aArr))
aArrMaskedCenter = aArrMasked - npma.mean(aArrMasked, axis=0)
print splin.eig(npma.cov(aArrMaskedCenter))