1 00:00:08,055 --> 00:00:12,879 Agora nós iremos falar sobre intervalo de confiança e teste de hipóteses. 2 00:00:12,879 --> 00:00:15,691 Para entender isso na prática com a linguagem R, 3 00:00:15,691 --> 00:00:18,651 se vocês verificarem no documento que está disponível para vocês 4 00:00:18,651 --> 00:00:21,955 sobre essa explicação, trouxemos um case real. 5 00:00:21,955 --> 00:00:25,191 Imagine que nós estamos trabalhando em uma fábrica de software 6 00:00:25,191 --> 00:00:29,667 e você se depara com a situação de precisar melhorar a performance 7 00:00:29,667 --> 00:00:31,731 dessa equipe de programadores. 8 00:00:31,731 --> 00:00:36,469 Então, foi analisada essa possibilidade de implementar uma melhoria, 9 00:00:36,469 --> 00:00:40,874 foi descoberta uma ferramenta para ajudar, e aí precisamos medir 10 00:00:40,874 --> 00:00:45,011 como estava a performance antes da implementação dessa ferramenta 11 00:00:45,011 --> 00:00:48,212 e após a implementação dessa ferramenta. 12 00:00:48,212 --> 00:00:53,887 Para verificar se após a implementação da ferramenta ficou igual a performance, 13 00:00:53,887 --> 00:00:58,525 se ficou pior, ou se alcançou o objetivo, que era melhorar a performance, 14 00:00:58,525 --> 00:01:02,161 nós precisamos analisar esses dados, o antes e o depois. 15 00:01:02,161 --> 00:01:03,698 E é essa a nossa proposta agora. 16 00:01:03,698 --> 00:01:05,015 Vamos lá? 17 00:01:05,015 --> 00:01:08,234 Aqui eu trago para vocês um resumo. 18 00:01:08,234 --> 00:01:13,773 Como é uma hashtag que está aqui marcada, não é considerada na execução do código, tá? 19 00:01:13,773 --> 00:01:17,510 Então, caso você queira relembrar ou queira ter um resumo aí na sua mão, 20 00:01:17,510 --> 00:01:21,814 porque às vezes é um material um pouquinho extenso, eu deixo aqui para vocês, tá bom? 21 00:01:21,814 --> 00:01:26,452 E agora vamos precisar criar a nossa situação, o cenário antes e depois. 22 00:01:26,452 --> 00:01:30,723 Então nós temos aqui duas linhas que nós vamos executar. 23 00:01:30,723 --> 00:01:32,358 O que seria isso? 24 00:01:32,358 --> 00:01:35,161 Eu vou copiar... Vamos fazer juntos aqui, tá? 25 00:01:35,161 --> 00:01:36,162 Como funciona? 26 00:01:36,162 --> 00:01:40,099 Deixe-me só tirar aqui esse sinalzinho que nós copiamos. 27 00:01:40,099 --> 00:01:41,567 Aqui é um comentário: 28 00:01:41,567 --> 00:01:45,338 "Dados simulados, linhas de código por hora 29 00:01:45,338 --> 00:01:49,409 antes e depois da introdução dessa ferramenta", para melhorar a performance. 30 00:01:49,409 --> 00:01:52,252 E aí, para facilitar para vocês, vamos deixar alinhados aqui: 31 00:01:52,252 --> 00:01:57,550 hora um, hora dois, hora três, hora quatro, hora cinco, 32 00:01:57,550 --> 00:02:00,520 hora seis, hora sete, e hora oito. 33 00:02:00,520 --> 00:02:04,379 Se você olhar depois aqui, você já consegue ter essa certeza, né, 34 00:02:04,379 --> 00:02:06,225 que a performance está sendo melhor. 35 00:02:06,225 --> 00:02:11,064 Mas você não deve pensar que sempre vai ser um cenário pequeno como esse, 36 00:02:11,064 --> 00:02:14,967 de um intervalo que você consiga analisar apenas olhando para a tela. 37 00:02:14,967 --> 00:02:18,571 Pode ser uma base com uma análise de 300 horas. 38 00:02:18,571 --> 00:02:21,519 Então você precisa sim de uma linguagem como o R 39 00:02:21,519 --> 00:02:24,281 para fazer essa análise por você, tá? 40 00:02:24,281 --> 00:02:27,647 Nós já temos essa certeza, mas vamos pedir para o R fazer essa análise? 41 00:02:27,647 --> 00:02:30,149 Então primeiro nós vamos criar essas variáveis. 42 00:02:30,149 --> 00:02:32,644 Vamos imprimir só para visualizar, como sempre. 43 00:02:32,644 --> 00:02:37,001 Temos que ter uma garantia que os dados foram armazenados. 44 00:02:37,001 --> 00:02:41,608 "print(linhas_depois)". 45 00:02:41,608 --> 00:02:45,156 Não erre, não pode digitar o nome errado, senão ele não vai conseguir achar. 46 00:02:45,156 --> 00:02:47,466 Eu vou apertar alguns Enters aqui para facilitar, 47 00:02:47,466 --> 00:02:50,336 e ir para o meio da tela para visualizarmos. 48 00:02:50,336 --> 00:02:54,707 Então, legal, criamos a performance das horas antes e depois. 49 00:02:54,707 --> 00:02:58,644 Agora nós precisamos fazer essa comparação. 50 00:02:58,644 --> 00:03:01,472 Será que realmente performou mais? 51 00:03:01,472 --> 00:03:06,052 Aqui, novamente, eu deixo um script para vocês, alguns comentários. 52 00:03:06,052 --> 00:03:08,625 Agora nós vamos fazer esse teste de hipóteses 53 00:03:08,625 --> 00:03:11,324 para verificar se a performance aumentou, tá? 54 00:03:11,324 --> 00:03:14,694 E aqui, o que eu vou interpretar com vocês, 55 00:03:14,694 --> 00:03:17,964 eu deixei anotado aqui como comentário, um resumo, tá? 56 00:03:17,964 --> 00:03:21,500 "Então, qual a instrução, Rafa, que vai ser executada agora?". 57 00:03:21,500 --> 00:03:23,069 Olha quanto comentário. 58 00:03:23,069 --> 00:03:26,939 É para poder entender a saída da execução. 59 00:03:26,939 --> 00:03:29,831 "Como fica essa instrução, Rafa?" 60 00:03:29,831 --> 00:03:32,494 Vamos apertar mais uns Enters aqui. 61 00:03:32,494 --> 00:03:36,549 Agora aqui nós vamos pedir para comparar o antes e o depois. 62 00:03:36,549 --> 00:03:38,417 Como iremos fazer isso? 63 00:03:38,417 --> 00:03:41,887 Temos uma variável aqui chamada "resultado_test". 64 00:03:41,887 --> 00:03:45,096 Você pode colocar o nome que você quiser, como sempre. 65 00:03:45,096 --> 00:03:50,682 Aqui nós temos uma primeira instrução, que vocês têm que aprender agora: "t.teste". 66 00:03:50,682 --> 00:03:54,366 Teste com "t" mudo porque é uma instrução em inglês do R. 67 00:03:54,366 --> 00:03:56,953 Se vocês buscarem aqui, eu deixei anotado 68 00:03:56,953 --> 00:04:01,240 para vocês poderem estudar depois ou fazer uma anotação, tá? 69 00:04:01,240 --> 00:04:03,709 O que é o t.teste? 70 00:04:03,709 --> 00:04:06,679 Ele é usado para comparar o antes e o depois. 71 00:04:06,679 --> 00:04:12,766 É ele que vai fazer essa análise dos dados de antes e depois, hora a hora. 72 00:04:12,766 --> 00:04:17,024 Aqui nós temos que fornecer o intervalo de valores. 73 00:04:17,024 --> 00:04:19,158 Está aqui. Se chama "linhas_antes". 74 00:04:19,158 --> 00:04:21,628 Qual é o outro intervalo de valores? 75 00:04:21,628 --> 00:04:22,928 É o "linhas_depois". 76 00:04:22,928 --> 00:04:26,799 E aqui, novamente, nós temos que fazer uma outra instrução para ele. 77 00:04:26,799 --> 00:04:29,939 Nessa instrução, nós vamos dizer assim: 78 00:04:29,939 --> 00:04:31,857 "Os dados têm relação?". 79 00:04:31,857 --> 00:04:34,607 Sim, é um dado que está relacionado diretamente. 80 00:04:34,607 --> 00:04:37,009 Eu tenho a informação hora a hora, 81 00:04:37,009 --> 00:04:39,578 eu só não sei se realmente aumentou essa performance. 82 00:04:39,578 --> 00:04:41,012 Olhando, nós sabemos, né? 83 00:04:41,012 --> 00:04:43,682 Mas supondo que ainda não sabemos. 84 00:04:43,682 --> 00:04:46,044 E aí você coloca true ou false. 85 00:04:46,044 --> 00:04:49,221 Você coloca true quando está relacionado diretamente. 86 00:04:49,221 --> 00:04:53,926 Às vezes você pode querer comparar coisas que não estão relacionadas diretamente. 87 00:04:53,926 --> 00:04:55,631 Aí você colocaria o false. 88 00:04:55,631 --> 00:04:57,671 Mas não é o nosso caso aqui. 89 00:04:57,671 --> 00:04:59,531 Eu vou apertar o Enter. 90 00:04:59,531 --> 00:05:02,034 Aí você fala: "Poxa, Rafa, mas e agora? 91 00:05:02,034 --> 00:05:03,669 Cadê o resultado?". 92 00:05:03,669 --> 00:05:07,622 Tudo o que nós iremos analisar agora está aqui. 93 00:05:07,622 --> 00:05:09,640 Agora você fala: "Rafa, então vamos imprimir?". 94 00:05:09,640 --> 00:05:11,210 Sim, vamos imprimir. 95 00:05:11,210 --> 00:05:12,645 Como fazemos aqui? 96 00:05:12,645 --> 00:05:14,418 Imprimir, você já sabe, né? 97 00:05:14,418 --> 00:05:17,618 O valor dessa comparação foi armazenado aqui dentro. 98 00:05:17,618 --> 00:05:18,396 "print"... 99 00:05:19,626 --> 00:05:20,686 "resultado"... 100 00:05:20,686 --> 00:05:25,272 Aquela velha história, né, cuidado para digitar corretamente o nome da variável. 101 00:05:25,272 --> 00:05:28,120 E aí nós temos o resultado aqui. 102 00:05:28,120 --> 00:05:32,531 Você vai falar: "Poxa Rafa, parte do resultado está escrito em inglês 103 00:05:32,531 --> 00:05:35,027 e tem alguns números da estatística". 104 00:05:35,027 --> 00:05:37,000 Isso. Agora nós vamos comparar. 105 00:05:37,000 --> 00:05:38,270 Eu vou explicar para vocês... 106 00:05:38,270 --> 00:05:39,819 Eu vou subir um pouquinho. 107 00:05:39,819 --> 00:05:43,901 Novamente, você pode dar uma pausa, fazer a sua anotação nesse momento. 108 00:05:43,901 --> 00:05:48,339 Eu acho bem rica essa parte das anotações, desses comentários. 109 00:05:48,339 --> 00:05:52,116 É como programar, sempre deixar o código comentado para você entender. 110 00:05:52,116 --> 00:05:56,550 O que nós precisamos focar nesse retorno dessa análise? 111 00:05:56,550 --> 00:06:00,959 Quanto de valor retornado nesse p-value. 112 00:06:00,959 --> 00:06:02,813 "O que seria esse p-value, Rafa?" 113 00:06:02,813 --> 00:06:04,363 Eu tenho aqui para vocês. 114 00:06:04,363 --> 00:06:09,568 Se o valor desse p-value, que é esse valor, o resultado final, for menor... 115 00:06:09,568 --> 00:06:10,836 Eu deixei aqui anotado, olhe. 116 00:06:10,836 --> 00:06:13,582 Menor que 0,05... 117 00:06:15,487 --> 00:06:18,777 Sim, esse é um valor menor que 0,05. 118 00:06:18,777 --> 00:06:22,147 Ele está mais distante aqui do ponto da casa. 119 00:06:22,147 --> 00:06:25,217 Quanto mais à direita ele está, mais distante, então ele é menor. 120 00:06:25,217 --> 00:06:26,752 Significa o quê? 121 00:06:26,752 --> 00:06:31,514 Que há realmente uma diferença significativa entre o antes e o depois. 122 00:06:32,524 --> 00:06:37,383 "Ah, então, Rafa, como ele é menor que 0,05, 123 00:06:37,383 --> 00:06:39,097 que é o que aconteceu aqui, 124 00:06:39,097 --> 00:06:42,935 quer dizer que realmente há uma diferença significativa 125 00:06:42,935 --> 00:06:45,468 entre a performance do antes e o depois?" 126 00:06:45,468 --> 00:06:46,338 Sim. 127 00:06:46,338 --> 00:06:49,775 Então faz sentido a análise que fizemos sem rodar o código. 128 00:06:49,775 --> 00:06:54,413 Então ele refletiu o resultado esperado para nós, tudo bem? 129 00:06:54,413 --> 00:06:56,250 E agora conseguimos interpretar. 130 00:06:56,250 --> 00:07:01,226 Nesse momento, o que você deve se preocupar é com esse resultado, ver esse retorno, 131 00:07:01,226 --> 00:07:04,017 se realmente há essa diferença. 132 00:07:04,017 --> 00:07:05,157 Então ele atendeu. 133 00:07:05,157 --> 00:07:08,358 Agora nós vamos para uma última parte. 134 00:07:08,358 --> 00:07:13,098 Agora nós iremos para a última parte, que é verificar não somente 135 00:07:13,098 --> 00:07:17,936 se teve realmente significância entre a performance do antes e o depois. 136 00:07:17,936 --> 00:07:19,504 Isso nós já confirmamos. 137 00:07:19,504 --> 00:07:21,682 Agora nós vamos ver a assertividade, 138 00:07:21,682 --> 00:07:25,644 o quanto está mais assertivo esse retorno que ele nos deu. 139 00:07:25,644 --> 00:07:30,315 Eu lembro a vocês que agora nós fizemos com uma base bem pequena de dados. 140 00:07:30,315 --> 00:07:35,587 Fizemos ali só em oito horas de análise, hora a hora, então oito dados antes e depois. 141 00:07:35,587 --> 00:07:37,189 Mas vocês sempre têm que lembrar 142 00:07:37,189 --> 00:07:40,358 que, quando estamos falando da ciência dos dados, 143 00:07:40,358 --> 00:07:44,296 pode ser algo muito maior, uma análise de 300 horas, 144 00:07:44,296 --> 00:07:47,766 300 dados antes e 300 depois. 145 00:07:47,766 --> 00:07:52,237 Então não tem como você fazer uma análise observando apenas os valores. 146 00:07:52,237 --> 00:07:54,272 Você tem que pedir para uma ferramenta, 147 00:07:54,272 --> 00:07:57,217 ou para uma linguagem como o R, para fazer isso por você. 148 00:07:57,217 --> 00:07:59,759 Vamos ver o quanto realmente está fazendo sentido, 149 00:07:59,759 --> 00:08:04,239 ou qual o nível de confiança desse retorno do que foi processado? 150 00:08:04,239 --> 00:08:05,291 Vem comigo aqui. 151 00:08:05,291 --> 00:08:06,718 Então nós vamos para a última parte. 152 00:08:06,718 --> 00:08:10,462 Como sempre, eu deixo aqui para vocês um breve resumo 153 00:08:10,462 --> 00:08:13,357 para que vocês depois consigam, e eu até recomendo, 154 00:08:13,357 --> 00:08:19,010 pausar ou voltar o vídeo para verificar essas observações que eu deixei para vocês. 155 00:08:19,698 --> 00:08:22,133 Aqui nós vamos fazer duas instruções. 156 00:08:22,133 --> 00:08:25,993 Nós temos aqui essa primeira, que nós vamos pedir para ele calcular, 157 00:08:25,993 --> 00:08:27,672 e depois para mostrar. 158 00:08:27,672 --> 00:08:28,539 Vamos lá? 159 00:08:28,539 --> 00:08:31,749 Deixe-me copiar aqui para baixo ou apertar mais alguns Enters 160 00:08:31,749 --> 00:08:34,746 para ficar bem dividido a tela para não confundir vocês. 161 00:08:34,746 --> 00:08:37,716 Eu falo que essa área que programamos 162 00:08:37,716 --> 00:08:41,319 tem que ser um pouco limpa para facilitar a interpretação. 163 00:08:41,319 --> 00:08:42,821 Agora vou colar aqui para vocês. 164 00:08:42,821 --> 00:08:43,878 Deixe-me apagar. 165 00:08:43,878 --> 00:08:46,558 Eu não vou executar sem antes explicar. 166 00:08:46,558 --> 00:08:47,859 O que nós vamos fazer então? 167 00:08:47,859 --> 00:08:51,496 Como sempre, criar uma variável para receber 168 00:08:51,496 --> 00:08:54,299 ou armazenar o valor dessa execução. 169 00:08:54,299 --> 00:08:57,569 E aqui nós temos "resultado_teste". 170 00:08:57,569 --> 00:08:59,787 "Que variável é essa, Rafa?" 171 00:08:59,787 --> 00:09:01,832 Eu vou voltar um pouquinho. 172 00:09:01,832 --> 00:09:06,847 "resultado_teste" é quando nós pedimos para ele fazer a comparação 173 00:09:06,847 --> 00:09:10,248 do antes e o depois, que saiu esse resultado. 174 00:09:10,248 --> 00:09:11,998 "Ah, legal, Rafa! Lembrei." 175 00:09:11,998 --> 00:09:15,098 Aí você fala: "Rafa, mais uma instrução você vai nos ensinar agora?" 176 00:09:15,098 --> 00:09:16,009 Sim. 177 00:09:16,009 --> 00:09:19,330 Essa aqui também é conhecida como cifrão ou dólar, 178 00:09:19,330 --> 00:09:24,229 como vocês quiserem falar aí na área da programação, "conf.int". 179 00:09:24,229 --> 00:09:26,731 "Rafa, esse aí eu ainda não vi com você." 180 00:09:26,731 --> 00:09:28,933 Tudo bem. Vamos dar uma olhadinha aqui. 181 00:09:28,933 --> 00:09:33,037 Como sempre, eu deixo anotado para vocês essas observações 182 00:09:33,037 --> 00:09:37,509 para facilitar depois na hora da interpretação. 183 00:09:37,509 --> 00:09:39,611 Não dei mancada novamente. Está aqui. 184 00:09:39,611 --> 00:09:43,648 Então, é aquele momento que, se eu fosse você, dava uma pausa no vídeo 185 00:09:43,648 --> 00:09:45,289 para deixar anotado no seu caderno. 186 00:09:45,289 --> 00:09:48,019 O que é o conf.int? 187 00:09:48,019 --> 00:09:53,012 Ele é usado para acessar o intervalo de confiança da nossa análise. 188 00:09:53,012 --> 00:09:55,148 Vamos descer de novo. 189 00:09:55,148 --> 00:10:01,566 Nós vamos querer que ele pegue aqui esse resultado que foi projetado anteriormente. 190 00:10:01,566 --> 00:10:07,181 E agora nós vamos projetar uma outra execução sobre ele, olha aqui. 191 00:10:07,181 --> 00:10:10,688 E ele vai gerar uma análise estatística, 192 00:10:10,688 --> 00:10:13,978 que é a nossa análise descritiva. 193 00:10:13,978 --> 00:10:19,217 Então eu vou pedir para ele fazer essa análise, armazenar o valor aqui, 194 00:10:19,217 --> 00:10:22,554 e aí depois, como sempre, nós iremos visualizá-lo. 195 00:10:22,554 --> 00:10:25,947 Aí você fala: "Rafa, essa visualização não está simples." 196 00:10:25,947 --> 00:10:29,422 Não. Eu vou trazer mais uma coisa aqui para a nossa conversa, 197 00:10:29,422 --> 00:10:31,262 para a nossa aula de agora. 198 00:10:31,262 --> 00:10:36,868 Isso é um texto, olhe: "Intervalo de confiança para a diferença média". 199 00:10:36,868 --> 00:10:39,171 E o que nós trouxemos aqui? 200 00:10:39,171 --> 00:10:45,421 "intervalo_confianca[1], "a", intervalo_confianca[2]". 201 00:10:45,421 --> 00:10:47,011 Vou apertar o Enter. 202 00:10:47,011 --> 00:10:49,781 Deixe-me mostrar o resultado e aí vocês vão entender. 203 00:10:49,781 --> 00:10:54,659 Então nós temos aqui um texto, um texto simples que saiu aqui. 204 00:10:54,659 --> 00:11:00,571 Esse é um intervalo de confiança, de quanto a quanto é aderência de confiança. 205 00:11:00,571 --> 00:11:02,293 Esse é um modelo confiável. 206 00:11:02,293 --> 00:11:07,231 Ele vai de -23.56... 207 00:11:07,231 --> 00:11:11,053 Aqui é de onde ele parte até onde ele vai. 208 00:11:11,053 --> 00:11:13,123 Até onde ele vai, é 2. 209 00:11:13,123 --> 00:11:17,709 Percebam que vocês criaram a variável com nome intervalo_confianca. 210 00:11:17,709 --> 00:11:20,378 De onde ele inicia, você coloca o 1, 211 00:11:20,378 --> 00:11:23,815 e dá onde ele termina até onde ele vai, é o 2. 212 00:11:23,815 --> 00:11:27,251 E esse é o intervalo de confiança desse modelo de análise 213 00:11:27,251 --> 00:11:30,017 que nós acabamos de processar. 214 00:11:30,017 --> 00:11:31,456 O que eu espero com isso? 215 00:11:31,456 --> 00:11:33,733 Eu espero que agora vocês tenham entendido. 216 00:11:33,733 --> 00:11:36,136 Com um case real? Não. 217 00:11:36,136 --> 00:11:38,096 Mas com certeza isso existe. 218 00:11:38,096 --> 00:11:41,699 Quando você trabalha numa empresa, numa fábrica de software, por exemplo, 219 00:11:41,699 --> 00:11:45,503 às vezes a performance da equipe não está muito boa no desenvolvimento 220 00:11:45,503 --> 00:11:48,940 e aí alguém vai fazer uma análise, implementa uma melhoria, 221 00:11:48,940 --> 00:11:53,010 e depois eles querem medir para saber se após a implementação da melhoria 222 00:11:53,010 --> 00:11:55,313 a performance da equipe aumentou. 223 00:11:55,313 --> 00:11:57,815 E aí, quem vai nos ajudar a fazer essa análise? 224 00:11:57,815 --> 00:11:59,884 A linguagem R com a parte de estatística.