Cálculo da proporção de dados de amostra usados ​​para ajuste / treinamento e validação do modelo

9

Forneceu um tamanho de amostra "N" que pretendo usar para prever dados. Quais são algumas das maneiras de subdividir os dados para que eu use algumas delas para estabelecer um modelo e os demais dados para validar o modelo?

Sei que não há resposta em preto e branco para isso, mas seria interessante conhecer algumas "regras práticas" ou proporções geralmente usadas. Eu sei que na universidade, um de nossos professores costumava dizer modelo em 60% e validar em 40%.

dassouki
fonte

Respostas:

7

Bem, como você disse, não há resposta em preto e branco. Geralmente, não divido os dados em duas partes, mas, em vez disso, uso métodos como a validação cruzada k-fold.

Na validação cruzada k-fold, você divide seus dados aleatoriamente em k partes e ajusta seu modelo nas partes k-1 e testa os erros na parte deixada de fora. Você repete o processo k vezes, deixando cada peça fora do encaixe uma a uma. Você pode obter o erro médio de cada uma das k iterações como uma indicação do erro do modelo. Isso funciona muito bem se você deseja comparar o poder preditivo de diferentes modelos.

Uma forma extrema de validação cruzada k-fold é a validação cruzada generalizada, na qual você apenas deixa um ponto de dados para teste e ajusta o modelo a todos os pontos restantes. Em seguida, repita o processo n vezes, deixando de fora cada ponto de dados, um por um. Geralmente, prefiro a validação cruzada k-fold do que a validação cruzada generalizada ... apenas uma escolha pessoal

Shrey
fonte
2
CV usando o conjunto completo para seleção de modelo, não é? É um erro comum (ainda que a Wikipedia o mencione), porque é um super ajuste oculto. Você precisa fazer um currículo de nível superior ou deixar algum teste para fazer isso corretamente.
5

Realmente depende da quantidade de dados que você possui, do custo específico dos métodos e de como exatamente você deseja que seu resultado seja.

Alguns exemplos:

Se você tem poucos dados, provavelmente deseja usar a validação cruzada (dobra em k, deixar um para fora, etc.) Seu modelo provavelmente não precisará de muitos recursos para treinar e testar de qualquer maneira. São boas maneiras de aproveitar ao máximo seus dados

Você tem muitos dados: provavelmente deseja fazer um conjunto de testes razoavelmente grande, garantindo que haja pouca possibilidade de que algumas amostras estranhas dêem muita variação aos seus resultados. Quantos dados você deve levar? Depende completamente dos seus dados e modelo. No reconhecimento de fala, por exemplo, se você usar muitos dados (digamos 3000 frases), seus experimentos levarão dias, já que um fator em tempo real de 7 a 10 é comum. Se você tomar muito pouco, isso dependerá muito dos alto-falantes que você escolher (o que não é permitido no conjunto de treinamento).

Lembre-se também, em muitos casos, é bom ter uma validação / desenvolvimento definido também!

Peter Smit
fonte
5

A proporção de 1:10 teste: trem é popular porque parece redonda, 1: 9 é popular por causa do CV de 10 vezes, 1: 2 é popular porque também é redonda e remonta a inicialização. Às vezes, é realizado um teste a partir de alguns critérios específicos dos dados, por exemplo, no ano passado, para testes, anos antes para treinamento.

A regra geral é a seguinte: o trem deve ser grande o suficiente para que a precisão não caia significativamente e o teste deve ser grande o suficiente para silenciar flutuações aleatórias.

Ainda prefiro o CV, pois também fornece uma distribuição de erros.


fonte
4

Como uma extensão da resposta k-fold, a opção "usual" de k é 5 ou 10. O método deixar de fora tem uma tendência a produzir modelos que são muito conservadores. Para sua informação, aqui está uma referência a esse fato:

Shao, J. (1993), Linear Model Selection por Validação Cruzada, Journal of the American Statistical Association, vol. 88, n. 422, pp. 486-494

Albort
fonte
Você já leu este artigo? No entanto, funciona apenas para modelos lineares (até o título mostra!), Trata-se de comportamento assintótico para um número infinito de objetos. 100 não é o suficiente.
11
E desejo-lhe sorte em fazer a validação cruzada de 10 vezes no set com 9 objetos.
@mbq: eu digo a escolha "usual". Não significa todas as opções
Albort
@mbq: eu li o jornal; Shao relata um estudo de simulação com apenas 40 observações e mostra que o LOOCV apresenta um desempenho inferior ao CV de Monte-Carlo, exceto no caso em que nenhuma subseleção é apropriada (o conjunto completo de recursos é ideal). 100 é muito mais que suficiente, pelo menos para a seleção de subconjuntos em modelos lineares.
shabbychef 02/09
@shabbychef Você me trouxe aqui; o segundo argumento no meu primeiro comentário é, obviamente, um lixo, eu tinha alguns outros trabalhos em mente e generalizei demais. No entanto, ainda argumentarei que o artigo de Shao não é uma boa referência para "LOO falha geral em N grande", pois seu escopo é reduzido a modelos lineares.