Scikit learn scikit学习PCA-变换结果

Scikit learn scikit学习PCA-变换结果,scikit-learn,pca,Scikit Learn,Pca,我有一个时间序列的第一个差异,我应用PCA使用scikit获得第一台电脑 # data is a timeseries of first differences pca = PCA(n_components=1) pca.fit(data) pc1_trans = pca.transform(data) pc1_dot = numpy.dot( data, pca.components_.T) plt.plot( numpy.cumsum( pc1_dot ) ) plt.plot( nump

我有一个时间序列的第一个差异,我应用PCA使用scikit获得第一台电脑

# data is a timeseries of first differences
pca = PCA(n_components=1)
pca.fit(data)
pc1_trans = pca.transform(data)
pc1_dot = numpy.dot( data, pca.components_.T)
plt.plot( numpy.cumsum( pc1_dot )  )
plt.plot( numpy.cumsum( pc1_trans ) ) 
我认为原始数据和第一个组件之间的点积(投影)的结果将产生与调用pca.transform相同的结果,但事实并非如此(下面的结果;橙色线是来自transform的数据)。为什么会这样? 找到了答案

scikit PCA向您展示了对去均值数据的变换,因此它们是等效的:

pc1_trans = pca.transform(data)
pc1_dot = numpy.dot( data - data.mean(), pca.components_.T)
找到了答案

scikit PCA向您展示了对去均值数据的变换,因此它们是等效的:

pc1_trans = pca.transform(data)
pc1_dot = numpy.dot( data - data.mean(), pca.components_.T)