在 TraMineR::seqdist 中设置 "tpow" 和 "expcost" 参数
Setting the "tpow" and "expcost" arguments in TraMineR::seqdist
我实际上正在研究住院病人在住院期间的路径。这些路径表示为状态序列(每个时间单位的当前医疗单位),我试图通过聚类算法找到典型路径。
我使用 R 包 TraMineR
中的 seqdist
函数和方法 "OMspell"
创建了距离矩阵。我已经阅读了 R 文档和相关文章,但我找不到如何设置参数 tpow
和 expcost
.
由于时间单位是一个小时,我不希望持续时间的任何微小差异对聚类结果产生重大影响(例如与医疗单位转移相反)。但我也不希望持续时间没有任何影响...
另外,有没有合适的方法来选择它们的值?还是我只是继续摸索一个好的配置? (我使用 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
值时调整它。
我实际上正在研究住院病人在住院期间的路径。这些路径表示为状态序列(每个时间单位的当前医疗单位),我试图通过聚类算法找到典型路径。
我使用 R 包 TraMineR
中的 seqdist
函数和方法 "OMspell"
创建了距离矩阵。我已经阅读了 R 文档和相关文章,但我找不到如何设置参数 tpow
和 expcost
.
由于时间单位是一个小时,我不希望持续时间的任何微小差异对聚类结果产生重大影响(例如与医疗单位转移相反)。但我也不希望持续时间没有任何影响...
另外,有没有合适的方法来选择它们的值?还是我只是继续摸索一个好的配置? (我使用 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
值时调整它。