Quando usar vários modelos para previsão?


13

Esta é uma pergunta bastante geral:

Eu normalmente descobri que o uso de vários modelos diferentes supera um modelo ao tentar prever uma série temporal fora da amostra. Existem bons documentos que demonstrem que a combinação de modelos superará um único modelo? Existem práticas recomendadas para combinar vários modelos?

Algumas referências:


Eu adicionei o que eu acho que é uma fonte muito boa (infelizmente um livro didático) com anotação, à luz do seu comentário / pergunta abaixo da minha resposta. Eu editei minha resposta original, para que ela apareça no final.
doug

Respostas:


7

Às vezes, esse tipo de modelo é chamado de conjunto. Por exemplo, esta página oferece uma boa visão geral de como funciona. Também as referências mencionadas são muito úteis.


3
De fato, a mistura é uma das possíveis técnicas de conjunto. Em particular, existem dois quando você combina o mesmo tipo de classificador, reforço (como Adaboost) e ensacamento (como Floresta Aleatória) e mistura, onde você combina classificadores diferentes (sobre o que era a pergunta de Shane).

3
Para misturar, vale a pena ler este artigo da competição netflix: the-ensemble.com/content/feature-weighted-linear-stacking .
Shane

1
É divertido que o meteorologista também use a palavra "conjunto", mas não para combinação: eles a usam para um conjunto de previsão (como cenário) obtido por perturbação das condições iniciais do modelo numérico.
Robin girard

1
@mbq na verdade eles se chamam meteorologista e eles usam estatística bastante ...
robin Girard

1
@robin Eu sei, é por isso que é chamado de "conjunto", não um conjunto ou algo assim.

10

O último ano da competição do Prêmio NetFlix (2009) me pareceu ter mudado bastante a presunção geral em toda a comunidade contra a combinação de múltiplos algoritmos de aprendizado.

Por exemplo, meu treinamento formal (cursos universitários) e, posteriormente, supervisão / orientação no trabalho nos ensinaram a evitar a combinação de algoritmos, a menos que tivéssemos um motivo explícito para fazê-lo - e "para melhorar a resolução do meu algoritmo atual", não era ' realmente considerou uma boa razão. (Outros podem ter uma experiência diferente - é claro que estou deduzindo uma visão de toda a comunidade baseada apenas em minha própria experiência, embora minha experiência na codificação de algoritmos de ML com desempenho insatisfatório seja substancial.)

Ainda assim, havia alguns "padrões" nos quais a combinação de algoritmos de uma maneira ou de outra era aceita e, na verdade, melhorava o desempenho. Para mim, o exemplo mais frequente envolveu algum algoritmo ML configurado no modo de máquina (atribuindo um rótulo de classe a cada ponto de dados) e no qual havia mais de duas classes (geralmente muitas mais). Quando, por exemplo, usando um algoritmo de aprendizado supervisionado para resolver quatro classes, veríamos uma excelente separação, exceto , digamos, Classe III versus Classe IV. Portanto, fora desses seis limites de decisão, apenas um foi resolvido abaixo do limite necessário. Particularmente quando as classes III e IV juntas representavam uma pequena porcentagem dos dados, adicionando um algoritmo adicional otimizado apenas na resolução dessas duas classes, era uma solução bastante comum para esse tipo de problema analítico. (Normalmente, esse 'ponto cego' era uma limitação inerente ao algoritmo primário - por exemplo, era um classificador linear e o limite de decisão III / IV era não linear.

Em outras palavras, quando tínhamos um algoritmo confiável adequado ao ambiente de processamento (que geralmente transmitia dados) e que era executado dentro das especificações, exceto por um único ponto cego que causou a falha na resolução de duas (ou mais) classes responsáveis ​​por Como uma pequena fração dos dados, era sempre melhor “conectar” outro algoritmo especializado para capturar o que o algoritmo principal estava sistematicamente ausente.

Por fim, sobre este tópico, eu gostaria de recomendar altamente o Capítulo 17, Combinando vários aprendizes , em Introdução ao aprendizado de máquina , 2d, por Ethem Alpaydin, MIT Press, 2010. Observe que esta é a segunda edição publicada há alguns meses; a primeira edição foi publicada em 2004 e duvido que tenha a mesma cobertura deste tópico. (Na verdade, eu recomendo o texto inteiro, mas esse capítulo em particular, pois se refere à pergunta de Shane.)

Em 25 páginas, o autor resume provavelmente todos os esquemas de combinação de algoritmos de ML cuja utilidade foi demonstrada na literatura ou prática acadêmica - por exemplo, ensacamento, reforço, mistura de especialistas, generalização empilhada, cascata, votação, correção de erros, .. ..


Esta é uma ótima informação. Você conhece algum documento que cubra isso?
Shane

(não recebi um notificador da SA do seu comentário) Bem, eu não estava me referindo a nenhum artigo quando escrevi isso, apenas apenas informalmente resumindo partes da minha experiência relevantes para a sua pergunta. Vou examinar meus arquivos e ver o que tenho que é relevante.
doug

4

Seguindo a resposta de Pedro sobre os métodos de conjunto:


2

O exemplo mais espetacular é o desafio da Netflix , que realmente aumentou a popularidade da mistura.


1

Aqui está uma resposta ligeiramente fora do campo esquerdo, que aborda apenas as "práticas recomendadas para combinar vários modelos" na parte de sua pergunta. Esta é basicamente exatamente a minha tese de honra, exceto que estou lidando com modelos complexos e altamente não lineares que exibem caos e ruído - modelos climáticos. Não é provável que seja amplamente aplicável a muitos campos, mas pode ser útil em ecologia ou econometria.

Até bem recentemente, na comunidade de modelagem climática, os modelos eram amplamente esmagados em uma média não ponderada (geralmente após a correção de viés envolvendo a remoção da média do modelo durante parte ou durante todo o período da amostra). Isso é basicamente o que o IPCC fez no 4º relatório de avaliação (4AR) e nos relatórios anteriores.

Este é mais ou menos um exemplo da combinação da escola " verdade mais erro " da escola, onde é assumido tácita ou explicitamente que séries observacionais (por exemplo, temperatura global, precipitação local etc.) são verdadeiras e que, se você colher amostras suficientes (por exemplo, execuções do modelo), o ruído nas execuções do modelo será cancelado (consulte (1)).

Mais recentemente, métodos para combinar modelos baseados na ponderação de desempenho foram usados. Como os modelos climáticos são muito barulhentos e têm tantas variáveis ​​e parâmetros, as únicas maneiras de avaliar o desempenho (que eu conheço) são adotando a covariância ou o MSE entre a saída do modelo e a série temporal observada. Os modelos podem então ser combinados ponderando a média com base nessa medida. Há uma boa visão geral disso em (2).

Uma suposição por trás desse método de combinação de simulações é a suposição de que os modelos são todos razoavelmente independentes - se alguns fossem altamente dependentes, eles teriam um desvio da média. Essa suposição foi razoavelmente justa para o conjunto de dados usado para 4AR ( CMIP3 , pois esse conjunto de dados foi composto de poucas execuções de modelo de muitos grupos de modelagem (por outro lado, o código é compartilhado na comunidade de modelagem, portanto, ainda pode haver alguma interdependência Para uma visão interessante disso, consulte (3)) O conjunto de dados para o próximo relatório de avaliação, CMIP5, não possui esse atributo um tanto fortuito - algumas equipes de modelagem enviarão algumas execuções, enquanto outras enviarão centenas. Conjuntos provenientes de equipes diferentes podem ser produzidos por distúrbios de condição inicial ou por alterações no modelo de física e parametrização. Além disso, esse super conjunto não é amostrado de maneira sistemática - é apenas quem aceita os dados (dentro do razoável). Isso é conhecido no campo como um " conjunto de oportunidades ". Há uma chance razoável de que o uso de uma média não ponderada em um conjunto desse tipo faça com que você tenha um grande viés em direção aos modelos com mais execuções (já que, embora existam centenas de execuções, é provável que haja um número muito menor de execuções verdadeiramente independentes).

Meu supervisor tem um artigo em revisão no momento, descrevendo um processo de combinação de modelos que envolve desempenho e ponderação de independência . Há um resumo do artigo em conferência disponível (4), postarei o link no artigo quando for publicado (processo lento, não prenda a respiração). Basicamente, este artigo descreve um processo que envolve a covariância de erros de modelo (obsessão por modelo) e a ponderação de modelos com alta covariância com todos os outros modelos (ou seja, modelos com erros altamente dependentes). A variação de erro do modelo também é calculada e usada como o componente de ponderação de desempenho.

Também é importante notar que a modelagem climática é obviamente extremamente impactada pelos caprichos da modelagem numérica em geral. Existe uma coisa chamada "teste de riso" - se você terminar com um modelo que implica que a temperatura média global será de + 20 ° C até 2050, basta jogar fora, porque claramente não é fisicamente relevante. Obviamente, esse tipo de teste é bastante subjetivo. Ainda não o exigi, mas espero que no futuro próximo.

Essa é a minha compreensão da combinação do modelo de estado em meu campo no momento. Obviamente, ainda estou aprendendo, por isso, se eu encontrar algo especial, voltarei e atualizarei esta resposta.

(1) Tebaldi, C. & Knutti, R., 2007. O uso do conjunto multi-modelo em projeções climáticas probabilísticas. Transações Filosóficas da Sociedade Real A: Ciências Matemáticas, Físicas e de Engenharia, 365 (1857), pp.2053-2075.

(2) Knutti, R. et al., 2010. Reunião de especialistas do IPCC sobre avaliação e combinação de projeções climáticas de modelos múltiplos.

(3) Masson, D. & Knutti, R., 2011. Genealogia do modelo climático. Geophys. Res. Lett, 38 (8), p.L08703.

(4) Abramowitz, G. & Bishop, C., 2010. Definindo e ponderando a dependência do modelo na previsão de conjuntos. Resumos da AGU Fall Meeting. p. 07


primeiro parágrafo, você quer dizer " modelos complexos e altamente não lineares ", certo? Para minha área de trabalho (fora da área climática), muitas vezes acho que o uso de modelos diferentes geralmente não leva a previsões muito diferentes. No entanto, colocar a computação em funcionamento para combinar modelos de maneira não ad-hoc é uma barreira enorme para nós. Eu esperaria previsões mais precisas, mas não tenho tempo para combinar os modelos e estimar com precisão o erro nessas previsões.
probabilityislogic

Obrigado, consertado. Eu tenho acesso a um cluster de computação, portanto, o poder da computação não é um grande problema, mas sim, até mesmo o modelo que estou usando configurado corretamente é uma dor e já está escrito. É por isso que o CMIP existe, para que as pessoas não precisem passar por todo esse problema a cada vez. Você estaria interessado em saber em qual campo você está, se estiver fazendo coisas semelhantes.
naught101
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.