Modelo linear clássico - seleção de modelo

16

Eu tenho um modelo linear clássico, com 5 possíveis regressores. Eles não estão correlacionados entre si e têm uma correlação bastante baixa com a resposta. Cheguei a um modelo em que três dos regressores têm coeficientes significativos para sua estatística t (p <0,05). A adição de uma ou das duas variáveis ​​restantes fornece valores de p> 0,05 para a estatística t, para as variáveis ​​adicionadas. Isso me leva a acreditar que o modelo de 3 variáveis ​​é "melhor".

No entanto, usando o comando anova (a, b) em R, onde a é o modelo de 3 variáveis ​​eb é o modelo completo, o valor de p para a estatística F é <0,05, o que me diz para preferir o modelo completo sobre a variável 3 modelo. Como posso conciliar essas aparentes contradições?

Obrigado PS Edit: Alguns antecedentes. Isso é tarefa de casa, então não vou postar detalhes, mas não temos detalhes do que os regressores representam - eles são apenas numerados de 1 a 5. Somos solicitados a "derivar um modelo apropriado, justificando".

P Sellaz
fonte
6
Um modelo apropriado pode ser entendido como um modelo que usa efetivamente todas as variáveis ​​pré-especificadas (contabilizando a não linearidade etc.). Espero que o seu instrutor entenda que a seleção variável variável é inválida. Poucos fazem.
precisa
1
Oi novamente e obrigado. Desculpe por todas as idas e vindas. As instruções também dizem "Não há necessariamente um modelo" melhor "e você não precisa necessariamente incluir todos os preditores". Além disso, não há colinearidade ou não linearidade. Na verdade, todos os 5 preditores são gerados por simulações independentes a partir de uma distribuição normal. Consequentemente, as correlações entre os preditores e a resposta também são pequenas (a maior é menor que 0,1). Francamente minha intuição diz que o modelo "melhor" pode ser apenas a média da amostra (r ajustado ao quadrado é inferior a 0,03)
P Sellaz
@P Sellaz: dado que este é um dever de casa usando dados simulados, sua intuição pode ser útil aqui. Escreva uma explicação bem fundamentada para sua intuição.
Zach
1
Você não pode ir pelo em geral, como o quão grande é grande é dependente do contexto. Mas, dependendo exatamente de como a simulação deveria ser executada, você está certo de que a média geral pode ser o que é necessário. R2
precisa
1
Em geral, é correto que não seja necessário incluir todos os preditores para fazer um bom trabalho. Mas os dados são incapazes de informar quais preditores usar.
precisa

Respostas:

18

O problema começou quando você procurou um modelo reduzido e usou os dados em vez do conhecimento do assunto para escolher os preditores. A seleção gradual de variáveis ​​sem shinkage simultâneo para penalizar a seleção de variáveis, embora frequentemente usada, é uma abordagem inválida. Muito foi escrito sobre isso. Não há razão para confiar que o modelo de três variáveis ​​seja "melhor" e não há razão para não usar a lista original de preditores pré-especificados. Os valores P calculados após o uso de valores P para selecionar variáveis ​​não são válidos. Isso foi chamado de "mergulho duplo" na literatura de imagens funcionais.

Aqui está uma analogia. Suponha que alguém esteja interessado em comparar 6 tratamentos, mas usa testes t em pares para escolher quais tratamentos são "diferentes", resultando em um conjunto reduzido de 4 tratamentos. O analista então testa uma diferença geral com 3 graus de liberdade. Este teste F terá um erro do tipo I. O teste F original com 5 df é bastante válido.

Consulte http://www.stata.com/support/faqs/stat/stepwise.html e por para obter mais informações.

Frank Harrell
fonte
1
Obrigado pela sua resposta. Eu adicionei uma edição da pergunta original. Espero que esteja tudo bem. Qualquer conselho adicional seria bem-vindo.
P Sellaz
6

Uma resposta seria "isso não pode ser feito sem o conhecimento do assunto". Infelizmente, isso provavelmente lhe dará um F na sua tarefa. A menos que eu fosse seu professor. Então obteria um A.

R2

Então tem

todos os 5 preditores são gerados por simulações independentes a partir de uma distribuição normal.

Bem, se você SABE disso (isto é, o instrutor lhe disse) e se por "independente" você quer dizer "não relacionado ao DV", sabe que o melhor modelo é aquele sem preditores e sua intuição está correta.

Peter Flom - Restabelece Monica
fonte
Olá Peter, e obrigado. N é 900. Os dados foram todos produzidos por simulação. Eu sei disso porque tivemos que fazer as simulações sozinhos. Eles deveriam representar dados reais, no que diz respeito a esta lição de casa. Foram realizadas 100 simulações, e as 5 com as maiores correlações com a resposta (também simuladas, mas apenas uma vez) foram escolhidas como candidatas a regressão.
P Sellaz
1
Apenas certifique-se de simular nenhuma conexão entre X e Y. Então, como outros já disseram, um modelo de regressão é irrelevante e a média geral é suficiente.
Frank Harrell
1
Sim, eles são completamente independentes. Escolhemos os dados com as 5 maiores correlações como regressores candidatos, dos quais precisamos "derivar um modelo apropriado, justificando", mas "não precisamos necessariamente incluir todos os 5 preditores".
precisa saber é o seguinte
Parece que seu professor está: a) completamente confuso ou b) fazendo algo bastante interessante. Difícil dizer qual. Se ele / ela pretendia que isso mostrasse o tipo de coisa que @FrankHarrell e eu e outras pessoas estivemos apontando, tudo bem! (isso seria b). OTOH, se ele / ela pretende que esta seja uma regressão "real", então uh-oh, é a).
Peter Flom - Restabelece Monica
1
Vou informá-lo quando os documentos estiverem marcados :) #
Sellaz 17/11
4

Você pode tentar fazer a validação cruzada. Escolha um subconjunto de sua amostra, encontre o modelo "melhor" para esse subconjunto usando testes F ou t e aplique-o ao conjunto de dados completo (a validação cruzada completa pode ser mais complicada que isso, mas seria um bom começo). Isso ajuda a aliviar alguns dos problemas de teste gradual.

Veja uma nota sobre equações de regressão de triagem de David Freedman para uma simulação bonitinha dessa idéia.

Charlie
fonte
2

Eu realmente gosto do método usado no caretpacote: eliminação de recursos recursivos. Você pode ler mais sobre isso na vinheta , mas aqui está o processo básico: Seleção de Variável

A idéia básica é usar um critério (como estatística t) para eliminar variáveis ​​sem importância e ver como isso melhora a precisão preditiva do modelo. Você envolve a coisa toda em um loop de reamostragem, como validação cruzada. Aqui está um exemplo, usando um modelo linear para classificar variáveis ​​de maneira semelhante à que você descreveu:

#Setup
set.seed(1)
p1 <- rnorm(50)
p2 <- rnorm(50)
p3 <- rnorm(50)
p4 <- rnorm(50)
p5 <- rnorm(50)
y <- 4*rnorm(50)+p1+p2-p5

#Select Variables
require(caret)
X <- data.frame(p1,p2,p3,p4,p5)
RFE <- rfe(X,y, sizes = seq(1,5), rfeControl = rfeControl(
                    functions = lmFuncs,
                    method = "repeatedcv")
                )
RFE
plot(RFE)

#Fit linear model and compare
fmla <- as.formula(paste("y ~ ", paste(RFE$optVariables, collapse= "+")))
fullmodel <- lm(y~p1+p2+p3+p4+p5,data.frame(y,p1,p2,p3,p4,p5))
reducedmodel <- lm(fmla,data.frame(y,p1,p2,p3,p4,p5))
summary(fullmodel)
summary(reducedmodel)

Neste exemplo, o algoritmo detecta que existem 3 variáveis ​​"importantes", mas obtém apenas 2 delas.

Zach
fonte