Как рассчитать 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 ;
Обратите внимание, что значение 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