作者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