Entortamento dinâmico de tempo e normalização


9

Estou usando o Dynamic Time Warping para corresponder a uma curva de "consulta" e "modelo" e obtendo sucesso razoável até o momento, mas tenho algumas perguntas básicas:

  1. Estou avaliando uma "correspondência" avaliando se o resultado da DTW é menor que algum valor limite que eu mostro heuristicamente. Essa é a abordagem geral para determinar uma "correspondência" usando o DTW? Caso contrário, explique ...

    Supondo que a resposta para (1) seja "sim", então estou confuso, pois o resultado do DTW é bastante sensível a) diferença nas amplitudes das curvas eb) comprimento do vetor de consulta e comprimento do " modelo "vector.

    Estou usando uma função de etapa simétrica; portanto, para (b) estou normalizando meu resultado DTW dividindo por M + N (largura + altura da matriz DTW). Isso parece ser um pouco eficaz, mas parece que penalizaria correspondências DTW que estão mais distantes da diagonal (ou seja, que possuem um caminho mais longo pela matriz DTW). O que parece meio arbitrário para uma abordagem de "normalização". Dividir pelo número de etapas através da matriz parece fazer sentido intuitivo, mas não parece ser o caminho para fazê-lo, de acordo com a literatura.

  2. Existe uma maneira melhor de ajustar o resultado DTW para o tamanho dos vetores de consulta e modelo?

  3. Finalmente, como normalizo o resultado do DTW para a diferença de amplitudes entre os vetores de consulta e o modelo?

Como é, dada a falta de técnicas confiáveis ​​de normalização (ou a minha falta de entendimento), parece haver muito esforço manual envolvido no trabalho com os dados da amostra para identificar o melhor nível de limite para definir uma "correspondência". Estou esquecendo de algo?

Respostas:


8

Nenhuma "abordagem geral" existe para isso, pelo menos ao meu conhecimento. Além disso, você está tentando minimizar uma métrica de distância. Por exemplo, no avô dos documentos da DTW, Sakoe & Chiba (1978), usecomo a medida da diferença entre dois vetores de características.||aibi||

Como você identificou corretamente, você precisa ter o mesmo número de pontos (geralmente) para que isso funcione imediatamente. Eu proporia usar um interpolador lowess () mais suave sobre suas curvas para torná-las de tamanho igual primeiro. É um material bastante padrão para "estatísticas de curva". Você pode ver um exemplo de aplicação em Chiou et al. (2003) ; os autores não se importam com a DTW como tal neste trabalho, mas é um bom exemplo de como lidar com leituras de tamanhos desiguais.

Além disso, como você diz "amplitude" é um problema. Isso é um pouco mais aberto para ser honesto. Você pode tentar uma abordagem Area-Under-the-Curve, como a proposta por Zhang e Mueller (2011), para cuidar disso, mas realmente com o objetivo de distorcer o tempo até mesmo a normalização de norma (por exemplo, substitua por poderia fazer como neste artigo de Tang e Mueller (2009) . Eu seguiria o segundo, mas em qualquer caso, como você também notou que a normalização de amostras é uma necessidade.f(x)f(x)supy|f(x)|

Dependendo da natureza dos seus dados, você pode encontrar mais literatura específica sobre a aplicação. Eu pessoalmente acho a abordagem de minimizar com o respeito a uma função deformação alvo pares o mais intuitivo de todos. Portanto, a função de destino a ser minimizada é: , onde a coisa toda, apesar da estranheza, é bastante direta: você tenta encontrar a função de distorção que minimiza a soma esperada da incompatibilidade da curva de consulta distorcida para o curva de referência (o termogCλ(Yi,Yk,g)=E{T(Yi(g(t))Yk(t))2+λ(g(t)t)2dt|Yi,Yk}gYi(g(t))Yk(t)Yi(g(t))Yk(t)), sujeita a alguma normalização pela distorção do tempo imposta por essa distorção (o termo ). É isso que o pacote PACE do MATLAB está implementando. Eu sei que existe um pacote R fda por JO Ramsay et al. isso também pode ser útil, mas eu não o usei pessoalmente (um pouco irritantemente, a referência padrão para os métodos desse pacote é, em muitos casos, o excelente livro de Ramsay e Silverman, Functional Data Analysis (2006) 2ª ed. , e você precisa vasculhar um Livro de 400 páginas para obter o que procura; pelo menos, é uma boa leitura)g(t)t

O problema que você está descrevendo na literatura estatística é amplamente conhecido como " registro de curvas " (por exemplo, veja Gasser e Kneip (1995) para um tratamento precoce da questão) e se enquadra no guarda-chuva geral das técnicas de análise de dados funcionais .

(Nos casos em que eu poderia encontrar o artigo original disponível on-line, o link direciona para lá; caso contrário, o link direciona para uma biblioteca digital geral. Quase todos os artigos mencionados podem ser encontrados para rascunhar versões de graça. Excluí meu comentário original como ele é. substituído por este post.)


Esta é uma resposta excelente e muito, muito útil. As referências são especialmente úteis.
Mikko

Você conheceria uma referência apropriada para afirmar que "a amplitude é um problema" no dtw? Provavelmente isso é tão aparente que estou lutando para encontrar uma referência que discuta claramente sobre isso.
Mikko

Estou feliz que você gostou. Como eu disse, o tratamento da amplitude "é um pouco mais aberto" e não acho que você encontrará uma única referência mencionando-a, a menos que esteja relacionada à aplicação ou metodologia em questão (como, por exemplo, no trabalho de Zhang & Mueller ' 09) A normalização é necessária quando você tem dados medidos em unidades diferentes. O que geralmente é crucial é a normalização dos componentes funcionais principal / canônico / what_have_you, para que eles formem uma base em . L2
usεr11852

Dos recursos já mencionados, provavelmente sua melhor aposta provavelmente será o livro da FDA de Ramsay & Silverman, Chapt. 7 sobre "registro e exibição de dados funcionais". Um recurso muito bom também é o livro: "Inferência para dados funcionais com aplicativos", de Horváth e Kokoszka; A Parte III "Dados funcionais dependentes" aborda a questão da normalização principalmente porque se preocupa com a detecção de pontos de mudança.
usεr11852
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.