【问题标题】:Traminer substitution costTraminer 替换成本
【发布时间】:2015-02-18 14:25:51
【问题描述】:

我对转换成本矩阵有一个逻辑问题。我正在使用 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”替换为“D”而不是“HI”。

【问题讨论】:

    标签: r traminer sequence-analysis


    【解决方案1】:

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

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

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

    从过渡率推导出替代成本只是定义替代成本的几种可能性中的一种。假设 $p(i|j)$ 是从 $j$ 转移到 $i$ 的概率,它包括将替代成本定义为

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

    【讨论】:

    • 谢谢吉尔伯特!你很有帮助。由于我的工作是说明性的,我将使用一个使用这些参数的度量(即 method = "TRATE")和另一个基于长度的 (LCS),然后比较结果。
    【解决方案2】:

    在我看来,您正在寻找自定义成本矩阵。不强制使用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 中提出的观点

    【讨论】:

    • 感谢佩德罗·布拉兹! “基本原理”方式非常困难,因为我无法对州进行排序/排名(即相关性排名或重要性级别)(如 Holliste 2009 年的研究)。我试图修复我的转换矩阵,将两个单元格之间的单元格设置为最高值,实际上不可能存在(比如从“死亡”到“在医院生病”的转换)。但我正在研究 Studer & Richard (2014) “序列差异测量的比较回顾”。我怀疑这个(任意)程序不会满足三角不等式。
    • 您确实可以定义一个自定义的非对称矩阵。但是,您如何处理这样的矩阵? TraMineRseqdist 函数需要 OM 的对称替换成本矩阵。如果不是,您将获得不可预测的结果,因此是不可靠的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-25
    • 1970-01-01
    • 1970-01-01
    • 2014-03-01
    • 2016-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多