Teste Scipy KS

Teste Scipy KS

O Python é reconhecido como a linguagem de programação do computador, que permite escrever os diferentes tipos de software e programas de computador. Esse idioma possui critérios de nível de alto desempenho entre todos os outros idiomas e seu pacote não se limita apenas a alguns do programa específico ou às tarefas de software. Em vez disso, é conhecido como uma linguagem para todos os fins que pode ser usada para escrever qualquer programa, seja um programa matemático, matrizes e suas operações, implementação das equações diferenciais ou treinamento de um modelo de aprendizado de máquina e o treinamento de um neural artificial rede. Para cada tarefa, seu nome de python fornece em uma plataforma. Scipy é da linguagem de programação de Python. Possui módulos que importam as informações necessárias para o programa para as funções construídas para aprendizado de máquina e modelos de aprendizado profundo. Scipy oferece uma dessas funções como o "teste KS" Scipy.

O teste KS é reconhecido como o "teste Kolmogorov-Smirnov" sob o qual descobrimos que tipo/tipo de distribuição é a amostra no teste vem. Existem dois métodos para realizar esses testes com base no número de amostras que damos a esse teste como seus parâmetros de entrada.

Procedimento:

O teste de KS com seus dois tipos de funções será explicado e demonstrado praticamente neste artigo. Este artigo fornece um bom conhecimento de fundo sobre a introdução e a funcionalidade do teste KS. Em seguida, explica o método para escrever essas funções no script python com a discussão sobre seus parâmetros que pertencem à lista de argumentos de entrada de ambas as funções.

Sintaxe:

Como já sabemos da explicação anterior que o teste KS é de dois tipos de natureza, a funcionalidade de ambas as funções é a mesma, mas elas diferem ligeiramente em sua configuração em termos de sua lista de argumentos. Um dos dois testes KS é conhecido como o simples "teste KS". É preciso apenas uma amostra de dados e realiza o teste para esses dados. O segundo é o “teste KS_2Sample”. Este teste realiza o mesmo teste KS, mas para os dois dados de amostra diferentes. A sintaxe para o teste KS () e KS_2 test () são fornecidos respectivamente no seguinte:

$ scipy. Estatísticas.Kstest ()
$ scipy. Estatísticas.ks_2samp ()

Valor de retorno:

Ambas as funções mencionadas anteriormente retornam o mesmo tipo de resultado. Ambos retornam dois valores-um é o "estatístico" e o outro é o "valor p"-onde o valor p é a principal tomada de decisão, se as amostras pertencem à mesma distribuição ou não.

Exemplo 1:

Suponha que tenhamos uma amostra de dados que pertence ou tenha sido gerada com alguma distribuição. Agora, com o teste KS, queremos saber de qual distribuição faz esses dados pertencem. Assumimos um tipo nulo de hipótese que afirma que os dados da amostra provêm da distribuição normal e estamos 95 % confiantes em nossa hipótese. Em outro caso, que é o caso alternativo, temos a opção de rejeitar a hipótese nula se o valor p de que o teste de KS retornar terá o valor menor que o “0.05.

A hipótese nula é rejeitada se o resultado cair abaixo de 0.05, indicando que a amostra aleatória nem vinha de uma distribuição normal. Vamos realizar um teste KS para os dados de amostra que geraremos exclusivamente para este exemplo. Lembre -se de que a plataforma Python na qual escreveremos o programa para este exemplo é o "Google Collab".Abra o novo caderno na colaboração e comece a escrever o programa. Nós importamos a biblioteca "Numpy" para usar seu módulo para definir os dados com uma distribuição.

Integre este pacote Numpy como "NP" no programa. A segunda biblioteca a adicionar ao programa é "estatísticas", que é um módulo da biblioteca ccepy. Importe -os das estatísticas da Biblioteca Cipy, que então adiciona os módulos no programa que é usado para o funcionamento da função Kstest (). Alocar uma variável assumindo "x". Atribuir o valor dos dados da amostra a isso chamando as estatísticas para atribuir como "estatísticas.norma.RVs (size = 100, random_state = rng) ”.

Com esta chamada, definimos os dados da variável aleatória usando a norma de estatísticas.RVs funcionam normalmente para distribuir esses dados. A hipótese nula é que esta amostra é da distribuição normal. O tamanho desses dados é especificado como "200". Para verificar os resultados da função Kstest () nesses dados, passamos esses dados para o parâmetro da função Kstest () como “estatísticas. Kstest (x) ”. A saída para o programa a seguir é o seguinte:

De estatísticas de importação ccepy
a = estatísticas.norma.RVs (tamanho = 200)
RSLT = STATS.Kstest (A, estatísticas.norma.CDF)
Imprimir (RSLT)

O valor p do teste KS é maior Thsan 0.05. Portanto, não podemos rejeitar a hipótese de que os dados da amostra pertencem à distribuição padrão normal.

Exemplo 2:

Agora, realizamos outro tipo de teste KS, que é o "KS_2Test". Leva os dois dados de amostra e comentários se ambas as amostras pertencem à mesma distribuição ou não. Importar o módulo "estatísticas" da biblioteca scipy e declarar dois dados de amostra usando as “estatísticas. norma. RVs (tamanho = 115) ”e“ Estatísticas.norma.RVs (tamanho = 105) ”Métodos, respectivamente. Salve -os como "Data1" e "Data2". Isso gera os dois dados com tamanhos de "115" e "105" com uma distribuição normal. A hipótese nula é que esses dois dados são do mesmo tipo de distribuição de "padrão normal". Para verificar isso, alimente esses dois dados para o “KS_2 Test ()” como “estatísticas.KS_2Samp (Data1, Data2) ”e verifique o valor P. O programa e os resultados são mencionados no seguinte:

O valor do P não é inferior a 0.05. Então, a hipótese nula que assumimos para esses dados está certa e não temos o direito de rejeitá -los.

Data1 = estatísticas.norma.RVs (tamanho = 115)
data2 = estatísticas.norma.RVs (tamanho = 105)
RSLT = STATS.KS_2Samp (Data1, Data2)
Imprimir (RSLT)

Conclusão

Realizamos os dois testes KS usando as diferentes funções que o teste KS oferece para uma amostra como “estatísticas.teste ks () ”e para as duas amostras de dados como“ ks_2samp () ”. Com base nos resultados das funções, decidimos qual amostra de dados pertence a qual tipo de distribuição. Nos dois casos, foi a distribuição de tipo normal padrão.