我在想方設法將財務時間序列轉換爲象徵性的時間序列,該序列根據給定順序解釋所有「有意義」的排列組合(在R):如何根據排列順序識別時間序列的所有可能排列
實施例:
給定一個時間序列:ts= c(1,2,3,4,5)
如果Order = 2我想提取以下模式:
1)1 1 (ts[i]==ts[i+1])
2)12 (ts[i]<ts[i+1])
3)2 1 (ts[i]>ts[i+1])
(因爲平等經由模式1 1)佔圖案2 2是冗餘
如果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])
我所尋找的是一個可擴展的(爲了計是2,3,4,5等)和自動化(功能)的方式來做到這一點。
我正在努力使用諸如「permute」,「gtools」,「combinat」等軟件包,但無濟於事。我認爲我所尋求的是排列的特例。任何人都可以幫我解決這個問題嗎?
我的任務從閱讀關於「排列熵」的論文開始,谷歌學者搜索將爲您提供相關書目供任何感興趣的人蔘考。