Eu pensei que a validação cruzada K-fold consiste nas seguintes etapas.
- Divida os dados aleatoriamente em pedaços.
- Encaixe em pedaços .
- Prever no pedaço restante. Mantenha previsões.
- Repita 2-3 para todas as combinações remanescentes de dos pedaços que omitem 1 pedaço.
- Avalie a estatística de perda que compara todas as previsões com valores reais.
Agora eu vi ( xbart
no pacote dbarts ) o seguinte procedimento:
- Divida os dados aleatoriamente em pedaços.
- Encaixe em pedaços .
- Prever no pedaço restante. Avalie a estatística de perda e mantenha.
- Repita 1-3 vezes
- Faça a média das estatísticas de perda ou do pool de alguma outra maneira.
Observe a diferença nas etapas 4 e 5.
O primeiro procedimento é padrão e recomendado nos principais livros de texto. O segundo procedimento parece novo. Não vejo imediatamente por que não fazê-lo, mas não parece ótimo em termos de variação. Existem argumentos a favor ou contra o segundo procedimento?
A segunda abordagem é implementada no pacote citado acima e eu me pergunto se isso é errado.
xbart
? O método certamente está incorreto para o RMSE, que é subaditivo.Respostas:
Resposta curta: não é errado nem novo.
Estivemos discutindo esse esquema de validação sob o nome "validação de conjunto" ≈ 15, ao preparar um artigo *, mas no final nunca o referimos de fato, pois não o achamos usado na prática.
Wikipedia refere-se ao mesmo esquema de validação que a validação aleatória repetida de subamostragem ou a validação cruzada de Monte Carlo
Do ponto de vista da teoria, o conceito nos interessava porque
* Beleites, C .; Baumgartner, R .; Bowman, C .; Somorjai, R .; Steiner, G .; Salzer, R. & Sowa, MG Redução da variância na estimativa do erro de classificação usando conjuntos de dados esparsos, Chemom Intell Lab Syst, 79, 91 - 100 (2005).
O erro "validação de conjunto" para N = 1 está oculto na fig. 6 (ou seja, seu viés + variação pode ser recuperado dos dados fornecidos, mas não explicitamente).
Bem, no artigo acima, encontramos o erro total (viés² + variação) do out-of-bootstrap e repetido / iteradok - a validação cruzada dobrada para ser bem semelhante (com oob tendo uma variação um pouco menor, mas um viés mais alto - mas não fizemos o acompanhamento para verificar se / quanto desse trade-off é devido à reamostragem com / sem substituição e quanto é devido ao proporção de divisão diferente de cerca de 1: 2 para oob).
Lembre-se, no entanto, de que estou falando sobre precisão em situações de tamanho pequeno de amostra, em que o contribuinte dominante na incerteza de variação é o mesmo para todos os esquemas de reamostragem: o número limitado de amostras verdadeiras para teste e o mesmo para oob , validação cruzada ou validação de conjunto. As iterações / repetições permitem reduzir a variação causada pela instabilidade dos modelos (substitutos), mas não a incerteza de variação devido ao tamanho total limitado da amostra.
Portanto, supondo que você execute um número adequadamente grande de iterações / repetições N, eu não esperaria diferenças praticamente relevantes no desempenho desses esquemas de validação.
Um esquema de validação pode se encaixar melhor com o cenário que você tenta simular pela reamostragem.
fonte