Estou usando o pacote randomForest no R para desenvolver um modelo de floresta aleatória para tentar explicar um resultado contínuo em um conjunto de dados "amplo" com mais preditores do que amostras.
Especificamente, estou ajustando um modelo de RF, permitindo que o procedimento selecione entre um conjunto de ~ 75 variáveis preditivas que considero importantes.
Estou testando até que ponto esse modelo prevê o resultado real de um conjunto de testes reservado, usando a abordagem publicada aqui anteriormente , a saber,
... ou em R:
1 - sum((y-predicted)^2)/sum((y-mean(y))^2)
Mas agora eu tenho ~ 25 variáveis preditoras adicionais que posso adicionar. Ao usar o conjunto de ~ 100 preditores, o R² é maior. Quero testar isso estatisticamente, em outras palavras, ao usar o conjunto de ~ 100 preditores, o modelo testa significativamente melhor nos dados de teste do que o modelo se encaixa usando ~ 75 preditores. Ou seja, é o R² de testar o ajuste do modelo de RF no conjunto de dados completo significativamente maior que o R² de testar o modelo de RF no conjunto de dados reduzido.
Isso é importante para eu testar, porque são dados piloto, e obter 25 preditores extras foi caro, e eu preciso saber se devo pagar para medir esses preditores em um estudo de acompanhamento maior.
Estou tentando pensar em algum tipo de abordagem de reamostragem / permutação, mas nada vem à mente.
fonte
Concordo com Zach que a melhor idéia é validar cruzadamente os dois modelos e comparar os 2s, por exemplo, coletando valores de cada dobra e comparando os vetores resultantes com o teste de Wilcoxon (emparelhado para k-fold, não emparelhado aleatoriamente) CV).R2
A opção lateral é usar toda a seleção de recursos relevantes, o que indicaria quais atributos têm uma chance de serem significativamente úteis para classificação - assim, a intemperização desses atributos caros vale o preço. Isso pode ser feito, por exemplo, com um invólucro de RF, Boruta .
fonte
Você pode pensar em termos de significado prático, em vez de significado estatístico (ou ambos). Com dados suficientes, é possível encontrar coisas estatisticamente significativas que não terão impacto real no seu uso. Lembro-me de analisar um modelo uma vez em que as interações de 5 vias eram estatisticamente significativas, mas quando as previsões do modelo, incluindo tudo, até as interações de 5 vias foram comparadas às previsões de um modelo, incluindo apenas interações de 2 vias e efeitos principais , a maior diferença foi menos de 1 pessoa (a resposta foi número de pessoas e todos os valores interessantes estavam longe de 0). Portanto, a complexidade adicionada não valeu a pena. Portanto, observe as diferenças em suas previsões para ver se as diferenças são suficientes para justificar o custo extra, se não, então por que se preocupar em procurar a significância estatística? Se as diferenças forem grandes o suficiente para justificar o custo, se forem reais, eu recomendo as outras sugestões de uso da validação cruzada.
fonte
O método também pode ser estendido para trabalhar com validação cruzada (e não apenas com divisão de amostra, como mostrado acima).
fonte
Como você já está usando
randomForest
após a validação cruzada, pode emitir o cálculo do ajuste escolhido dos valores de importância do preditor.fonte
Vejo que essa pergunta foi feita há muito tempo; no entanto, nenhuma resposta aponta para as deficiências e mal-entendidos significativos da pergunta ainda.
Observe:
Você declara que R ^ 2 = ESS / TSS = 1 - RSS / TSS. Isso é verdade apenas em um contexto linear. A igualdade TSS = RSS + ESS é verdadeira apenas na regressão linear com interceptação. Portanto, você não pode usar essas definições para florestas aleatórias de forma intercambiável. É por isso que RMSE e similares são funções de perda mais comuns.
Mais importante para fins estatísticos: R ^ 2 segue uma distribuição desconhecida (também na configuração linear). Isso significa que testar uma hipótese com significância estatística usando R ^ 2 não é tão simples. A validação cruzada, como mencionado por Zach , é uma boa escolha.
Quanto à resposta do usuário88 : A validação cruzada com o teste de Wilcoxon é uma abordagem válida. Um artigo recente usa o teste de classificação assinado Wilcoxon e os testes de Friedman para comparação de diferentes métodos e algoritmos.
fonte