実数値データと対称相関行列を使用して PCA を実行すると、主成分に複素数が返されます。基になるデータでランダム サンプリングを行うと、主成分が実数値の場合もあれば、複雑な場合もあることがわかります。複素数の虚数成分が丸め誤差によるものであると言っても過言ではありません。もしそうなら、それらを無視して実数値成分を使用できますか?
PCA (numpy ndarray) からの出力のサンプルを次に示します。
[[ 0.05569296+0.j 0.06106935+0.j -0.16634077+0.j ...,
-0.36472664+0.j 0.05560288+0.11046671j 0.05560288-0.11046671j]
[-0.23671305+0.j -0.04771023+0.j 0.29670382+0.j ...,
-0.07562527+0.j 0.19574243-0.01649267j 0.19574243+0.01649267j]