Previsão de séries de dados com vários recursos

7

Estou investigando um problema em que os pontos de dados têm características desiguais.

Cada instância representa a progressão de um item em todo o sistema. Alguns deles progrediram até o ponto final, outros ainda estão em estágios intermediários. O número de estágios é conhecido (10 no total). Eu tenho o tempo em que entra em cada estágio. O objetivo é fazer previsões sobre quando eles chegarão ao estágio final.

Existem várias maneiras de lidar com isso. Parece que uma árvore de decisão pode lidar com isso corretamente. Mesmo que o horário de entrada de um estágio não seja conhecido, ele ainda poderá fazer uma previsão razoável a partir dos dados que possui.

Alguém pode me apontar na direção certa?

Josko de Boer
fonte
Uma árvore de decisão funciona ou você pode introduzir variáveis ​​fictícias booleanas para mascarar recursos não aplicáveis. Bem vindo ao site!
Emre

Respostas:

1

Se você precisar imputar cada valor ausente, considere vários métodos de imputação ou interpolação para Séries Temporais. por exemplo, /programming/49308530/missing-values-in-time-series-in-python

Se o objetivo é simplesmente prever o tempo de entrada para o Estágio 10 e não se preocupar quando atingirem os estágios intermediários, você pode tratar um problema de regressão, ou seja, prever o tempo para o Estágio 10. A maneira mais simples pode ser essa - apenas trate-o como um problema de aprendizado supervisionado normal com alguns dados ausentes. O único passo extra é que você precisa criar alguma falta nos dados de treinamento / teste para corresponder aos dados que você marcará.

Seus dados de trem / teste consistem em todos os registros com os dados completos até o estágio 10.

Use a validação cruzada ou uma divisão de trem / teste dentro desses dados para criar um modelo preditivo para prever o tempo para Stg10. Dentro desses dados, esvazie aleatoriamente os dados entre Stg1 e Stg9 para simular o conjunto de dados de pontuação, mas mantenha o Stg10 conforme a necessidade de um rótulo para prever. Use um método baseado em árvore, como as florestas aleatórias, pois elas estão bem com a dependência entre as variáveis ​​e lidam com os dados ausentes.

Use este modelo para pontuar os dados não marcados (ou seja, onde não há informações sobre Stg10). O problema restante é o nível de integridade dentro do conjunto de dados não rotulado. Se eles estiverem preenchidos com Stg9, você não terá nenhum problema. Se todos eles vão para Stg1, você tem um problema! Portanto, você precisará verificar se possui dados suficientes para suportar esse método.

Mas é um local válido para começar e pode ser suficiente para o seu objetivo.

John Curry
fonte
0

Se eu entender o seu problema, você poderá formulá-lo como uma tarefa de Classificação com entradas ausentes.
Quando algumas das entradas estiverem ausentes, em vez de fornecer uma única função de classificação, o algoritmo de aprendizado deve aprender um conjunto de funções. Cada função corresponde à classificação x com um subconjunto diferente de suas entradas ausentes. "mas precisamos apenas aprender uma única função descrevendo a distribuição de probabilidade conjunta de todas elas".

Ou você pode formulá-lo como Imputação de valores ausentes.
Um algoritmo recebe um novo exemplo x, mas com algumas entradas de x ausentes. O algoritmo deve fornecer uma previsão dos valores das entradas ausentes.

Fadi Bakoura
fonte
0

A solução mais simples é construir 10 modelos, um por estágio. Isso permitirá que você use recursos diferentes ou mesmo algoritmos diferentes para cada estágio.

David Dale
fonte
0

Eu tive o mesmo problema. você pode usar funções de agregação. Por exemplo, use Max, Min, Avg, count, std ou algum cálculo como a inclinação da linha. Então não está mais relacionado ao palco.

Funciona para mim.

parvij
fonte