This repository has been archived by the owner on Dec 22, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathREADME.Rmd
177 lines (128 loc) · 10.7 KB
/
README.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
---
title: "Estatística Bayesiana Bayesiana com R e Stan"
description: "Estatística Bayesiana Bayesiana com R e Stan"
output: github_document
editor_options:
markdown:
mode: gfm
bibliography: bib/bibliografia.bib
csl: bib/apa-cv.csl
suppress-bibliography: true
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
# rmarkdown::render("README.Rmd", encoding = "UTF-8", output_format = "github_document")
```
[![CC BY-SA 4.0][cc-by-sa-shield]][cc-by-sa]
A disciplina toda foi gravada e disponibilizada no YouTube na playlist abaixo:
[![Ciência de Dados com R e tidyverse](https://img.youtube.com/vi/cVEQOxM0xBY/maxresdefault.jpg)](https://youtube.com/playlist?list=PLpTXaEnTpmwNwBwwwLTDmCLekoUPtc0cP)
```{r bayes-meme, echo=FALSE, fig.align='center', fig.cap='Bayesian for Everyone!'}
knitr::include_graphics("images/bayes-meme.jpg")
```
Disciplina de Estatística Bayesiana para alunos de Mestrado e Doutorado. A disciplina toda está disponível no site [storopoli.github.io/Estatistica-Bayesiana](https://storopoli.github.io/Estatistica-Bayesiana).
A Estatística Bayesiana é uma abordagem de Estatística inferencial que não usa hipóteses nulas ($H_0$) e $p$-valores. Se você não sabe o que é um $p$-valor, recomendo olhar [O que é Estatística Bayesiana](0-Estatistica-Bayesiana.html). Muitos cientistas e pesquisadores acreditam que sabe o que é um $p$-valor, mas sua compreensão é falha e imperfeita, por isso, mesmo que você acredite que saiba o que é um $p$-valor, eu ainda recomendo que veja [O que é Estatística Bayesiana](https://storopoli.github.io/Estatistica-Bayesiana/0-Estatistica-Bayesiana.html).
**RStudio**: [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/storopoli/Estatistica-Bayesiana/master?urlpath=rstudio)
## Stan
[Stan](https://mc-stan.org) (Carpenter et al., 2017) é uma plataforma para modelagem e computação estatística de alto desempenho. Milhares de usuários contam com Stan para modelagem estatística, análise de dados e previsão nas ciências sociais, biológicas e físicas, engenharia e negócios. Stan tem o suporte financeiro da [NumFOCUS](https://numfocus.org), uma fundação sem fins lucrativos que dá apoio financeiro à projetos de softwares *opensource*. Dentre os patrocinadores da NumFOCUS podemos citar AWS Amazon, Bloomberg, Microsoft, IBM, RStudio, Facebook, NVIDIA, Netflix, entre outras.
Os modelos em Stan são especificados pela sua própria linguagem (similar à C++) e são compilados em um arquivo executável que gera inferências estatísticas Bayesiana com amostragem Monte Carlo de correntes Markov (*Markov Chain Monte Carlo* -- MCMC) de alto desempenho. Stan possui interfaces para as seguintes linguagens de programação (estou riscando as linguagens que não são *opensource* por uma questão de princípios):
* R: [`RStan`](https://mc-stan.org/users/interfaces/rstan.html) e [`CmdStanR`](https://mc-stan.org/cmdstanr)
* Python: [`PyStan`](https://mc-stan.org/users/interfaces/pystan.html) e [`CmdStanPy`](https://cmdstanpy.readthedocs.io/en/latest/getting_started.html)
* Shell (Linha de Comando): [`CmdStan`](https://mc-stan.org/users/interfaces/cmdstan.html)
* Julia: [`Stan.jl`](https://mc-stan.org/users/interfaces/julia-stan.html)
* Scala: [`ScalaStan`](https://github.com/cibotech/ScalaStan)
* ~~Matlab: [`MatlabStan`](https://mc-stan.org/users/interfaces/matlab-stan.html)~~
* ~~Stata: [`StataStan`](https://mc-stan.org/users/interfaces/stata-stan.html)~~
* ~~Mathematica: [`MathematicaStan`](https://mc-stan.org/users/interfaces/mathematica-stan.html)~~
A linguagem Stan possui uma curva de aprendizagem bem desafiadora, por isso Stan possui um ecossistema de pacotes de interfaces que muitas vezes ajudam e simplificam a sua utilização:
* [`rstanarm`](http://mc-stan.org/rstanarm/): ajuda o usuário a especificar modelos usando a síntaxe familiar de fórmulas do R.
* [`brms`](https://paul-buerkner.github.io/brms/): similar ao `rstanarm` pois usa a síntaxe familiar de fórmulas do R, mas dá maior flexibilidade na especificação de modelos mais complexos (e geralmente a amostragem é um pouco mais rápida que o `rstanarm`).
Stan (e consequentemente todas suas interfaces com diversas linguagens de programação e todos os pacotes do seu ecossistema) usa um amostrador MCMC que utiliza dinâmica Hamiltoniana (*Hamiltonian Monte Carlo* -- HMC) para guiar as propostas de amostragem de novos parâmetros no sentido do gradiente da densidade de probabilidade da posterior. Isto implica em um amostrador mais eficiente e que consegue explorar todo o espaço amostral da posterior com menos iterações; e também mais eficaz que consegue tolerar diferentes geometrias de espaços amostrais da posterior. Em outras palavras, Stan usa técnicas de amostragem avançadas que permite com que modelos complexos Bayesianos atinjam convergência de maneira rápida. No Stan, raramente deve-se ajustar os parâmetros do algoritmo HMC, pois geralmente os parâmetros padrões (*out-of-the-box*) funcionam muito bem. Assim, o usuário foca no que é importante: a especificação dos componentes probabilísticos do seu modelo Bayesiano.
## Professor
Prof. Dr. José Eduardo Storopoli - [Currículo *Lattes*](http://lattes.cnpq.br/2281909649311607) - [ORCID](https://orcid.org/0000-0002-0559-5176) - [CV](https://storopoli.github.io)
[[email protected]](mailto:[email protected])
## Como usar esse conteúdo?
Este conteúdo possui *licença livre para uso* (CC BY-SA). Caso queira utilizar o conteúdo para um curso ou estudos, por favor colabore nesse repositório quaisquer aprimorações que foram realizadas. O propósito do conteúdo não é o rigor matemático geralmente adotado em disciplinas e tutoriais de estatística Bayesiana, mas gerar uma forte intuição deixando de lado o rigor matemático e focar no ferramental (primariamente `rstanarm` e um pouco de `brms`).
Para configurar um ambiente local:
1. Clone o repositório do GitHub: `git clone https://github.com/storopoli/Estatistica-Bayesiana.git`
2. Acesse o diretório: `cd Estatistica-Bayesiana`
3. Instale os pacotes necessários: `Rscript .binder/install.R`
## Aulas
* [**O que é Estatística Bayesiana**](https://storopoli.github.io/Estatistica-Bayesiana/0-Estatistica-Bayesiana.html)
1. [**Comandos Básicos de R**](https://storopoli.github.io/Estatistica-Bayesiana/1-Comandos_Basicos.html)
2. [**Distribuições Estatísticas**](https://storopoli.github.io/Estatistica-Bayesiana/2-Distribuicoes_Estatisticas.html)
3. [**`rstanarm` e `brms`**](3-rstanarm.html)
4. [**Priors**](https://storopoli.github.io/Estatistica-Bayesiana/4-Priors.html)
5. [**Markov Chain Montecarlo (MCMC)**](https://storopoli.github.io/Estatistica-Bayesiana/5-MCMC.html)
6. [**Regressão Linear Bayesiana**](https://storopoli.github.io/Estatistica-Bayesiana/6-Regressao_Linear.html)
7. [**Regressão Logística Bayesiana**](https://storopoli.github.io/Estatistica-Bayesiana/7-Regressao_Logistica.html)
8. [**Regressão de Poisson Bayesiana**](https://storopoli.github.io/Estatistica-Bayesiana/8-Regressao_Poisson.html)
9. [**Regressão Robusta Bayesiana**](https://storopoli.github.io/Estatistica-Bayesiana/9-Regressao_Robusta.html)
10. [**Modelos Multiníveis**](https://storopoli.github.io/Estatistica-Bayesiana/10-Regressao_Multinivel.html)
* [**Comparação de Modelos**](https://storopoli.github.io/Estatistica-Bayesiana/aux-Model_Comparison.html)
* [**Dados Faltantes**](https://storopoli.github.io/Estatistica-Bayesiana/aux-Dados_Faltantes.html)
* [**Coeficientes de uma Regressão**](https://storopoli.github.io/Estatistica-Bayesiana/aux-Regressao_Coeficientes.html)
* [**Tabelas para Publicação**](https://storopoli.github.io/Estatistica-Bayesiana/aux-Tabelas_para_Publicacao.html)
## Referências
### Livros
* [@gelman2013bayesian]
* [@mcelreath2020statistical]
* [@gelman2020regression]
* [@brooksHandbookMarkovChain2011]
* [@geyer2011introduction]
### Artigos
#### Básicos
* [@vandeschootBayesianStatisticsModelling2021]
* [@gabryVisualizationBayesianWorkflow2019]
* [@gelmanBayesianWorkflow2020]
* [@benjaminRedefineStatisticalSignificance2018]
* [@carpenterStanProbabilisticProgramming2017]
* [@etzIntroductionConceptLikelihood2018]
* [@etzHowBecomeBayesian2018]
* [@mcshaneAbandonStatisticalSignificance2019]
* [@amrheinScientistsRiseStatistical2019]
* [@vanravenzwaaijSimpleIntroductionMarkov2018]
* [@vandekerckhove2015model]
* [@schootGentleIntroductionBayesian2014]
* [@Wagenmakers2007]
#### Complementares
* [@cohenEarth051994]
* [@dienesBayesianOrthodoxStatistics2011]
* [@etzIntroductionBayesianInference2018]
* [@junior2020vale]
* [@kerrHARKingHypothesizingResults1998]
* [@kruschke2015bayesian]
* [@kruschkeBayesianDataAnalysis2018]
* [@kruschkeBayesianNewStatistics2018]
* [@lakensJustifyYourAlpha2018]
* [@Morey2016]
* [@murphyHARKingHowBadly2019]
* [@starkCargocultStatisticsScientific2018]
## Conteúdos Similares
Existem alguns conteúdos em português similares que eu indico:
* Marco Inácio — [Apostila de Stan](https://marcoinacio.com/stan/)
Um dos desenvolvedores da equipe do Stan. A apostila está um pouco desatualizada (2018). O foco é o rigor matemático e a linguagem Stan. Muito bem escrita e com bons exemplos.
* Ricardo Ehlers (USP) — [Inferência Bayesiana (Notas de Aula)](https://sites.icmc.usp.br/ehlers/bayes/)
Notas de uma disciplina da USP pelo professor Ricardo Ehlers. O foco é o rigor matemática e as ferramentas utilizadas são desatualizadas (BUGS e JAGS). Também muito bem escrita e com bons exemplos.
* Luís Gustavo Esteves, Rafael Izbicki e Rafael Bassi Stern (UFSCar) — [Inferência Bayesiana (Notas de Aula)](https://github.com/rbstern/bayesian_inference_book)
Notas de uma disciplina da UFSCar pelos professores Luís Gustavo Esteves, Rafael Izbicki e Rafael Bassi Stern. O foco é o rigor matemático, mas o conteúdo é um pouco mais acessível com uma forte introdução à lógica Bayesiana. Fala um pouco da linguagem Stan e sua interface do R (`rstan`) no finalzinho.
## Como citar esse conteúdo
Para citar o conteúdo use:
```
Storopoli (2021). Estatística Bayesiana com R e Stan. Disponível em: https://storopoli.github.io/Estatistica-Bayesiana.
```
Ou em formato BibTeX para LaTeX:
```
@misc{storopoli2021estatisticabayesianaR,
author = {Storopoli, Jose},
title = {Estatística Bayesiana com R e Stan},
url = {https://storopoli.github.io/Estatistica-Bayesiana},
year = {2021}
}
```
## Licença
Este obra está licenciado com uma Licença
[Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional][cc-by-sa].
[![CC BY-SA 4.0][cc-by-sa-image]][cc-by-sa]
[cc-by-sa]: http://creativecommons.org/licenses/by-sa/4.0/
[cc-by-sa-image]: https://licensebuttons.net/l/by-sa/4.0/88x31.png
[cc-by-sa-shield]: https://img.shields.io/badge/License-CC%20BY--SA%204.0-lightgrey.svg