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$ Apr 9, 2016 at 20:18
  • $\begingroup$ @gung - Thank you for your comment. The answer below (by Gilbert) was able to resolve the issue. $\endgroup$ Apr 11, 2016 at 18:22

1 Answer 1


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 TraMineR.

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)

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)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.