Как рассчитать r-квадрат в sas


R-квадрат , часто обозначаемый как r2 , является мерой того, насколько хорошо модель линейной регрессии соответствует набору данных.

Это значение представляет собой долю дисперсии переменной ответа , которую можно объяснить переменной-предиктором.

Значение r 2 может находиться в диапазоне от 0 до 1:

  • Значение 0 указывает, что переменная ответа вообще не может быть объяснена переменной-предиктором.
  • Значение 1 указывает на то, что переменная ответа может быть полностью без ошибок объяснена переменной-предиктором.

Связанный: Что такое хорошее значение R-квадрата?

В следующем пошаговом примере показано, как вычислить значение R-квадрата для простой модели линейной регрессии в SAS.

Шаг 1. Создайте данные

В этом примере мы создадим набор данных, содержащий общее количество изученных часов и оценку итогового экзамена 15 студентов.

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

Следующий код показывает, как создать этот набор данных в SAS:

 /*create dataset*/
data exam_data;
    input hours score;
    datalines ;
1 64
2 66
4 76
5 73
5 74
6 81
6 83
7 82
8 80
10 88
11 84
11 82
12 91
12 93
14 89
;
run ;

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

Шаг 2. Подберите простую модель линейной регрессии.

Далее мы будем использовать proc reg для соответствия простой модели линейной регрессии:

 /*fit simple linear regression model*/
proc reg data =exam_data;
    model score = hours;
run ; 

простой вывод линейной регрессии в SAS

Обратите внимание, что значение R-квадрата на выходе равно 0,8310.

Это означает, что 83,1% различий в результатах экзаменов можно объяснить количеством изученных часов.

Шаг 3. Извлеките значение R-квадрата из регрессионной модели.

Если вы хотите отобразить только значение R-квадрата этой модели и никаких других выходных результатов, вы можете использовать следующий код:

 /*fit simple linear regression model*/
proc reg data =exam_data outest =outest noprint ;
    model score = hours / rsquare ;
run ;
quit ;

/*print R-squared value of model*/
proc print data =outest;
    var _RSQ_;
run ; 

Обратите внимание, что в выходных данных отображается только значение R-квадрата 0,83098 .

Примечание . Аргумент noprint в proc reg сообщает SAS не печатать весь вывод результатов регрессии, как это было на предыдущем шаге.

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

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

Как выполнить простую линейную регрессию в SAS
Как выполнить множественную линейную регрессию в SAS
Как выполнить полиномиальную регрессию в SAS
Как выполнить логистическую регрессию в SAS

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

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