WEBVTT 00:00:08.055 --> 00:00:12.879 Agora nós iremos falar sobre intervalo de confiança e teste de hipóteses. 00:00:12.879 --> 00:00:15.691 Para entender isso na prática com a linguagem R, 00:00:15.691 --> 00:00:18.651 se vocês verificarem no documento que está disponível para vocês 00:00:18.651 --> 00:00:21.955 sobre essa explicação, trouxemos um case real. 00:00:21.955 --> 00:00:25.191 Imagine que nós estamos trabalhando em uma fábrica de software 00:00:25.191 --> 00:00:29.667 e você se depara com a situação de precisar melhorar a performance 00:00:29.667 --> 00:00:31.731 dessa equipe de programadores. 00:00:31.731 --> 00:00:36.469 Então, foi analisada essa possibilidade de implementar uma melhoria, 00:00:36.469 --> 00:00:40.874 foi descoberta uma ferramenta para ajudar, e aí precisamos medir 00:00:40.874 --> 00:00:45.011 como estava a performance antes da implementação dessa ferramenta 00:00:45.011 --> 00:00:48.212 e após a implementação dessa ferramenta. 00:00:48.212 --> 00:00:53.887 Para verificar se após a implementação da ferramenta ficou igual a performance, 00:00:53.887 --> 00:00:58.525 se ficou pior, ou se alcançou o objetivo, que era melhorar a performance, 00:00:58.525 --> 00:01:02.161 nós precisamos analisar esses dados, o antes e o depois. 00:01:02.161 --> 00:01:03.698 E é essa a nossa proposta agora. 00:01:03.698 --> 00:01:05.015 Vamos lá? 00:01:05.015 --> 00:01:08.234 Aqui eu trago para vocês um resumo. 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á? 00:01:13.773 --> 00:01:17.510 Então, caso você queira relembrar ou queira ter um resumo aí na sua mão, 00:01:17.510 --> 00:01:21.814 porque às vezes é um material um pouquinho extenso, eu deixo aqui para vocês, tá bom? 00:01:21.814 --> 00:01:26.452 E agora vamos precisar criar a nossa situação, o cenário antes e depois. 00:01:26.452 --> 00:01:30.723 Então nós temos aqui duas linhas que nós vamos executar. 00:01:30.723 --> 00:01:32.358 O que seria isso? 00:01:32.358 --> 00:01:35.161 Eu vou copiar... Vamos fazer juntos aqui, tá? 00:01:35.161 --> 00:01:36.162 Como funciona? 00:01:36.162 --> 00:01:40.099 Deixe-me só tirar aqui esse sinalzinho que nós copiamos. 00:01:40.099 --> 00:01:41.567 Aqui é um comentário: 00:01:41.567 --> 00:01:45.338 "Dados simulados, linhas de código por hora 00:01:45.338 --> 00:01:49.409 antes e depois da introdução dessa ferramenta", para melhorar a performance. 00:01:49.409 --> 00:01:52.252 E aí, para facilitar para vocês, vamos deixar alinhados aqui: 00:01:52.252 --> 00:01:57.550 hora um, hora dois, hora três, hora quatro, hora cinco, 00:01:57.550 --> 00:02:00.520 hora seis, hora sete, e hora oito. 00:02:00.520 --> 00:02:04.379 Se você olhar depois aqui, você já consegue ter essa certeza, né, 00:02:04.379 --> 00:02:06.225 que a performance está sendo melhor. 00:02:06.225 --> 00:02:11.064 Mas você não deve pensar que sempre vai ser um cenário pequeno como esse, 00:02:11.064 --> 00:02:14.967 de um intervalo que você consiga analisar apenas olhando para a tela. 00:02:14.967 --> 00:02:18.571 Pode ser uma base com uma análise de 300 horas. 00:02:18.571 --> 00:02:21.519 Então você precisa sim de uma linguagem como o R 00:02:21.519 --> 00:02:24.281 para fazer essa análise por você, tá? 00:02:24.281 --> 00:02:27.647 Nós já temos essa certeza, mas vamos pedir para o R fazer essa análise? 00:02:27.647 --> 00:02:30.149 Então primeiro nós vamos criar essas variáveis. 00:02:30.149 --> 00:02:32.644 Vamos imprimir só para visualizar, como sempre. 00:02:32.644 --> 00:02:37.001 Temos que ter uma garantia que os dados foram armazenados. 00:02:37.001 --> 00:02:41.608 "print(linhas_depois)". 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. 00:02:45.156 --> 00:02:47.466 Eu vou apertar alguns Enters aqui para facilitar, 00:02:47.466 --> 00:02:50.336 e ir para o meio da tela para visualizarmos. 00:02:50.336 --> 00:02:54.707 Então, legal, criamos a performance das horas antes e depois. 00:02:54.707 --> 00:02:58.644 Agora nós precisamos fazer essa comparação. 00:02:58.644 --> 00:03:01.472 Será que realmente performou mais? 00:03:01.472 --> 00:03:06.052 Aqui, novamente, eu deixo um script para vocês, alguns comentários. 00:03:06.052 --> 00:03:08.625 Agora nós vamos fazer esse teste de hipóteses 00:03:08.625 --> 00:03:11.324 para verificar se a performance aumentou, tá? 00:03:11.324 --> 00:03:14.694 E aqui, o que eu vou interpretar com vocês, 00:03:14.694 --> 00:03:17.964 eu deixei anotado aqui como comentário, um resumo, tá? 00:03:17.964 --> 00:03:21.500 "Então, qual a instrução, Rafa, que vai ser executada agora?". 00:03:21.500 --> 00:03:23.069 Olha quanto comentário. 00:03:23.069 --> 00:03:26.939 É para poder entender a saída da execução. 00:03:26.939 --> 00:03:29.831 "Como fica essa instrução, Rafa?" 00:03:29.831 --> 00:03:32.494 Vamos apertar mais uns Enters aqui. 00:03:32.494 --> 00:03:36.549 Agora aqui nós vamos pedir para comparar o antes e o depois. 00:03:36.549 --> 00:03:38.417 Como iremos fazer isso? 00:03:38.417 --> 00:03:41.887 Temos uma variável aqui chamada "resultado_test". 00:03:41.887 --> 00:03:45.096 Você pode colocar o nome que você quiser, como sempre. 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". 00:03:50.682 --> 00:03:54.366 Teste com "t" mudo porque é uma instrução em inglês do R. 00:03:54.366 --> 00:03:56.953 Se vocês buscarem aqui, eu deixei anotado 00:03:56.953 --> 00:04:01.240 para vocês poderem estudar depois ou fazer uma anotação, tá? 00:04:01.240 --> 00:04:03.709 O que é o t.teste? 00:04:03.709 --> 00:04:06.679 Ele é usado para comparar o antes e o depois. 00:04:06.679 --> 00:04:12.766 É ele que vai fazer essa análise dos dados de antes e depois, hora a hora. 00:04:12.766 --> 00:04:17.024 Aqui nós temos que fornecer o intervalo de valores. 00:04:17.024 --> 00:04:19.158 Está aqui. Se chama "linhas_antes". 00:04:19.158 --> 00:04:21.628 Qual é o outro intervalo de valores? 00:04:21.628 --> 00:04:22.928 É o "linhas_depois". 00:04:22.928 --> 00:04:26.799 E aqui, novamente, nós temos que fazer uma outra instrução para ele. 00:04:26.799 --> 00:04:29.939 Nessa instrução, nós vamos dizer assim: 00:04:29.939 --> 00:04:31.857 "Os dados têm relação?". 00:04:31.857 --> 00:04:34.607 Sim, é um dado que está relacionado diretamente. 00:04:34.607 --> 00:04:37.009 Eu tenho a informação hora a hora, 00:04:37.009 --> 00:04:39.578 eu só não sei se realmente aumentou essa performance. 00:04:39.578 --> 00:04:41.012 Olhando, nós sabemos, né? 00:04:41.012 --> 00:04:43.682 Mas supondo que ainda não sabemos. 00:04:43.682 --> 00:04:46.044 E aí você coloca true ou false. 00:04:46.044 --> 00:04:49.221 Você coloca true quando está relacionado diretamente. 00:04:49.221 --> 00:04:53.926 Às vezes você pode querer comparar coisas que não estão relacionadas diretamente. 00:04:53.926 --> 00:04:55.631 Aí você colocaria o false. 00:04:55.631 --> 00:04:57.671 Mas não é o nosso caso aqui. 00:04:57.671 --> 00:04:59.531 Eu vou apertar o Enter. 00:04:59.531 --> 00:05:02.034 Aí você fala: "Poxa, Rafa, mas e agora? 00:05:02.034 --> 00:05:03.669 Cadê o resultado?". 00:05:03.669 --> 00:05:07.622 Tudo o que nós iremos analisar agora está aqui. 00:05:07.622 --> 00:05:09.640 Agora você fala: "Rafa, então vamos imprimir?". 00:05:09.640 --> 00:05:11.210 Sim, vamos imprimir. 00:05:11.210 --> 00:05:12.645 Como fazemos aqui? 00:05:12.645 --> 00:05:14.418 Imprimir, você já sabe, né? 00:05:14.418 --> 00:05:17.618 O valor dessa comparação foi armazenado aqui dentro. 00:05:17.618 --> 00:05:18.396 "print"... 00:05:19.626 --> 00:05:20.686 "resultado"... 00:05:20.686 --> 00:05:25.272 Aquela velha história, né, cuidado para digitar corretamente o nome da variável. 00:05:25.272 --> 00:05:28.120 E aí nós temos o resultado aqui. 00:05:28.120 --> 00:05:32.531 Você vai falar: "Poxa Rafa, parte do resultado está escrito em inglês 00:05:32.531 --> 00:05:35.027 e tem alguns números da estatística". 00:05:35.027 --> 00:05:37.000 Isso. Agora nós vamos comparar. 00:05:37.000 --> 00:05:38.270 Eu vou explicar para vocês... 00:05:38.270 --> 00:05:39.819 Eu vou subir um pouquinho. 00:05:39.819 --> 00:05:43.901 Novamente, você pode dar uma pausa, fazer a sua anotação nesse momento. 00:05:43.901 --> 00:05:48.339 Eu acho bem rica essa parte das anotações, desses comentários. 00:05:48.339 --> 00:05:52.116 É como programar, sempre deixar o código comentado para você entender. 00:05:52.116 --> 00:05:56.550 O que nós precisamos focar nesse retorno dessa análise? 00:05:56.550 --> 00:06:00.959 Quanto de valor retornado nesse p-value. 00:06:00.959 --> 00:06:02.813 "O que seria esse p-value, Rafa?" 00:06:02.813 --> 00:06:04.363 Eu tenho aqui para vocês. 00:06:04.363 --> 00:06:09.568 Se o valor desse p-value, que é esse valor, o resultado final, for menor... 00:06:09.568 --> 00:06:10.836 Eu deixei aqui anotado, olhe. 00:06:10.836 --> 00:06:13.582 Menor que 0,05... 00:06:15.487 --> 00:06:18.777 Sim, esse é um valor menor que 0,05. 00:06:18.777 --> 00:06:22.147 Ele está mais distante aqui do ponto da casa. 00:06:22.147 --> 00:06:25.217 Quanto mais à direita ele está, mais distante, então ele é menor. 00:06:25.217 --> 00:06:26.752 Significa o quê? 00:06:26.752 --> 00:06:31.514 Que há realmente uma diferença significativa entre o antes e o depois. 00:06:32.524 --> 00:06:37.383 "Ah, então, Rafa, como ele é menor que 0,05, 00:06:37.383 --> 00:06:39.097 que é o que aconteceu aqui, 00:06:39.097 --> 00:06:42.935 quer dizer que realmente há uma diferença significativa 00:06:42.935 --> 00:06:45.468 entre a performance do antes e o depois?" 00:06:45.468 --> 00:06:46.338 Sim. 00:06:46.338 --> 00:06:49.775 Então faz sentido a análise que fizemos sem rodar o código. 00:06:49.775 --> 00:06:54.413 Então ele refletiu o resultado esperado para nós, tudo bem? 00:06:54.413 --> 00:06:56.250 E agora conseguimos interpretar. 00:06:56.250 --> 00:07:01.226 Nesse momento, o que você deve se preocupar é com esse resultado, ver esse retorno, 00:07:01.226 --> 00:07:04.017 se realmente há essa diferença. 00:07:04.017 --> 00:07:05.157 Então ele atendeu. 00:07:05.157 --> 00:07:08.358 Agora nós vamos para uma última parte. 00:07:08.358 --> 00:07:13.098 Agora nós iremos para a última parte, que é verificar não somente 00:07:13.098 --> 00:07:17.936 se teve realmente significância entre a performance do antes e o depois. 00:07:17.936 --> 00:07:19.504 Isso nós já confirmamos. 00:07:19.504 --> 00:07:21.682 Agora nós vamos ver a assertividade, 00:07:21.682 --> 00:07:25.644 o quanto está mais assertivo esse retorno que ele nos deu. 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. 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. 00:07:35.587 --> 00:07:37.189 Mas vocês sempre têm que lembrar 00:07:37.189 --> 00:07:40.358 que, quando estamos falando da ciência dos dados, 00:07:40.358 --> 00:07:44.296 pode ser algo muito maior, uma análise de 300 horas, 00:07:44.296 --> 00:07:47.766 300 dados antes e 300 depois. 00:07:47.766 --> 00:07:52.237 Então não tem como você fazer uma análise observando apenas os valores. 00:07:52.237 --> 00:07:54.272 Você tem que pedir para uma ferramenta, 00:07:54.272 --> 00:07:57.217 ou para uma linguagem como o R, para fazer isso por você. 00:07:57.217 --> 00:07:59.759 Vamos ver o quanto realmente está fazendo sentido, 00:07:59.759 --> 00:08:04.239 ou qual o nível de confiança desse retorno do que foi processado? 00:08:04.239 --> 00:08:05.291 Vem comigo aqui. 00:08:05.291 --> 00:08:06.718 Então nós vamos para a última parte. 00:08:06.718 --> 00:08:10.462 Como sempre, eu deixo aqui para vocês um breve resumo 00:08:10.462 --> 00:08:13.357 para que vocês depois consigam, e eu até recomendo, 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. 00:08:19.698 --> 00:08:22.133 Aqui nós vamos fazer duas instruções. 00:08:22.133 --> 00:08:25.993 Nós temos aqui essa primeira, que nós vamos pedir para ele calcular, 00:08:25.993 --> 00:08:27.672 e depois para mostrar. 00:08:27.672 --> 00:08:28.539 Vamos lá? 00:08:28.539 --> 00:08:31.749 Deixe-me copiar aqui para baixo ou apertar mais alguns Enters 00:08:31.749 --> 00:08:34.746 para ficar bem dividido a tela para não confundir vocês. 00:08:34.746 --> 00:08:37.716 Eu falo que essa área que programamos 00:08:37.716 --> 00:08:41.319 tem que ser um pouco limpa para facilitar a interpretação. 00:08:41.319 --> 00:08:42.821 Agora vou colar aqui para vocês. 00:08:42.821 --> 00:08:43.878 Deixe-me apagar. 00:08:43.878 --> 00:08:46.558 Eu não vou executar sem antes explicar. 00:08:46.558 --> 00:08:47.859 O que nós vamos fazer então? 00:08:47.859 --> 00:08:51.496 Como sempre, criar uma variável para receber 00:08:51.496 --> 00:08:54.299 ou armazenar o valor dessa execução. 00:08:54.299 --> 00:08:57.569 E aqui nós temos "resultado_teste". 00:08:57.569 --> 00:08:59.787 "Que variável é essa, Rafa?" 00:08:59.787 --> 00:09:01.832 Eu vou voltar um pouquinho. 00:09:01.832 --> 00:09:06.847 "resultado_teste" é quando nós pedimos para ele fazer a comparação 00:09:06.847 --> 00:09:10.248 do antes e o depois, que saiu esse resultado. 00:09:10.248 --> 00:09:11.998 "Ah, legal, Rafa! Lembrei." 00:09:11.998 --> 00:09:15.098 Aí você fala: "Rafa, mais uma instrução você vai nos ensinar agora?" 00:09:15.098 --> 00:09:16.009 Sim. 00:09:16.009 --> 00:09:19.330 Essa aqui também é conhecida como cifrão ou dólar, 00:09:19.330 --> 00:09:24.229 como vocês quiserem falar aí na área da programação, "conf.int". 00:09:24.229 --> 00:09:26.731 "Rafa, esse aí eu ainda não vi com você." 00:09:26.731 --> 00:09:28.933 Tudo bem. Vamos dar uma olhadinha aqui. 00:09:28.933 --> 00:09:33.037 Como sempre, eu deixo anotado para vocês essas observações 00:09:33.037 --> 00:09:37.509 para facilitar depois na hora da interpretação. 00:09:37.509 --> 00:09:39.611 Não dei mancada novamente. Está aqui. 00:09:39.611 --> 00:09:43.648 Então, é aquele momento que, se eu fosse você, dava uma pausa no vídeo 00:09:43.648 --> 00:09:45.289 para deixar anotado no seu caderno. 00:09:45.289 --> 00:09:48.019 O que é o conf.int? 00:09:48.019 --> 00:09:53.012 Ele é usado para acessar o intervalo de confiança da nossa análise. 00:09:53.012 --> 00:09:55.148 Vamos descer de novo. 00:09:55.148 --> 00:10:01.566 Nós vamos querer que ele pegue aqui esse resultado que foi projetado anteriormente. 00:10:01.566 --> 00:10:07.181 E agora nós vamos projetar uma outra execução sobre ele, olha aqui. 00:10:07.181 --> 00:10:10.688 E ele vai gerar uma análise estatística, 00:10:10.688 --> 00:10:13.978 que é a nossa análise descritiva. 00:10:13.978 --> 00:10:19.217 Então eu vou pedir para ele fazer essa análise, armazenar o valor aqui, 00:10:19.217 --> 00:10:22.554 e aí depois, como sempre, nós iremos visualizá-lo. 00:10:22.554 --> 00:10:25.947 Aí você fala: "Rafa, essa visualização não está simples." 00:10:25.947 --> 00:10:29.422 Não. Eu vou trazer mais uma coisa aqui para a nossa conversa, 00:10:29.422 --> 00:10:31.262 para a nossa aula de agora. 00:10:31.262 --> 00:10:36.868 Isso é um texto, olhe: "Intervalo de confiança para a diferença média". 00:10:36.868 --> 00:10:39.171 E o que nós trouxemos aqui? 00:10:39.171 --> 00:10:45.421 "intervalo_confianca[1], "a", intervalo_confianca[2]". 00:10:45.421 --> 00:10:47.011 Vou apertar o Enter. 00:10:47.011 --> 00:10:49.781 Deixe-me mostrar o resultado e aí vocês vão entender. 00:10:49.781 --> 00:10:54.659 Então nós temos aqui um texto, um texto simples que saiu aqui. 00:10:54.659 --> 00:11:00.571 Esse é um intervalo de confiança, de quanto a quanto é aderência de confiança. 00:11:00.571 --> 00:11:02.293 Esse é um modelo confiável. 00:11:02.293 --> 00:11:07.231 Ele vai de -23.56... 00:11:07.231 --> 00:11:11.053 Aqui é de onde ele parte até onde ele vai. 00:11:11.053 --> 00:11:13.123 Até onde ele vai, é 2. 00:11:13.123 --> 00:11:17.709 Percebam que vocês criaram a variável com nome intervalo_confianca. 00:11:17.709 --> 00:11:20.378 De onde ele inicia, você coloca o 1, 00:11:20.378 --> 00:11:23.815 e dá onde ele termina até onde ele vai, é o 2. 00:11:23.815 --> 00:11:27.251 E esse é o intervalo de confiança desse modelo de análise 00:11:27.251 --> 00:11:30.017 que nós acabamos de processar. 00:11:30.017 --> 00:11:31.456 O que eu espero com isso? 00:11:31.456 --> 00:11:33.733 Eu espero que agora vocês tenham entendido. 00:11:33.733 --> 00:11:36.136 Com um case real? Não. 00:11:36.136 --> 00:11:38.096 Mas com certeza isso existe. 00:11:38.096 --> 00:11:41.699 Quando você trabalha numa empresa, numa fábrica de software, por exemplo, 00:11:41.699 --> 00:11:45.503 às vezes a performance da equipe não está muito boa no desenvolvimento 00:11:45.503 --> 00:11:48.940 e aí alguém vai fazer uma análise, implementa uma melhoria, 00:11:48.940 --> 00:11:53.010 e depois eles querem medir para saber se após a implementação da melhoria 00:11:53.010 --> 00:11:55.313 a performance da equipe aumentou. 00:11:55.313 --> 00:11:57.815 E aí, quem vai nos ajudar a fazer essa análise? 00:11:57.815 --> 00:11:59.884 A linguagem R com a parte de estatística.