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

时间:2015-04-01 09:24:38

标签: r algorithm data-mining

我使用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包的任何想法将不胜感激。 提前谢谢!

1 个答案:

答案 0 :(得分:0)

这使用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)