Как выполнить преобразование журнала в 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