ischange

Detecta mudanças abruptas em uma série de dados.

Categoria: Data Import and Analysis > Preprocessing Data

Sintaxe

TF = ischange(A)

Marca os pontos em que a média de A muda de forma abrupta.

[TF, S1] = ischange(A)

Também retorna o nível constante por partes estimado em cada ponto.

Descrição

Os dados são divididos em segmentos de modo que os pontos de cada um fiquem próximos de uma constante. ischange marca o índice onde um novo segmento começa, o que é uma forma rápida de achar mudanças de nível, degraus e trocas de regime. O primeiro elemento nunca é marcado.

O número de mudanças encontradas depende do ruído: dados muito ruidosos podem gerar mais marcações.

Argumentos de entrada

A
Vetor numérico (ou matriz, analisada por colunas).

Argumentos de saída

TF
Array lógico, true no primeiro ponto de cada novo segmento.
S1
Média do segmento atribuída a cada ponto.

Exemplo

Um degrau em uma série

x = [1 1 1 5 5 5];
[tf, s] = ischange(x)
find(tf)
Saída
tf = 1×6 logical array

   0   0   0   1   0   0
s = 1×6

     1     1     1     5     5     5
ans = 4

Veja também

islocalmax isoutlier diff