Ao usar a validação cruzada para fazer a seleção do modelo (como por exemplo, ajuste de hiperparâmetro) e avaliar o desempenho do melhor modelo, deve-se usar a validação cruzada aninhada . O loop externo é para avaliar o desempenho do modelo, e o loop interno é para selecionar o melhor modelo; o modelo é selecionado em cada conjunto de treinamento externo (usando o circuito interno do CV) e seu desempenho é medido no conjunto de teste externo correspondente.
Isso foi discutido e explicado em vários tópicos (como por exemplo, aqui Treinamento com o conjunto de dados completo após a validação cruzada ? , veja a resposta de @DikranMarsupial) e é totalmente claro para mim. Fazer apenas uma validação cruzada simples (não aninhada) para seleção de modelo e estimativa de desempenho pode gerar uma estimativa de desempenho com viés positivo. O @DikranMarsupial tem um artigo de 2010 sobre exatamente esse tópico ( Sobre ajuste excessivo na seleção de modelo e viés de seleção subsequente na avaliação de desempenho ), com a Seção 4.3 sendo chamada de Ajuste excessivo na seleção de modelo é realmente uma preocupação genuína na prática? - e o documento mostra que a resposta é sim.
Tudo isso dito, agora estou trabalhando com regressão multivariada de crista múltipla e não vejo diferença entre CV simples e aninhado; portanto, neste caso particular, o CV aninhado parece uma carga computacional desnecessária. Minha pergunta é: sob quais condições o CV simples produzirá um viés perceptível que é evitado com o CV aninhado? Quando o CV aninhado importa na prática e quando não importa tanto? Existem regras práticas?
Aqui está uma ilustração usando meu conjunto de dados real. O eixo horizontal é para regressão de crista. O eixo vertical é um erro de validação cruzada. A linha azul corresponde à validação cruzada simples (não aninhada), com 50 divisões aleatórias de treinamento / teste 90:10. A linha vermelha corresponde à validação cruzada aninhada com 50 divisões aleatórias de treinamento / teste 90:10, em que é escolhido com um loop interno de validação cruzada (também 50 divisões aleatórias 90:10). Linhas são médias acima de 50 divisões aleatórias, sombreados mostram desvio padrão.
A linha vermelha é plana porque está sendo selecionado no loop interno e o desempenho do loop externo não é medido em toda a faixa de 's. Se a validação cruzada simples for enviesada, o mínimo da curva azul estará abaixo da linha vermelha. Mas esse não é o caso.
Atualizar
Na verdade, é o caso :-) Só que a diferença é pequena. Aqui está o zoom:
Uma coisa potencialmente enganosa aqui é que minhas barras de erro (sombras) são enormes, mas os CVs aninhados e simples podem ser (e foram) realizados com as mesmas divisões de treinamento / teste. Portanto, a comparação entre eles é pareada , conforme sugerido por @Dikran nos comentários. Então, vamos fazer uma diferença entre o erro CV aninhado e o erro CV simples (para o que corresponde ao mínimo na minha curva azul); novamente, em cada dobra, esses dois erros são calculados no mesmo conjunto de testes. Traçando essa diferença em divisões de treinamento / teste, recebo o seguinte:
Os zeros correspondem às divisões em que o loop CV interno também produziu (acontece quase a metade das vezes). Em média, a diferença tende a ser positiva, ou seja, o CV aninhado tem um erro um pouco maior . Em outras palavras, o CV simples demonstra um viés minúsculo, mas otimista.
(Executei todo o procedimento algumas vezes, e isso acontece sempre.)
Minha pergunta é: em que condições podemos esperar que esse viés seja minúsculo e sob quais condições não devemos?