Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用R减少序列分析中的时间范围_R_Range_Sequence_Traminer_Standardized - Fatal编程技术网

使用R减少序列分析中的时间范围

使用R减少序列分析中的时间范围,r,range,sequence,traminer,standardized,R,Range,Sequence,Traminer,Standardized,我有一个在很长一段时间内发生的序列。我尝试了8种不同的算法来分类我的序列(OM,CHi2,…)。时间从1到123。我有110个个人项目和8个项目 我的成绩不如预期。首先,它很难阅读。第二,类别包含太多的代表序列(group3)。第三,每组的序列数量确实不平衡 这可能是因为我的时间变量的范围是123。我搜索的文章有一个太长的时间范围内的问题。我在Satherwal和Robey(1993年)以及Shi和Prescott(2011年)中读到,您可以标准化“通过将所需转换的数量除以较长序列的长度来实现每

我有一个在很长一段时间内发生的序列。我尝试了8种不同的算法来分类我的序列(OM,CHi2,…)。时间从1到123。我有110个个人项目和8个项目

我的成绩不如预期。首先,它很难阅读。第二,类别包含太多的代表序列(group3)。第三,每组的序列数量确实不平衡

这可能是因为我的时间变量的范围是123。我搜索的文章有一个太长的时间范围内的问题。我在Satherwal和Robey(1993年)以及Shi和Prescott(2011年)中读到,您可以标准化“通过将所需转换的数量除以较长序列的长度来实现每个序列”。我怎样才能在R中做到这一点

请在下面找到我的数据说明:

library(TraMineRextras)
head(seq.tse.data)
seq.tse.data <- structure(list(
ID = c(1L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 
     4L, 4L, 4L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 6L, 6L, 
     6L, 6L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L),
Year = c(2008L, 2010L, 2012L, 2007L, 2009L, 2010L, 2012L,
       2013L, 1996L, 1997L, 1999L, 2003L, 2006L, 2008L, 
       2012L, 2007L, 2007L, 2008L, 2003L, 2007L, 2007L,
       2009L, 2009L, 2011L, 2014L, 2016L, 2006L, 2009L, 
       2011L, 2013L, 2013L, 2015L, 2015L, 2016L), 
Event = c(5L, 4L, 5L, 3L, 1L, 5L, 5L, 5L, 3L,3L,3L,3L,3L,5L, 1L, 5L,
5L,5L,4L,5L, 5L, 5L, 5L, 5L, 5L,5L,5L,5L, 4L, 4L, 1L, 4L, 1L,5L)), 
      class = "data.frame", row.names = c(NA, -34L)
      )
    seq.sts <- TSE_to_STS(seq.tse.data,
                     id = 1, timestamp = 2, event = 3, 
                     stm =NULL, tmin = 1935, tmax = 2018,
                     firstState = "None")    
seq.SPS <- seqformat(seq.sts, 1:84, from = "STS", to = "SPS")
seq.obj <- seqdef(seq.SPS)
> head(seq.tse.data)
  ID Year Event
1  1 2008     5
2  2 2010     4
3  2 2012     5
4  3 2007     3
5  3 2009     1
6  3 2010     5
> head(seq.obj)
    Sequence                            
[1] (None,74)-(5,10)-1                  
[2] (None,76)-(4,2)-(5.4,6)-2           
[3] (None,73)-(3,2)-(3.1,1)-(5.3.1,8)-3 
[4] (None,62)-(3,12)-(5.3,4)-(5.3.1,6)-3
[5] (None,73)-(5,11)-1                  
[6] (None,69)-(4,4)-(5.4,11)-2  

> head(alphabet(seq.obj),10)
 [1] "(1,1)"  "(1,10)" "(1,11)" "(1,12)" "(1,14)" "(1,19)" "(1,2)"  "(1,21)" "(1,25)" "(1,3)" 
...
[145] "(5.4.3.1,5)"   "(5.4.3.1,6)"   "(5.4.3.1,7)"   "(5.4.3.1,8)"   "(5.4.3.1.2,9)" "(None,1)"      "(None,11)"     "(None,20)"    
[153] "(None,26)"     "(None,30)"     "(None,38)"     "(None,41)"     "(None,42)"     "(None,44)"     "(None,45)"     "(None,49)"    
[161] "(None,51)"     "(None,53)"     "(None,55)"     "(None,57)"     "(None,58)"     "(None,59)"     "(None,60)"     "(None,61)"    
[169] "(None,62)"     "(None,64)"     "(None,65)"     "(None,66)"     "(None,67)"     "(None,68)"     "(None,69)"     "(None,7)"     
[177] "(None,70)"     "(None,71)"     "(None,72)"     "(None,73)"     "(None,74)"     "(None,75)"     "(None,76)"     "(None,77)"    
[185] "(None,78)"     "(None,79)" 
库(tramineraxtras)
总分(如下tse数据)

seq.tse.data我想你的问题是关于序列间差异的标准化。例如,Sabherwal和Robe(1993,P 557)指的是雅培和Hyrac(1990)提出的距离标准化,并且根本不考虑序列的标准化。不管怎样,我不知道序列的标准化是什么

TraMineR
seqdist
函数具有一个
norm
参数,可用于规范化建议的一些距离度量。以下是
seqdist
帮助页面的摘录:

距离可以通过norm参数进行规范化。 如果设置为“自动”,则Elzinga的标准化(相似性除以 两个序列长度的几何平均值)应用于“LCS”, “LCP”和“RLCP”距离,而雅培的标准化(距离 除以较长序列的长度)用于“OM”、“HAM”和 “DHD”。Elzinga的方法可以用“gmean”和Abbott规则强制执行 使用“maxlength”。使用“maxdist”时,距离通过其 最大可能值。有关更多详细信息,请参见Gabadinho等人(2009年, 2011). 最后,“余剑波”是余剑波等人提出的规范化 保三角不等式的Bo(2007)

我要警告您,虽然标准化使两个短序列(比如长度10)之间的距离与两个长序列(比如长度100)之间的距离更具可比性,但它并不能解决比较不同长度序列的问题


您可以在中找到关于序列分析中距离和相似性标准化的详细讨论。

欢迎来到StackOverflow!请阅读相关信息以及如何给出建议。这将使其他人更容易帮助你。谢谢你的评论。我添加了重新创建序列的命令。这里有太多问题:距离的标准化(或者你真的想标准化序列?),忽略时间的影响,字母表大小和序列长度的问题。请针对每一个问题分别提出一个问题。谢谢您的评论。我更新了我的问题,并在一个单独的链接上添加了额外的问题。请澄清您的问题。标题是“标准化时间”,文本是“标准化序列”,提供的参考是关于标准化差异。此外,作为链接提供的结果与提供的示例数据不一致。另外,以文本形式提供结果示例,而不是屏幕截图的链接。您的评论确实满足了我的需要。我所引用的文章(Shi和Prescott,2011)的引文不清楚。再次感谢您!