Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python scikit学习PCA删除常见信号_Python_Scikit Learn_Pca - Fatal编程技术网

Python scikit学习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 = PCA(n_components=4)
pca.fit(lightcurves)

detrended = lightcurves / (pca.components_ * pca.explained_variance_ratio_)
PCA有可能做到这一点吗

例如,我有许多具有类似特征的时间序列,如下面的一个。每天晚上,这颗恒星都会朝着它在天空中所处位置的最高点变亮,然后变暗。每一个物体都会经历这样的过程,这是透过大气层观察的人工制品,所以PCA肯定能识别出来,这样它就能被移除


你能给出一个这种杂散噪声的例子和你想要的预期输出吗?这个问题可能更适合,因为它与编程没有直接关系。@Hooked谢谢你的建议,我添加了一个lightcurve示例。我知道它可能与您建议的堆栈交换板有关,但我要特别询问PCA的python实现以及如何使用它,而不是具体的概念。您的时间序列是否一致?我不确定PCA是否是这项工作的最佳工具,但您可以尝试使用transform并删除第一个组件,例如。但是你应该先看一下组件;