2016-08-03 71 views
0

我一直在考慮一個任務,即給定的離散數據,這樣峯檢測/片離散數據

enter image description here

我需要把它切成5片,通過它創建模板確定。

我不允許猜測模板,因爲每個輸入看起來都不一樣。

我的方法是在數據中找到峯值(高於或低於零),然後使用該峯值模式切片數據。下面是我得到了什麼:(不適用於上述數據)

enter image description here

上圖是圖中的峯,因爲我知道我有整整5個和15分,我可以說,每片有3分,然後切片,這是該圖片中的第二張圖。

在40個輸入中,我只設置了5個輸入,因爲我的「峯值檢測」算法非常基本。

我應該使用什麼峯值檢測算法,也可以找到局部最小值,並且有PHP實現/簡單的psudo代碼?我是這個數據分析領域的初學者,所以我需要你的提示。

最後,我是否正在如何切片這個數據正確的方向?還是有更好的方法來做到這一點?

編輯:

我不解釋之前糟糕:這切片的目標,是建立一個統一的不是時間依賴模型片,這意味着多空的作品將是同樣的長度,那就是每個高峯。如果這是每片完成,只是伸展,數據看起來很嘈雜,像這樣:(這仍在開發中,所以我沒有寫它之前) enter image description here

我不知道該怎麼做因爲每個切片對於不同的部分具有不同的時間(1秒,1.1秒等)

回答

0

查找數據中沒有相交的4個最長的子集,其中值保持在零的容差範圍內。如果您不知道有多少次拍子,您必須隔離峯值檢測變得更相關,因爲超過給定閾值的峯值數量會定義您要分割多少部分。

我不認爲你是攻擊這類問題的第一人...... https://www.biopac.com/knowledge-base/extracting-heart-rate-from-a-noisy-ecg-signal/

編輯:: 至於一峯查找算法,我認爲本文提供了一些方法。 http://www.ifi.uzh.ch/dbtg/teaching/thesesarch/ReportRSchneider.pdf

該方法標記Significant Peak-Valley Algorithm或多或少歸結爲找出在區域局部極值(最小值和最大值)以外(下面和上面分別)通過從平均標準偏差的一些任意數目來定義給定閾值。

+0

謝謝!我錯誤地沒有把首先需要的原因包括在內,我只是編輯了這篇文章。我會研究這些方法,並返回結果 – Amit

+0

考慮到編輯,我認爲您最好將您的切片置於每個重要波谷與下一個重要波峯之間的中點。棘手的部分將找到正確的門檻,以便您獲得正確的點作爲高峯和低谷。 – kpie

+0

看起來每個節拍都有三條腿,由2個極值和0定義。首先下降,從0到一個低谷,然後是從最後一條腿到另一條下降的谷底到下一個高峯的口音,這次是從峯值爲零。通過專注於這些腿的起點和終點,一旦您擁有槽峯對,應該相對容易地獲得切片。 – kpie