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)
我在使用 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)