这个问题是关于一种算法来确定数字序列中最大值的数量和位置。因此,这个问题有统计学味道,但更偏向编程,因为我不关心具体的统计特性,解决方案需要用R语言。使用统计学来回答这个问题是可以的,但不是必须的。
我想要提取时间序列数据中周期极值(即有序数列)。这样的数据的一个例子是太阳耀斑时间序列(约11年周期,在9到14年之间变化)。这些周期不是完美间隔重复的,峰值也不总是相同高度的。
我发现一篇最近的论文描述了一种算法,并且这篇论文实际上以太阳耀斑作为一个例子(图5,Scholkmann等人2012,Algorithms)。我希望这个算法或同样有效的算法可以用作R包。
Scholkmann的“自动多尺度峰值检测”的链接:
http://www.mdpi.com/1999-4893/5/4/588
我已经尝试了“pastecs”包中的“turningpoints”函数,但它似乎太敏感了(即检测到太多的峰值)。我想尝试先平滑时间序列,但我不确定这是否是最好的方法(我不是专家)。
感谢您的任何指导。