Como lidar com dados inexistentes (não faltando)?

11

Eu realmente nunca encontrei um bom texto ou exemplos sobre como lidar com dados 'inexistentes' para entradas para qualquer tipo de classificador. Eu li muito sobre dados ausentes, mas o que pode ser feito sobre dados que não podem ou não existem em relação às entradas multivariadas. Entendo que esta é uma pergunta muito complexa e variará dependendo dos métodos de treinamento usados ​​...

Por exemplo, se estiver tentando prever o tempo de volta para vários corredores com bons dados precisos. Entre muitas entradas, possíveis variáveis ​​entre muitas são:

  1. Variável de entrada - corredor da primeira vez (S / N)
  2. Variável de entrada - Tempo decorrido anterior (0 - 500 segundos)
  3. Variável de entrada - Idade
  4. Variável de entrada - Altura. . . muito mais variáveis ​​de entrada etc

De saída e previsão - Tempo previsto de volta (0 - 500 segundos)

Uma 'variável ausente' para '2.Tempo de volta anterior' pode ser calculada de várias maneiras, mas '1. O corredor da primeira vez 'sempre seria igual a N. Mas para 'DADOS NÃO EXISTENTES' para um corredor iniciante (onde '1. Corredor iniciante' = Y) que valor / tratamento devo dar para '2. Laptime anterior '?

Por exemplo, atribuindo '2. O tempo de volta anterior 'como -99 ou 0 pode distorcer a distribuição drasticamente e parecer que um novo corredor teve um bom desempenho.

Meus métodos de treinamento atuais têm usado regressão logística, SVM, NN e árvores de decisão

osknows
fonte
Devo acrescentar que eu fui descartando novos corredores de ambos os dados de treinamento e de previsão devido à incerteza inerente, mas gostaria de receber quaisquer métodos melhor do que 'Ignorar'
osknows

Respostas:

6

Em vez de atribuir um valor especial ao tempo inexistente da volta anterior do corredor da primeira vez, basta usar o termo de interação para o tempo anterior da volta com o inverso do manequim do corredor da primeira vez:

Yi=β0+β1FTRi+β2(NFTRi)×PLTi+...

aqui

  • é sua variável de entrada, Yi
  • são suas outras variáveis, ...
  • é fictício pela primeira vez,FTRi
  • PLTi
  • NFTRiFTRi=0

Então o modelo para os corredores iniciantes será:

Yi=(β0+β1)+...

e para não corredores pela primeira vez:

Yi=β0+β2PLTi+...
mpiktas
fonte
8

Para uma regressão logística ajustada pela probabilidade máxima, desde que você tenha ambos (1) e (2) no modelo, não importa qual o valor "padrão" que você atribui aos novos corredores (2), a estimativa para (1) irá ajustar em conformidade.

X1X2

η=α+β1X1+β2X2+

X2

η=α+β1+

enquanto que para um corredor existente, será:

η=α+β2X2+

X2

η=α+β199β2+

β199β2=β1

Obviamente, se você não estiver usando a máxima probabilidade (ou seja, você estiver usando algum tipo de penalização ou antes nos parâmetros), obterá valores diferentes, a menos que ajuste a penalização / anterior de acordo. E se o modelo for não linear (por exemplo, SVM, NN e árvores de decisão), esse argumento não funcionará.

Simon Byrne
fonte