Epidemiologia: o teste de qui-quadrado

As Indústrias Médicas da Edabit estão desenvolvendo um novo medicamento, o Edabitin™, que (esperamos) aumentará as habilidades de programação dos pacientes. Vários testes são realizados com diferentes programadores: durante uma semana, alguns recebem o Edabitin™, enquanto outros recebem apenas pó Tutorial genérico. Depois de uma semana, registra-se, para os dois grupos de controle, quantos programadores conseguem resolver dez exercícios de nível médio em meia hora e quantos levam duas horas.

Você deve determinar se o Edabitin™ exerce influência estatística sobre o desempenho por meio de um teste de qui-quadrado.

Observe a tabela abaixo:

Tratamento2 horas½ hora
Edabitin207282
Tutorial231242

A primeira coisa a fazer é calcular a população total de programadores envolvidos no teste; portanto, some os valores das quatro células. Depois, calcule os totais das linhas: o total de tratamentos com Edabitin™ e o total de tratamentos Tutorial. Calcule também os totais das colunas: programadores normais que passaram 2 horas resolvendo os exercícios e programadores melhorados que passaram apenas 1/2 hora. A nova tabela fica assim:

Tratamento2 horas½ horaTotal da linha
Edabitin207282489
Tutorial231242473
Total da col.438524962

O valor no canto inferior direito é o total geral. Agora, cada célula deve ser transformada no resultado esperado correspondente: multiplique o total da linha pelo total da coluna (cruzando-os) e divida o resultado pelo total geral. A tabela fica assim:

Tratamento2 horas½ horaTotal da linha
Edabitin(489 * 438) / 962(489 * 524) / 962489
Tutorial(473 * 438) / 962(473 * 524) / 962473
Total da col.438524962

Agora, para cada célula, subtraia o valor esperado obtido do valor original da célula, eleve o resultado ao quadrado e divida-o pelo valor esperado. A tabela fica assim:

Tratamento2 horas½ hora
Edabitin(207 - 222.64)² / 222.64(282 - 266.36)² / 266.36
Tutorial(231 - 215.36)² / 215.36(242 - 257.64)² / 257.64

Por fim, você pode somar todos os valores das células e obter o valor do qui-quadrado (χ²), arredondado para o décimo mais próximo:

χ² = 1.099 + 0.918 + 1.136 + 0.949 = 4.1

Para determinar se o efeito do Edabitin é estatisticamente significativo, compare o valor do qui-quadrado com dois valores alfa diferentes (ou níveis de confiança): alpha1 e alpha5.

Se o valor do qui-quadrado for maior que 6.635 (alpha1), haverá 1% de possibilidade de que o efeito do Edabitin™ seja um falso positivo, mas 99% de possibilidade de que ele realmente funcione; se for menor que alpha1, mas maior que 3.841 (alpha5), as possibilidades de uma melhora efetiva serão de 95% (com 5% de possibilidade de falsos positivos). Se o valor do qui-quadrado for menor que alpha5, o efeito do Edabitin™ não será estatisticamente relevante para o desempenho dos programadores.

Para a tabela de exemplo acima, o valor do qui-quadrado é menor que alpha1 e maior que alpha5; portanto, podemos afirmar que: as melhorias nos programadores tratados com Edabitin™ são causadas em 95% pela eficácia do medicamento.

Dado um dicionário data que contém a tabela com os resultados a serem analisados ("E" é a linha do Edabitin e "T" é a linha do Tutorial, com as duas colunas representando os casos registrados de "passaram-se 2 horas" e "passou-se 1/2 hora", como nas tabelas acima), implemente uma função que retorne um array contendo dois elementos:

  • O valor do qui-quadrado, arredondado para o décimo mais próximo.
  • Uma string com a análise final:
    • "Edabitin effectiveness = 99%" se o valor do qui-quadrado for maior que alpha1.
    • "Edabitin effectiveness = 95%" se o valor do qui-quadrado for menor que alpha1 e maior que alpha5.
    • "Edabitin is ininfluent" se o valor do qui-quadrado for menor que alpha5.

Exemplos

chi_squared_test({"E": [207, 282], "T": [231, 242]}) ➞ [4.1, "Edabitin effectiveness = 95%"]

chi_squared_test({"E": [100, 50], "T": [100, 20]}) ➞ [9.6, "Edabitin effectiveness = 99%"]

chi_squared_test({"E": [90, 50], "T": [80, 40]}) ➞ [0.2, "Edabitin is ininfluent"]

Observações

  • Arredonde apenas o resultado final para o décimo mais próximo; os valores dos exemplos estão arredondados para facilitar a leitura.
  • Além da epidemiologia, o teste de qui-quadrado também é usado na agricultura, em pesquisas, na economia e em casos nos quais estão implícitos dados "categóricos" em vez de dados "numéricos". Esse teste é usado para casos registrados de médios a grandes; para números menores, outros testes são usados. Os valores alpha1 e alpha5 são constantes relacionadas às tabelas específicas deste exercício, com duas linhas e duas colunas (resultados de 1 grau de liberdade); portanto, mudam para tabelas de tamanhos diferentes. Para mais informações, consulte os links específicos na aba Recursos.
  • Nenhum programador foi ferido durante a criação deste desafio!