在 TraMineR::seqdist 中设置 "tpow" 和 "expcost" 参数

Setting the "tpow" and "expcost" arguments in TraMineR::seqdist

我实际上正在研究住院病人在住院期间的路径。这些路径表示为状态序列(每个时间单位的当前医疗单位),我试图通过聚类算法找到典型路径。

我使用 R 包 TraMineR 中的 seqdist 函数和方法 "OMspell" 创建了距离矩阵。我已经阅读了 R 文档和相关文章,但我找不到如何设置参数 tpowexpcost.

由于时间单位是一个小时,我不希望持续时间的任何微小差异对聚类结果产生重大影响(例如与医疗单位转移相反)。但我也不希望持续时间没有任何影响...

另外,有没有合适的方法来选择它们的值?还是我只是继续摸索一个好的配置? (我使用 Dunn、Davies-Bouldin 和 Silhouette 标准来比较层次聚类的结果,除了对结果聚类的医学意见)

参数tpow是一个指数系数,用于转换实际拼写长度(持续时间)。默认值为 1,拼写长度按原样使用。使用 tpow=0,您只需忽略法术持续时间,使用 tpow=0.5,您将考虑法术长度的平方根。

expcost参数是扩展成本,即扩展(转换)法术长度一个单位的成本。换句话说,当将一个序列编辑到另一个序列时,长度 t1 的拼写必须扩展到长度 t2,这将花费 expcost * |t2^tpow - t1^tpow|expcost=0 处于相同状态的法术(例如 AA 和 AAAAA)无论长度如何都是等效的。

tpow=.5 为例,将法术长度从 1 增加到 2 比将法术长度从 3 增加到 4 花费更多。如果您不想太重视法术中的微小差异长度使用较低的 expcost。但是,请注意 expcost 适用于转换后的拼写长度,您可能需要在更改 tpow 值时调整它。