Traminer替换成本

时间:2015-02-18 14:25:51

标签: r traminer sequence-analysis

我对转换成本矩阵存在逻辑问题。我正在使用R包Traminer处理序列不相似性。

我试着给你一个简单的例子(非常简单,但我希望能解释我的问题):

有三个序列,我想计算相异矩阵。 字母表是:H(健康状况),I(在家里生病),IH(在医院生病),D(死亡)

我观察了3个受试者进行了5次观察。这些是序列:

H – H – I – D – D 
H – I – I – I – D 
I – I – H – IH – IH 

替代成本矩阵是4x4表(状态x状态)。 它必须是对称的? 这是我的逻辑问题:虽然可以从状态H,I或IH“转移”到状态Died,但相反是不合逻辑的。

我可以在TraMineR中使用非对称替代成本矩阵吗?

如果在我的数据库中,从状态“I”到“D”的替换成本(例如,用sm = "TRATE"计算)低于(0.5)从状态“I”到“IH”的替换成本'(0.6),OM算法用“I”替换“H”代替“HI”。

2 个答案:

答案 0 :(得分:2)

转换率(估计的转换概率)不应与替代成本相混淆。替代成本应该反映出各州之间的差异。

转换率矩阵(由seqtrate返回)不对称。

用于计算距离的替代成本,例如最佳匹配距离,必须是对称的。否则,结果将不是距离矩阵,并且将这样的非对称矩阵输入到例如聚类过程将导致意外结果。

从转换率中获得替代成本只是定义替代成本的几种可能性之一。让$ p(i | j)$成为从$ j $过渡到$ i $的概率,它包括将替代成本定义为

$ c(i,j)= 2 - p(i | j) - p(j | i)$

答案 1 :(得分:1)

在我看来,您正在寻找自定义成本矩阵。使用TRATECONSTANT方法不是强制性的。

要创建自定义矩阵,您只需执行以下操作:

myscm <- matrix(c(0,1,2, 
                  1,0,2, 
                  2,2,0), nrow=3, ncol=3) 
dist.om <- seqdist(my.seq, method="OM", sm=myscm)

其中myscm是您的自定义矩阵

这取自http://lists.r-forge.r-project.org/pipermail/traminer-users/2011-July/000075.html

我相信你有两个选择:

1)为所有过渡和完整的自定义矩阵创建基本原理

2)获取您已经生成的转换矩阵(使用seqsubm(your.seq, method = "TRATE"))并仅更改不一致的值。这就是我在上次分析中所做的。

但请记住吉尔伯特在An "asymmetric" pairwise distance matrix

中提出的观点