Sobreajuste de propósito

8

Faria sentido exagerar um modelo de propósito?

Digamos que eu tenha um caso de uso em que eu saiba que os dados não variarão muito em relação aos dados de treinamento.

Estou pensando aqui na previsão de tráfego, em que o status do tráfego segue um conjunto fixo de padrões

  • Manhã de comutação
  • atividade noturna
  • e assim por diante.

Esses padrões não mudarão muito, a menos que haja um aumento repentino de usuários de carros ou grandes mudanças na infraestrutura da estrada. Nesse caso, eu gostaria que o modelo fosse o mais tendencioso possível em relação aos padrões que aprendeu nos dados atuais, assumindo que, no futuro, o padrão e os dados sejam muito semelhantes.

Brandon
fonte
Isso parece muito suspeito, se você tiver uma garantia de que os dados não serão alterados, poderá superestimar o modelo e obter melhor desempenho, mas isso parece uma má ideia.
user2974951
1
Isto é. Mas, por outro lado, acho que não será uma má idéia se eu souber que os dados não mudarão muito. Estou escrevendo meus pensamentos aqui para que alguém possa provar que estou enganado.
Brandon
5
Se o desempenho preditivo fora da amostra do seu modelo (ou seja, em dados futuros) não for pior que o desempenho em seus dados atuais, então eu diria que tecnicamente você não está realmente se adaptando demais. Você está ajustando demais quando está ajustando o ruído nos dados atuais, e isso sempre deve levar a previsões piores em novos dados. Você deve poder configurar seu modelo para o nível correto de complexidade usando a validação cruzada.
matteo
2
Em um estudo, um sujeito foi solicitado a superestimar alguns dados e depois ganhou na loteria. O estudo concluiu que a super adaptação de dados é sempre uma coisa boa.
Nat

Respostas:

4

Em geral, não faz sentido superestimar seus dados de propósito. O problema é que é difícil garantir que os padrões também apareçam na parte que não está incluída nos seus dados. Você precisa afirmar que há um padrão nos dados. Uma possibilidade de fazer isso é o conceito de estacionariedade.


O que você descreve me lembra de estacionariedade e ergodicidade. Do lado contextual / comercial, você assume que sua série cronológica segue certos padrões. Esses padrões são chamados de estacionariedade ou ergodicidade.

Definição estacionária:

Um processo estacionário é um processo estocástico cuja distribuição de probabilidade conjunta incondicional não muda quando deslocada no tempo. Portanto, parâmetros como média e variância também não mudam com o tempo.

Definição ergodicidade:

Um processo ergódico é um processo relacionado ou denotando sistemas ou processos com a propriedade que, com tempo suficiente, inclui ou colide com todos os pontos de um determinado espaço e pode ser representado estatisticamente por uma seleção razoavelmente grande de pontos.


Agora você quer ter certeza de que realmente segue esses certos padrões. Você pode fazer isso, por exemplo, com teste de raiz unitária (como Dickey-Fuller) ou teste de estacionariedade (como KPSS).

Teste de raiz da unidade de definição:

H0: Existe uma raiz da unidade.

H1: não há raiz da unidade. Isso implica, na maioria dos casos, estacionariedade.

Teste de estacionariedade de definição:

H0: Há estacionariedade.

H1: não há estacionariedade.

Leitura adicional:

Qual é a diferença entre um teste estacionário e um teste de raiz unitária?


Se a série cronológica realmente seguir esses padrões, a previsão e a previsão serão "mais fáceis do ponto de vista estatístico"; por exemplo, você pode aplicar modelos econométricos para previsões como ARIMA ou TBATS. Minha resposta diz respeito a séries temporais univariadas e também multivariadas, se você tiver estacionariedade de dados transversal e raízes de unidade não são conceitos comuns.

Ferdi
fonte
8

Não, não faz sentido superestimar seus dados.

O termo sobreajuste na verdade se refere a uma comparação entre modelos: se model_a desempenho for melhor nos dados de treinamento fornecidos, mas for pior fora da amostra que model_b , model_a estará sobreajustando . Ou em outras palavras: " existe uma alternativa melhor ".

Se o status do tráfego " não variar de forma alguma com relação aos dados de treinamento", você obterá os melhores resultados possíveis simplesmente memorizando os dados de treinamento (novamente, isso não é "excessivo").

Mas "os dados não variam muito em relação aos dados de treinamento" simplesmente equivale a ter uma representação razoável do padrão subjacente. É aqui que o aprendizado de máquina funciona melhor ( ambiente estacionário, como Ferdi explicou ).

Laksan Nathan
fonte
Okey. Talvez seja melhor dizer que aumentamos o viés de propósito. Eu disse isso porque estava lendo sobre troca de viés versus variação e fazia sentido para mim um viés mais alto para o caso de uso de tráfego.
Brandon
algoritmo + ajuste fornecerá os melhores resultados possíveis (otimizar o trade-off).
Laksan Nathan 13/09/18
+1, mas não acho que "exista uma alternativa melhor" segue o ajuste excessivo.
Kbrose # 21/18
4

Eu diria que existe um sentido de superestimar seus dados, mas apenas para fins de pesquisa. (Não use modelo com excesso de equipamento na produção!)

Nos casos em que os dados podem ser complexos e tarefas não triviais, tentar super-ajustar um modelo pode ser uma etapa importante!

Se você pode superestimar um modelo - isso significa que os dados podem ser descritos pelo modelo.

Se você não pode se superestimar, pode dar uma pista para a investigação:

  • seus dados não estão prontos para serem modelados, portanto você precisaria fazer mais preparação de dados / engenharia de recursos
  • seu modelo é muito simples e não pode capturar todas as dependências de dados
Vadym B.
fonte