Como criar um gráfico qq no sas


Um gráfico QQ, abreviação de “quantil-quantil”, é usado para avaliar se um conjunto de dados vem potencialmente de uma distribuição teórica.

Na maioria dos casos, este tipo de gráfico é usado para determinar se um conjunto de dados segue ou não uma distribuição normal.

Se os dados forem distribuídos normalmente, os pontos em um gráfico QQ estarão em uma linha reta diagonal.

Por outro lado, quanto mais significativamente os pontos no gráfico se desviarem de uma linha reta diagonal, menor será a probabilidade de o conjunto de dados seguir uma distribuição normal.

A maneira mais fácil de criar um gráfico QQ no SAS é usar a instrução PROC UNIVARIATE com a instrução QQPLOT :

 proc univariate data =my_data noprint ;
   qqplot my_variable;
run ;

Os exemplos a seguir mostram como usar essa sintaxe na prática.

Nota : Usamos a instrução NOPRINT para remover todas as outras estatísticas e tabelas de resumo geradas automaticamente pela instrução PROC UNIVARIATE .

Exemplo 1: Crie um gráfico QQ no SAS para dados normais

O código a seguir mostra como criar um gráfico QQ para um conjunto de dados contendo 1.000 observações geradas a partir de uma distribuição normal com média de 10 e desvio padrão de 2:

 /*generate 1000 values that follow normal distribution with mean 10 and sd 2 */
data normal_data;
    do i = 1 to 1000;
	x = 10 + 2* rannor (1);
        output ;
    end ;
run ;

/*create some plot*/
proc univariate data =normal_data noprint ;
   qqplot x;
run ; 

Gráfico QQ no SAS

Podemos ver que os pontos ficam principalmente ao longo de uma linha reta diagonal com alguns pequenos desvios ao longo de cada uma das caudas.

Com base neste gráfico, podemos assumir com segurança que este conjunto de dados é normalmente distribuído.

Exemplo 2: gráfico QQ para dados não normais

O código a seguir mostra como criar um gráfico QQ para um conjunto de dados contendo 1.000 observações geradas a partir de uma distribuição exponencial :

 /*generate 1000 values that follow an exponential distribution*/
data exp_data;
    do i = 1 to 1000;
	x = ranexp (1);
        output ;
    end ;
run ;

/*create some plot*/
proc univariate data =exp_data noprint ;
   qqplot x;
run ; 

Vejo que os pontos se desviam significativamente de uma linha reta diagonal. Isso indica claramente que o conjunto de dados não é normalmente distribuído.

Isso deve fazer sentido, visto que especificamos que os dados deveriam seguir uma distribuição exponencial.

Recursos adicionais

Os tutoriais a seguir explicam como executar outras tarefas comuns no SAS:

Como usar Proc Univariate para testes de normalidade no SAS
Como realizar uma transformação de log no SAS
Como identificar outliers no SAS

Add a Comment

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