regressao linear com constante igual azero

Bom dia a todos Estou esbarrando com um problema que não estou conseguindo resolver sozinho a pesar de achar que é muito simples. Segue a simulação do problema set.seed(1) var1 <- sample(LETTERS[1:3],1e3,replace=T) set.seed(2) var2 <- sample(LETTERS[1:3],1e3,replace=T) S <- 0.12 + 0.15*(var1=='B') +0.32*(var1=='C') +0.12*(var2=='B') -0.25*(var2=='C') -rnorm(1e3,0,0.1) summary(lm(S~var1+var2)) O resultado desta regressão é Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.114883 0.007063 16.27 <2e-16 *** var1B 0.162707 0.007621 21.35 <2e-16 *** var1C 0.320609 0.007684 41.72 <2e-16 *** var2B 0.115608 0.007639 15.13 <2e-16 *** var2C -0.257842 0.007542 -34.19 <2e-16 *** Vamos supor que eu queira determinar que o intercepto deste mesma regressão fosse zero, pelo que aprendi poderia usar summary(lm(S~0+var1+var2)), porém o resultado é: Coefficients: Estimate Std. Error t value Pr(>|t|) var1A 0.114883 0.007063 16.27 <2e-16 *** var1B 0.277590 0.006786 40.91 <2e-16 *** var1C 0.435491 0.006856 63.52 <2e-16 *** var2B 0.115608 0.007639 15.13 <2e-16 *** var2C -0.257842 0.007542 -34.19 <2e-16 *** Se observarem bem o que aconteceu é que no lugar do intercepto surgiu o nivel A do factor var1 e não o intercepto=0. agradeço antecipadamente a ajuda de vocês! abraços Tura

Prezado Tura, var1 e var2 são variáveis qualitativas com 3 categorias cada (dummies multicategóricas). Na 1ª regressão, note que não há estimativas para var1A e var2A explicitamente porque essas categorias são usadas como referência (ou base) em cada variável. Isto é feito para evitar problemas de multicolinearidade perfeita (consulte os livros de econometria do GUJARATI ou do WOOLDRIDGE para rápida compreensão deste problema, conhecido como "armadilha da variável dummy"). O intercepto do 1º modelo é portanto o intercepto da regressão para o grupo de referência em que var1=A e var2=A. Já os coeficientes estimados da variável dummy de um determinado grupo representa a diferença estimada nos interceptos entre aquele grupo e o grupo-base. Por exemplo, 0.16 (valor do coeficiente de var1B) representa a diferença entre o intercepto deste grupo (var1=B e var2=A) e o intercepto do grupo-base (var1=A e var2=A). Na 2ª regressão, ao optar por excluir o intercepto, não há mais a necessidade de retirar uma categoria de cada variável dummy para evitar colinearidade perfeita. Agora pode-se escolher que uma das variáveis mantenham todas a suas categorias, desde que nas demais variáveis dummies se continue excluindo uma categoria que será utilizada como referência ou base. Note que agora o coeficiente var1A na 2ª regressão é justamente o mesmo valor do intercepto na 1ª regressão e os demais coeficientes da var1 são agora a soma dos coeficientes na 1ª regressão com o intercepto (por exemplo, o var1B da 2ª regressão = intercepto da 1ª regressão + var1B da 1ª regressão). Espero ter ajudado, Rafael.

On 04/28/2015 11:16 AM, Rafael Costa wrote:
Prezado Tura,
var1 e var2 são variáveis qualitativas com 3 categorias cada (dummies multicategóricas). Na 1ª regressão, note que não há estimativas para var1A e var2A explicitamente porque essas categorias são usadas como referência (ou base) em cada variável. Isto é feito para evitar problemas de multicolinearidade perfeita (consulte os livros de econometria do GUJARATI ou do WOOLDRIDGE para rápida compreensão deste problema, conhecido como "armadilha da variável dummy"). O intercepto do 1º modelo é portanto o intercepto da regressão para o grupo de referência em que var1=A e var2=A. Já os coeficientes estimados da variável dummy de um determinado grupo representa a diferença estimada nos interceptos entre aquele grupo e o grupo-base. Por exemplo, 0.16 (valor do coeficiente de var1B) representa a diferença entre o intercepto deste grupo (var1=B e var2=A) e o intercepto do grupo-base (var1=A e var2=A). Na 2ª regressão, ao optar por excluir o intercepto, não há mais a necessidade de retirar uma categoria de cada variável dummy para evitar colinearidade perfeita. Agora pode-se escolher que uma das variáveis mantenham todas a suas categorias, desde que nas demais variáveis dummies se continue excluindo uma categoria que será utilizada como referência ou base. Note que agora o coeficiente var1A na 2ª regressão é justamente o mesmo valor do intercepto na 1ª regressão e os demais coeficientes da var1 são agora a soma dos coeficientes na 1ª regressão com o intercepto (por exemplo, o var1B da 2ª regressão = intercepto da 1ª regressão + var1B da 1ª regressão).
Espero ter ajudado, Rafael.
Rafael Entendo a sua explicação mas acho que você não entendeu o que eu desejo. Para o modelo preciso de uma uma regressão que o intercepto tenha valor de ZERO, ou seja, S = 0 + b1*var1=='B' + b2*var1=='C' + b3*var2=='B' + b4*var2=='C' + erro Entende o modelo que preciso? Abraços

O que o Rafel falou é que as duas expressões são matematicamente equivalentes, por uma questão de combinação linear das variáveis. Portanto, ao eliminar o intercepto, alguma das variáveis anteriores omitidas (var1==A ou var2==A) deverá aparecer na regressão necessariamente. Sugiro consultar a referência dada (ou apenas procure por multicolineariedade variável dummy/binária) para entender o que está acontecendo. Abç M 2015-04-28 13:25 GMT-03:00 Bernardo Rangel Tura <tura@centroin.com.br>:
On 04/28/2015 11:16 AM, Rafael Costa wrote:
Prezado Tura,
var1 e var2 são variáveis qualitativas com 3 categorias cada (dummies multicategóricas). Na 1ª regressão, note que não há estimativas para var1A e var2A explicitamente porque essas categorias são usadas como referência (ou base) em cada variável. Isto é feito para evitar problemas de multicolinearidade perfeita (consulte os livros de econometria do GUJARATI ou do WOOLDRIDGE para rápida compreensão deste problema, conhecido como "armadilha da variável dummy"). O intercepto do 1º modelo é portanto o intercepto da regressão para o grupo de referência em que var1=A e var2=A. Já os coeficientes estimados da variável dummy de um determinado grupo representa a diferença estimada nos interceptos entre aquele grupo e o grupo-base. Por exemplo, 0.16 (valor do coeficiente de var1B) representa a diferença entre o intercepto deste grupo (var1=B e var2=A) e o intercepto do grupo-base (var1=A e var2=A). Na 2ª regressão, ao optar por excluir o intercepto, não há mais a necessidade de retirar uma categoria de cada variável dummy para evitar colinearidade perfeita. Agora pode-se escolher que uma das variáveis mantenham todas a suas categorias, desde que nas demais variáveis dummies se continue excluindo uma categoria que será utilizada como referência ou base. Note que agora o coeficiente var1A na 2ª regressão é justamente o mesmo valor do intercepto na 1ª regressão e os demais coeficientes da var1 são agora a soma dos coeficientes na 1ª regressão com o intercepto (por exemplo, o var1B da 2ª regressão = intercepto da 1ª regressão + var1B da 1ª regressão).
Espero ter ajudado, Rafael.
Rafael
Entendo a sua explicação mas acho que você não entendeu o que eu desejo. Para o modelo preciso de uma uma regressão que o intercepto tenha valor de ZERO, ou seja,
S = 0 + b1*var1=='B' + b2*var1=='C' + b3*var2=='B' + b4*var2=='C' + erro
Entende o modelo que preciso?
Abraços
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-- Manoel Galdino https://sites.google.com/site/galdinomcz/

Tura, No seu exemplo o resultado da regressão está gritando que o intercepto é diferente de zero com p-valor <2e-16. Se o intercepto estatisticamente indistinguível de zero o p-valor deveria dar próximo de um... 2015-04-28 6:04 GMT-03:00 Bernardo Rangel Tura <tura@centroin.com.br>:
Bom dia a todos
Estou esbarrando com um problema que não estou conseguindo resolver sozinho a pesar de achar que é muito simples. Segue a simulação do problema
set.seed(1) var1 <- sample(LETTERS[1:3],1e3,replace=T)
set.seed(2) var2 <- sample(LETTERS[1:3],1e3,replace=T)
S <- 0.12 + 0.15*(var1=='B') +0.32*(var1=='C') +0.12*(var2=='B') -0.25*(var2=='C') -rnorm(1e3,0,0.1)
summary(lm(S~var1+var2))
O resultado desta regressão é Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.114883 0.007063 16.27 <2e-16 *** var1B 0.162707 0.007621 21.35 <2e-16 *** var1C 0.320609 0.007684 41.72 <2e-16 *** var2B 0.115608 0.007639 15.13 <2e-16 *** var2C -0.257842 0.007542 -34.19 <2e-16 ***
Vamos supor que eu queira determinar que o intercepto deste mesma regressão fosse zero, pelo que aprendi poderia usar summary(lm(S~0+var1+var2)), porém o resultado é:
Coefficients: Estimate Std. Error t value Pr(>|t|) var1A 0.114883 0.007063 16.27 <2e-16 *** var1B 0.277590 0.006786 40.91 <2e-16 *** var1C 0.435491 0.006856 63.52 <2e-16 *** var2B 0.115608 0.007639 15.13 <2e-16 *** var2C -0.257842 0.007542 -34.19 <2e-16 ***
Se observarem bem o que aconteceu é que no lugar do intercepto surgiu o nivel A do factor var1 e não o intercepto=0.
agradeço antecipadamente a ajuda de vocês!
abraços Tura _______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
participantes (4)
-
Bernardo Rangel Tura
-
Cesar Rabak
-
Manoel Galdino
-
Rafael Costa