Por que um modelo de regressão linear com interceptação zero prevê melhor que um modelo com interceptação?


8

Muitos livros e documentos disseram que a interceptação não deve ser suprimida. Recentemente, usei um conjunto de dados de treinamento para criar um modelo de regressão linear com ou sem interceptação. Fiquei surpreso ao descobrir que o modelo sem interceptação prediz melhor do que aquele com uma interceptação em termos de rmse em um conjunto de dados de validação independente. A precisão da previsão é um dos motivos pelos quais devo usar modelos de interceptação zero?


Qual o tamanho dos tamanhos das amostras de treinamento e validação? Talvez o modelo sem interceptação fosse melhor apenas por acaso.
mark999

O tamanho da amostra de treinamento era 289, enquanto o tamanho da amostra de validação era 406. A propósito, como determinar os melhores tamanhos de amostra de treinamento e validação?
kuj

Respostas:


3

Observe atentamente como a rmse ou outra estatística é calculada ao comparar modelos sem interceptação e modelos de interceptação. Às vezes, as suposições e cálculos são diferentes entre os dois modelos e um pode se encaixar pior, mas parece melhor porque está sendo dividido por algo muito maior.

Sem um exemplo reproduzível, é difícil dizer o que pode estar contribuindo.


Rmse foi calculado de acordo com a fórmula (usada para comparar diferenças entre duas coisas que podem variar, nenhuma das quais é aceita como o "padrão") dada em: en.wikipedia.org/wiki/Root-mean-square_deviation Portanto, as suposições e os cálculos são os mesmos entre os 2 estimadores derivados do modelo.
kuj

1
Quão semelhantes são seus conjuntos de treinamento e validação? Você pode considerar a validação cruzada de 10 vezes: divida os dados em 10 partes iguais (ou o mais iguais possíveis) aleatoriamente, depois use 9 delas para treinar um modelo e a décima parte como parte da validação e repita com cada uma delas. as outras 9 peças são o conjunto de validação. Em seguida, repita todo o processo (começando com uma nova divisão aleatória) 10 vezes mais ou menos.
Greg Neve

As variáveis ​​Y e X foram diferentes (P = 0,01) entre os conjuntos de treinamento e validação. No entanto, o rmse ainda era mais baixo com o modelo sem interceptação quando usei o pacote R MatchIt para corresponder aos conjuntos de treinamento e validação. Por outro lado, o rmse se tornou semelhante quando usei o pacote DAAG (cv.lm) para validar 10 vezes o conjunto de dados combinado. Isso significa que a validação cruzada 10 vezes é melhor que um simples conjunto de treinamento e um conjunto de validação?
kuj

2
Sim, a validação cruzada tende a ser melhor. Observe se há outras maneiras pelas quais o modelo está superespecificado; é muito incomum que um modelo sem interceptação se encaixe melhor.
Greg Neve

1
Em "Explicar ou prever?" O professor Galit Shmueli disse que às vezes um modelo menos verdadeiro pode prever melhor do que um modelo mais verdadeiro. Eu acho que essa pode ser uma das razões deste caso.
kuj

9

Não acho que você deva escolher modelos simplesmente porque eles funcionam melhor em uma amostra específica, embora seja bom que você tenha usado uma amostra de treinamento e validação.

Em vez disso, observe o que os modelos dizem sobre sua situação. Em alguns casos, um modelo de interceptação zero faz sentido. Se o DV deve ser 0 quando todos os IVs são 0, use um modelo de interceptação zero. Caso contrário, não.

O conhecimento substancial deve guiar as estatísticas, e não o contrário


2
A razão apresentada em seu segundo parágrafo, embora intuitiva, geralmente não é suficientemente forte para suprimir a interceptação em muitas dessas situações. Este ponto é abordado mais detalhadamente em algumas outras perguntas neste site.
cardeal

4
Nos estudos de comparação de método (ou instrumento) (por exemplo, comparação do oxímetro A e oxímetro B), o DV (nível de oxigênio) deve ser 0 quando todos os IVs (níveis de oxigênio) são 0. No entanto, a interceptação não deve ser ignorada se Eu quero calibrar (ou trocar) o oxímetro A com o oxímetro B.
KuJ

5

Um modelo sem interceptação pode fazer sentido se duas condições forem atendidas. Primeiro, deve haver uma expectativa razoável de conhecimento do assunto para que a interceptação seja zero. Segundo, deve haver uma expectativa razoável de conhecimento do assunto para a linha de regressão permanecer uma linha reta à medida que você se aproxima de zero. Mesmo que ambas as condições sejam atendidas, é aconselhável executar uma análise com um termo de interceptação e verificar se a interceptação não é significativamente diferente de zero.

(Suponho que você esteja falando de um Y contínuo e um X contínuo.)


4

Isso seria compreensível se a interceptação obtida fosse apenas ruído - não sig. diferente de zero. (Estou certo de que os coeficientes de regressão padronizados eram quase os mesmos nos dois modelos?) Se sim, acho que você não deve generalizar a partir deste exemplo. Quando interceptações são sig. e substancial, eles acrescentam algo significativo à precisão preditiva.


1. Os coeficientes de regressão padronizados não foram os mesmos (0,91 e 1,02) para o modelo com e sem interceptação. 2. A interceptação foi de 9,5 (se 1,7, p <0,001). 3. Até onde eu sei, muitos trabalhos sugerem não suprimir a interceptação, mesmo que a interceptação não tenha sido significativa a partir de zero.
kuj

Se houver variáveis ​​fictícias na regressão, a interceptação não representa o valor se todos os manequins tiverem o código 0 para essa observação? Não tenho certeza se isso se aplica aqui.
Michelle

Não, não houve variáveis ​​fictícias.
kuj

2

Na regressão linear, você está ajustando:

y=f(β,X)=β0 0+β1x1+β2x2+

Você serve β dados de treinamento (X,Y) Suponha que você solte o β0 0 e ajuste o modelo, será o erro no ajuste:

Eu(yEu-f(β,XEu))2

ser maior do que se você incluísse? Em todos os casos (não degenerados), você pode provar que o erro será o mesmo ou menor (nos dados de treinamento) quando incluirβ0 0como o modelo é livre para usar esse parâmetro para reduzir o erro, se estiver presente e ajudar, e o definirá como zero se não ajudar. Além disso, suponha que você adicionou uma constante grande a y (suponha que sua saída precise ser+10000 dos dados de treinamento originais) e reinstale o modelo, depois β0 0 claramente se torna muito importante.

Talvez você esteja se referindo a modelos regularizados quando diz "suprimido". Como L1 e L2 são regularizados, esses métodos preferem manter os coeficientes próximos de zero (e você já deve ter média e variância normalizadas).Xde antemão para tornar este passo sensato. Na regularização, você pode optar por incluir o termo de interceptação (devemos preferir também ter um pequenoβ0 0?). Novamente, na maioria dos casos (todos os casos?), É melhor não regularizarβ0 0, uma vez que é improvável reduzir o sobreajuste e diminuir o espaço de funções representáveis ​​(excluindo aquelas com alta β0 0) levando a um erro maior.

Nota lateral: a regressão logística do scikit regulariza a interceptação por padrão. Alguém sabe por que: http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html ? Não acho que seja uma boa ideia .


Volte a aprender a regularizar a interceptação: esse é apenas o caso se estiver usando o solucionador liblinear e eles explicitamente notam que é ruim ( scikit-learn.org/stable/modules/… ). Eu acho que o parâmetro intercept_scaling está incluído no LogisticRegression para atenuar isso.
erobertc 17/04

A escala não ajuda se você planeja interpretar os parâmetros como odds ratio.
user48956 17/04

Estou feliz que eles tenham atualizado os documentos. Muitas horas perdidas aqui.
user48956 17/04
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.