2013-04-10 117 views
1

我從下面的Python代碼中獲得的去趨勢數據:重構從去趨勢數據的原始數據的Python

Detrended_Data = signal.detrend(Original_Data) 

是否有在python的函數,其中「Original_Data」可以使用「Detrended_Data被重建「和一些」修正因素「?

+1

你的'detrend'函數對數據做了什麼? – BrenBarn 2013-04-10 07:29:55

+0

這就是我的意思是去趨勢[link](http://blog.ouseful.info/2011/01/15/matplotlib-detrending-time-series-data/) – Vikram 2013-04-10 08:41:46

回答

2

您是指scipy.signal.detrend?如果是這樣,答案是否定的 - 沒有(並且永遠不可能是)非去結果函數。 detrend將許多數組映射到同一個數組。例如,

import numpy as np 
import scipy.signal as signal 

t = np.linspace(0, 5, 100)  
assert np.allclose(signal.detrend(t), signal.detrend(2*t)) 

如果有一個undetrend功能,那就要映射signal.detrend(t)t,也映射signal.detrend(2*t)回到2*t。這是不可能的,因爲signal.detrend(t)signal.detrend(2*t)是相同的陣列。

+0

即使是mlab也是這樣嗎? .detrend_linear()? – Vikram 2013-04-10 08:44:09

+0

這不是你應該問的問題。真正的問題應該是,我怎麼能爲自己弄清楚這一點?答案會更有意義,如果你在一般情況下運用這種態度,你可以走得更遠...... – unutbu 2013-04-10 10:48:05

+0

在工作一週後,我已經想出了有關這個主題的更多信息。非常感謝您的建議。你所建議的通常是相關的。 – Vikram 2013-04-20 11:16:20

0

我想你可以使用numpy來趨勢你的數據。這將不會給你原始數據,但它會減少'噪音'。

Read this question因爲它更詳細地介紹了這一點。