*Limpando a memória clear *Indicando tamanho da memória set mem 100m *Não interromper tabelas longas set more off *Colocar vírgulas e pontos no padrão brasileiro set dp comma *Abrindo o arquivo de log log using "C:\curso\progs\Aula29.log", replace text *Instalando o módulo do teste de Qui-quadrado *http://www.stata.com/quest/quest/t/tablesq.ado *Melhor instalar manualmente no diretório "updates" *do "C:\curso\modulos\tablesq.ado" ************************************ *PNAD 2007 - MINAS GERAIS ************************************ use "C:\curso\dados\pes2007MG.dta", clear ************************************ *RENDIMENTO ************************************ gen renpri=. replace renpri=v9532 if v9532!=999999999999 *Criando logaritmo de rendimento gen lnrenpri=ln(renpri) ************************************ *SEXO FEMININO ************************************ gen mulher=. replace mulher=0 if v0302==2 replace mulher=1 if v0302==4 tab v0302 mulher, missing ************************************ *SEXO MASCULINO ************************************ *Categoria zero igual a 1 *e as demais iguais a zero gen homem=!mulher tab homem mulher, missing *Isso é o mesmo que... gen homem2=~mulher tab homem2 mulher, missing ************************************ *IDADE DO MORADOR ************************************ gen idpia=. replace idpia=v8005 if v8005>=15 & v8005<=64 ************************************ *RAÇA ************************************ gen negra=. replace negra=0 if v0404==2 replace negra=1 if v0404==4 | v0404==8 tab v0404 negra, missing ************************************ *RAÇA E SEXO ************************************ gen rcsexo=. replace rcsexo=1 if mulher==1 & negra==1 replace rcsexo=2 if mulher==1 & negra==0 replace rcsexo=3 if mulher==0 & negra==1 replace rcsexo=4 if mulher==0 & negra==0 tab rcsexo negra, missing tab rcsexo mulher, missing ************************************ *ANOS DE ESTUDO *Variável quantitativa discreta *Nível de mensuração de razão (possui zero natural) ************************************ gen anest=. replace anest=v4803-1 if v4803!=17 tab v4803 anest, missing ************************************ *ANOS DE ESTUDO *Variável qualitativa *Nível de mensuração ordinal ************************************ gen anest3=. replace anest3=1 if anest>=0 & anest<=4 replace anest3=2 if anest>=5 & anest<=8 replace anest3=3 if anest>=9 & anest<=15 tab anest anest3, missing *Variável binária para 0<=anest<=4 gen anest04=0 replace anest04=1 if anest3==1 tab anest3 anest04, missing *Variável binária para 5<=anest<=8 gen anest58=0 replace anest58=1 if anest3==2 tab anest3 anest58, missing *Variável binária para 9<=anest<=15 gen anest9=0 replace anest9=1 if anest3==3 tab anest3 anest9, missing ************************************ *ANOS DE ESTUDO E SEXO ************************************ gen manest=mulher*anest3 ************************************ *GRUPOS DE ANOS DE ESTUDO E SEXO ************************************ gen estsexo=. replace estsexo=1 if mulher==1 & (anest>=0 & anest<=4) replace estsexo=2 if mulher==1 & (anest>=5 & anest<=8) replace estsexo=3 if mulher==1 & (anest>=9 & anest<=15) replace estsexo=4 if mulher==0 & (anest>=0 & anest<=4) replace estsexo=5 if mulher==0 & (anest>=5 & anest<=8) replace estsexo=6 if mulher==0 & (anest>=9 & anest<=15) tab anest estsexo, missing tab mulher estsexo, missing ************************************ *LIMPANDO O BANCO DE DADOS ************************************ keep if lnrenpri!=. & mulher!=. & idpia!=. & anest!=. & negra!=. tab mulher, missing tab idpia, missing tab anest, missing tab negra, missing ************************************ *ANÁLISE DE VARIÂNCIA (ANOVA) ************************************ *A análise de variância é um método para se testar a igualdade de *médias populacionais através da análise das variâncias amostrais. *Podemos utilizar o comando de análise de variância (anova) *para saber se a média de uma variável com distribuição normal *varia de acordo com os grupos de uma variável categórica. ************************************ *ANÁLISE DE VARIÂNCIA (ANOVA) DE UM FATOR *"ONEWAY ANALYSIS OF VARIANCE" *SESSÃO 7.2. ÚNICA VARIÁVEL CATEGÓRICA INDEPENDENTE ************************************ *Análise de variância de um fator usa *uma única característica para categorizar populações. *Vamos testar se há diferenças entre as médias da variável renda (lnrenpri) *nos diversos níveis da variável categórica (anest3). tab anest3, summarize(renpri) means *Realizando o comando ANOVA de um fator anova lnrenpri anest3 *Partial SS é o mesmo que "partial sum of squares", ou soma parcial dos quadrados. *Df é o mesmo que "degrees of freedom", ou graus de liberdade. *MS é o mesmo que "mean square", ou média dos quadrados (Partial SS dividido por Df). *F é o mesmo que "F Value", ou "F-test", ou teste de "F". *A média populacional do logaritmo do rendimento *é diferente entre os níveis da variável categórica, *com significância estatística. *Por isso, temos que incluir informação de educação se *formos estimar um modelo em que a variável dependente é renda *Regressão com educação contínua reg lnrenpri anest [pweight=v4729] *Regressão com educação considerada quantitativa discreta reg lnrenpri anest3 [pweight=v4729] *Regressão com educação considerada qualitativa (educ04 é referência) reg lnrenpri anest58 anest9 [pweight=v4729] *O comando acima poderia ter sido estimado *mesmo sem gerar as variáveis binárias previamente xi: reg lnrenpri i.anest3 [pweight=v4729] ************************************ *CURIOSIDADE *REGRESSÃO COM UMA ÚNICA VARIÁVEL BINÁRIA ************************************ *Regressão com sexo feminino, propositalmente sem peso reg lnrenpri mulher *Resultado da constante acima é o mesmo que *média do logaritmo de renda dos homens sum lnrenpri if homem==1 *Resultado da constante acima e beta1 é o mesmo que *média do logaritmo de renda das mulheres di 6.466551 - 0.3874975 sum lnrenpri if mulher==1 ************************************ *ANÁLISE DE VARIÂNCIA (ANOVA) DE DOIS FATORES *"TWOWAY ANALYSIS OF VARIANCE" *SESSÃO 7.3. VARIÁVEIS BINÁRIAS PARA CATEGORIAS MÚLTIPLAS ************************************ *Análise de variância de dois fatores usa *dados divididos em categorias de acordo com dois fatores. *Vamos testar se há diferenças entre as médias da variável renda (lnrenpri) *nos diversos níveis da variável categórica (mulher*anest3). tab anest3 mulher, summarize(renpri) means *Realizando o comando ANOVA de dois fatores anova lnrenpri manest *A média populacional do logaritmo do rendimento *é diferente entre os níveis da variável categórica *que combina informações de anos de estudo e sexo, *com significância estatística. *Nós rejeitamos a hipótese nula *de que não há interação entre educação e sexo: *H0: sexo*educação=0 *Ou seja, se há interação entre os fatores, *não devemos considerar os efeitos de sexo *sem considerar os efeitos de educação e vice-versa. *Regressão com usos de variáveis binárias para categorias múltiplas *(sexo e anos de estudo) xi: reg lnrenpri i.estsexo [pweight=v4729] *Se não houvesse interação significativa entre educação e sexo, *nós não teríamos rejeitado a hipótese nula de nenhuma interação. *Nesse caso, teríamos que testar as duas hipóteses seguintes: *H0: Não há qualquer efeito do fator sexo *H0: Não há qualquer efeito do fator educação anova lnrenpri mulher anest3 ************************************ *SESSÃO 7.4. INTERAÇÕES ENVOLVENDO VARIÁVEIS BINÁRIAS ************************************ ************************************ *INTERAÇÕES ENTRE VARIÁVEIS BINÁRIAS ************************************ gen mulnegra=mulher*negra reg lnrenpri mulher negra mulnegra [pweight=v4729] *Homens brancos di exp(6.633914) *Homens negros di exp(6.633914 - 0.3496797) *Mulheres brancas di exp(6.633914 - 0.4044713) *Mulheres negras di exp(6.633914 - 0.4044713 - 0.3496797 + 0.0135062) ************************************ *CONSIDERAÇÃO DE INCLINAÇÕES DIFERENTES ************************************ *Entre sexo (mulher) e educação (anest) gen muleduc=mulher*anest reg lnrenpri mulher anest muleduc [pweight=v4729] *Salvando valor predito com variáveis constantes *MULHER=1 predict lnrenpri1 if mulher==1, xb gen renpri1=exp(lnrenpri1) *Salvando valor predito com variáveis constantes *MULHER=0 predict lnrenpri0 if mulher==0, xb gen renpri0=exp(lnrenpri0) *Comparação relativa dos salários de mulheres e homens por escolaridade *Gráfico dos valores preditos em LOG por escolaridade para homens e mulheres twoway (scatter lnrenpri0 anest) (scatter lnrenpri1 anest) *Comparação absoluta dos salários de mulheres e homens por escolaridade *Gráfico dos valores preditos por escolaridade para homens e mulheres twoway (scatter renpri0 anest) (scatter renpri1 anest) ************************************ *VERIFICAÇÃO DE DIFERENÇAS NAS FUNÇÕES DE REGRESSÃO ENTRE GRUPOS ************************************ *ESTATÍSTICA DE CHOW AUTOMÁTICA *Modelo sem variável binária "mulher" e sem interações reg lnrenpri idpia anest [aweight=v4729] *Modelo com variável binária "mulher" e com duas interações gen mulid=mulher*idpia reg lnrenpri mulher idpia anest mulid muleduc [aweight=v4729] *F-TESTE AUTOMÁTICO test mulher mulid muleduc *ESTATÍSTICA DE CHOW MANUAL *Modelo sem variável binária "mulher" e sem interações reg lnrenpri idpia anest [aweight=v4729] *SQRp = 8194.74049 *gl = k + 1 = interações + 1 = 2 + 1 = 3 *Modelo para homens reg lnrenpri idpia anest [aweight=v4729] if mulher==0 *SQR1 = 4026.32191 *n1 = 9178 *Modelo para mulheres reg lnrenpri idpia anest [aweight=v4729] if mulher==1 *SQR2 = 3118.57756 *n1 = 6442 *n = n1 + n2 = 9178 + 6442 = 15620 di 9178 + 6442 *gl = n - 2(k + 1) = 15620 - 2(3) = 15620 - 6 = 15614 di 15620 - 6 *SQR1 + SQR2 = 4026.32191 + 3118.57756 = 7144.8995 di 4026.32191 + 3118.57756 *F-TESTE MANUAL - WOOLDRIDGE - PÁGINA 229 *{[SQRp - (SQR1 + SQR2)]/(SQR1 + SQR2)}*{[n - 2(k + 1)]/(k + 1)} di [(8194.74049 - 7144.8995)/(7144.8995)]*(15614 / 3) *Calculando a probabilidade acima do valor do F-teste *df1 = 15614 *df2 = 3 *F0 = 764.75147 *display Ftail(df1, df2, F0) display Ftail(15614, 3, 764.75147) ************************************ *SESSÃO 7.5. MODELO DE PROBABILIDADE LINEAR ************************************ *Data de referência da PNAD 2007: *29 de setembro de 2007 *Salário mínimo de 01/04/2007 a 29/02/2008: *R$380,00 *Linha de pobreza (metade do salário mínimo) *R$190,00 *Criando variável binária de pobreza sum renpri, d gen pobre=. replace pobre=0 if renpri>=190 & renpri<=30000 replace pobre=1 if renpri>=15 & renpri<190 tab pobre, missing *Modelo de probabilidade linear reg pobre mulher anest idpia [pweight=v4729], beta *Criando "idpia" constante na média gen idpiaa=idpia egen idpiab=mean(idpia) drop idpia gen idpia=idpiab *Salvando valor predito com variáveis constantes *MULHER=1 predict pobre1 if mulher==1, xb *Salvando valor predito com variáveis constantes *MULHER=0 predict pobre0 if mulher==0, xb *Gráfico dos valores preditos por idade para homens e mulheres twoway (scatter pobre0 anest) (scatter pobre1 anest) *Voltando "idpia" ao normal drop idpia gen idpia=idpiaa ************************************ *ENTENDENDO OS RESÍDUOS ************************************ reg lnrenpri mulher idpia anest [pweight=v4729] *Resíduos por variável dependente predita rvfplot, yline(0) *Isso é o mesmo que... predict lnrenpre, xb gen residuo1=lnrenpri-lnrenpre twoway scatter residuo1 lnrenpre, yline(0) *Isso também é o mesmo que... predict residuo2, score twoway scatter residuo2 lnrenpre, yline(0) *Isso também é o mesmo que... predict residuo3, res twoway scatter residuo3 lnrenpre, yline(0) *Histograma dos resíduos por sexo hist residuo1, by(mulher) *Diagrama de caixas por sexo graph hbox residuo1, by(mulher) *Analisando a variância do resíduo por categorias de sexo twoway scatter residuo1 mulher, yline(0) sum residuo1 if mulher==0 sum residuo1 if mulher==1 *O resíduo possui médias diferentes *entre categorias de sexo? ttest residuo1, by(mulher) *O resíduo possui variâncias diferentes *entre categorias de sexo? sdtest residuo1, by(mulher) *Teste de Kolmogorov-Smirnov *para analisar igualdade de distribuição *dos resíduos entre os sexos. ksmirnov residuo1, by(mulher) *Hipótese nula é que distribuição dos resíduos *é semelhante entre os sexos. *O resultado do teste indica que a probabilidade *de não rejeitar a hipótese nula é muito pequena. *Então rejeitamos a hipótese nula *e dizemos que a distribução dos resíduos é diferente *entre os sexos. *Não conseguimos satisfazer o pressuposto de homoscedasticidade, *o qual afirmava que as variâncias dos resíduos *pelas categorias da variável binária eram semelhantes. *O comando "qnorm" estima gráficos quantis-normais ("quantile-normal plots") *É gerado um gráfico dos quantis da variável indicada (residuo1) *pelos quantis de uma distribuição normal. qnorm residuo1 *Se os resíduos possuíssem uma distribuição normal, *os pontos ficariam em cima da linha diagonal. *Em nosso exemplo, isso acontece no centro dos pontos. *No entanto, as curvas nas extremidades exibem não-normalidade. *Do lado direito e acima do gráfico, *há resíduos maiores do que se esperaria *se eles estivessem normalmente distribuídos. *Do lado esquerdo e abaixo do gráfico, *há resíduos menores do que se esperaria *se eles estivessem normalmente distribuídos. *O livro do Lawrence Hamilton ("Regression with Graphs") *exemplifica este tipo de gráfico (pág.16). *Em nosso exemplo, a distribuição indica que *o resíduo está distribuído com uma leve *concentração à esquerda ou à direita. *No entanto, isso não é perceptível quando *tiramos o histograma do resíduo, *o qual apresenta distribuição praticamente normal. hist residuo1, freq *Box plot do resíduo graph box residuo1 graph hbox residuo1 ************************************ *EXPLORANDO TRANSFORMAÇÕES DA VARIÁVEL DEPENDENTE ************************************ *Lawrence Hamilton ("Regression with graphics") pág.18-19 *Y^3 q=3 *Y^2 q=2 *Y^1 q=1 *Y^0.5 q=0.5 *log(Y) q=0 *-(Y^-0.5) q=-0.5 *-(Y^-1) q=-1 *De uma forma geral: *q>1: reduz concentração à direita *q=1: dados originais *q<1: reduz concentração à esquerda (usamos log para renda) *Renda original hist renpri, percent *Exponencial da renda gen renexp=exp(renpri) hist renexp, percent twoway scatter renexp renpri if renpri<50 *Renda ao cubo gen rencubo=renpri^3 hist rencubo, percent twoway scatter rencubo renpri *Logaritmo da renda hist lnrenpri, percent twoway scatter lnrenpri renpri *Negativo da renda elevado a -1 gen renmen1=-(renpri^-1) hist renmen1, percent *Dados artificiais egen id=seq() *Logaritmo dos dados artificiais gen lnid=ln(id) twoway scatter lnid id *Exponencial dos dados artificiais gen expid=exp(id) twoway scatter expid id if id<100 ************************************ *REGRESSÃO COM "AWEIGHT" - PARA R2-ajustado ************************************ reg lnrenpri mulher [aweight=v4729] reg lnrenpri mulher idpia anest [aweight=v4729] ************************************ *REGRESSÃO COM "PWEIGHT" - PARA ERROS PADRÕES ROBUSTOS ************************************ reg lnrenpri mulher idpia anest [pweight=v4729] ************************************ *SALVANDO O LOG ************************************ log close