Ao tentar selecionar entre vários modelos ou o número de recursos a serem incluídos, digamos previsão, posso pensar em duas abordagens.
- Divida os dados em conjuntos de treinamento e teste. Melhor ainda, use bootstrapping ou validação cruzada k-fold. Treine sempre no conjunto de treinamento e calcule o erro sobre o conjunto de teste. Erro no teste de plotagem vs. número de parâmetros. Normalmente, você obtém algo assim:
- Calcule a probabilidade do modelo integrando sobre os valores dos parâmetros. ou seja, calcule e plote isso em relação ao número de parâmetros. Em seguida, temos algo parecido com isto:
Então, minhas perguntas são:
- Essas abordagens são adequadas para resolver esse problema (decidir quantos parâmetros incluir no seu modelo ou selecionar entre vários modelos)?
- Eles são equivalentes? Provavelmente não. Eles darão o mesmo modelo ideal sob certas suposições ou na prática?
- Além da diferença filosófica usual de especificar conhecimentos prévios em modelos bayesianos, etc., quais são os prós e os contras de cada abordagem? Qual você escolheria?
Atualização: Também encontrei a pergunta relacionada sobre a comparação da AIC e da BIC. Parece que meu método 1 é assintoticamente equivalente ao AIC e o método 2 é assintoticamente relacionado ao BIC. Mas eu também li lá que o BIC é equivalente ao CV Leave-One-Out. Isso significaria que o erro mínimo de treinamento e o máximo de verossimilhança bayesiana são equivalentes onde LOO CV é equivalente a K-fold CV. Um artigo talvez muito interessante " Uma teoria assintótica para seleção linear de modelos ", de Jun Shao, relaciona-se a essas questões.