【问题标题】:Rule extraction of financial time series in RR中金融时间序列的规则提取
【发布时间】:2015-06-05 21:13:01
【问题描述】:

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

【问题讨论】:

  • 这看起来像是一个完整的项目,而不是一个特定的问题。
  • 是的,确实如此。但我需要的只是来自熟悉这个主题的人的一点建议。

标签: r algorithm data-mining


【解决方案1】:

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

【讨论】:

  • 这几乎可以完美地工作,但段不是结果,例如{lag0=VN_L, lag-2=N_S} => {lag-1=N_S} 。我试图在 apriori 函数中设置外观 = list(rhs="lag0") 但它返回一个错误。
  • 取rhs涉及lag0的规则子集。
  • 现在好了。谢谢!
猜你喜欢
  • 2017-10-25
  • 2017-12-29
  • 2014-03-18
  • 2017-03-06
  • 2021-12-11
  • 2016-04-07
  • 2020-07-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多