Como realizar uma transformação de log no sas

Muitos testes estatísticos assumem que os valores de uma determinada variável são normalmente distribuídos .

No entanto, os valores muitas vezes não são distribuídos normalmente. Uma maneira de resolver esse problema é transformar a variável obtendo o logaritmo de cada valor.

Ao realizar esta transformação, uma variável geralmente se aproxima da distribuição normal.

O exemplo a seguir mostra como realizar uma transformação de log em uma variável no SAS.

Exemplo: Transformação de Log em SAS

Vamos supor que temos o seguinte conjunto de dados no SAS:

 /*create dataset*/
data my_data;
    input x;
    datalines ;
1
1
1
2
2
2
2
2
2
3
3
3
6
7
8
;
run ;

/*view dataset*/
proc print data =my_data;

Podemos usar PROC UNIVARIATE para realizar testes de normalidade na variável x para determinar se ela tem distribuição normal e também criar um histograma para visualizar a distribuição dos valores:

 /*create histogram and perform normality tests*/
proc univariate data =my_data normal ; 
histogram x;
run ; 

Na última tabela intitulada Testes de Normalidade , podemos observar que o valor p do teste Shapiro-Wilk é inferior a 0,05, o que fornece fortes evidências de que a variável x não tem distribuição normal.

O histograma também mostra que a distribuição dos valores não parece ser normalmente distribuída:

Podemos tentar uma transformação de log no conjunto de dados original para ver se podemos produzir um conjunto de dados distribuído de forma mais normal.

Podemos usar o seguinte código para criar um novo conjunto de dados no SAS onde pegamos o log de cada um dos valores x originais:

 /*use log transformation to create new dataset*/
data log_data;
    set my_data;
    x = log (x);
run ;

/*view log transformed data*/
proc print data =log_data; 

Podemos então usar PROC UNIVARIATE novamente para realizar testes de normalidade na variável transformada e também produzir um histograma:

 /*create histogram and perform normality tests*/
proc univariate data =log_data normal ; 
histogram x;
run ; 

Na última tabela intitulada Testes de Normalidade, podemos observar que o valor p do teste Shapiro-Wilk agora é superior a 0,05.

O histograma também mostra que a distribuição dos valores é um pouco mais normal do que era antes da transformação:

Com base nos resultados do teste de Shapiro-Wilk e no histograma apresentado acima, concluiríamos que a transformação logarítmica criou uma variável com distribuição muito mais normal do que a variável original.

Recursos adicionais

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

Como identificar outliers no SAS
Como calcular a distância de cozimento no SAS
Como criar histogramas no SAS

Add a Comment

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