Algoritmo de aprendizado de máquina para prever a ordem dos eventos?

Pergunta simples de aprendizado de máquina. Provavelmente várias maneiras de resolver isso:

Há uminfinito fluxo de 4 eventos possíveis:

'event_1', 'event_2', 'event_4', 'event_4'

Os eventos não entram em ordem completamente aleatória. Assumiremos que existem alguns padrões complexos na ordem em que a maioria dos eventos ocorre e o restante é apenas aleatório. Ainda não sabemos os padrões antes do tempo.

Depois que cada evento é recebido, quero prever qual será o próximo evento com base na ordem em que os eventos ocorreram no passado. Então, minha pergunta é:Qual algoritmo de aprendizado de máquina devo usar para esse preditor?

O preditor será informado sobre o que realmente foi o próximo evento:

Predictor=new_predictor()

prev_event=False
while True:
    event=get_event()
    if prev_event is not False:
        Predictor.last_event_was(prev_event)
    predicted_event=Predictor.predict_next_event(event)

Surge a questão de quanto tempo a história deve manter o preditor, uma vez que manter a história infinita não será possível. Vou deixar isso para você responder. A resposta não pode ser infinita, porém, por praticidade.

Então, acredito que as previsões terão que ser feitas com algum tipo de história contínua. Adicionar um novo evento e expirar um evento antigo deve, portanto, ser bastante eficiente e não exigir a reconstrução de todo o modelo do preditor, por exemplo.

Código específico, em vez de trabalhos de pesquisa, acrescentaria para mimimenso valor às suas respostas. As bibliotecas Python ou C são boas, mas qualquer coisa serve.

Atualizar: E se mais de um evento puder acontecer simultaneamente em cada rodada. Isso muda a solução?

questionAnswers(5)

yourAnswerToTheQuestion