Como realizar um teste f em python


Um teste F é usado para testar se duas variâncias populacionais são iguais. As hipóteses nula e alternativa do teste são as seguintes:

H 0 : σ 1 2 = σ 2 2 (as variações populacionais são iguais)

H 1 : σ 1 2 ≠ σ 2 2 (as variações populacionais não são iguais)

Este tutorial explica como realizar um teste F em Python.

Exemplo: teste F em Python

Suponha que tenhamos os dois exemplos a seguir:

 x = [18, 19, 22, 25, 27, 28, 41, 45, 51, 55]
y = [14, 15, 15, 17, 18, 22, 25, 25, 27, 34]

Podemos usar a seguinte função para realizar um teste F para determinar se as duas populações das quais essas amostras vêm têm variâncias iguais:

 import numpy as np

#define F-test function
def f_test(x, y):
    x = np.array(x)
    y = np.array(y)
    f = np.var(x, ddof=1)/np.var(y, ddof=1) #calculate F test statistic
    dfn = x.size-1 #define degrees of freedom numerator
    dfd = y.size-1 #define degrees of freedom denominator
    p = 1-scipy.stats.f.cdf(f, dfn, dfd) #find p-value of F test statistic
    return f,p

#perform F-test
f_test(x, y)

(4.38712, 0.019127)

A estatística do teste F é 4,38712 e o valor p correspondente é 0,019127 . Como esse valor p é inferior a 0,05, rejeitaríamos a hipótese nula. Isto significa que temos evidências suficientes para dizer que as duas variâncias populacionais não são iguais.

Comentários

  • A estatística do teste F é calculada como s 1 2 / s 2 2 . Por padrão, numpy.var calcula a variação da população. Para calcular a variância da amostra, precisamos especificar ddof=1 .
  • O valor p corresponde a 1 – cdf da distribuição F com graus de liberdade no numerador = n 1 -1 e graus de liberdade no denominador = n 2 -1.
  • Esta função só funciona quando a variância da primeira amostra é maior que a variância da segunda amostra. Portanto, defina ambos os exemplos para trabalhar com a função.

Quando usar o teste F

O teste F é normalmente usado para responder a uma das seguintes perguntas:

1. Duas amostras vêm de populações com variâncias iguais?

2. Um novo tratamento ou processo reduz a variabilidade de um tratamento ou processo atual?

Relacionado: Como realizar um teste F em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *