Upload
j
View
10
Download
4
Embed Size (px)
Citation preview
FACULDADE DE ECONOMIA, ADMINISTRAÇÃO E CONTABILIDADE – FEAUSP
MATERIAL DE APOIO PARA MONITORIA DE ECONOMETRIA II Professores: Moisés Vassalo e Paula Carvalho Pereda. Monitores: Juliana Souza Scriptore e Rafael Benini.
1.) Introdução ao Software Econométrico: STATA 11
1.1) Primeiros Passos
Apresentação – Tela Inicial
Ao abrir o Stata percebe-se quatro janelas. No canto inferior direito está a janela
Command em que digita-se os comandos a serem executados. Acima dela, a maior
janela é a de resultados que mostra o resultado (em uma quantidade limitada) do
comando digitado. No canto inferior esquerdo está a janela Variables, que mostra as
variáveis do banco de dados em utilização. Acima dela, Review, está a janela com o
histórico dos comandos executados (ao clicar em um deles é possível reexecutá-lo e
modificá-lo sem a necessidade de nova digitação).
A maioria dos comandos do Stata também pode ser feita pelo opções disponíveis no
menu superior. No entanto, digitar os comandos diretamente na janela de comandos
geralmente facilita o trabalho quando já se tem alguma experiência com o software ou
quando deseja-se criar rotinas personalizadas.
Antes de iniciar suas estimações, é importante criar dois tipos de arquivos no Stata. O
arquivo do-file e log-file.
Arquivo do-file
Todas as operações do Stata podem ser feitas digitando os comandos desejados na
janela Command. Porém, caso se queira repetir as estimações realizadas os comandos
digitados serão perdidos.
Assim, um tipo de arquivo muito comum no Stata é o do-file, pois é composto por uma
rotina de comandos que podem ser executados de uma só vez ou em partes (seleção).
No último caso, após selecionar a parte desejada, o comando utilizado é o “do”
(encontrado na barra de ferramentas) ou “ctrl-D”. Para que a rotina toda seja
executada utiliza-se o comando “run”. É importante ressaltar que, ao utilizar o
comando “run”, os resultados não são exibidos na janela de resultados.
Para criar esse tipo de arquivo, encontre o botão “New Do-File Editor” e salve com o
nome desejado sempre dentro do mesmo diretório em que se encontram os outros
arquivos.
Arquivo log-file
Esse arquivo grava todos os resultados exibidos na janela de resultados em um arquivo
“txt”. É importante ter o log-file para que seja possível consultar o resultados das
estimações bem como algum outro detalhe que se queira, pois como dito
anteriormente a janela de resultados grava uma quantidade limitada de resultados.
O arquivo log-file é criado no botão “Log Begin/Close/Suspend/Resume”. Para salvar
selecione o tipo de arquivo Log(*.log) e verá na janela de resultados que o arquivo foi
criado no formato desejado. Para fechar um “log” basta usar o comando log close ou o
mesmo comando anterior.
Diretório
O diretório que o STATA usa para salvar e manipular os arquivos aparece no canto
inferior esquerdo da tela, em uma linha estreita abaixo da janela das variáveis
(exemplo: F:\Stata 11). É importante que todos os arquivos sejam concentrados em
um único diretório. A alteração do mesmo pode ser feita pelo comando cd. Por
exemplo, quero colocar meus arquivos na pasta de trabalho, Dropbox, em uma
subpasta denominada Monitorias_Econometria2, EconometriaII e Aula1 (veja linha 5).
Ao selecionar o comando, observe a mudança na linha estreita mencionada.
Caso queira ver quais os arquivos que foram salvos naquele diretório até o momento,
digite dir.
Essa mudança de diretório também poderia ser feita ao clicar no menu superior do
programa em File > Change Working Directory.
Importação de dados
Existem várias formas de inserir dados no programa. Em geral, os arquivos utilizados
no Stata estarão no formato “dta” (prontos para serem importados). O comando
utilizado nesse caso será o use. Porém, o Stata também lê arquivos em formato “txt” e
“csv” (nesses casos, utiliza-se o comando insheet). Ambos os comandos devem vir
acompanhados de clear (indicando que nenhuma variável de análise anterior está na
base). O exemplo abaixo pode ser utilizado quando se está trabalhando no mesmo
diretório.
use WAGE2, clear
insheet using WAGE2csv.csv, clear
insheet using WAGE2txt.txt, clear
De outra forma, para carregar os dados no programa basta clicar no menu superior em
file open e selecionar o arquivo que será utilizado durante a monitoria. Caso esteja
criando sua própria rotina o comando que aparecerá na sua janela deve ser copiado
para o arquivo do-file (veja linha 7 do arquivo “.do”).
Memória
O Stata (essa restrição é mais presente em versões anteriores) tem uma alocação de
memória para o banco de dados. É importante, em alguns casos, aumentar a memória
quando se trabalha com microdados e com bases de dados grandes. Alguns comandos
importantes para isso são:
query memory: visualiza a memória atual;
set mem 1g: aumenta a memória para 1 giga;
set maxvar 5000: aumenta o número máximo permitido de variáveis para 5000;
set matsize 500: aumenta o número máximo permitido de variáveis em um mesmo
comando de estimação.
Outros comandos úteis:
help: comando importante de ajuda que fornece informações detalhadas sobre todas
as funcionalidades do programa e todos os tipos de comandos (exemplo: help regress).
search, findit: comandos de pesquisa para quando o pesquisador não souber o
comando exato para o qual deseja informações. O segundo fornece uma pesquisa mais
abrangente com links para internet.
set more off: importante para que o Stata não congele a tela de resultados (default)
quando a saída dos resultados for muito grande.
ssc install psmatch2, replace: é possível instalar alguns comandos que não estejam
disponíveis inicialmente no software.
browse: verificar se os dados foram transferidos adequadamente no momento da
importação.
save “Dados Salario”, replace: salva o banco de dados (em formato “dta”) com o
nome especificado entre aspas. Se você já salvou um banco com este nome e quer
substituí-lo, basta usar a opção ", replace".
clear: limpa as janelas results e review e fecha o banco que estiver aberto. É utilizada
quando se deseja mudar de banco, por exemplo.
1.2) Explorando a base e trabalhando com os dados.
Nessa seção veremos os comandos mais usados para conhecermos e
explorarmos a base de dados bem como transformar as variáveis, criar novas e fazer
interações entre elas.
Comandos comuns para explorar a base de dados:
describe (des): mostra informações acerca do nome da variável, o formato necessário
para armazenamento da variável em relação à precisão de inteiros e decimais (byte,
int, long, float, double e str)1 e a descrição da variável, quando houver.
codebook: análise descritiva geral (média, desvio-padrão, missing, percentis, entre
outros). Se quiser saber essa análise em relação a apenas algumas variáveis: codebook
wage married.
sumarize (summa): resumo descritivo das variáveis (observações, média, desvio-
padrão, mínimo e máximo). Outra opção quando se quer mais detalhes (tais como
curtose e variância): summa wage, detail.
tabulate (tab): apresenta distribuição de frequência da variável selecionada.
Geralmente utilizada para variáveis dummies. Caso o comando seja apresentado com
duas variáveis a frequência será dada uma em função da outra: tab married black.
count: conta o número de observações na base de dados.
count if IQ ~= 100: o sinal "~=" significa "diferente de" (o sinal "!=" também significa
"diferente de").
count if IQ >= 100: conta as observações que são maiores ou iguais a 100.
count if IQ == 100: no Stata devemos usar "==", e não "=", para nos referir à igualdade
quando em expressões lógicas.
rename age idade: muitas vezes as variáveis do banco de dados podem vir
representadas por códigos ou letras, de forma que é interessante renomeá-las (nome
original seguido do novo nome).
label var idade "idade em anos": o mesmo pode ser feito em relação à descrição da
variável.
order idade wage lwage: ordena as variáveis colocando essa sequência nas primeiras
colunas.
sort idade: este comando ordena as observações em ordem crescente em relação à
variável idade (salário de indivíduo com 28 anos $600 e com 38 anos $1452).
1 Apenas float e double tem precisão para o número total (incluindo os decimais) é de 7 e 16 casas respectivamente. Por exemplo, se eu tiver uma variável cujo número inteiro seja 3 e os decimais 13, o formato para armazenagem tem que ser o double. O tipo string refere-se às variáveis qualitativas, tais como masculino/feminino (nesse caso, str9).
Criação de variáveis, transformações e interações:
Para se excuir variáveis específicas do banco de dados utiliza-se o comando drop
seguido da variável que se deseja excluir, mas para que somente algumas variáveis
sejam mantidas no mesmo utiliza-se o keep.
drop lwage
Vamos supor que seja do nosso interesse uma base de dados somente com indivíduos
acima de 29 anos. Ao executar o comando aparece quantas observações foram
deletadas (vá novamente em browse para se certificar).
keep if idade > 28
Algumas vezes, principalmente ao se trabalhar com a PNAD, podem existir valores
muito altos (ou muito baixos) nas observações que devem ser retirados para não viesar
nossos resultados. No exemplo abaixo não existe ninguém que ganha $2.000.000.
drop if wage > 2000000
É muito comum gerarmos inúmeras variáveis e interações em nossas regressões, como
por exemplo, calcularmos o log do salário, a experiência ao quadrado, entre outras. O
comando utilizado é o generate (gen):
gen logwage = ln(wage)
Podemos criar variáveis novas usando também o comando egen. Ele permite criar
variáveis a partir de outras já presentes no banco de dados, como salário médio por
faixa etária. Vamos criar esta variável da média dos salários por idade.
sort wage
bysort idade: egen salmed = mean (wage)
Colocando label para ficar igual às restantes:
label var salmed "Salario Medio por idade"
Considere que precisaremos de variáveis dummies2 das idades dessa base de dados
(teremos 10 variáveis, uma para cada idade). Para criar tais variáveis segue o
comando3:
tab idade, gen (dum_idade)
Por fim, o comando recode é usado para alterar as observações de uma determinada
variável. Vamos supor que não seja importante analisar os indivíduos que tenham 13 e
14 irmãos. É possível colocar missing para essas observações.
2 Uma variável dummy é uma variável que se refere a um evento binário, do tipo sucesso (para o qual seu valor é 1) ou fracasso (para o qual seu valor é zero). 3 A criação de variáveis dummies na Pnad é muito comum quando uma determinada questão possui apenas duas respostas (2= masculino e 4 = feminino). Faremos isso mais adiante.
recode sibs 14=. 13=.
Regressão MQO
* regress (reg): este comando estima uma regressão por MQO. A primeira variável que
se lista depois do reg é a variável dependente (explicada) e as demais são as variáveis
independentes (explicativas). Pode-se estimar uma regressão para toda a amostra ou
para uma sub-amostra que atende à determinada condição.
reg lwage hours age educ exper
reg lwage hours age educ exper if age>30
reg lwage hours age educ exper if married==1 & age>30
1.3) Junção de bancos de dados
Podemos ter bancos de dados com as mesmas observações (trabalhadores, por
exemplo), mas variáveis diferentes. Para uní-los, usa-se o comando merge. É
necessário que em ambos os bancos de dados haja uma ou mais variáveis que
identifiquem UNICAMENTE cada observação. No caso das duas bases a seguir temos os
mesmos trabalhadores identificados pelo ID, porém em cada uma das bases temos as
seguintes variávei:
use WAGE2-B, clear: idade, se casado, se negro, se mora no Sul, se mora em uma área
urbana, número de irmãos, data de nascimento, log do salário, educação do pai e da
mãe.
use WAGE2-A, clear: ganhos mensais, horas médias semanais, score de QI, anos de
educação, anos de experiência de trabalho, anos no trabalho atual, KWW.
merge 1:1 ID using WAGE2-B
Deve-se usar "merge 1:1" seguido da variável que identifica as observações e de "using
NOME", em que NOME é o caminho para o banco de dados que se deseja unir ao
atualmente carregado no Stata (WAGE-A). A variável (merge==3) refere-se às
observações pareadas. Não houve nenhum ID que ficou sem associação com o mesmo
ID do outro banco.
Ou seja, quando há observações que estão presentes em apenas em um dos bancos de
dados que foram fundidos, mesmo assim elas são adicionadas ao banco final. Para
sabermos quais observações estavam em cada banco, o comando cria uma nova
variável (_merge) que pode assumir três valores: 1, 2 ou 3. O 1 se refere às
observações que estavam presentes apenas no banco de dados inicial (A). O 2 às que
estavam apenas no banco que veio a se fundir ao inicial (B). O 3 às observações que
estavam presentes em ambos (A e B).
2) Trabalhando com a Pesquisa Nacional de Amostras por Domicílios (PNAD).
A PNAD é realizada anualmente, exceto em anos para os quais existe Censo, e traz
informações em nível nacional e estadual. Iniciou-se em 1976 e algumas PNADs
apresentam suplementos sobre um tema específico, ou seja, incluem perguntas sobre
algum assunto em especial, que normalmente não fazem parte do questionário
comum da pesquisa. Por exemplo, a PNAD de 2001 tem um suplemento sobre trabalho
infantil, a PNAD de 2003 tem um suplemento sobre saúde; a PNAD de 2004 tem um
suplemento sobre os programas sociais etc.
Alguns dados da PNAD podem ser obtidos diretamente do site do IBGE por meio do
sistema SIDRA. Porém, trabalharemos com os microdados a fim de ampliar a
abrangência da análise econométrica.
Inicialmente, no site do IBGE, vá em “População” “PNAD” “Microdados 2012”
(menu esquerdo – formato zip). Faça o download de tudo.
a) Questionário: arquivo que traz a ficha da entrevista utilizada pelo recenseador.
b) Dados: Os dados da PNAD vêm listados em dois arquivos de Bloco de Notas, um
contendo a informação dos domicílios e outro contendo as informações das
pessoas. Ao abrir esses arquivos as informações para uma mesma pessoa (ou
domicílio) estão todas seguidas, enfileiradas. Ou seja, não há separação entre uma
informação e outra e, portanto, tais informações não serão úteis. Para decifrar
essas informações a PNAD possui os dicionários.
c) Dicionário: o dicionário da PNAD constitui-se de uma tabela em que estão listadas
as variáveis que compõem a pesquisa por código, sua localização no banco
(posição inicial e tamanho), uma descrição simples e as respostas possíveis, com
seus “códigos”. Há dois dicionários: o dicionário de pessoas lista as informações
que se referem a cada um dos indivíduos e o dicionário de domicílios lista as
informações correspondentes às casas em que estes indivíduos se localizam e as
variáveis dos suplementos.
Como extrair os microdados da PNAD:
Para abrir os dados num programa estatístico é preciso informar em que lugar
daquele arquivo em Bloco de Notas se encontra a informação que você deseja.
Como fazer isso? Toda variável possui uma posição inicial, que é a coluna em que
ela começa. Toda variável tem também um determinado tamanho, ou seja, é o
número de colunas onde a informação completa se encontra. Por fim, toda variável
tem uma posição final, que é a coluna em que ela acaba.
Por exemplo, a informação sobre o estado em que o domicílio se encontra se inicia
na coluna 5 do Bloco de Notas, o tamanho desta informação é 2; assim, a
informação vai até a coluna 6. Então, temos que, posição final = posição inicial +
tamanho – (menos) 1. Não esqueça de subtrair 1, caso contrário você vai abrir o
banco de forma incorreta.
Vamos alterar pequenas partes do arquivo input (txt) disponibilizado pelo IBGE
para que o STATA possa reconhecê-lo e assim organizar o banco de dados. Em
primeiro lugar, copie todo esse arquivo (input) e cole em um arquivo do-file do
Stata. Delete toda a parte até o INFILE e insira o seguinte comando para que ele
busque a base de dados em txt:
dictionary using
“C:\Users\Juliana\Dropbox\PNAD_2012\Dados\Dados\PES2012.txt"{
Seguindo as alterações, as seguintes substituições (ctrl-H) devem ser feitas:
@ _column(
$ %
. g
/* “
*/ “
Nos casos em que o $ não aparece na terceira coluna deve-se incluir % e substituir
o g pelo f. Após essas substituições, deve-se fechar o parênteses de “column(“ e
adicionar a palavra “float” seguida de espaço (use o excel para essas
manipulações). Por fim, na última linha, adicione “}”. Salve o arquivo no diretório
de trabalho em formato “dct”. No Stata, após ampliar a memória, digite o seguinte
comando:
infile using "C:\Users\Juliana\Dropbox\PNAD_2012\Dic_PNAD2012.dct"
Chave
Depois de aberto o banco, como vou identificar os domicílios e as pessoas? A primeira
variável que deve ser criada no banco é chamada CHAVE. Esta variável é uma
composição das variáveis UF, número de controle e número de série. Ela é única para
os domicílios, logo, todas as pessoas de um mesmo domicílio têm o mesmo valor da
variável CHAVE. Esta variável é importante também para construirmos um banco único
com informações das pessoas e dos domicílios.
Peso
A PNAD por ser uma pesquisa amostral não apresenta informações sobre toda a
população brasileira, mas sim de uma amostra representativa desta população. Na
amostra que compõe a PNAD é razoável supor que uma pessoa, com determinadas
características específicas, não esteja sozinha na população. Então, quantas
pessoas na população brasileira inteira devem apresentar as mesmas
características de uma determinada pessoa específica no banco de dados? Isto é
descoberto olhando para uma variável chamada ‘peso da pessoa’. Por exemplo, se
o peso da pessoa for 378, então devem existir 378 pessoas iguais a esta na
população (isso por que só existe uma pessoa desta na amostra). O mesmo se
aplica aos domicílios.
Tipos de variáveis
No banco de dados da PNAD as respostas obtidas pelo questionário não estão
escritas, ou seja, todas as informações são representadas por números. Existem
dois tipos de informação: 1) dados numéricos (idade, renda, número de horas
trabalhadas) e 2) dados qualitativos (UF, raça, freqüência à escola). Para estes
casos, o número que está no banco de dados representa um código à resposta. Por
exemplo, na variável ‘UF’, quando vemos o número 35 como resposta, isso quer
dizer que aquela pessoa mora no estado de São Paulo. Por isso é necessário fazer
as alterações que aprendemos acima em relação às variáveis binárias.