Как выполнить преобразование журнала в sas

Многие статистические тесты предполагают, что значения конкретной переменной имеют нормальное распределение .

Однако значения часто не распределяются нормально. Один из способов решения этой проблемы — преобразовать переменную, взяв журнал каждого значения.

Выполняя это преобразование, переменная обычно приближается к нормальному распределению.

В следующем примере показано, как выполнить преобразование журнала для переменной в SAS.

Пример: преобразование журнала в SAS

Предположим, у нас есть следующий набор данных в 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;

Мы можем использовать PROC UNIVARIATE для выполнения тестов на нормальность переменной x, чтобы определить, нормально ли она распределяется, а также создать гистограмму для визуализации распределения значений:

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

В последней таблице под названием «Тест на нормальность» мы видим, что значение p теста Шапиро-Уилка меньше 0,05, что является убедительным доказательством того, что переменная x не имеет нормального распределения.

Гистограмма также показывает, что распределение значений не выглядит нормально распределенным:

Мы можем попытаться преобразовать журнал исходного набора данных, чтобы посмотреть, сможем ли мы создать более нормально распределенный набор данных.

Мы можем использовать следующий код для создания нового набора данных в SAS, где мы берем журнал каждого из исходных значений x:

 /*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; 

Затем мы можем снова использовать PROC UNIVARIATE , чтобы выполнить проверку нормальности преобразованной переменной, а также создать гистограмму:

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

В последней таблице под названием «Тестирование нормальности» мы видим, что значение p для теста Шапиро-Уилка теперь превышает 0,05.

На гистограмме также видно, что распределение значений немного более нормальное, чем было до трансформации:

Основываясь на результатах теста Шапиро-Уилка и представленной выше гистограммы, мы пришли к выводу, что логарифмическое преобразование создало гораздо более нормально распределенную переменную, чем исходная переменная.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:

Как выявить выбросы в SAS
Как рассчитать расстояние приготовления в SAS
Как создавать гистограммы в SAS

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *