Técnica de extração de recursos - Resumindo uma sequência de dados

11

Costumo criar um modelo (classificação ou regressão) em que tenho algumas variáveis ​​preditoras que são sequências e tenho tentado encontrar recomendações técnicas para resumi-las da melhor maneira possível para inclusão como preditores no modelo.

Como exemplo concreto, digamos que um modelo esteja sendo construído para prever se um cliente deixará a empresa nos próximos 90 dias (a qualquer momento entre t e t + 90; portanto, um resultado binário). Um dos preditores disponíveis é o nível do saldo financeiro dos clientes nos períodos t_0 a t-1. Talvez isso represente observações mensais para os 12 meses anteriores (ou seja, 12 medições).

Estou procurando maneiras de construir recursos desta série. Eu uso descritivos de cada série de clientes, como média, alta, baixa e desvio padrão, ajustam uma regressão OLS para obter a tendência. Existem outros métodos para calcular recursos? Outras medidas de mudança ou volatilidade?

ADICIONAR:

Como mencionado na resposta abaixo, eu também considerei (mas esqueci de adicionar aqui) usar o Dynamic Time Warping (DTW) e, em seguida, o cluster hierárquico na matriz de distância resultante - criando algum número de clusters e depois usando a associação do cluster como um recurso. A pontuação dos dados de teste provavelmente teria que seguir um processo em que a DTW fosse realizada em novos casos e nos centróides de cluster - combinando a nova série de dados com os centróides mais próximos ...

B_Miner
fonte

Respostas:

7

adoraria ver uma caixa escrita que coletava estudos de caso sobre engenharia / extração de recursos

Por favor, informe se isso ajuda

  1. Discretização de dados de séries temporais http://arxiv.org/ftp/q-bio/papers/0505/0505028.pdf

  2. Otimizando a discretização de séries temporais para descoberta de conhecimento https://www.uni-marburg.de/fb12/datenbionik/pdf/pubs/2005/moerchen05optimizing

  3. Experimentando o SAX: uma nova representação simbólica de séries temporais http://cs.gmu.edu/~jessica/SAX_DAMI_preprint.pdf

  4. Indexação para exploração interativa de Big Data Series http://acs.ict.ac.cn/storage/slides/Indexing_for_Interactive_Exploration_of_Big_Data_Series.pdf

  5. Extração de recursos generalizados para reconhecimento de padrões estruturais em dados de séries temporais http://www.semanticscholar.org/paper/Generalized-Feature-Extraction-for-Structural-Olszewski-Maxion/7838bcd87bb6616e9fd3ffd92d4676a7082da34c

  6. Computando e visualizando alinhamentos dinâmicos de distorção de tempo no R: o pacote dtw https://cran.r-project.org/web/packages/dtw/vignettes/dtw.pdf

SemanticBeeng
fonte
2

O que você está tentando fazer aqui é reduzir a dimensionalidade dos seus recursos. Você pode procurar por redução de dimensionalidade para obter várias opções, mas uma técnica muito popular é a análise de componentes principais (PCA). Os componentes principais não são interpretáveis ​​como as opções mencionadas, mas fazem um bom trabalho de resumir todas as informações.

Ben
fonte
Minha preocupação com esta resposta é que o PCA não reconhece a clara dependência entre as séries t e t + 1.
B_Miner 24/06
Se a dependência t e t + 1 é uma tendência ou sazonalidade - considere extraí-la e lidar com o restante como com variáveis ​​independentes.
Diego
2

A extração de recursos é sempre um desafio e o tópico menos abordado na literatura, pois é amplamente dependente de aplicativos.

Algumas idéias que você pode tentar:

  • Dados brutos, medidos dia a dia. Isso é óbvio, com algumas implicações e pré-processamento extra (normalização), a fim de tornar comparáveis ​​os prazos de duração diferente.
  • Momentos mais altos: assimetria, curtose, etc.
  • Derivada (s): velocidade da evolução
  • O intervalo de tempo não é tão grande, mas talvez valha a pena tentar alguns recursos de análise de séries temporais, como por exemplo, autocorrelação.
  • Alguns recursos personalizados, como quebrar a linha do tempo em semanas e medir as quantidades que você já mede a cada semana separadamente. Então, um classificador não linear seria capaz de combinar, por exemplo, recursos da primeira semana com recursos da semana anterior, a fim de obter uma visão da evolução no tempo.
iliasfl
fonte
Boas sugestões! Você pode aprimorar mais o uso de derivativos?
B_Miner
Concordo totalmente com a sua primeira declaração. Eu adoraria ver uma caixa escrita que coletava estudos de caso sobre engenharia / extração de recursos. O provérbio é que a criação de recursos é muito mais importante que o maior algoritmo mais recente no desempenho preditivo do modelo.
B_Miner
2

À primeira vista, você precisa extrair recursos de suas séries temporais (x - 12) - x. Uma abordagem possível é calcular métricas de resumo: média, dispersão etc. Mas, ao fazê-lo, você perderá todas as informações relacionadas às séries temporais. Mas os dados extraídos da forma da curva podem ser bastante úteis. Eu recomendo que você examine este artigo, onde os autores propõem algoritmos para agrupamento de séries temporais. Espero que seja util. Além desse cluster, você pode adicionar estatísticas resumidas à sua lista de recursos.

sobach
fonte
Obrigado pelo link. Eu também tinha considerado o uso de DTW e cluster hierárquico. Eu experimentei o pacote R para DWT. jstatsoft.org/v31/i07/paper
B_Miner
1
Considerei criar especificamente n clusters e usar a associação de cluster como um recurso.
B_Miner