I calculated the index of complexity, longitudinal entropy, and turbulence for my data. The first two indicators vary from 0 to 1, whereas turbulence varies between 1 and 16 for one dataset and between 1 and 11 for the other. Is it possible to "normalize" the turbulence somehow, so that it will fit the same scale as the other indicators?
$\begingroup$ Can you say more about your situation, your data, your models & your goals here? It may well be possible to advise you, but this seems rather sparse to me. $\endgroup$– gung - Reinstate MonicaApr 9, 2016 at 20:18
$\begingroup$ @gung - Thank you for your comment. The answer below (by Gilbert) was able to resolve the issue. $\endgroup$– Thomas H. EspyApr 11, 2016 at 18:22
The turbulence takes values between 1 and a maximum that is reached for a sequence with a different state at each position or, when the sequence length exceeds the size of the alphabet, for a sequence made by repeating the alphabet up to the sequence length. (See Elzinga (2006) ).
So we can normalize the Turbulence by first subtracting 1 and then divide by the maximum value that we would obtain by computing the Turbulence for a sequence as described above. I illustrate below using the
mvad data that ships with
library(TraMineR) data(mvad) mvad.seq <- seqdef(mvad[, 17:86]) alph <- alphabet(mvad.seq) maxlength <- max(seqlength(mvad.seq)) nrep <- ceiling(maxlength/length(alph)) turb.seq <- seqdef(t(rep(alph,nrep)[1:maxlength])) (maxT <- seqST(turb.seq)) normturb <- (seqST(mvad.seq)-1)/as.numeric(maxT-1) summary(normturb)
Hope this helps.
=============== edited Feb 2018
Since version TraMineR v 1.8-12, the
seqST function has an argument
norm that allows to ask for the normalized index:
normturb <- seqST(mvad.seq, norm=TRUE)