Como realizar um teste cramer-von mises em r (com exemplos)


O teste Cramer-Von Mises é usado para determinar se uma amostra vem ou não de uma distribuição normal .

Este tipo de teste é útil para determinar se um determinado conjunto de dados vem ou não de uma distribuição normal, que é uma suposição comumente usada em muitos testes estatísticos, incluindo regressão , ANOVA , testes t e muitos outros. ‘outros.

Podemos facilmente realizar um teste de Cramer-Von Mises usando a função cvm.test() do pacote goftest em R.

O exemplo a seguir mostra como usar esta função na prática.

Exemplo 1: teste de Cramer-Von Mises em dados normais

O código a seguir mostra como realizar um teste de Cramer-Von Mises em um conjunto de dados com tamanho de amostra n=100:

 library (goftest)

#make this example reproducible
set. seeds (0)

#create dataset of 100 random values generated from a normal distribution
data <- rnorm(100)

#perform Cramer-Von Mises test for normality
cvm. test (data, ' pnorm ')

	Cramer-von Mises test of goodness-of-fit
	Null hypothesis: Normal distribution
	Parameters assumed to be fixed

data:data
omega2 = 0.078666, p-value = 0.7007

O valor p do teste é 0,7007 .

Como este valor não é inferior a 0,05, podemos assumir que os dados amostrais provêm de uma população normalmente distribuída.

Este resultado não deve ser surpreendente, uma vez que geramos os dados amostrais usando a função rnorm() , que gera valores aleatórios a partir de uma distribuição normal padrão .

Relacionado: Um guia para dnorm, pnorm, qnorm e rnorm em R

Também podemos produzir um histograma para verificar visualmente se os dados da amostra estão normalmente distribuídos:

 hist(data, col=' steelblue ') 

Teste de Shapiro-Wilk para normalidade em R

Podemos ver que a distribuição tem formato de sino com um pico no centro da distribuição, o que é típico de dados normalmente distribuídos.

Exemplo 2: Teste Cramer-Von Mises em dados não normais

O código a seguir mostra como realizar um teste de Cramer-Von Mises em um conjunto de dados com tamanho amostral de 100 em que os valores são gerados aleatoriamente a partir de uma distribuição de Poisson :

 library (goftest)

#make this example reproducible
set. seeds (0)

#create dataset of 100 random values generated from a Poisson distribution
data <- rpois(n=100, lambda=3)

#perform Cramer-Von Mises test for normality
cvm. test (data, ' pnorm ')

	Cramer-von Mises test of goodness-of-fit
	Null hypothesis: Normal distribution
	Parameters assumed to be fixed

data:data
omega2 = 27.96, p-value < 2.2e-16

O valor p do teste revelou-se extremamente baixo.

Como este valor é inferior a 0,05, temos evidências suficientes para dizer que os dados amostrais não provêm de uma população normalmente distribuída.

Este resultado não deve ser surpreendente, uma vez que geramos os dados amostrais usando a função rpois() , que gera valores aleatórios a partir de uma distribuição de Poisson.

Relacionado: Um guia para dpois, ppois, qpois e rpois em R

Também podemos produzir um histograma para ver visualmente que os dados da amostra não estão normalmente distribuídos:

 hist(data, col=' coral2 ') 

Histograma do teste Shapiro-Wilk em R

Podemos ver que a distribuição é assimétrica à direita e não possui o típico “formato de sino” associado a uma distribuição normal.

Assim, nosso histograma corresponde aos resultados do teste Cramer-Von Mises e confirma que nossos dados amostrais não provêm de uma distribuição normal.

O que fazer com dados não normais

Se um determinado conjunto de dados não for distribuído normalmente, muitas vezes podemos realizar uma das seguintes transformações para torná-lo mais normal:

1. Transformação de log: transforme a variável de resposta de y em log(y) .

2. Transformação de raiz quadrada: Transforme a variável de resposta de y em √y .

3. Transformação da raiz cúbica: transforme a variável de resposta de y em y 1/3 .

Ao realizar essas transformações, a variável resposta geralmente se aproxima da distribuição normal.

Consulte este tutorial para ver como realizar essas transformações na prática.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outros testes de normalidade em R:

Como realizar um teste de Shapiro-Wilk em R
Como realizar um teste de Anderson-Darling em R
Como realizar um teste de Kolmogorov-Smirnov em R

Add a Comment

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