【发布时间】:2016-12-04 20:58:19
【问题描述】:
我正在尝试找出一种方法,将金融时间序列转换为符号时间序列,根据给定的顺序(在 R 中)解释所有“有意义的”排列:
例子:
给定一个时间序列:ts= c(1,2,3,4,5)
如果 Order=2 我想提取以下模式:
1) 1 1 (ts[i]==ts[i+1])
2) 1 2 (ts[i]<ts[i+1])
3) 2 1 (ts[i]>ts[i+1])
(模式 2 2 是多余的,因为相等是通过模式 1 1 解释的)
如果 Order=3 我想提取以下模式:
1) 1 2 3 (ts[i]<ts[i+1]<ts[i+2])
2) 1 2 2 (ts[i]<ts[i+1]==ts[i+2])
3) 1 2 1 (ts[i]<ts[i+1]>ts[i+2])
4) 2 2 3 (ts[i]==ts[i+1]<ts[i+2])
5) 2 2 2 (ts[i]==ts[i+1]==ts[i+2])
6) 2 2 1 (ts[i]==ts[i+1]>ts[i+2])
7) 3 2 1 (ts[i]>ts[i+1]>ts[i+2])
8) 3 2 2 (ts[i]>ts[i+1]==ts[i+2])
9) 3 2 3 (ts[i]>ts[i+1]<ts[i+2])
我正在寻找的是一种可扩展(就 Order 为 2、3、4、5 等而言)和自动化(功能方面)的方式来做到这一点。
我正在努力使用诸如“permute”、“gtools”、“combinat”之类的软件包,但无济于事。我认为我所寻求的是一种特殊的排列情况。谁能帮我解决这个问题?
我的任务是从阅读有关“排列熵”的论文开始的,谷歌学术搜索将为您提供相关的参考书目以供任何进一步感兴趣的人使用。
【问题讨论】:
标签: r algorithm time-series permutation combinatorics