2015-03-10 2 views
2

Возможно, это вопрос, вызывающий скуку, но я сделал свое исследование и не смог найти ответа.Сюжетные последовательности событий/последовательности событий Кластеризация

Я хочу построить мои последовательности событий таким же образом, мы наносим последовательность состояний с использованием seqIplot, seqfplot, seqdplot и seqmtplot. seqplot в целом.

, когда я пытаюсь сделать так, я получаю сообщение:

Error: data is not a sequence object, use seqdef function to create one 

Leading меня верить, что эти функции применяются только к последовательности состояний.

В разделе 10 руководства пользователя приведены примеры графиков подпоследовательностей. Но это не совсем то же самое.

1) Есть ли способ генерации указанных графиков для последовательностей событий? в которых состояния будут переходами.

Кроме того, когда я пытаюсь вычислить матрицу расстояния я получаю подобную ошибку:

Error: [!] data is not a state sequence object, use 'seqdef' function to create one 

2) не позволяет вычислять матрицы расстояний, а затем применить методы кластеризации к последовательности событий?

спасибо!

ответ

3

Вы правы. Семейство функций seqplot предназначено только для состояний.

Чтобы построить последовательности событий как последовательности состояний, вы должны сначала преобразовать их в последовательности состояний.

Если предположить, что последовательности событий в формате TSE (по вертикали с отметкой времени формы события) в качестве actcal.tse примера файла предоставленного TraMineR, вы можете превратить их в последовательность состояний с использованием TSE_to_STS сопутствующих TraMineRextras пакета.

Для преобразования вы должны указать, в каком состоянии вы находитесь после каждого события. Вы делаете это, создавая матрицу преобразования с функцией seqe2stm. Каждая ячейка этой матрицы должна указывать новое состояние, которое возникает, когда событие столбца (имя столбца) возникает, когда мы находимся в соответствующем состоянии строки (имя строки).

Для иллюстрации, вот пример из страницы справки из TSE_to_STS

data(actcal.tse) 
events <- c("PartTime", "NoActivity", "FullTime", "LowPartTime") 

## States defined by last occurred event (forgetting all previous events). 
stm <- seqe2stm(events, dropList=list("PartTime"=events[-1], 
      NoActivity=events[-2], FullTime=events[-3], 
      LowPartTime=events[-4])) 

mysts <- TSE_to_STS(actcal.tse[1:100,], id=1, timestamp=2, event=3, 
      stm=stm, tmin=1, tmax=12, firstState="None") 

После того, как у вас есть государственные последовательности в форме STS, вы можете создать объект государственной последовательности и сюжет их.

my.seq <- seqdef(mysts) 
seqdplot(my.seq) 

В качестве альтернативы, вы можете сделать параллельные координаты график вашей последовательности событий с помощью функции seqpcplot. На странице справки этой функции есть много примеров. Подробная информация о графике приведена в разделе

Bürgin, R. & Ritschard, G. (2014), «Декорированный параллельный график координат для категориальных продольных данных», Американский статистик. Том 68 (2), pp. 98-103. doi

Надеюсь, что это поможет.

2

относительно кластеризации последовательностей событий, вы можете использовать функцию seqedist спутника TraMineRextras.

data(actcal.tse) 
actcal.seqe <- seqecreate(actcal.tse[1:200,])[1:6,] 
## We have 8 different event in this dataset 
idcost <- rep(1, 8) 
dd <- seqedist(actcal.seqe, idcost=idcost, vparam=.1) 

Для объяснения на расстоянии, вы можете посмотреть на бумаге

Ritschard Г., Burgin, Р. & Studer, М. (2013), "Разведочное Добыча жизнеописания событий", В Макардле, JJ & Ritschard, G. (eds) Современные проблемы в разведке интеллектуальных данных в поведенческих науках. Серия: Количественная методология, стр. 221-253. Нью-Йорк: Рутледж. Preprint

Смежные вопросы