Escolar Documentos
Profissional Documentos
Cultura Documentos
Análise de Regressão
Prof. Dr. Marcelo Botelho da Costa Moraes
mbotelho@usp.br
1
Agenda – Aula 2/8
• Análise Discriminante;
• Regressão Logística.
2
Análise Discriminante
3
Análise Discriminante
• Técnica multivariada
• Variável dependente categórica (qualitativa) e
variáveis independentes quantitativas (métricas)
• Utilização para previsão e classificação
• Gera funções discriminantes
• Combinações lineares das variáveis
4
Análise Discriminante
5
Análise Discriminante
• Questões a serem respondidas
• Quais variáveis independentes que melhor discriminam
os grupos?
• As médias de cada variável independente em cada
grupo são estatisticamente diferentes.
• O perfil de cada grupo.
• O grau de eficiência do modelo de classificação.
6
Análise Discriminante
• A formulação apresenta
• Zn = a + W1X 1 + W2X 2 + ... + WnX n
Variável 1
Coeficiente da Variável 1
Intercepto
Variável Dependente
7
Etapas da Análise Discriminante
• Seleção das variáveis dependente e independentes
• Verificação das premissas da técnica
• Obtenção das funções discriminantes
• Análise das estatísticas
• Identificação das variáveis independentes com maior
poder discriminatório
• Análise da matriz de classificação
• Validação dos resultados
*necessidade de número de variáveis independentes maior
ou igual ao número de categorias
** mínimo de 20 observações em cada categoria
8
Pressupostos da Análise
Discriminante
• Normalidade multivariada
• Linearidade
• Ausência de Outliers
• Ausência de multicolinearidade
• Homogeneidade das matrizes de variância e
covariância
9
Aplicação da Análise
Discriminante
• Altman (dois modelos)
• Empresas norte-americanas
Z1 = -1,44 + 4,03X2 + 2,25X3 + 0,14X4 + 0,42X5
Z2 = -1,84 + 0,51X1 + 6,32X3 + 0,71X4 + 0,53X5
• X1 = Ativo Circulante – Passivo Circulante / Ativo Total
• X2 = Reservas e Lucros Suspensos / Ativo Total
• X3 = Ativo Total
• X4 = Patrimônio Líquido / Exigível Total
• X5 = Vendas / Ativo Total
10
Aplicação da Análise
Discriminante
• Altman (dois modelos)
Z1 = -1,44 + 4,03X2 + 2,25X3 + 0,14X4 + 0,42X5
Z2 = -1,84 + 0,51X1 + 6,32X3 + 0,71X4 + 0,53X5
11
Aplicação da Análise
Discriminante
• Kanitz
• Amostra das 500 maiores e melhores (Revista Exame)
em 1972
F.Insolvência = 0,05X1 + 1,65X2 + 3,55X3 −1,06X4 − 0,33X5
• X1 = Lucro Líquido / Patrimônio Líquido
• X2 = Ativo Circulante + Realizável a LP / Exigível Total
• X3 = Ativo Circulante – Estoques / Passivo Circulante
• X4 = Ativo Circulante / Passivo Circulante
• X5 = Exigível Total / Patrimônio Líquido
12
Aplicação da Análise
Discriminante
• Kanitz
F.Insolvência = 0,05X1 + 1,65X2 + 3,55X3 −1,06X4 − 0,33X5
7
6
Acima de 0 está na faixa de Solvência 5
4
Entre -3 e 0 está indefinida 3
Solvente
Termômetro
1
0
-1
-2 Penumbra
-3
-4
-5
Insolvente
-6
-7
13
Análise Discriminante Múltipla
Medida da Distância de Mahalanobis
ഥ)𝟐
(𝒙 − 𝒙
𝑫=
𝒔𝟐
15
Regressão Logística
• Desenvolvida na década de 1960
• Realizar ou explicar a ocorrência de determinados
fenômenos quando a variável dependente fosse de
natureza binária
• Variáveis independentes métricas ou não métricas
• Verifica a probabilidade de ocorrência do evento de
interesse
• Maior flexibilidade dos pressupostos em relação a
outras técnicas (como análise discriminante)
16
Regressão Logística
1
• Função Logística, 𝑓 𝑍 = ,assume valores
1+𝑒 −(𝑍)
entre 0 e 1, para qualquer Z entre -∞ e +∞
-∞ +∞
17
Regressão Logística
• Não pressupõe a existência de homogeneidade de
variância e normalidade dos resíduos
1
𝑓 𝑍 =
1 + 𝑒 −(𝑍)
• Sendo Z
𝑝
𝑍 = 𝑙𝑛 = 𝛼 + 𝛽1 𝑋1 + 𝛽2 𝑋2 + ⋯ + 𝛽𝑘 𝑋𝑘
1−𝑝
• Em que p indica a probabilidade de ocorrência de
determinado evento de interesse, X representa o
vetor de variáveis explicativas (ou independentes) e
α e β os parâmetros do modelo
18
Regressão Logística
• O termo ln(p/1 - p) é chamado de logit e o termo
(p/1 - p) representa a chance (odds) de ocorrência
do evento de interesse
• Exemplo:
• Se p = 0,50, a chance de ocorrência do evento será de 1
(1 para 1)
• Se p = 0,75, a chance de ocorrência do evento será de 3
(3 para 1)
19
Regressão Logística
• O evento de interesse é p = (odds/1 + odds)
1
𝑓 𝑍 =
1 + 𝑒 −(𝛼+σ 𝛽𝑖 𝑋𝑖 )
• A função f(Z) pode ser entendida como a
probabilidade de a variável dependente ser igual a
1, dado o comportamento das variáveis explicativas
X1, X2, ... Xk
1
𝑃 1 = 𝑓 𝑌 = 1ห𝑋1 , 𝑋2 , … , 𝑋𝑘 =
1 + 𝑒 −(𝛼+σ 𝛽𝑖 𝑋𝑖 )
• Utilizamos a máxima verossimilhança para estimar
𝛼ො e 𝛽መ
20
Regressão Logística – Exemplo
• Probabilidade de um cliente comprar uma
assinatura de revista por mala direta
𝑝𝑟𝑜𝑏 𝑒𝑣𝑒𝑛𝑡
1
=
1 + 𝑒 −(1,143+0,452𝑋1+0,029𝑋2 −0,242𝑋3)
• Sendo
• X1 = sexo (1 para feminino e 0 para masculino);
• X2 = idade;
• X3 = estado civil (1 para solteiro e 0 para casado).
21
Regressão Logística – Exemplo
• Suponha uma pessoa do sexo feminino, com 40
anos de idade e casada, a probabilidade é
𝑝𝑟𝑜𝑏 𝑒𝑣𝑒𝑛𝑡
1
= −(1,143+0,452∙1+0,029∙40−0,242∙0)
= 0,47
1+𝑒
• Se fosse do sexo masculino, a probabilidade seria
𝑝𝑟𝑜𝑏 𝑒𝑣𝑒𝑛𝑡
1
= −(1,143+0,452∙0+0,029∙40−0,242∙0)
= 0,02
1+𝑒
22
Regressão Logística – Exemplo
• A razão do risco (risk ratio), em função do sexo, é
dada por
0,47
=
𝑅𝑅 = 27,59
0,02
• Significa que a mulher teria uma probabilidade
quase 28 vezes maior de adquirir a assinatura da
revista do que o homem
• Só aplicável quando é possível especificar todas as
variáveis independentes e quando a análise se
concentrar em cada observação
23
Regressão Logística
• Risk Odds Ratio (ROR), calculada pela razão de odds
(chance) entre dois grupos (R0 e R1)
𝑜𝑑𝑑𝑠 𝑅1
𝑅𝑂𝑅𝑅1,𝑅0 =
𝑜𝑑𝑑𝑠 𝑅0
• Temos
1
𝑃(𝑅1 ) 1 + 𝑒 −(𝛼+σ 𝛽𝑖 𝑋𝑖 )
𝑜𝑑𝑑𝑠 𝑅1 = =
1 − 𝑃(𝑅1 ) 𝑒 −(𝛼+σ 𝛽𝑖 𝑋𝑖 )
1 + 𝑒 −(𝛼+σ 𝛽𝑖 𝑋𝑖 )
= 𝑒 (𝛼+σ 𝛽𝑖 𝑋𝑖 )
24
Regressão Logística – Exemplo
• Continuando
1
𝑃(𝑅0 ) 1 + 𝑒 −(𝛼+σ 𝛽𝑖 𝑋𝑖 )
𝑜𝑑𝑑𝑠 𝑅0 = =
1 − 𝑃(𝑅0 ) 𝑒 −(𝛼+σ 𝛽𝑖 𝑋𝑖 )
1 + 𝑒 −(𝛼+σ 𝛽𝑖 𝑋𝑖 )
= 𝑒 (𝛼+σ 𝛽𝑖 𝑋𝑖 )
• Assim, ROR será calculado
𝑃(𝑅1 )
1 − 𝑃(𝑅1 )
𝑅𝑂𝑅𝑅1,𝑅0 =
𝑃(𝑅0 )
1 − 𝑃(𝑅0 )
25
Regressão Logística
• Continuando
𝑜𝑑𝑑𝑠 𝑅1 𝑒 (𝛼+σ 𝛽𝑖 𝑋1𝑖 )
𝑅𝑂𝑅𝑅1,𝑅0 = = (𝛼+σ 𝛽 𝑋 )
𝑜𝑑𝑑𝑠 𝑅0 𝑒 𝑖 0𝑖
• Para
𝑎 = 𝑒 (𝛼+σ 𝛽𝑖 𝑋1𝑖 ) e 𝑏 = 𝑒 (𝛼+σ 𝛽𝑖 𝑋0𝑖 )
𝑜𝑑𝑑𝑠 𝑅1 𝑒 (𝛼+σ 𝛽𝑖 𝑋1𝑖 )
𝑅𝑂𝑅𝑅1,𝑅0 = = (𝛼+σ 𝛽 𝑋 ) = 𝑒 𝑎−𝑏
𝑜𝑑𝑑𝑠 𝑅0 𝑒 𝑖 0𝑖
σ𝑘
= 𝑒 𝑖=1 𝛽(𝑋1𝑖 −𝑋0𝑖 )
26
Regressão Logística
• Modelo logit
𝑃(𝑅1 ) 𝑃(𝑅1 )
𝑍 = 𝑙𝑜𝑔𝑖𝑡 = 𝑙𝑛 = 𝑙𝑛
1 − 𝑃(𝑅1 ) 𝑃(𝑅0 )
= ln 𝑒 𝛼+σ 𝛽𝑖 𝑋𝑖 = 𝛼 + 𝛽𝑖 𝑋𝑖
28
Medidas de Ajuste
• A medida geral do ajuste do modelo é dada pelo
valor de verossimilhança, ou seja, -2 vezes o
logaritmo do valor da verossimilhança, -2LL
29
Medidas de Ajuste
Outras medidas de ajuste
• Pseudo R2 (R2 logit)
2
−2𝐿𝐿0 − (−2𝐿𝐿𝛽 )
𝑅𝑙𝑜𝑔𝑖𝑡 =
−2𝐿𝐿0
• Cox & Snell R2 (semelhante a regressão múltipla)
2
𝐿0 𝑁
𝑅2 𝐶𝑆 =1−
𝐿𝛽
2
𝑅2 𝐶𝑆 𝑀𝑎𝑥 = 1 − (𝐿0 )𝑛
30
Medidas de Ajuste
Outras medidas de ajuste
• Nagelkerke R2
𝑅 2 𝐶𝑆
𝑅෨𝑁
2
=
𝑅 2 𝐶𝑆 𝑀𝑎𝑥
• Teste Qui-quadrado: avalia se existe diferenças
significativas entre o esperado e o observado
• Hosmer-Lemeshow Goodness-of-fit Test: testa se as
classificações previstas para cada grupo são iguais às
observadas, por meio da estratificação das observações
em faixas (decis) e da aplicação de um teste Qui-
quadrado (X2)
31
Medidas de Ajuste
• Para analisar o poder preditivo do modelo, é usual
a utilização de uma tabela de classificação
32
Medidas de Ajuste
Probabilidade
Estimada
33
Medidas de Ajuste
Exemplo seguradora (ocorrência de sinistro)
Observado Predito
Ocorrência de Sinistro Não-ocorrência de sinistro Total
Ocorrência de Sinistro 25 7 32
Não-ocorrência de 5 163 168
sinistro
Total 30 170 200
34
Medidas de Ajuste
Exemplo seguradora (ocorrência de sinistro)
• Cálculo da sensitividade
• Sensitividade = 25/32 = 78% (acertos no evento de
interesse)
• Especificidade = 163/168 = 97% (acerto nos eventos de
não sinistro)
• Percentual de Acerto do Modelo = (25 + 163)/200 = 94%
35
Medidas de Ajuste
• Se, para cada ponto de corte (c), fosse calculada a
sensitividade e especificidade, seria possível construir um
gráfico de Curva ROC (Receiver Operating Characteristic)
36
Medidas de Ajuste
• Quanto maior a área abaixo da Curva ROC, maior é
a capacidade do modelo em discriminar os grupos
de evento de interesse e não interesse
• Referência
37
Medidas de Ajuste
• Outra medida de qualidade de ajuste é o uso do
modelo K-S (Kolmogorov-Smirnov), que mede o
grau de segregação dos dois grupos
• Referência
K-S Interpretação
Menor que 30 Baixa discriminação
De 30 a 50 Boa discriminação
Maior que 50 Ótima discriminação
38
Regressão Logística Multinomial
• Variável dependente categórica com mais de duas
categorias (nominal)
• Existe a regressão logística ordinal para as variáveis
ordinais
• Deve-se escolher uma categoria da variável
dependente para ser utilizada como referência
(pode ou não ser uma escolha arbitrária)
39
Regressão Logística Multinomial
• Considerando uma regressão logística multinomial com
três categorias (0, 1 e 2), sendo a categoria de
referência zero
𝑃(𝑅𝑒𝑠𝑢𝑙𝑡𝑎𝑑𝑜 = 1ȁ𝑋)
𝑍 = 𝑙𝑜𝑔𝑖𝑡 = 𝑙𝑛
𝑃(𝑅𝑒𝑠𝑢𝑙𝑡𝑎𝑑𝑜 = 0ȁ𝑋)
= 𝛼 + 𝛽1𝑖 𝑋1𝑖
𝑃(𝑅𝑒𝑠𝑢𝑙𝑡𝑎𝑑𝑜 = 2ȁ𝑋)
𝑍 = 𝑙𝑜𝑔𝑖𝑡 = 𝑙𝑛
𝑃(𝑅𝑒𝑠𝑢𝑙𝑡𝑎𝑑𝑜 = 0ȁ𝑋)
= 𝛼 + 𝛽2𝑖 𝑋2𝑖
40
Aplicação em Softwares
41
Stata – Base de dados veículos
sysuse auto set dp comma
** carrega base de dados ** colocar no padrão
sobre veículos decimal BR
describe
** mostra as set more off
informações dos dados ** retirar o botão more
browse
** visualizar os dados clear
** limpa toda a memória
42
• Estatística Descritiva
summarize
** estatísticas descritivas básicas
summarize, detail
** estatísticas descritivas detalhadas
tabstat price mpg rep78 headroom trunk foreign, stats (mean
sd skewness kurtosis n min max)
** formato tabela
tabulate rep78
tab rep78, sort missing
tab rep78, summarize(price)
** separação dos dados por tipo
tab rep78 foreign
** semelhante ao anterior
tab2 rep78 headroom foreign
** tabula os dados combinando as variáveis
43
• Linearidade na relação
twoway scatter trunk weight
** gráfico de dispersão
twoway scatter trunk weight if foreign==0
** apenas com foreing = 0 (nacionais/domestic)
twoway scatter trunk weight, by(foreign)
** gráfico por tipo (foreign)
twoway line trunk weight, by(foreign)
** gráfico de linhas
twoway line trunk weight, by(foreign) sort
** gráfico de linhas ordenado
graph bar weight price, over(foreign)
** gráfico de preço e peso, segregando em importados e nacionais
correlate price rep78 trunk weight
** correlação linear
pwcorr price rep78 trunk weight, sig
** correlação linear com significância estatística
44
• Normalidade das variáveis
graph box price, over(foreign)
** box plot
histogram price
** histograma
sktest price mpg rep78
** Skewness/Kurtosis test
swilk price mpg rep78
** Shapiro-Wilk test
45
• winsorização
winsor2 price, replace cuts (1 99)
** instalar pacote
** winsoriza a variável (verificar cuts)
46
Estatística Descritiva
• Saldo de Caixa: 7 anos
47
Estatística Descritiva
• Saldo de Caixa: 7 anos
48
O que é o R
• O R é uma linguagem de programação voltada para a
resolução de problemas estatísticos e para a
visualização gráfica de dados. O código base do R foi
inicialmente criado no laboratório
da Bell/AT&T por John Chambers e seus colegas, com
base na linguagem S. Esse código foi reaproveitado por
dois acadêmicos, Ross Ihaka e Robert Gentleman,
resultando na plataforma de programação que temos
hoje. Para os curiosos, o nome R foi escolhido devido
ao compartilhamento da primeira letra do nome de
seus criadores.
49
O que é o R
• Hoje, R é sinônimo de programação voltada à análise de
dados, com uma larga base de usuários e funções bem
estabelecidas. É muito provável que pesquisadores de áreas
diversas, desde Economia até Biologia, ou mesmo Música,
encontrem no R uma quantidade significativa de códigos
que facilitem suas análises. No campo empresarial, grandes
empresas como Google e Microsoft já o adotaram como a
linguagem interna para a análise de dados. O R é
atualmente mantido pelo R Foundation e o R Consortium,
um esforço coletivo para financiar projetos de extensão da
linguagem.
50
O que é o R
• E o mais importante: o R é totalmente livre e
disponível em vários sistemas operacionais. Seja
você um usuário do Windows, do Linux/UNIX ou do
Mac-OS, existe uma instalação do R para a sua
plataforma, e os seus códigos devem rodar entre
uma e outra com mínimas alterações.
51
Uso do R
Linguagem de programação
• Importação, exportação, tratamento e armazenamento de dados
financeiros e econômicos com base em arquivos locais ou da internet;
• Criação de rotinas para o cálculo e a administração do risco de uma
carteira de investimento;
• Desenvolvimento de rotinas para a administração e execução de ordens
financeiras no mercado de capitais;
• Criação de ferramentas para controle, avaliação e divulgação de índices
econômicos sobre um país ou região;
• Execução de diversas possibilidades de pesquisa empírica através da
estimação de modelos econométricos e testes de hipóteses;
• Criação de websites dinâmicos com o pacote Shiny, possibilitando que
qualquer pessoa no mundo utilize uma ferramenta criada por você;
• Organização de um processo automatizado de criação e divulgação de
relatórios técnicos com o pacote knitr e a tecnologia RMarkdown.
52
Instalação do R
• https://www.r-project.org/
53
Instalação do R
54
Instalação do R
55
Instalação do R
56
Instalação do R
57
Instalando o RStudio
• A instalação do R inclui a sua própria interface gráfica, um programa que
facilita a edição e execução de nossos scripts. Essa, porém, possui várias
limitações. O RStudio é um software que torna o uso e o visual do R
muito mais prático e eficiente. Uma forma de entender essa relação é
com uma analogia com carros. Enquanto o R é o motor da linguagem de
programação, o RStudio é a carroceria e o painel de instrumentos, os
quais melhoram significativamente a experiência de uso. Além de
apresentar um visual mais atrativo, o RStudio também é acrescido de
várias funcionalidades que facilitam a vida do usuário, possibilitando a
construção de projetos e pacotes do próprio R, a criação de documentos
dinâmicos (Sweave/knitr) e a interface com edição de textos em LaTeX,
entre várias outras. Assim como o R, o RStudio também é gratuito e
pode ser utilizado no ambiente empresarial.
58
Instalando o RStudio
• A instalação do RStudio é mais simples do que a do R. Os arquivos estão
disponíveis no endereço disponibilizado no site do livro. Após acessar a
página, clique em Download RStudio e depois em Download Rstudio
Desktop. Logo após, basta selecionar o arquivo relativo ao sistema
operacional em que você irá trabalhar. Provavelmente, essa opção
será Windows Vista/7/8/10. Note que, assim como o R, o RStudio
também está disponível para diferentes plataformas.
• Destaco que o uso do RStudio não é essencial para desenvolver
programas no R. Outros softwares de interface estão disponíveis e
podem ser utilizados. Porém, dada minha experiência atual, o RStudio é
o programa de interface que oferece a maior variedade de
funcionalidades para essa linguagem, além de ser amplamente
utilizado, o que justifica a sua escolha.
59
Comunidade R na internet
• https://www.r-bloggers.com/
• https://brbloggers.com.br/
• https://marcosvital.github.io/blogs-de-R-no-Brasil/
• https://www.facebook.com/groups/141002352593
9155/
60
Operações Básicas no R
Uso de scripts
61
Objetos e Funções
• Tudo é um objeto, e cada tipo de objeto tem suas
propriedades
• Os comandos básicos do R, não incluindo demais
pacotes, somam um total de 1221 funções
• Cada função tem um nome
• Ex.: mean = média
• mean(1:5, na.rm = TRUE)
• MinhaFct(input1, input2, input3, ...)
• na.rm = TRUE, significa ignorar elementos do tipo
NA (not available), caso eles existam
62
O Formato Brasileiro
• Decimal: utilize a vírgula para separar funções. O
separador decimal é o ponto, exemplo 2.5
• Caracteres Latinos: não use cedilha e acentos.
Recomendado desenvolver o código em inglês
• Formato de datas: padrão YYYY-MM-DD, onde YYYY é o
ano em quatro números, MM é o mês e DD é o dia.
• Para saber qual o formato que o R está configurado,
digite o seguinte comando: Sys.localeconv()
• Para alterar temporariamente seu formato local para a
notação internacional: Sys.setlocale("LC_ALL",
"English")
63
Tipos de Arquivos
• Arquivos com extensão .R: Representam arquivos do tipo texto contendo
diversas instruções para o R. Esses são os arquivos que conterão o código da
pesquisa. Também pode ser chamado de um script ou rotina de pesquisa.
Exemplos: Minha_pesquisa.R, Minhas_Funções.R.
• Arquivos com extensão .RData e .rds: armazenam dados nativos do R. Esses
arquivos servem para salvar objetos criados em diferentes sessões. Por exemplo,
podes guardar o resultado de uma pesquisa em uma tabela, a qual é salva em
um arquivo com extensão .RData ou .rds. A diferença entre os dois formatos
anteriores é que o RData possibilita armazenar mais de um objeto do R,
enquanto o .rds armazena apenas um. Os arquivos salvos nesse formato podem
ser futuramente carregados em outra sessão do R. Exemplos:
Meus_dados.RData, Resultados_Pesquisa.rds.
64
Tipos de Arquivos
• Arquivos com extensão .Rmd, .md e .Rnw: representam arquivos para a
edição de documentos dinâmicos relacionados a
linguagem Rmarkdown e markdown. O uso desses arquivos permite a
criação de documentos onde texto e código são integrados.
• Arquivos com extensão .Rproj: contém informações para a edição de
projetos no RStudio. O uso desse tipo de arquivo facilita a criação de
projetos no R, tal com um novo pacote ou um script de pesquisa. O uso
desse arquivo possibilita configurar um projeto qualquer e também
facilita a utilização de ferramentas de controle de código, tal como
controle de versões. O seu uso, porém, não é essencial. Para aqueles
com interesse em conhecer esta funcionalidade, sugiro a leitura
do manual do RStudio. Exemplo: Meu_Projeto.Rproj.
65
Dados
Fonte: B3 (Brasil Bolsa Balcão) e CVM (Comissão de
Valores Mobiliários)
66
Pesquisas com fontes de dados
71
GetDFPData no R
• Carregando
library(GetDFPData)
library(tibble)
df.info <- gdfpd.get.info.companies(type.data =
'companies')
## Found cache file. Loading data..
glimpse(df.info)
## Observations: 525
## Variables: 16
## $ name.company <chr> "521 PARTICIPAÇOES S.A. - ...
…
72
GetDFPData no R
• Setores B3
t.sector <- table(df.info$main.sector)
print(as.data.frame(sort(t.sector, decreasing =
TRUE)))
73
GetDFPData no R
• Setores B3
Var1 Freq
1 Consumo Cíclico 81
2 Financeiro 79
3 Bens Industriais 76
4 Utilidade Pública 67
5 Materiais Básicos 32
6 Consumo não Cíclico 26
7 Outros 24
8 Saúde 19
9 Petróleo. Gás e Biocombustíveis 10
10 Financeiro e Outros 8
11 Não Classificados 8
12 Tecnologia da Informação 7
13 Comunicações 6
74
GetDFPData no R
• Listagem Governança
t.listings <- table(df.info$listing.segment)
print(as.data.frame(sort(t.listings, decreasing =
TRUE)))
75
GetDFPData no R
• Listagem Governança
Var1 Freq
1 Tradicional 235
2 Novo Mercado 144
3 Corporate Governance - Level 1 26
4 Corporate Governance - Level 2 21
5 Bovespa Mais 15
6 Bovespa Mais - Level 2 2
76
GetDFPData no R
• Recuperando Tickers
idx <- which(df.info$name.company == 'GERDAU
S.A.')
tickers.Gerdau <- df.info$tickers[idx]
print(tickers.Gerdau)
## [1] "GGBR3;GGBR4"
77
GetDFPData no R
• Encontrando empresa pelo nome
library(GetDFPData)
my.names <- gdfpd.search.company('ambev')
## Found cache file. Loading data..
##
## Found 1 companies:
## AMBEV S.A. | situation = ATIVO | first date =
2012-12-31 | last date - 2019-12-31
78
GetDFPData no R
• Download da informação financeira
name.companies <- 'AMBEV S.A.'
first.date <- ‘2016-12-31'
last.date <- '2019-12-31'
df.reports <- gdfpd.GetDFPData(name.companies =
name.companies,
first.date = first.date,
last.date = last.date)
79
GetDFPData no R
• Carregando a DRE (cada ano em nova linha)
df.income.long <- df.reports$fr.income[[1]]
glimpse(df.income.long)
80
GetDFPData no R
• Carregando a DRE (transformação para cada ano
em nova coluna)
df.income.wide <-
gdfpd.convert.to.wide(df.income.long)
glimpse(df.income.wide)
81
GetDFPData no R
• Download de várias empresas simultaneamente
set.seed(1)
active.companies <- df.info$name.company[df.info$situation ==
'ATIVO']
my.companies <- sample(active.companies, 3)
first.date <- '2016-01-31'
last.date <- '2020-01-01'
df.reports <- gdfpd.GetDFPData(name.companies = my.companies,
first.date = first.date,
last.date = last.date)
• Verificando o resultado
glimpse(df.reports)
82
Exemplo com Ativo Total
library(dplyr)
# bind rows of assets for different companies
df.assets <- bind_rows(df.reports$fr.assets)
# check result
glimpse(df.assets)
83
Exemplo com Ativo Total
• Construindo uma tabela com Ativo Total
library(dplyr)
my.tab <- df.assets %>%
filter(acc.desc == 'Ativo Total') %>%
group_by(name.company, ref.date) %>%
summarise(Total.Assets = acc.value)
print(my.tab)
84
Exemplo com Ativo Total
• Analisando em uma figura
library(ggplot2)
p <- ggplot(my.tab, aes(x = ref.date, y=Total.Assets)) +
geom_col() + facet_wrap(~name.company, nrow = 3,
scales = 'free') +
labs(y = 'Total Assets', x = 'Year')
print(p)
85
Exemplo com Ativo Total
87
Estatística Descritiva no R
função(dados$coluna, digits = 1, na.rm = TRUE)
88
Importando Dados no R
• install.packages('xlsx')
• library(xlsx)
• Caixa <-
read.xlsx("C:/Users/mbote/Documents/Aula3-
SaldoCaixa.xlsx", 1) # importar a primeira planilha
89
Exportando Dados no R
• install.packages('xlsx')
• library(xlsx)
• write.xlsx(Estat_Descritiva, file =
“Caixa_Descritiva.xlsx", sheetName = "Dados",
append = FALSE)
90
Para a Próxima Aula
• Artigo 1: Financial Distress Prediction in an
International Context: A Review and Empirical
Analysis of Altman’s Z-Score Model. Altman,
Iwanicz-Drozdowska, Laitinen & Suvas. JIFMA 2017.
91
Obrigado pela
Atenção!!!
Até a próxima aula
/mbotelhocm
/mbotelhocm
/in/mbotelhocm
92