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