R中金融时间序列的规则抽取

Rule extraction of financial time series in R

我在使用 R 的规则提取算法上苦苦挣扎。通常,我有一个金融时间序列,我根据趋势和持续时间将其分成不同的部分。结果我得到了一个类似于下面的数据框:

 > head(DF)
  Segment   trend  duration description  
1       1       C         S         C_S 
2       2      VP         L        VP_L  
3       3      VN         S        VN_S 
4       4       N         S         N_S  
5       5       P         M         P_M  
6       6      VP         M        VP_M  

其中 VN、N、C、P、VP(非常消极、消极、恒定、积极、非常积极)描述了所选段期间发生的趋势,S、M、L(短、中、长)描述了每段和最后一列的持续时间只是前一列的组合。 我想要获得的只是规则,其中 LHS 包含有关段的历史信息,RHS 是未来的段。 因此,例如一条规则可能如下所示:

 ID   Rule                                  Support Confidence 
 R5   seg(t-2): VP_B & seg(t-1): N_S             10      71.4%
        => seg(t): P_M

我想强调的是,用于创建规则的段应该是连续的。任何关于建议的算法或 r 包的想法将不胜感激。 提前致谢!

这使用了arules包:

Lines <- "Segment   trend  duration description  
1       1       C         S         C_S 
2       2      VP         L        VP_L  
3       3      VN         S        VN_S 
4       4       N         S         N_S  
5       5       P         M         P_M  
6       6      VP         M        VP_M"


library(arules)
library(zoo)

z <- read.zoo(text = Lines, header = TRUE, FUN = identity)
lags <- as.data.frame(lag(z$description, 0:-2))

a <- apriori(lags)
inspect(a)

有关详细信息,请参阅 vignette("arules")

另一件可以尝试的事情是:

library(rpart)
rpart(lag0 ~., lags)