作者kazumi6533 (patrick)
看板Prob_Solve
標題[問題] 可以幫我提點建議嗎?關於尋找一個數列上特定的某幾個點
時間Mon Aug 6 23:06:22 2007
請各為高手幫忙,我已經想好幾天了,怎麼也想不出來
我現在有一個時間數列,可以想像成像股價圖這樣
例如像下面這樣
A
/\ 4
1 / \/\ B
/\/ 3 \ /\ C
/ 2 \ / \ 6 /\
\ / \/\ / \ /
\/ 5 \/ \ /
D 7 \/
E
我想要判斷ABCDE的相對位置
一開始是想把所有的端點,就是轉折處都先找出來(也就是(Ti-1)- Ti跟(Ti+1)-Ti)
不同號的點)
可是這樣用來比大小時會把1234567也一併比進去
這樣講有點糢糊,因為我圖畫的不好,
圖中的ABC等點是一個起伏的群聚,我想要的是那一個波的最高點跟最低點
可是如果照我那樣做,會把同一個群內的震璗也算進去,所以我可能就會
比到4跟B
後來我想說把起伏比較小的刪掉,可是如果A是從一連串比較小起伏
累積的,那A也會被一併刪掉
然後我又想試著從起點以X軸為底,為軸為高算面積,但是這個問題也還在
不知道還有沒有什麼方法可以解決,只要讓我能有效的判斷出每個波的高低點
也不一定要100%精準,因為我也知道哪里到哪李算一個段落就是個很大的問題了
或者是請大家提示我如果想找跟這方面有關的討論應該要從哪裡下手好。
我是個初寫程式的人,就被派到這種任務,現在完全不知道怎麼動手了
謝謝大家幫忙
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.112.39.146
1F:推 ledia:low pass filter ? 08/06 23:10
2F:推 PsMonkey:應該先定義「什麼是一個群聚」吧? 08/06 23:20
3F:推 kazumi6533:給樓上,我也不知道要怎麼定義,簡單的說就是這一串數 08/06 23:51
4F:→ kazumi6533:列排起來,在圖上一眼就能看出哪裡是一個波,哪裡是另 08/06 23:53
5F:→ kazumi6533:一個,我是指用眼睛看我們很容易就看出來,可是要“定 08/06 23:53
6F:→ kazumi6533:義"..就沒有辦法,所以想說能不能盡量把相近的相對小極 08/06 23:54
7F:→ kazumi6533:值消掉這樣 08/06 23:55
8F:推 yoco315:不,沒有所謂「眼睛一看就知道」這種事情 08/07 01:22
9F:→ yoco315:使用這種講法,一定會出現讓你覺得模擬兩可的狀況 08/07 01:23
10F:→ yoco315:你「就是」要定義清楚,什麼叫做「一個群聚」。 08/07 01:23
11F:→ netsphere:工科觀點 VS 商科觀點 XD 08/07 02:09
12F:推 kazumi6533:沒錯,我的問題就是"會出現模擬兩可的狀況"..應該說任意 08/07 08:06
13F:→ kazumi6533:兩個區間你都可以定義他為一群聚..裡面的最高點跟最低 08/07 08:06
14F:→ kazumi6533:點就是我要的點,問題在於這兩個區間要從哪裡開始哪裡結 08/07 08:07
15F:→ kazumi6533:束的問題,因為無法直接定義,所以我才會講到群聚.. 08/07 08:08
16F:→ kazumi6533:想像一個價格在"一段時間"內上下震蕩漸漸上昇,一定時 08/07 08:09
17F:→ kazumi6533:間後又上下震盪慢慢下跌,我無法給出一個"確切"的時間 08/07 08:11
18F:→ kazumi6533:如一日,一週..等等...嗯..我想我要問的應該就是 08/07 08:12
19F:→ kazumi6533:"我該如何定義我要區分的資料"來得到這一段區間內的最 08/07 08:14
20F:→ kazumi6533:高與最低點,然後儘可能過濾掉中間的震蕩,以求出高低 08/07 08:14
21F:→ kazumi6533:高低之間的相對關係 08/07 08:15
22F:推 yoco315:那就去看 ledia 講的 low pass filter 08/08 22:18
23F:→ yoco315:你只需要決定 filter 的 window 要多大 08/08 22:18
24F:→ yoco315:這個一定要自己決定,別人不能幫你決定.. 08/08 22:18