5 modelos básicos de forecast no R

Há algumas formas básicas de se fazer projeções para valores futuros (forecast), diferentes dos modelos geralmente falados nesse blog, mas que podem ser úteis. A seguir, temos 5 métodos simples que fazem parte do pacote fpp do R (na verdade são parte do pacote forecast que é carregado junto).

Leia mais…

Séries Temporais: Correlograma (Interpretação e Código em R)

Em séries temporais, é importante realizar uma análise da autocorrelação de uma série, para entender, principalmente sua aleatoriedade, já que várias técnicas partem dessa premissa. Autocorrelação é simplesmente a correlação entre uma série e ela mesma defasada. Ou seja, é a correlação entre os valores da série em um determinado período de tempo, e os valores da mesma série em um outro momento no tempo.

Leia mais…

Séries Temporais: Introdução e Decomposição dos Componentes em R

Esse post vai ensinar de forma sucinta como inputar seus dados de séries temporais no R e separar graficamente o que é a sazonalidade, a tendência e a aleatoriedade dos seus dados. Se você já conhece o conceito de séries, pode pular os dois próximos parágrafos. Continuar a ler “Séries Temporais: Introdução e Decomposição dos Componentes em R”

Clusterização na Prática

Introduzi a noção de técnicas de agrupamento no post: Técnicas de Clustering: K-Means. Porém, ficou faltando um exemplo prático de construir o algoritmo por conta própria. Aqui, vou apresentar uma aplicação da técnica utilizando distâncias euclidianas no software Excel.

Leia mais…

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.

Leia mais…

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.

Leia mais…

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:

  1. 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.
  2. 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.
  3. 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!

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?”

Regressão Diff-In-Diff com Efeitos Fixos no R

O conteúdo desse post demanda um certo tempo para explicar e detalhar, mas para não segurar informação, segue um código para rodar um modelo de diferenças em diferenças com efeito fixo em R:

## dummy de periodo: o experimento ocorreu no mes 6
dados_modelo$time = ifelse(dados_modelo$mes > 6, 1, 0);

## dummy de tratamento: grupo tratado tem campo tratamento = 1
dados_modelo$treated = ifelse(dados_modelo$tratamento == 1, 1, 0 );

## dummy tratamento * periodo ~ efeito do experimento
dados_modelo$did = dados_modelo$time * dados_modelo$treated;

## regressao diff-in-diff cujo tratamento eh ter ou nao tratamento
## com efeito fixo por paciente
regressao = lm(variavel_resposta ~ treated + time + did +
factor(paciente_id),data = dados_modelo);
summary(regressao);

Acredito que o leitor não terá muito problemas para entender que se for necessário focar em diff-in-diff, ele deve se atentar para a dummy did e para o efeito fixo a sintaxe factor().

Para quem está com o inglês já no nível próximo ao avançado, enquanto não posto nada a respeito desse tema, sugiro os links abaixo:

DID101R

An intuitive introduction to Difference-in-Differences

Fixed Effects estimators: an introduction

Visualizando a assertividade do seu experimento

Este post é um complemento ao Teorema de Bayes na prática: interpretando falso positivo e Probabilidade Condicional e o Teorema de Bayes. Apresento aqui uma demonstração visual de algumas medidas muito utilizadas na estatística.

Dado um experimento em que queremos verificar se um exame é capaz de diagnosticar uma doença, temos os seguintes resultados possíveis:

 

  • True Positive (TP) ~ Verdadeiro Positivo: O paciente foi diagnosticado como portador da doença e ele realmente é portador dela;
  • False Positive (FP) ~ Falso Positivo: O paciente foi diagnosticado como portador da doença, porém, ele não é portador dela;
  • False Negative (FN) ~ Falso Negativo: O paciente foi diagnosticado como não sendo portador da doença, porém, ele é portador dela;
  • True Negative (TN) ~ Verdadeiro Negativo: O paciente foi diagnosticado como não sendo portador da doença, e ele realmente não é portador dela.

A partir deste quadro, temos as seguintes medidas:

  • Sensibilidade: Probabilidade do exame ser positivo, dado que o paciente é portador da doença. Ou seja, capacidade do exame de acertar o diagnóstico de um paciente portador da doença;
  • Especificidade: Probabilidade do exame ser negativo, dado que o paciente não é portador da doença. Ou seja, capacidade do exame de acertar o diagnóstico de um paciente saudável;
  • Acurácia: Probabilidade do diagnóstico do exame estar correto.

Colocando em fórmulas matemáticas:

  • Sensibilidade = TP / (TP+FN)
  • Especificidade = TN / (FP+TN)
  • Acurácia = (TP+TN) / (TP+FN+FP+TN)

Veja que estamos falando de exames e doenças, mas essas medidas são utilizadas de diversas formas. Por exemplo, se você fizer uma regressão logística para prever inadimplência, você pode calcular a sensibilidade do seu modelo, qual a probabilidade de identificar um mau pagador, dado que o indivíduo é realmente mau pagador.