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