Python scikit学习PCA删除常见信号
传统上,主成分分析是用来降低维度的,我相信,但我想用它来消除趋势 我的使用案例是,我有很多时间序列的恒星亮度,并希望消除这些时间序列中存在的虚假信号。我相信PCA可以用来确定这些基函数,但是我如何才能从完整的数据集中删除它们呢 我试过了Python scikit学习PCA删除常见信号,python,scikit-learn,pca,Python,Scikit Learn,Pca,传统上,主成分分析是用来降低维度的,我相信,但我想用它来消除趋势 我的使用案例是,我有很多时间序列的恒星亮度,并希望消除这些时间序列中存在的虚假信号。我相信PCA可以用来确定这些基函数,但是我如何才能从完整的数据集中删除它们呢 我试过了 pca = PCA(n_components=4) pca.fit(lightcurves) detrended = lightcurves / (pca.components_ * pca.explained_variance_ratio_) PCA有可能
pca = PCA(n_components=4)
pca.fit(lightcurves)
detrended = lightcurves / (pca.components_ * pca.explained_variance_ratio_)
PCA有可能做到这一点吗
例如,我有许多具有类似特征的时间序列,如下面的一个。每天晚上,这颗恒星都会朝着它在天空中所处位置的最高点变亮,然后变暗。每一个物体都会经历这样的过程,这是透过大气层观察的人工制品,所以PCA肯定能识别出来,这样它就能被移除
你能给出一个这种杂散噪声的例子和你想要的预期输出吗?这个问题可能更适合,因为它与编程没有直接关系。@Hooked谢谢你的建议,我添加了一个lightcurve示例。我知道它可能与您建议的堆栈交换板有关,但我要特别询问PCA的python实现以及如何使用它,而不是具体的概念。您的时间序列是否一致?我不确定PCA是否是这项工作的最佳工具,但您可以尝试使用transform并删除第一个组件,例如。但是你应该先看一下组件;