Scipy Mann Whitney

Scipy Mann Whitney
A linguagem de programação Python é comumente usada em ciências e análise de dados. Os algoritmos simples, úteis, livres e fáceis de entender da linguagem de programação Python nos permitem realizar uma análise aprofundada de dados. Os algoritmos usados ​​nas ciências dos dados também são muito simples de aprender e implementar. Além disso, a linguagem de programação Python também oferece vários pacotes, funções e métodos úteis para executar os cálculos matemáticos e estatísticos. Este artigo está estruturado para explorar a função de teste de Mann Whitney U em Python.

Mann Whitney U Teste

É um teste de hipótese estatística não paramétrica que é usada para comparar duas amostras de tamanho pequeno e ter distribuição de amostra não normal. É considerado igual ao teste t de duas amostras, onde duas amostras são escolhidas aleatoriamente e determinadas se elas pertencem à mesma população ou não. Como é um teste não paramétrico, nenhuma suposição é feita para a distribuição da amostra. No entanto, algumas presunções como escolher aleatoriamente as amostras, independência mútua dentro das amostras, medições de escala ordinal, etc. são feitos.

Python Scipy Mann Whitney Função

A linguagem de programação Python tem uma biblioteca incrível para executar qualquer tipo de funções matemáticas e estatísticas automaticamente e rapidamente. Essa biblioteca é ccendente, bem conhecida entre todos os desenvolvedores experientes e iniciantes. Ele fornece uma função de Mannwhitneyu () para executar o teste de Mann Whitney U. A sintaxe da função mannwhitneyu () é a seguinte:

Os parâmetros da função mannwhitneyu () são usados ​​para definir os dados e os recursos aplicados aos dados. Os parâmetros "x" e "y" são usados ​​para passar as duas matrizes de amostra multidimensional representando os dados da amostra. O parâmetro "alternativo" especifica a hipótese alternativa para as amostras - menos, maior ou dois lados. O parâmetro "use_continuity" é usado para declarar se deve aplicar a correção de continuidade ou não. O parâmetro "eixo" define o eixo no qual o cálculo estatístico precisa executar. O parâmetro "nan_policy" define como lidar com os valores de nan nas amostras como levantar uma exceção, pular ou propagar.

E, finalmente, o parâmetro "método" especifica a maneira de calcular o valor p como automático, exato ou assintótico. Em troca, a função mannwhitneyu () fornece o valor p e as estatísticas das amostras. Vamos entender como implementar a função mannwhitneyu () em um programa Python.

Exemplo 1:

Este exemplo leva duas amostras e as passa para a função Mannwhitneyu () sem especificar nenhum outro parâmetro. Vamos verificar o resultado da função mannwhitneyu () com os valores padrão para cada parâmetro opcional. Vamos considerar o exemplo dado no snippet de código a seguir:

De estatísticas de importação ccepy
x = [5, 4, 10, 2, 9, 18, 20]
y = [12, 15, 25, 2, 9, 11, 13]
stat, p_value = estatísticas.mannwhitneyu (x, y)
print ("O valor estatístico das amostras é =", stat)
print ("O valor p das amostras é =", p_value)

Aqui, incluímos a biblioteca scipy junto com o pacote de estatísticas para que possamos usar a função mannwhitneyu (). Ao escrever qualquer programa Python, você precisa lembrar que as bibliotecas devem ser importadas para o programa antes de usar qualquer função associada a eles. Algumas das funções internas podem ser usadas sem ligar explicitamente suas bibliotecas. Mas a maioria das funções não pode ser usada em um programa se você perder a adição de suas bibliotecas no programa. Verifique se todas as bibliotecas necessárias estão incluídas antes de usar as funções.

Depois de adicionar as bibliotecas, os dois conjuntos de amostras são declarados em x e y. Essas amostras são passadas para a função mannwhitenyu (). Agora, vamos verificar a estatística e P_Value das amostras fornecidas na seguinte saída:

Exemplo 2:

Vamos declarar explicitamente o valor de um dos parâmetros opcionais neste exemplo. Conforme discutido anteriormente, você pode especificar a hipótese alternativa para os dados da amostra e pode ser menor, maior ou bilateral. Por padrão, a função mannwhitneyu () usa o valor "bilateral" para o parâmetro "alternativo". Neste exemplo, testaremos cada valor para o parâmetro alternativo para entender como eles funcionam com os dados da amostra. Considere o seguinte exemplo de exemplo:

De estatísticas de importação ccepy
x = [5, 4, 10, 2, 9, 18, 20, 4, 9, 11, 18, 20, 25, 30]
y = [12, 15, 25, 2, 9, 11, 13, 2, 5, 10, 18, 4, 30, 6]
stat, p_value = estatísticas.mannwhitneyu (x, y)
print ("O valor estatístico das amostras é =", stat)
print ("O valor p das amostras é =", p_value)

Aqui, não especificamos o valor para o parâmetro "alternativo". Isso é feito para comparar o resultado do valor "alternativo" padrão com todas as outras opções. Aqui está o que a função mannwhitneyu () retorna quando não especificamos o valor para nenhum parâmetro:

O valor padrão da função mannwhitneyu () é "bilateral", que especifica que as amostras dadas não são iguais. Aqui, damos o valor "bilateral" para o parâmetro "alternativo" para comparar os resultados. O mesmo valor P é retornado como no exemplo anterior. Vamos verificar o seguinte resultado:

De estatísticas de importação ccepy
x = [5, 4, 10, 2, 9, 18, 20, 4, 9, 11, 18, 20, 25, 30]
y = [12, 15, 25, 2, 9, 11, 13, 2, 5, 10, 18, 4, 30, 6]
stat, p_value = estatísticas.mannwhitneyu (x, y, alternativo = 'bilateral')
print ("O valor estatístico das amostras é =", stat)
print ("O valor p das amostras é =", p_value)

Ao comparar os dois resultados, podemos concluir que os resultados são os mesmos.

O valor "maior" para o parâmetro "alternativo" verifica as amostras em relação à hipótese de que a amostra X fornecida é estocástica maior que a amostra Y fornecida. Vamos fornecer o valor "maior" para o parâmetro "alternativo" para verificar o valor P calculado:

De estatísticas de importação ccepy
x = [5, 4, 10, 2, 9, 18, 20, 4, 9, 11, 18, 20, 25, 30]
y = [12, 15, 25, 2, 9, 11, 13, 2, 5, 10, 18, 4, 30, 6]
stat, p_value = estatísticas.mannwhitneyu (x, y, alternativo = 'maior')
print ("O valor estatístico das amostras é =", stat)
print ("O valor p das amostras é =", p_value)

Aqui está a saída do valor "maior" para o parâmetro "alternativo":

Como você pode ver, o valor p é diferente do valor p nas saídas anteriores.

Por fim, temos o valor "menos" para o parâmetro "alternativo". O valor "menos" especifica que a amostra X fornecida é estocástica menor do que a amostra y dada y. Vamos passar o valor "menos" para o parâmetro "alternativo" e ver o resultado:

De estatísticas de importação ccepy
x = [5, 4, 10, 2, 9, 18, 20, 4, 9, 11, 18, 20, 25, 30]
y = [12, 15, 25, 2, 9, 11, 13, 2, 5, 10, 18, 4, 30, 6]
stat, p_value = estatísticas.mannwhitneyu (x, y, alternativo = 'menos')
print ("O valor estatístico das amostras é =", stat)
print ("O valor p das amostras é =", p_value)

A saída do valor "menos" para o parâmetro "alternativo" é o seguinte:

Conclusão

Este guia é uma rápida visão geral do teste U de Mann Whitney, que também é conhecido como Wilcoxon Mann Whitney (MWW), teste de soma de Wilcoxon e Wilcoxon Mann Whitney Test. É um teste não paramétrico que escolhe amostras independentes aleatoriamente e as compara com uma hipótese para especificar se elas pertencem à mesma população ou não ou não ou têm a mesma mediana ou não. Além disso, nenhuma presunção de distribuição específica é feita para calcular o valor p e as estatísticas de teste. A biblioteca scipy fornece a função mannwhitneyu () para executar o teste de Mann Whitney nos dados fornecidos. Com a ajuda de exemplos simples e fáceis, demonstramos como implementar a função mannwhitneyu () em um programa Python.