Pular para o conteúdo principal

Teste de hipótese em machine learning

Neste tutorial, você vai conhecer os fundamentos do teste de hipótese e sua relevância em machine learning.
· 4 min leer

Explore com IA

O teste de hipótese é o processo de tirar inferências ou chegar a conclusões sobre a população ou um conjunto de dados como um todo a partir de testes estatísticos feitos em uma amostra. As mesmas inferências para diferentes modelos de machine learning podem ser feitas usando o teste t (T-test), que vou abordar neste tutorial.

Para chegar a inferências, precisamos estabelecer algumas suposições que dão origem a dois termos usados no teste de hipótese.

  • Hipótese nula: é a suposição de que não há padrão anômalo — isto é, que os dados seguem o comportamento esperado conforme a hipótese assumida.

  • Hipótese alternativa: contrária à hipótese nula, indica que a observação é resultado de um efeito real.

Valor de p

Também pode ser entendido como a evidência ou o nível de significância em relação à hipótese nula — ou, em algoritmos de machine learning, a relevância dos preditores em relação ao alvo.

Geralmente, escolhemos um nível de significância de 5%, mas em alguns casos isso pode ser discutido. Se você tiver um forte conhecimento prévio sobre o funcionamento dos seus dados, pode ajustar o nível de significância.

Por outro lado, se o valor de p for menor que 0,05 em um modelo de machine learning para uma variável independente, então essa variável é considerada relevante — ou seja, apresenta um comportamento heterogêneo em relação ao alvo, o que é útil e pode ser aprendido pelos algoritmos.

As etapas do teste de hipótese são as seguintes:

  • Assuma uma hipótese nula — em algoritmos de machine learning, normalmente consideramos que não há relação anômala entre o alvo e a variável independente.

  • Colete uma amostra

  • Calcule a estatística de teste

  • Decida se aceita ou rejeita a hipótese nula

Calculando a estatística de teste t

Para calcular a estatística t, vamos criar um cenário.

Suponha que exista uma empresa que fabrica contêineres e afirma que cada contêiner pesa 1000 kg — nem menos, nem mais. Essa afirmação parece duvidosa, então seguimos para a coleta de dados e criação de uma amostra.

Após coletar uma amostra de 30 contêineres, descobrimos que o peso médio é 990 kg, com desvio padrão de 12,5 kg.

Calculando a estatística de teste:

T = (Média - Valor declarado) / (Desvio padrão / Tamanho da amostra^(1/2))

Substituindo os valores, obtemos -4,3818.

Agora calculamos o valor crítico de t para significância de 0,05 e o respectivo grau de liberdade.

Observação: Grau de liberdade = Tamanho da amostra - 1

Pela tabela t, o valor será -1,699.

Após a comparação, vemos que a estatística obtida é menor do que a estatística no nível de significância desejado. Logo, podemos rejeitar a afirmação feita.

Você pode calcular o valor crítico de t usando a função stats.t.ppf() da classe stats da biblioteca scipy.

Erros

Como o teste de hipótese é realizado sobre uma amostra de dados, e não sobre toda a população (muitas vezes por limitação de recursos e dados), as inferências feitas podem levar a erros, que são classificados em duas categorias:

  • Erro do tipo I: rejeitamos a hipótese nula quando ela é verdadeira.

  • Erro do tipo II: aceitamos a hipótese nula quando ela é falsa.

Outras abordagens

Há várias formas de testar hipóteses entre dois modelos, como treinar dois modelos com as mesmas features: um com todas as variáveis e outro com uma a menos. Assim, testamos a significância de uma feature específica. Porém, a interdependência entre variáveis pode afetar métodos tão simples.

Em problemas de regressão, geralmente seguimos a regra do valor de p: removemos as features que violam o nível de significância, melhorando o modelo de forma iterativa.

Existem abordagens específicas em cada algoritmo para testar hipóteses sobre diferentes features.

Se você quiser aprender mais sobre os fundamentos de inferência bayesiana, faça o curso Fundamentals of Bayesian Data Analysis in R da DataCamp.

Confira também nosso tutorial de Machine Learning Basics.

Temas

Relacionado

Tutorial

Teste de hipóteses facilitado