Diferenças em Diferenças (Diff-in-Diff)
Já fiz um post sobre como fazer uma regressão de diferenças em diferenças em Regressão Diff-In-Diff com Efeitos Fixos no R, porém não falei muito da técnica. Agora, vou passar uma introdução bem tranquila para você entender a intuição por trás dela.
Regressão Logística: Primeiros Passos
Falo de Regressão Linear desde o começo desse blog porque é um dos primeiros tópicos em modelagem estatística. Não menos importante, acredito que regressão logística seria o segundo passo para quem quer realmente fazer modelos. Se você já se aproximou de alguma forma de modelagem estatística, você com certeza já ouviu falar dela.
Como gerar números aleatórios no R?
Sem enrolação, veja algumas formas de se gerar números aleatórios no R:
Q-Q plot: Comparando duas distribuições
O Q-Q plot (ou gráfico Q-Q) é uma forma de comparar a distribuição de duas populações comparando seus quantis. Vamos comparar três gráficos com a distribuição de três conjuntos de dados distintos:
Ao que tudo indica, as duas distribuições são parecidas (normal).
Pensando numa comparação entre o conjunto de dados 1 e o conjunto de dados 2, seria interessante ordenar os dados e ir comparando, por exemplo, os menores valores de dados 1 – os 10 ou 50 primeiros menores – com os menores valores de dados 2. E depois, verificar os valores intermediários, e em seguida, fazer a mesma comparação com os valores superiores. Se fossem parecidos, não faria sentido terem a mesma distribuição?
Pois bem, isso é o que faz o Q-Q Plot!
Vamos visualizar o que estou querendo dizer utilizando 2 gráficos Q-Q:
Veja que interessante. No primeiro gráfico, você pode observar que os dados do conjunto dados_1 possuem, obviamente, a mesma distribuição dos dados do conjunto dados_1. Logo, o que vemos é uma diagonal bem formada no Q-Q plot. Entretanto, dados_2 possui os valores ligeiramente diferentes do conjunto de dados_1, logo, nossa diagonal distorce levemente. Porém, ainda podemos pressupor que eles partem da mesma distribuição. O que importa, ao final, é que estejamos o mais próximo possível de uma linha diagonal. Simples assim!
Muitas vezes você vai observar softwares com uma função Q-Q Normal. O que ela faz? Simplesmente verifica se a distribuição dos seus dados é normal, análogo ao que acabamos de estudar.
Convertendo diferentes formatos de data no SAS
*codigo que pega a tabela_old, com o campo data no formato 20DEC2016; *e cria uma tabela nova chamada tabela_new com a data no formato 20/12/2016; data tabela_new; set tabela_old; format data ddmmyy10.; run;
A estrutura dos dados em Econometria
Os dados com os quais trabalhamos em econometria, podem estar estruturados de diversas formas. Podemos ter informações dos clientes de uma loja extraídas em um determinado momento, podemos ter dados mensais de crescimento do PIB de um país com histórico de alguns anos e podemos ter também dados de pais de família que participaram de um experimento e foram acompanhados por alguns anos. Cada informação mencionada deve ser tratada de uma maneira diferente. Embora algumas técnicas sejam aplicadas para os três casos com pequenas mudanças apenas, é importante saber como seus dados estão estruturados para saber como a técnica deve ser utilizada e que tipo de características específicas devem ser consideradas. As estruturas mais importantes são:
- Dados Cross-Section (Dados de corte transversal): São dados extraídos em um determinado momento no tempo. Embora as informações possam ser coletadas em diferentes momentos no tempo, isso não é levado em consideração. Vamos supor que você trabalha em uma empresa que vende roupas e gostaria de saber qual o perfil do cliente que compra online. Ao coletar as informações dos clientes que compraram online no último ano, montar aquela sua tabela cheia de informações como idade, salário, emprego, número de peças compradas, valor gasto, etc. Você está estruturando dados no formato cross-section.
- Séries Temporais: Consiste em informações observadas ao longo do tempo. Em determinados casos, faz-se necessário considerar que o passado influencia o presente, por isso utilizamos essa estrutura de dados e as técnicas correspondentes a ela para análises. Quando pensamos em índices de preços, PIB, vendas ao longo do ano, preços de ações, estamos sempre (ou quase sempre) utilizando técnicas de séries temporais. Nos casos mencionados, as informações não são independentes ao longo do tempo. Essa é a chave para se compreender séries temporais.
- Dados em Painel: É uma mescla de séries temporais com cross-section. São séries para cada cross-section do indivíduo em análise. Por exemplo, suponha que tenhamos o histórico de diversas informações de um mesmo grupo de indivíduos ao longo do tempo, como salário, emprego, distância ao trabalho e horas extras realizadas. Você tem diversas “fotos” dessas mesmas informações para os mesmos indivíduos durante 10 anos. Ou então, você tem as informações dos estados do Brasil, como índice de desemprego, índice de homicídios, número de habitantes e número de parques. Esses dois casos consistem em dados em painel. Esse tipo de informação é bastante utilizada em experimentos controlados e análises de políticas adotadas por governantes.
Você vai ver que alguns mercados utilizam mais uma estrutura de dados do que outra. Isso pode ser importante também para você entender quais técnicas deve se aprofundar mais, dado o seu trabalho atual ou a área em que você pretende atuar!
Média Truncada (Trimmed Mean)
Já falei de estatística descritiva algumas vezes (como em Estatística Descritiva), mas nunca mencionei a média truncada, principalmente porque eu quase não uso.
A média truncada nada mais é do que a média desconsiderando algum percentil, o que a faz útil se você quer desconsiderar os outliers. Se você quiser calcular a média truncada de um conjunto de 10 observações, você vai retirar a primeira e a última observação, para depois calcular a média.
Por exemplo: Qual a média truncada de 10% de {1,2,2,2,2,2,2,2,2,10}?
Será (2+2+…+2)/8 = 2
E se quisermos calcular no R?
dados = c(1,2,2,2,2,2,2,2,2,10); mean(dados, trim=.1); [1] 2
Simples!
Proc Sort no R
Muita gente sabe utilizar o proc sort para ordenar os campos no SAS.
Por exemplo, podemos ordenar uma tabela chamada dados_entrada pelas colunas campo1 e campo2, do menor para o maior valor, e ter como saída uma tabela dados_saida (exemplo 1). E podemos também ordenar uma tabela chamada dados_entrada pelas colunas campo1, do menor para o maior, e campo2, do maior para o menor valor, e ter como saída uma tabela dados_saida (exemplo 2). Bastaria utilizar:
* exemplo 1 proc sort data= dados_entrada out= dados_saida; by campo1 campo2; run; * exemplo 2 proc sort data= dados_entrada out= dados_saida; by campo1 descending campo2; run;
A mesma coisa, que nem todo mundo sabe, pode ser feita no R, e é até mais simples:
## exemplo 1 dados_saida = dados_entrada[order(dados_entrada$campo1, dados_entrada$campo2),]; ## exemplo 2 dados_saida = dados_entrada[order(dados_entrada$campo1, -dados_entrada$campo2),];
R sendo R!
Muitos posts sobre manipulação de dados?
Às vezes eu tenho vontade de escrever mais sobre técnicas de modelagem estatística, mas me falta tempo por conta do trabalho, mestrado e outros hobbies além do blog. Postar alguma coisa de SAS e R é mais fácil, pois passo boa parte do dia manipulando dados nessas ferramentas. Continuar a ler “Muitos posts sobre manipulação de dados?”