1) O documento apresenta uma palestra sobre o uso de ferramentas estatísticas para análise da pandemia de Covid-19.
2) Dois professores irão falar sobre captura e limpeza de dados, análise gráfica, modelagem matemática e tomada de decisão.
3) O professor Luis Fernando irá falar sobre processamento de dados e análise preditiva usando modelos, enquanto o professor Hilton irá mostrar passo-a-passo o uso do software R para análise.
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Análise estatística da pandemia de Covid-19 com R
1. Uso de ferramentas
estatísticas para uma
análise do fim do
momento de pandemia
19:30 – 21:00
Como interpretar os números
para a tomada de decisão?
Inteligência de Mercado
2. Apresentação
• Prof. Luis Fernando Pacheco Pereira: processo de captura de dados,
processamento, transformação e limpeza, análise gráfica, análise preditiva
baseado em modelos matemáticos e a tomada de decisão
• Prof. Hilton Fernandes Garcia: passo-a-passo do uso de uma ferramenta
estatística para apresentar os dados da Covid-19
3. Prof. Luis Fernando Pacheco
Pereira
• É Doutorando e Mestre em Educação
Matemática pela UNIAN (SP), cursando
Especialização Lato Sensu em Computação
Aplicada à Educação no Instituto de Ciências
Matemáticas e de Computação da Universidade
de São Paulo - ICMC-USP. Especialista Lato Sensu
em Marketing pela ESPM.
4. Prof. Hilton Fernandes Garcia
• É Mestre em Engenharia da Computação pela
Escola Politécnica da Universidade de S. Paulo,
desenvolvedor de softwares, pesquisador em
métodos estatísticos.
5. Apresentação
• Doutorando em Administração com ênfase em Gestão
Organizacional (USCS), Mestre em Administração com ênfase
em Gestão Internacional (ESPM), Bacharel em Administração
de Empresas com ênfase em Finanças (ESPM).
• Professor e Coordenador dos cursos de Graduação em
Processos Gerenciais e Pós-Graduação em Inteligência
de Mercado no Centro Universitário SENAC.
• Representante e Membro do Grupo de Excelência em
Governança Corporativa do CRA-SP. Chanceler da Sociedade
Santos Mártires (ONG)
@prof_agnaldoantonio
AgnaldoAntonioSantos in/agnaldoa
profagnaldoantonio
10. Conheça detalhes:
Inteligência de Mercado
@senacposinteligenciademercado
Inteligência de Mercado SENAC Santo Amaro
senacposinteligenciademercado
11. Pedimos a sua contribuição
com a Sociedade Santos
Mártires:
Sabemos que o momento que o mundo está passando pede
solidariedade de todos nós. Pensando nisso, estamos
compartilhando esse pedido de ajuda. Sua ajuda é muito
bem vinda!
Quer conhecer a Sociedade Santos Mártires? Acesse:
http://santosmartires.org.br/
O objetivo é alcançar o montante de 100 cestas básicas +
kits de limpeza para contribuir com as 1.500 cestas básicas
entregues frequentemente. E com sua ajuda, podemos
alcançar essa meta.
Contribua!!! De Esperança em Esperança ajudamos pessoas.
Link da Vaquinha: http://vaka.me/1176084
13. Estudo comparativo
Covid-19
Prof. Me. Luis Fernando Pacheco Pereira
Dados coletados até 07/07/2020
Fontes para elaboração do estudo:
Johns Hopkins University
inloco
WorldoMeters
14. Agenda
•Processo de captura de dados, processamento,
transformação e limpeza
•Análise Gráfica e Análise Preditiva baseado em
modelos matemáticos
•Tomada de Decisão.
20. Traçar os gráficos, escolher e aplicar um
modelo estatístico para predição...
21. Início do isolamento: 15/Março -> mais severo no final do mês
Pico: Final de março
Isolamento: cerca de 50 dias, abertura parcial e regional em 04/05, incluindo escolas
Espanha
Fonte dos dados diários: Johns Hopkins University
22. Início do isolamento: Março
Pico: Meados de março
Isolamento: auto-isolamento
Suiça
Fonte dos dados diários: Johns Hopkins University
23. Início do isolamento: Março
Pico: meados de abril
Isolamento: cerca de 8 semanas, fim em 11/05 (com escolas)
França
Fonte dos dados diários: Johns Hopkins University
24. Início do isolamento: 17/Março
Pico: início abril
Isolamento severo: cerca de 40 dias, abertura em 04/5
Bélgica
Fonte dos dados diários: Johns Hopkins University
25. Início do isolamento: 17/Março
Pico: Final de março
Isolamento severo: cerca de 50 dias, abertura no final de abril, muito testes .
Alemanha
Fonte dos dados diários: Johns Hopkins University
26. Início do isolamento: Março
Pico: Meados de março
Isolamento severo: cerca de 60 dias, retorno em 04/05
Itália
Fonte dos dados diários: Johns Hopkins University
27. Início do isolamento: Março
Pico: Indefinido
Isolamento tardio: 7 semanas, retorno em 11/05, parcial
Reino Unido
Fonte dos dados diários: Johns Hopkins University
28. Início do isolamento: 19/Março
Pico: Meados de abril
Isolamento severo: cerca de 50 dias, retorno parcial em 04/05.
Portugal
Fonte dos dados diários: Johns Hopkins University
29. Início do isolamento: Meados de março
Picos: Abril e ???
Isolamento tardio, brando e regional: retorno antecipado.
USA
Fonte dos dados diários: Johns Hopkins University
30. Início: Meados de março
Pico: ???
Isolamento: brando e regional, com retorno antecipado e desordenado.
Brasil
Fonte dos dados diários: Johns Hopkins University
31. Início: Meados de março
Pico: ???
Isolamento: brando e regional, com retorno antecipado e desordenado.
Brasil
Fonte dos dados diários: Johns Hopkins University
32. Fonte dos dados diários: worldometers (www.worlometers.info/coronavirus/country/brazil/)
Brasil
(1.500)
3.500
8.500
13.500
18.500
23.500
28.500
33.500
38.500
MM NormalBrasil
42. Estudo comparativo
Covid-19
Prof. Me. Luis Fernando Pacheco Pereira
Email: luis_pereira@usp.br
YouTube.com/c/LuisFernandoPachecoPereira
#fiqueemcasa
#vaipassar
44. Proposta da palestra
► Visão geral da apresentação: foco em R, pandemia como motivação;
► Perfil do apresentador;
► Perfil esperado do público.
45. O que éo R ?
► Biblioteca completa de estatística – com acesso à Internet: Twitter;
► Software livre casa bem com academia;
► Ambiente expansível com bibliotecas de alto desempenho em
C/C++;
► Linguagem interpretada de alto nível, especializada em estatística;
► Mundo à parte da estatística.
46. Características de uma pandemia
► Processo exponencial;
► 1 pessoa contagia 10;
► 10 pessoas contagiam outras 10 cada uma;
► No passo 0, 100 = 1 pessoa;
► No passo 1, 101 = 10 pessoas;
► No passo 2, 102 = 100 pessoas etc.
47. Obtendo dados através do R
scripts/get–full_data.R
url <- "https :/ / github .com/ owid/ covid -19-data/ raw/ master/ public/ data/ owid -covid -data.csv"
full_data <- read .csv(url , header=TRUE)
► uso de snippets para reduzir erros de digitação;
► endereçamento dos dados através de URL;
► normalmente (mesmo em Python) os dados seriam baixados em
arquivo, depois processados.
48. Filtragem dos dados da pandemia
scripts/gen–work.R
work <- subset (full_data , iso_code == ’BRA’, total_cases > 0)
► Mas os dados do pacote de dados brazil ainda não estão como
necessário;
► O registro da pandemia no mundo começou no último dia de 2019;
► Mas no Brasil, ele começou apenas em fevereiro, início do primeiro
caso.
► Filtra-se então o pacote brazil para se ter o pacote de trabalho
work;
► Usa-se a variável total_cases porque new_cases foi nula em
alguns dias do início da pandemia.
49. Apresentação dos dados da pandemia
(show_work.R)
scripts/show–work.R
View (work )
ncol (work )
nrow (work )
str(work)
► A função View(work) apresenta os dados em uma planilha;
► A função ncol(work) informa quantas colunas há nesses dados;
► A função nrow(work) informa quantas linhas há nesses dados;
► A função str(work) informa a estrutura desses dados, além de
permitir uma “xereteda” neles;
50. Escolha de dados: new_casese
total_cases
► Usaremos os casos de infecção, não de falecimentos, oudeaths;
► As duas variáveis são relacionadas, mas os casos são em maior
quantidade e, portanto, menos sujeitos a erros de medida.
► Contudo, resta decidir se devemos usar a ocorrência diária de novos
casos (new_cases) ou seu valor acumuladototal_cases.
► Uma forma simples de avaliar variáveis éatravés de sua
apresentação em gráfico – sua “plotagem”, ou plot.
51. Criação devariável deapoio dayscripts/creat–day.R
day <- 1:length (work$total_cases)
► Infelizmente, como vimos nas apresentações dos dados, as variáveis
de fator são preservadas nos subpacotes de dados;
► Assim, a variável date será sempre iniciada a partir de 2019-12-31,
não do início da pandemia.
► Por isso criamos a variável day que terá valor 1 no primeiro dia da
pandemia, eterá tantos elementos quanto os dias em que a
pandemia foi registrada.
► No script length(work$total_cases) define o comprimento total
(ou número de linhas) da variável total_cases do pacote de dados
work que estamos trabalhando;
► o cifrão $ informa a subordinação entre work e total_cases; ou
seja: total_cases pertence ao pacote work.
52. Plotagem deday versus new_cases
scripts/plot–new_cases.R
plot (day, work$new_cases)
► O programa éfácil de ser entendido ele desenha (to plot) duas
variáveis: uma na abscissa (ou x ) eoutra na ordenada (ou y ) –
respectivamente day ework$new_cases.
► Mas o desenho resultante édifícil de ser entendido: a partir dos
primeiros 70 dias não há mais um padrão claro.
54. Plotagem deday versustotal_cases
► A compreensãodoprogramaéamesmadocasoanterior; naturalmente substituindo
new_cases por total_cases.
► Mas émuito mais fácil verumpadrãonavariável total_cases do quenavariável new_cases.
► Por issoécom ela queseguiremososestudos.
scripts/plot–total_cases.R
plot (day, work$total_cases)
56. O que éuma função exponencial
► A função exponencial clássica éy = ex , onde eéachamada
constante de Euler.
► Ela émuito importante para a matemática, mas neste caso estamos
interessados em sua propriedade de crescer muito rapidamente.
► Essa equação simples será reescrita como T = eαd +β .
► Seguindo o hábito dos matemáticos, de usar uma única letra para
variáveis, T significa total_cases ed signficaday.
► α eβ são constantes que dão mais flexibilidade ao ajuste da função.
57. Uso delogaritmo para facilitar a regressão linear
► Infelizmente, a técnica de regressão linear trabalha apenas com
retas, planos e similares.
► Para fazer surgir uma reta neste caso, aplica-se a função logaritmo
nos dois lados da igualdade:
log(T ) = log(eαd+β ) = αd + β.
► a transformação de log (eαd +β ) em αd + β épossível porque log (x )
eex são funções inversas.
► Sua composição (aplicação sucessiva) éa função identidade.
► Ou seja: log(ex) = x. Além disso, elog(x) = x
58. Regressão de day versus log (total_cases)
scripts/plot–exp.R
total_cases_log <- log (work$total_cases)
df_ exp <- data .frame (day, total_cases_log )
fm_exp <- lm(total_cases _log ~ day, data = df_ exp)
dev.off ()
plot (df_ exp$day, df_ exp$total_cases_log )
lines (df_ exp$day, fm_exp$f i t t e d .values)
► Primeiro criamos a variável total_cases_log transformando os
valores de total_cases através da função log ();
► Depois criamos o data framedf_exp para a regressão.
► A seguir, plotamos as variáveis usadas ea reta aproximada.
60. Plotagem semtransformaçãologarítmica
scripts/plot–unexp.R
f i t t e d _values_exp <- exp(fm_exp$f i t t e d .values )
dev.off ()
plot (day, work$total_cases)
lines (day, f i t t e d _values_exp)
► Para avaliar a aproximação nos dados reais, converteremos os dados
da regressão em dados reais, desfazendo a transformação logarítica.
► Como a função inversa de log (x ) éex , que se escreve exp(x) em R,
isto éfeito na primeira linha do snippet.
62. Melhor aproximação T = eγd2+δd+E
► Para melhorar o ajuste de uma função de day à variável dependente
total_cases,incluiremos um termo quadrático.
► Ou seja: tentaremos expressar total_cases através de uma
parábola de day, em vez de simples reta.
► Uma parábola tem a vantagem de que seu crescimento évariável e
podemos ajustá-la a trechos dos dados.
63. Adição deday 2àfunçãoexponencial
scripts/plot–exp2.R
day _ sq <- day * day
df_ exp2 <- data .frame (day, day_sq, total _cases_log )
fm_exp2 <- lm(total_cases_log ~ day + day_sq, data = df_ exp2)
dev.off ()
plot (df_ exp2$day , df_ exp2$total_cases_log )
lines (df_ exp2$day, fm_exp2$f i t t e d .values)
► Primeiro se cria a variável day_sq como o quadrado da variável day,
ou o produto de day por ela mesma;
► A seguir, cria-se a data framedf_exp2 para conter todas variáveis
da nova regressão;
► O novo modelo de regressão linear agora inclui day_sq.
► A seguir, plota-se day, total_cases ea função aproximada, como
feito antes.
65. Plotagem da exponencial quadrática sem
transformação logarítmica
scripts/plot–unexp2.R
f i t t e d _values_exp2 <- exp(fm_exp2$f i t t e d .values)
dev.off ()
plot (day, work$total_cases)
lines (day, f i t t e d _values_exp2)
► Neste caso, como feito antes, usa-se a função exponencial para
converter os dados aproximados em termos de total_case,não
mais de log(total_case).
67. Estimativa do pico da pandemia
scripts/calc–peak.R
peak <- -fm_exp2$coefficients ["day"] / (2 * fm_exp2$coefficients ["day_sq"])
peak
peak <- ceiling (peak)
peak
work$date [peak]
► Este snippet usa os coeficientes da parábola aproximada para
estimar o pico da pandemia.
69. Pedimos a sua contribuição
com a Sociedade Santos
Mártires:
Sabemos que o momento que o mundo está passando pede
solidariedade de todos nós. Pensando nisso, estamos
compartilhando esse pedido de ajuda. Sua ajuda é muito
bem vinda!
Quer conhecer a Sociedade Santos Mártires? Acesse:
http://santosmartires.org.br/
O objetivo é alcançar o montante de 100 cestas básicas +
kits de limpeza para contribuir com as 1.500 cestas básicas
entregues frequentemente. E com sua ajuda, podemos
alcançar essa meta.
Contribua!!! De Esperança em Esperança ajudamos pessoas.
Link da Vaquinha: http://vaka.me/1176084