Regressão logística para séries temporais

21

Eu gostaria de usar um modelo de regressão logística binária no contexto de streaming de dados (séries temporais multidimensionais) para prever o valor da variável dependente dos dados (ou seja, linha) que acabou de chegar, dadas as observações anteriores. Até onde eu sei, a regressão logística é tradicionalmente usada para análise post-mortem, onde cada variável dependente já foi definida (por inspeção ou pela natureza do estudo).

No entanto, o que acontece no caso de séries temporais, onde queremos fazer previsões (em tempo real) sobre a variável dependente em termos de dados históricos (por exemplo, em uma janela de tempo dos últimos segundos) e, é claro, na anterior estimativas da variável dependente?t

E se você vir o sistema acima ao longo do tempo, como ele deve ser construído para que a regressão funcione? Temos que treiná-lo primeiro rotulando, digamos, as primeiras 50 linhas de nossos dados (ou seja, definindo a variável dependente como 0 ou 1) e, em seguida, use a estimativa atual do vetor para estimar a nova probabilidade da variável dependente ser 0 ou 1 para os dados que acabaram de chegar (ou seja, a nova linha que acabou de ser adicionada ao sistema)?β

Para deixar meu problema mais claro, estou tentando criar um sistema que analise um conjunto de dados linha por linha e tente prever um resultado binário (variável dependente), considerando o conhecimento (observação ou estimativa) de todos os dependentes ou explicativos anteriores. variáveis ​​que chegaram em uma janela de tempo fixo. Meu sistema está em Rerl e usa R para a inferência.

Regressor
fonte
5
você pode assumir uma estrutura de correlação em seus dados? Seu caso é um caso especial do GLMM com link de logit, mas a estrutura de correlação nos dados da série temporal deve ser modelada corretamente para obter uma resposta razoável.
21911 suncoolsu
1
ytyt-1
2
você poderia fornecer uma descrição concisa dos seus dados para que eu desse uma solução concreta? você problema pode ser resolvido algo assim stat.ethz.ch/pipermail/r-sig-mixed-models/2010q4/004530.html
suncoolsu
2
Eu tenho uma série temporal de tráfego de rede do seguinte formato: Protocolo, SrcIP SrcPort, DestIP, DestPort, TimeSec, Timeusec, PackLength TCP, 200.80.199.105,3523,207.216.233.144,9658,11223344,941818,62 UDP, 142.144.155.120 , 1751,244.72.151.2,1935, 11223344,941843,60 Desejo estimar se um pacote (ou grupo de pacotes) é malicioso usando o conhecimento de conjuntos de dados rotulados para criar um modelo autotreinado. A média da qual eu estava falando é aplicada nas métricas acima, a fim de fornecer um nível de agregação e tornar o sistema mais prático para tráfego de alto volume.
Regressor
2
Isso realmente soa como um trabalho para uma máquina de vetores de suporte. Estou esquecendo de algo? Se você estiver realmente preocupado com a autocorrelação ou a estrutura de séries temporais dos seus dados, tente o ARIMA e / ou um modelo longitudinal multinível. Em modelos longitudinais, recomendo a Análise Longitudinal de Dados Aplicada de Willet e Singer , para a qual o site da UCLA ATS possui exemplos de código R.
ashaw

Respostas:

6

Existem dois métodos a serem considerados:

  1. Use apenas as últimas N amostras de entrada. Supondo que o seu sinal de entrada tenha a dimensão D, você tem N * D amostras por rótulo de verdade à terra. Dessa forma, você pode treinar usando qualquer classificador que desejar, incluindo regressão logística. Dessa forma, cada saída é considerada independente de todas as outras saídas.

  2. Use as últimas N amostras de entrada e as últimas N saídas que você gerou. O problema é semelhante à decodificação de viterbi . Você pode gerar uma pontuação não binária com base nas amostras de entrada e combinar a pontuação de várias amostras usando um decodificador viterbi. Isso é melhor que o método 1. se você tiver algo sobre a relação temporal entre as saídas.

Sr. White
fonte