Alura > Cursos de Data Science > Cursos de Estatística > Conteúdos de Estatística > Primeiras aulas do curso Estatística com R: testes de hipóteses

Estatística com R: testes de hipóteses

Teste de Normalidade e as etapas de um teste - Introdução

Oi, pessoal. Sejam bem-vindos a mais um treinamento da Alura. Meu nome é Rodrigo e eu vou continuar sendo seu instrutor neste curso de estatística, que já está na sua terceira parte. É a parte três porque viemos de outros dois cursos de estatística. No primeiro falamos sobre tipos de variáveis, estatística descritivas e coisas mais básicas para introduzir o assunto.

No segundo curso avançamos mais e falamos sobre distribuições de probabilidade, cálculo de probabilidade, estimação, amostragem. Aqui vamos focar em testes de hipóteses, porque já temos uma boa bagagem para introduzir esse assunto, que é uma forma de aplicação de boa parte do que vimos nos outros cursos.

Logo no começo já vamos realizar um teste de hipótese, conhecido como teste de normalidade, para podermos visualizar de forma rápida o porquê de se realizar testes e onde queremos chegar com isso.

Depois vamos vendo as etapas de um teste, a formulação de hipóteses, as formas de identificar as áreas de rejeição e aceitação das hipóteses do teste, cálculo das estatísticas de comparação, e todos esses detalhes que envolvem teste de hipótese.

Nosso notebook de aula vem cheio de informações, conceitos, cheio de figuras, para facilitar o entendimento de cada tipo de teste que vamos conhecer. Tudo usando como ferramenta a linguagem em R para acompanhar o que viemos fazendo nos outros treinamentos.

Já no próximo vídeo vamos preparar nosso ambiente de trabalho para começar o curso.

Teste de Normalidade e as etapas de um teste - Ambiente e conhecendo o dataset

Antes de iniciar nosso treinamento, precisamos configurar o ambiente para desenvolver nosso projeto. Escolhi como ferramenta o Microsoft azure notebooks. É um dos serviços de nuvem da Microsoft edge que oferece acesso online gratuito para podermos desenvolver e rodar notebooks em qualquer navegador, oferecendo suporte a mais de uma linguagem também. Inclusive, o R, que é a que vamos usar no nosso treinamento.

Já deixei a página do Google aberta, clicando no primeiro link ao procurar no Google. Ele vai te direcionar para uma janela em que você precisa de uma conta da Microsoft para criar os projetos, os notebooks que vamos usar na nossa aula. Cria a conta, faz seu login, e ele vai te direcionar para outra janela, com seu ambiente e projetos.

Se você fez os cursos anteriores, você já tem esse projeto criado. Caso contrário, vou mostrar como fazer isso. Para criar um novo projeto, você clica em my projects. Ele vai abrir uma área com os seus projetos. Se você não tiver nenhum, você vai clicar nesse botão, new project, vou criar um de exemplo. Ele já vai criar um project id para nós.

Clico em create e ele vai criar nosso projeto. Já vai abrir. Se você quiser, pode adicionar um arquivo. Clicando no mais você cria um notebook. Ele vai perguntar o nome que você quer e a linguagem que você vai usar. Vou marcar o R. Clico em next e ele cria o notebook.

Vou excluir esses exemplos que eu criei e clicar na pasta, em folder. Ele vai pedir para colocar o nome. Vou chamar de parte 3. Vou entrar nessa pasta e vou fazer upload dos arquivos para o projeto. Deixei aí para você fazer o download, salva no computador e faça o upload deles.

Quando tudo estiver verde, você clica em done e temos nossos arquivos carregados. Para acessar esse primeiro e iniciar o treinamento, é só clicar que ele vai abrir. É um processo que pode demorar um pouco.

Como de costume, temos as informações do dataset que estamos utilizando desde o primeiro curso. É um dataset que vem da pesquisa nacional por amostras de domicílios em 2015, com as variáveis que eu selecionei, renda, altura, que eu elaborei para se distribuir como uma normal, UF, sexo, anos de estudo e cor.

Depois temos observações de coisas que realizei em cima do dataset. Foram eliminados registros onde a venda era inválida ou missing, e foram considerados somente os registros das pessoas de referência de cada domicílio.

Inicialmente já deixei algumas configurações prontas. O library é como um import para você carregar o pacote para utilizar as funcionalidades desse pacote no seu projeto. Estou carregando dois projetos, o dplyr, com algumas funções que vamos usar, e o ggplot para plotar gráficos.

Rodo essa célula. O options é uma configuração para o tamanho das imagens que vou plotar. Coloquei largura 7 e altura 4. Essa configuração está feita. Quero mostrar ainda como fazemos o carregamento dos dados em um dataframe para utilizarmos no nosso projeto.

Vou colocar dentro de uma variável, que vai ser um dataframe, e vou chamar a função read.csv. Como ele está na raiz do projeto, chamo o nome. Não preciso do endereço. Eu quero visualizar só os dados iniciar, então uso o head, passando o dataframe. Usamos nrow para ver o tamanho do dataframe.

Era isso que eu queria mostrar. Estamos com o ambiente criado. No próximo vídeo começamos a fazer testes de hipótese. Vamos fazer um teste de normalidade para ver como tudo isso funciona.

Teste de Normalidade e as etapas de um teste - Teste de normalidade

Vamos começar a trabalhar com testes de hipótese. No curso anterior começamos a mexer com inferência estatística. Isso é a continuidade do assunto. Lá vimos estimação, estimação pontual, aprendemos a calcular intervalos de confiança, tamanhos de amostra. Aprendemos a obter as probabilidades de uma distribuição normal, o que é nível de confiança, significância. Tudo que aprendemos no curso anterior iremos aplicar agora dentro do assunto testes de hipótese.

Teste de hipótese é uma regra de decisão que nos ajuda a avaliar hipóteses feitas pelos parâmetros populacionais e aceitar ou rejeitar essas hipóteses tendo como base uma amostra.

O legal aqui é que podemos testar várias coisas, como adequação do processo de produção, validade de informações como o salário dos homens é maior que os das mulheres. Neste curso vamos resolver problemas sobre essas duas afirmações que eu dei.

O primeiro teste que vamos ver é o de normalidade. Vamos realizar do começo ao fim utilizando uma funcionalidade do R, para ter um primeiro contato com o assunto, uma visão geral do que vamos aprender. Nos próximos vídeos vamos conhecer o passo a passo de forma detalhada. Não se preocupe em entender tudo neste vídeo.

Você já deve ter percebido do curso anterior que muitos problemas diziam que determinado conjunto de dados se distribui aproximadamente como uma normal. Até agora, a única forma que conhecemos para tirar essa conclusão é a partir de uma análise gráfica. Plotávamos a distribuição de frequência de determinada variável e verificávamos sua forma. Se fosse um sino, simétrico, assumíamos uma distribuição normal.

Mas será que não existe uma forma de fazer isso com mais segurança? Que nos passe segurança maior na conclusão? Um teste em que tenho um valor estatístico com determinado nível de confiança que posso aceitar ou rejeitar a hipótese de determinada variável se distribuir como normal?

Existe e é esse teste que vamos realizar agora em duas variáveis do dataset. Vamos testar as normalidades de renda e altura. Lembrando que altura eu mesmo produzi, então eu sei que ela é normalmente distribuída, o que vai nos ajudar a entender como o teste funciona.

Existe mais de um teste de normalidade. O que vamos utilizar aqui é o de Shapiro-Wilk. Ele já vem implementado, então é só passar os parâmetros corretos e avaliar os resultados. Deixei um link para a documentação sobre como o teste foi construído e quais parâmetros devemos fornecer.

Um conselho que eu dou é que você sempre verifique a documentação dos testes para entender como ele funciona. Esse que vamos usar agora tem como h0 que a amostra é proveniente de uma distribuição normal. É essa hipótese que tenho que testar e de acordo com o resultado vou aceitar ou rejeitar.

A primeira coisa que tenho que definir é o nível de significância do teste. Vai de 0.05. 5% de significância. Definido isso, vamos fazer a análise gráfica, para verificar que a variável renda provavelmente não se distribui como normal. Ela é bem assimétrica, desce muito rápido, nem vemos a barrinha. Então, visualmente já tiramos uma conclusão, mas vamos pegar uma conclusão com segurança maior.

Esse critério que eu deixei de rejeitar h0 se o p valor for menor ou igual a alpha, que é a significância. Vamos começar selecionando uma amostra do dataset para analisar. Vou usar set.seed, para ter sempre o mesmo resultado. Vou colocar o número 2811. Provavelmente você vai ter a mesma amostra que eu assim.

Vou usar a função sample_n passando o dataset e o tamanho da amostra que eu quero. Tenho um arquivo com as informações que me interessam. Vamos realizar nosso teste. Vou jogar o resultado dentro de uma variável, chamando Shapiro.test, passando a amostra que acabei de criar, com a variável que quero testar, que é renda.

A saída do teste tem a estatística de teste e o meu p valor, que é um valor bem pequeno, próximo de zero. Para visualizar, podemos pegar essa variável resultado e chamar dentro dela o p.value. É mesmo bem pequeno. Vou jogar isso dentro de uma variável p_valor, porque vou usar mais na frente.

Outra coisa que posso obter é a estatística de teste. Lembrando que isso está rodando na nuvem, por isso pode demorar um pouco. Para obter a estatística uso resultado$estatistic. Ele já vai dar mais casas decimais.

Temos que testar nossa hipótese. Se eu rodar e ele responder que é verdadeiro, então preciso rejeitar h0. Para a variável renda, concluo que ela não se distribui como uma normal.

Vamos fazer isso para uma variável que a gente sabe que se distribui como normal. Deixei para plotar os dados da altura. Temos o formato de sino. Para testar isso, vamos puxar tudo que fizemos lá em cima. Mantemos a amostra, trocando ao invés de renda para altura. Observe a diferença. O p valor é bem maior. Anteriormente era quase zero.

Nesse caso, o p valor não é menor ou igual significância. Se é falso, eu não posso rejeitar. Só rejeito se for verdadeiro. Ou seja, ao nível de significância de 5%, ou confiança de 95%, não posso rejeitar a hipótese de que os dados são provenientes de uma distribuição normal. Esse é o objetivo do teste, bem fácil de aplicar. Nós vamos entender tudo isso, não se preocupe. Esse é só um tipo de teste. Iremos ver outros a partir do próximo vídeo.

Sobre o curso Estatística com R: testes de hipóteses

O curso Estatística com R: testes de hipóteses possui 160 minutos de vídeos, em um total de 74 atividades. Gostou? Conheça nossos outros cursos de Estatística em Data Science, ou leia nossos artigos de Data Science.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Estatística acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas