************************************ *CONFIGURAÇÕES INICIAIS ************************************ *Não paralizar quando janela estiver cheia set more off *Limpando a memória clear *Indicando tamanho da memória set mem 400m *Instalando o módulo do teste de Qui-quadrado *http://www.stata.com/quest/quest/t/tablesq.ado do "C:\DCP854B\modulos\tablesq.ado" ************************************ *ABRINDO JANELA DE LOG ************************************ log using "C:\DCP854B\Prog_Aula27.log", text replace ************************************ *WORLD VALUES SURVEY - LIMPANDO BANCO ************************************ use "C:\DCP854B\wvs1981_2008.dta", clear *Mantendo observações em que índice sobre *"valores tradicional/secular" (tradrat5) *são diferentes de missing keep if tradrat5!=. *Salvando banco saveold "C:\DCP854B\tradrat5.dta", replace ************************************ *TRANSFORMAÇÕES ************************************ *Abrindo banco use "C:\DCP854B\tradrat5.dta", clear *Gerar variável binomial "homem" tab x001 tab x001, nolabel gen homem=x001 replace homem=0 if x001==2 tab x001 homem, missing *Categorias de educação (x025r) tab x025r tab x025r, nolabel gen educ=x025r tab x025r educ, missing *Estado civil (x007) tab x007 tab x007, nolabel gen estciv=. replace estciv=1 if x007==1 | x007==2 | x007==8 replace estciv=2 if x007==3 | x007==4 | x007==5 | x007==7 replace estciv=3 if x007==6 tab x007 estciv, missing *Religião (a006) é muito importante tab a006 tab a006, nolabel gen religiao=. replace religiao=0 if a006>=2 & a006<=4 replace religiao=1 if a006==1 tab a006 religiao, missing *Acredita no céu (f054) tab f054 tab f054, nolabel gen ceu=f054 tab f054 ceu, missing *Objetivo é de fazer pais orgulhosos (d054) tab d054 tab d054, nolabel gen pais=d054 tab d054 pais, missing *Acredita no inferno (f053) tab f053 tab f053, nolabel gen inferno=f053 tab f053 inferno, missing *Passa tempo com pessoas da igreja (a060) tab a060 tab a060, nolabel gen igreja=a060 tab a060 igreja, missing ************************************ *RÓTULOS DAS VARIÁVEIS ************************************ label variable tradrat5 "Índice tradicional/secular" label variable survself "Índice sobrevivência/auto-expressão" label variable homem "Sexo" label variable educ "Escolaridade" label variable estciv "Estado civil" label variable religiao "Religião é muito importante" label variable ceu "Acredita no céu" label variable pais "Fazer pais orgulhosos" label variable inferno "Acredita no inferno" label variable igreja "Tempo com pessoas da igreja" ************************************ *RÓTULOS DAS CATEGORIAS DAS VARIÁVEIS ************************************ label define homem 0 "Feminino" 1 "Masculino" label values homem homem label define educ 1 "Baixa" 2 "Média" 3 "Alta" label values educ educ label define estciv 1 "Casado" 2 "Separado" 3 "Solteiro" label values estciv estciv label define simnao 0 "Não" 1 "Sim" label values religiao ceu inferno simnao label define pais 1 "Concorda muito" 2 "Concorda" 3 "Discorda" 4 "Discorda muito" label values pais pais label define igreja 1 "Semanalmente" 2 "1 ou 2 vezes por mês" 3 "Algumas vezes por ano" 4 "Nunca" label values igreja igreja ************************************ *LIMPANDO O BANCO DE DADOS ************************************ *Tamanho do banco count *Apagando observações keep if homem!=. & educ!=. & estciv!=. & religiao!=. & /// ceu!=. & pais!=. & inferno!=. & igreja!=. *Tamanho do banco, após exclusão dos "missings" count *Salvando banco saveold "C:\DCP854B\wvsmqo.dta", replace ******************* *MUDANDO CATEGORIAS DE REFERÊNCIA ******************* *Escolaridade: alta como referência char educ[omit] 3 *Estado civil: separado como referência char estciv[omit] 2 *Objetivo é de fazer pais orgulhosos: discorda muito como referência char pais[omit] 4 *Tempo com pessoas da igreja: nunca como referência char igreja[omit] 4 ******************* *Entendendo o peso ******************* *Peso "s017a" é o homogeneizado *Leva em consideração os desenhos amostrais *de cada país em cada ano browse s002 s003 s003a s017 s017a ************************************ *MUDANÇA DA UNIDADE DA VARIÁVEL DEPENDENTE ************************************ *Ao invés de analisar as mudanças na unidade original do índice, *analisaremos as mudanças em múltiplos de 10 gen trad10 = tradrat5 * 10 *Modelo com tradrat5 xi: reg tradrat5 homem i.educ i.estciv religiao ceu i.pais inferno i.igreja survself [pweight=s017a] *Modelo com trad10 (tradrat5 * 10) xi: reg trad10 homem i.educ i.estciv religiao ceu i.pais inferno i.igreja survself [pweight=s017a] *Coeficientes, erros padrões, *intervalo de confiança e *erro médio do resíduo (Root MSE) *são 10 vezes maiores *Teste "t", valor de "p" e *R-quadrado são os mesmos ************************************ *MUDANÇA DA UNIDADE DA VARIÁVEL INDEPENDENTE ************************************ *Vamos analisar o impacto de 10 em 10 unidades *do índice de sobrevivência/auto-expressão" gen surv10 = survself / 10 *Modelo com survself xi: reg tradrat5 homem i.educ i.estciv religiao ceu i.pais inferno i.igreja survself [pweight=s017a] *Modelo com surv10 (survself / 10) xi: reg tradrat5 homem i.educ i.estciv religiao ceu i.pais inferno i.igreja surv10 [pweight=s017a] *Coeficiente e erro padrão do índice de sobrevivência/auto-expressão *são 10 vezes maiores *As demais estimativas são as mesmas ************************************ *COEFICIENTES PADRONIZADOS ************************************ *Modelo irrestrito xi: reg tradrat5 homem i.educ i.estciv religiao ceu i.pais inferno i.igreja survself [pweight=s017a] *Modelo irrestrito com betas padronizados xi: reg tradrat5 homem i.educ i.estciv religiao ceu i.pais inferno i.igreja survself [pweight=s017a], beta *Os coeficientes padronizados são também chamados *de coeficientes beta. *Se x1 aumentar em um desvio-padrão, *então o y predito será alterado em b1 desvios-padrão. *Os efeitos não estão sendo medidos em termos *das unidades originais de y ou de xj, *mas em unidades de desvios-padrão. *A dimensão das variáveis independentes *passa a ser irrelevante, colocando-as em igualdade. *Quando cada xj é padronizado, *a comparação das magnitudes dos coeficientes *(significância econômica) é mais convincente. *Ou seja, a variável com maior coeficiente *é a "mais importante". *No nosso exemplo, a significância econômica de *"Fazer pais orgulhosos": *"Concorda muito" (_Ipais_1) e "Concorda" (_Ipais_2), *em relação a "Discorda muito" (_Ipais_4), *possuem maiores magnitudes (absolutas). ************************************ *MUDANDO PARA A PNAD 2007 - MINAS GERAIS ************************************ use "C:\DCP854B\pes2007MG.dta", clear ************************************ *RENDIMENTO ************************************ gen renpri=. replace renpri=v9532 if v9532!=999999999999 *Criando logaritmo de rendimento gen lnrenpri=ln(renpri) ************************************ *SEXO ************************************ gen mulher=. replace mulher=0 if v0302==2 replace mulher=1 if v0302==4 ************************************ *IDADE DO MORADOR ************************************ gen idpia=. replace idpia=v8005 if v8005>=15 & v8005<=64 ************************************ *ANOS DE ESTUDO ************************************ gen anest=. replace anest=v4803-1 if v4803!=17 ************************************ *PESO DA PESSOA ************************************ sum v4729, d ************************************ *LIMPANDO O BANCO DE DADOS ************************************ keep if lnrenpri!=. & mulher!=. & idpia!=. & anest!=. *Salvando banco saveold "C:\DCP854B\pnadmqo.dta", replace ************************************ *USO DE FORMAS FUNCIONAIS LOGARÍTMICAS ************************************ *Modelo irrestrito reg lnrenpri mulher idpia anest [pweight=v4729] *Quando x aumenta em 1, *y aumenta em 100*[exp(beta)-1], *mantendo outros fatores fixos. *Por exemplo, beta de "mulher": di 100*(exp(-0.5338501)-1) *Como impacto de "mulher" é alto, *não podemos simplesmente utilizar 100*beta: di 100*-0.5338501 *No entanto, podemos utilizar 100*beta, *quando temos pequenas mudanças percentuais. *Este é o caso de "idpia": di 100*(exp(0.0222158)-1) di 100*0.0222158 ************************************ *FORMAS FUNCIONAIS LOGARÍTMICAS E GRÁFICOS ************************************ *Regressão em reais reg renpri idpia [pweight=v4729] *Predito em reais de regressão em reais predict renpre1, xb scatter renpre1 idpia *Regressão em log de reais reg lnrenpri idpia [pweight=v4729] *Predito em log de reais de regressão em log de reais predict lnrenpre, xb scatter lnrenpre idpia *Predito em reais de regressão em log de reais gen renpre2=exp(lnrenpre) scatter renpre2 idpia ************************************ *MODELOS COM FUNÇÕES QUADRÁTICAS ************************************ *Criando quadrado de idade gen idquad = idpia * idpia *Nova regressão reg lnrenpri mulher anest idpia idquad [pweight=v4729] *Se "idpia" é negativo e "idquad" é positivo, *função tem formato U. *Se "idpia" é positivo e "idquad" é negativo, *função tem formato parabólico. *Vamos calcular nosso ponto crítico: *ponto crítico = x* = |ß1/(2ß2)| di abs(0.0888679/(2*-0.0008829)) *Nosso resultado indica que idade tem impacto positivo *sobre renda até a idade de 50 anos. *Após este ponto, idade tem impacto negativo sobre renda. *Isso está de acordo com mercado de trabalho brasileiro. ************************************ *FUNÇÕES QUADRÁTICAS & GRÁFICOS ************************************ *Salvando backup da variável anos de estudo gen anest2=anest *Substituindo anos de estudo por média da população sum anest drop anest gen anest=8.129894 *Salvando valor predito com média de anos de estudo *Gerando variáveis separadas para mulheres e homens *Única variação é na idade predict lnrenmul if mulher==1, xb predict lnrenhom if mulher==0, xb *Gráfico de dispersão entre valor predito e idade twoway (scatter lnrenmul idpia) (scatter lnrenhom idpia) *Gerando valor predito em reais gen renmul = exp(lnrenmul) gen renhom = exp(lnrenhom) *Gráfico de dispersão entre valor predito em reais e idade twoway (scatter renmul idpia) (scatter renhom idpia) *Retornando os valores originais de anos de estudo drop anest gen anest=anest2 ************************************ *MODELOS COM TERMOS DE INTERAÇÃO ************************************ *Criando interação de idade com anos de estudo gen idest = idpia * anest *Nova regressão reg lnrenpri mulher idpia anest idest [pweight=v4729] *Efeito parcial de "anest" sobre renda é: *"anest" + ("idest" * idade) *Por exemplo, para a idade de 15 anos, *o efeito de anos de estudo é: di 0.0497953 + (0.0015784 * 15) ************************************ *MODELOS COM TERMOS DE INTERAÇÃO, UTILIZANDO MÉDIAS ************************************ *Interpretação de "anest" sozinho não é correta, *porque não temos idade igual a zero. *Então, vamos reparametrizar o modelo, *construindo novo termo interativo... *Novo termo para idade: sum idpia egen idmed = mean(idpia) tab idmed gen idpiamed = idpia - idmed *Novo termo para anos de estudo: sum anest egen anmed = mean(anest) tab anmed gen anestmed = anest - anmed *Novo termo interativo: gen idestmed = idpiamed * anestmed *Nova regressão: reg lnrenpri mulher idpia anest idestmed [pweight=v4729] *Efeito parcial de "anest" sobre renda é: *"anest" + ["idestmed" * (idade - idade média)] *Ou seja, "idestmed" será nulo, *quando utilizarmos idade média *Por isso, o efeito parcial de "anest" sobre renda *indica que o aumento de 1 ano de estudo *aumenta em 10,6% a renda do indivíduo, *considerando uma pessoa de idade média (idmed=36 anos) ************************************ *TERMOS DE INTERAÇÃO & GRÁFICOS ************************************ *Criando interação de idade com sexo gen idmul = idpia * mulher *Nova regressão reg lnrenpri mulher idpia idquad anest idmul [pweight=v4729] *Fixando anos de estudo na média gen anest3=anest drop anest sum anest3 egen anest = mean(anest3) *Salvando valor predito predict lnrenpred, xb gen renpmul=exp(lnrenpred) if mulher==1 gen renphom=exp(lnrenpred) if mulher==0 *Gráfico de idade por renda predita, *ilustrando a tendência de cada sexo twoway (scatter renpmul idpia) (scatter renphom idpia) *Retornando com anos de escolaridade drop anest gen anest=anest3 ************************************ *COMPARAÇÃO DE MODELOS ANINHADOS ************************************ *F-test e R2 ajustado *permitem testar ajustes de modelos aninhados *F-test para exclusão conjunta de "idpia" e "anest" reg lnrenpri mulher idpia anest [pweight=v4729] test idpia anest *R2 ajustado só é possível com modelos sem "pweight" *Modelo restrito reg lnrenpri mulher [aweight=v4729] *Modelo irrestrito reg lnrenpri mulher idpia anest [aweight=v4729] *R2 AJUSTADO do modelo 1: 0,0501 *R2 AJUSTADO do modelo 2: 0,3579 ************************************ *COMPARAÇÃO DE MODELOS NÃO-ANINHADOS *COM R2 AJUSTADO ************************************ *R2 ajustado permite testar ajustes *de modelos não-aninhados *Modelo com idade reg lnrenpri mulher idpia [aweight=v4729] *Modelo com anos de estudo reg lnrenpri mulher anest [aweight=v4729] *R2 ajustado de modelo com idade: 0,0828 *R2 ajustado de modelo com anos de estudo: 0,2632 ************************************ *COMPARAÇÃO DE MODELOS COM FORMAS FUNCIONAIS *DIFERENTES NA VARIÁVEL INDEPENDENTE *COM R2 AJUSTADO ************************************ *Somente variável idade reg lnrenpri mulher idpia anest [aweight=v4729] *Variável idade e idade ao quadrado reg lnrenpri mulher idpia idquad anest [aweight=v4729] *R2 ajustado de modelo com idade: 0,3579 *R2 ajustado de modelo com idade ao quadrado: 0,3828 ************************************ *COMPARAÇÃO DE MODELOS COM FORMAS FUNCIONAIS *DIFERENTES NA VARIÁVEL DEPENDENTE ************************************ *Obtenha os valores estimados de log(yi) da regressão reg lnrenpri mulher idpia anest [aweight=v4729] predict ypred1, xb *Para cada observação i, crie exp[log(yi)] gen ypredexp=exp(ypred1) *Faça a regressão de "renpri" sobre a variável "ypredexp", *sem um intercepto (regressão simples passando pela origem) reg renpri ypredexp, nocons *O único coeficiente que existe na regressão acima *é a estimativa de alfa zero. *Obtenha a previsão de renda (alfa zero * valor predito de y) gen yfinal = 1.489464 * ypredexp *Obter a correlação amostral entre y estimado (yfinal) *e o verdadeiro y na amostra (renpri) corr yfinal renpri *O quadrado dessa correlação amostral *pode ser comparado ao R2 do modelo *em que "renpri" é variável dependente *R2 do modelo com "lnrenpri": 0,2463 di 0.4963^2 *R2 do modelo com "renpri": 0,1869 reg renpri mulher idpia anest [aweight=v4729] ************************************ *SALVANDO O LOG ************************************ log close