Множественный регрессионный анализ.

Из R.Cody, J.Smith. Applied statistics and the SAS programming Language, Pretence Hall, 1991


Введение

Множественный регрессионный анализ – это метод установления зависимости одной переменной от двух или более независимых переменных. В то время как зависимая переменная (та переменная, которую Вы хотите предсказать) должна быть непрерывной (за исключением логистической регрессии), независимые переменные могут быть как прерывными, так и категориальными, такими как «пол» или «тип применяемого препарата». В случае категориальных независимых переменных необходимо будет создавать переменные «пустышки», а не использовать соответствующие значения (подробнее это будет обсуждено позднее). Если все независимые переменные являются категориальными (или большинство из них являются категориальными), то в этом случае лучше использовать дисперсионный анализ.

Имеются две причины для использования множественной регрессии, и они будут анализироваться по отдельности. Первая – это использование множественной регрессии в тех исследованиях, когда значения независимых переменных находились под экспериментальным контролем (например, когда изменялось количество применяемого препарата, или количество дней между приемами препарата). Обычно подобный подход называется «запланированная регрессия». Второй вариант включают ситуации, когда анализируется группа пациентов, у которых измерили некоторые количество естественно возникающих переменных (возраст, доход, уровень тревоги и т.д.),  и эти переменные связываются с некой переменной, которая нас интересует. Обычно подобный подход называется «не экспериментальная регрессия».

Достаточно легко использовать регрессию неправильно. Мы попытаемся обратить внимание на некоторые распространенные ошибки, но мы не можем перечислить их все. Основным правилом должно быть использование здравого смысла. Если результаты анализа не выглядят достаточно разумными, попытайтесь найти какую-то помощь. Не следует забывать, что статистика – это инструмент, который используется  для того, чтобы понимать жизнь. Хотя понимание жизни может быть достаточно сложным, оно обычно не является извращенным. Прежде чем, базируясь на статистическом анализе, принять выводы, которые кажутся глупыми, проконсультируетесь с аналитиком,  которыый имеет большой опыт. Большинство действительно революционных результатов полученных в результате анализа данных, базируется на ошибках ввода.

Запланированная регрессия.

Представьте себе исследователя, который заинтересован в оценке эффекта постоянных физических нагрузок при использовании стимулянтов, на потерю веса. Исследователь проводит эксперимент, привлекая 24 студента университета, и при этом этот эксперимент имеет 4 уровня стимулянтов и 3 уровня физических нагрузок. Имеется 24 человека, вошедших в этот эксперимент, и каждый случайным образом относится к определенному сочетанию уровней физической нагрузки и дозы стимулянта таким образом, что на каждую возможную комбинацию нагрузок и стимулянтов приходится по два студента, 12(3х4). Через три недели после начала исследования измеряется уменьшение веса (разность веса «до» и «после») для каждого пациента. Данные этого эксперимента могут выглядеть следующим образом:

Табл. Данные эксперимента по снижению веса

Обследованный

Доза стимулянта

(мг/день)

Объем нагрузки

(часы/неделя)

Потеря веса

(фунты)

1

100

0

-4

2

100

0

0

3

100

5

-7

4

100

5

-6

5

100

10

-2

6

100

10

-14

7

200

0

-5

8

200

0

-2

9

200

5

-5

10

200

5

-8

11

200

10

-9

12

200

10

-9

13

300

0

1

14

300

0

0

15

300

5

-3

16

300

5

-3

17

300

10

-8

18

300

10

-12

19

400

0

-5

20

400

0

-4

21

400

5

-4

22

400

5

-6

23

400

10

-9

24

400

10

-7

Эти данные могут быть проанализированы либо как дисперсионный анализ (3х4), либо как множественная регрессия с двумя переменными. Регрессионный подход обычно предполагает, что эффект нагрузки и лекарства увеличивается линейным образом (т.е. лежит на прямой линии), дисперсионные модели не делают подобных допущений. Если мы будем использовать множественную регрессию, то тогда следующая программа даст нам желаемый результат.

DATA REGRESSN;
   INPUT ID DOSAGE EXERCISE LOSS;
DATALINES;
   1        100         0         -4
   2        100         0          0
   3        100         5         -7
… еще строки с данными…
;
PROC REG DATA=REGRESSN;
   TITLE 'Weight Loss Experiment - Regression Example';
   MODEL LOSS = DOSAGE EXERCISE / P R;
RUN;
QUIT;

Первые три строки в данной программе создают набор данных. Процедура REG может строить большое количество регрессионных моделей. Команда MODEL указывает, что зависимая переменная (с левой стороны от знака равенства) называется LOSS, а две независимых (или предсказывающих) переменных (расположенных справа от знака равенства) – это переменные DOSAGE и EXERCISE. Опции «P» и «R» указывают, что мы хотим, чтобы были рассчитаны предсказанные значения и остаточные значения. Обратите внимание, что в конце процедуры используется команда QUIT. Процедура REG, так же как процедуры ANOVA и GLM рассматриваются как «интерактивные процедуры». Иными словами, после того, как была обнаружена команда RUN и процедура была выполнена, Вы можете выполнить дополнительные команды (сформулировав новые модели, например). Наверху строки окна SAS будет гореть надпись «Running» (Работа) до тех пор, пока не будет запущена для выполнения новая процедура, или пока не будет выполнена команда QUIT. Поэтому использование команды QUIT не является обязательным. Ниже представлены результаты работы этой программы:

                         Weight Loss Experiment - Regression Example                        

Model: MODEL1
Dependent Variable: LOSS

                                    Analysis of Variance

                                       Sum of         Mean
              Source          DF      Squares       Square      F Value       Prob>F

              Model            2    162.97083     81.48542       11.185       0.0005
              Error           21    152.98750      7.28512
              C Total         23    315.95833

                  Root MSE       2.69910     R-square       0.5158
                  Dep Mean      -5.45833     Adj R-sq       0.4697
                  C.V.         -49.44909

                                     Parameter Estimates

                             Parameter      Standard    T for H0:
            Variable  DF      Estimate         Error   Parameter=0    Prob > |T|

            INTERCEP   1     -2.562500    1.50884052        -1.698        0.1042
            DOSAGE     1      0.001167    0.00492785         0.237        0.8151
            EXERCISE   1     -0.637500    0.13495480        -4.724        0.0001


        Dep Var   Predict   Std Err             Std Err   Student                     Cook's
  Obs    LOSS       Value   Predict  Residual  Residual  Residual    -2-1-0 1 2            D

    1   -4.0000   -2.4458     1.142   -1.5542     2.445    -0.636  |     *|      |     0.029
    2         0   -2.4458     1.142    2.4458     2.445     1.000  |      |**    |     0.073
    3   -7.0000   -5.6333     0.922   -1.3667     2.537    -0.539  |     *|      |     0.013
    4   -6.0000   -5.6333     0.922   -0.3667     2.537    -0.145  |      |      |     0.001
    5   -2.0000   -8.8208     1.142    6.8208     2.445     2.789  |      |***** |     0.566
    6  -14.0000   -8.8208     1.142   -5.1792     2.445    -2.118  |  ****|      |     0.326
    7   -5.0000   -2.3292     0.905   -2.6708     2.543    -1.050  |    **|      |     0.047
    8   -2.0000   -2.3292     0.905    0.3292     2.543     0.129  |      |      |     0.001
    9   -5.0000   -5.5167     0.604    0.5167     2.631     0.196  |      |      |     0.001
   10   -8.0000   -5.5167     0.604   -2.4833     2.631    -0.944  |     *|      |     0.016
   11   -9.0000   -8.7042     0.905   -0.2958     2.543    -0.116  |      |      |     0.001
   12   -9.0000   -8.7042     0.905   -0.2958     2.543    -0.116  |      |      |     0.001
   13    1.0000   -2.2125     0.905    3.2125     2.543     1.263  |      |**    |     0.067
   14         0   -2.2125     0.905    2.2125     2.543     0.870  |      |*     |     0.032
   15   -3.0000   -5.4000     0.604    2.4000     2.631     0.912  |      |*     |     0.015
   16   -3.0000   -5.4000     0.604    2.4000     2.631     0.912  |      |*     |     0.015
   17   -8.0000   -8.5875     0.905    0.5875     2.543     0.231  |      |      |     0.002
   18  -12.0000   -8.5875     0.905   -3.4125     2.543    -1.342  |    **|      |     0.076
   19   -5.0000   -2.0958     1.142   -2.9042     2.445    -1.188  |    **|      |     0.103
   20   -4.0000   -2.0958     1.142   -1.9042     2.445    -0.779  |     *|      |     0.044
   21   -4.0000   -5.2833     0.922    1.2833     2.537     0.506  |      |*     |     0.011
   22   -6.0000   -5.2833     0.922   -0.7167     2.537    -0.283  |      |      |     0.004
   23   -9.0000   -8.4708     1.142   -0.5292     2.445    -0.216  |      |      |     0.003
   24   -7.0000   -8.4708     1.142    1.4708     2.445     0.601  |      |*     |     0.026

Sum of Residuals                      0
Sum of Squared Residuals       152.9875
Predicted Resid SS (Press)     212.0359

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

Распечатка начинается с таблицы дисперсионного анализа, который выглядит практически так же, как он бы выглядел при выполнении стандартной процедуры дисперсионного анализа. Мы видим, что в данной модели имеется две степени свободы: одна степень свободы для переменной EXERCISE и одна для переменной DOSAGE. Имеется только одна степень свободы для каждой их этих переменных, поскольку регрессия оценивает одну единственную прямую линию для каждой переменной,  а не оценивает некоторое количество средних в ячейке таблицы.

Сумма квадратов для данной модели (162.971) сообщает нам, какую часть дисперсии потери веса можно объяснить действиями переменных DOSAGE и EXERCISE (НАГРУЗКА и ДОЗИРОВКА). Средний квадрат для модели (81.485) равен сумме квадратов (162.971) деленный на количество степеней свободы для данной модели (2). Средний квадрат затем делится на средний квадрат ошибки (7.285) для того, чтобы получить F – статистику для регрессии (11.185), р-значения для этой статистики соответствуют 0,0005. «CTOTAL» означает «откорректированное общее» и указывает общее количество степеней свободы (23) и сумму квадратов (315.958) для зависимой переменной. При выполнении регрессии «откорректированное общее» количество степеней свободы всегда равняется общему размеру выборки минус один, поскольку одна степень свободы используется для того, чтобы оценить общее среднее. ROOT MSE (2.699) означает квадратный корень из среднего квадрата ошибки и соответствует в единицах стандартного отклонения дисперсии в системе, которая не может быть объяснена значениями переменных DOSAGE и EXERCISE (Нагрузка и Дозировка). DEP Mean (-5.458) - это всего лишь среднее зависимой переменной (LOSS). R-SQUARE (0,5158) – это квадрат множественного коэффициента корреляции между значениями переменных DOSAGE и EXERCISE и переменной LOSS. Его можно трактовать как процент дисперсии переменной LOSS, (которая может быть объяснена независимыми переменными). ADJ R-SQ (0,4697) – это откорректированное значение R-квадрата. Откорректированное значение R- квадрата - это количество переменных, которые были использованы в данном уравнении и оно немножко ниже, чем оценка объясненной дисперсии. C.V. (-49.449) обозначает коэффициент вариации, и он рассчитывается делением ROOT MSE на среднее, а затем умножением полученного результата на 100. C.V. иногда оказывается полезным, когда среднее и стандартное отклонения коррелируют друг с другом (как это бывает при анализе данных по доходам). 

 Нижняя часть распечатки показывает нам значения LOSS для каждой переменной, предсказанное значение и разность между ними (остаточные значения). В дополнение к этому идет столбец, помеченный «Student Residuals», который описывает остаточные значения в t-единицах, а также приводится дистанция Кука D, которая помогает нам оценить, насколько сильно данная точка воздействует на общие результаты регрессионного анализа. Большие абсолютные значения (2 или более) указывают на возможные проблемы в вашей модели или на точки, которые требуют большего внимания. 

После того как мы объяснили термины, которые используются в таблице дисперсионного анализа для регрессии, давайте просуммируем, что мы можем вынести из этих данных. В основном таблица показывает, что независимые переменные связаны с зависимой переменной, (поскольку значения статистики F было значимым р = 0,0005). Более того, мы обнаружили, что примерно 50% дисперсии потери веса может быть объяснено двумя экспериментальными воздействиями. Многие исследователи более заинтересованы в статистике R- квадрат, чем в р-оценке, поскольку R- квадрат показывает, насколько сильно переменные связаны друг с другом. Нижняя часть распечатки  содержит оценки параметров регрессионного уравнения. Оцениваются три параметра: (1) постоянный член уравнения, (2) коэффициент для переменной DOSAGE (Доза), и (3) коэффициент для переменной EXERCISE (Нагрузка). Оценка каждого параметра базируется на одной степени свободы (это всегда так для регрессионных уравнений). Для каждой оценки параметра оценивается стандартная ошибка вместе с t-статистикой и р-значением для этой t-статистики. t-статистика – это не что иное, как оценка параметра деленное на стандартную ошибку, и она базируется на количестве степеней свободы для ошибки (21 в данном случае). 

Эта половина распечатки говорит нам, что на самом деле к потере веса приводили физические нагрузки. Регрессионный коэффициент для переменной DOSAGE статистически не отличается от нуля (р = 0,8151). Тот факт, что постоянный член уравнения не отличается достоверно от нуля, для нас не важен. Постоянный член уравнения в основном говорит нам, где регрессионная линия или плоскость (как в этом случае) пересекает ось-у, и он не объясняет никакой вариабельности.

В данной ситуации многие исследователи заново бы проанализировали свои данные при помощи регрессионного анализа, удалив переменную DOSAGE для того, чтобы лучше оценить влияние переменной EXERCISE.  Поскольку это спланированный эксперимент, мы бы рекомендовали оставить регрессионное уравнение таковым, каково оно есть. Удаление переменной DOSAGE не оценит оказанное воздействие переменной EXERCISE, поскольку переменные DOSAGE и EXERCISE не связаны друг с другом (это было сделано сознательно на этапе планирования эксперимента). Когда независимые переменные в регрессии не связаны друг с другом, оценки регрессионного коэффициента не меняются при добавлении (или удалении) независимых переменных. В случае, когда независимые переменные коррелируют друг с другом, удаление переменной весьма сильно влияет на оценки регрессии и не тестирование гипотез.

Не экспериментальная регрессия.

Многие, если не все, анализы регрессионных данных проводятся на наборах данных, в которых независимые перемененные имеют некоторую степень связи друг с другом. Эти наборы данных, происходящие из не экспериментальных исследований, встречаются достаточно часто во всех областях науки. Это могут быть исследования факторов, которые воздействуют на сердечно-сосудистые заболевания или возникновение новых случаев рака; исследования, устанавливающие связь между характеристиками студентов и их достижениями, а также исследования, которые предсказывают экономические тенденции, все подобные исследования используют не экспериментальные данные. Потенциал для ошибок у исследователя, который использует не экспериментальный набор данных, очень высок. Для начинающего исследователя он практически неизбежен. Мы крайне рекомендуем обратиться к хорошему учебнику по этому вопросу (великолепным учебником, например, является книга Pedhazur «Множественная регрессия в поведенческих науках»), или проконсультироваться со специалистом по статистике. После того как мы сделали это предупреждение, давайте посмотрим на регрессионный анализ для не экспериментальных наборов данных.

Природа данных. Имеется достаточное количество поверхностных сходств между экспериментальными и не экспериментальными наборами данных. Во-первых, имеется одна или более переменная результата, или зависимая переменная. Во-вторых, имеется несколько независимых переменных (иногда достаточно много). Основные различия заключаются в том, что независимые переменные коррелируют друг с другом. Это связано с тем, что в не экспериментальных условиях исследователь определяет интересующую его популяцию (например, люди, перенесшие инфаркт миокарда; школьники шестого класса и т.д.), затем берет из этой популяции выборку и в ней измеряет переменные, которые его интересуют. Обычно целью исследования является объяснение дисперсии одной переменной, одной (или большим количеством) независимых переменных. До настоящего момента все кажется простым.

Проблема заключается в том, что корреляция между независимыми переменными приводит к тому, что регрессионные оценки меняются в зависимости от того, какие независимые переменные использовались для проведения анализа. Иными словами, влияние В на А зависит от того, было ли внесено в уравнение С или нет. Если С опущено, В выглядит достаточно влиятельным фактором, а если С включено, влияние В может полностью исчезнуть. Причиной этому является следующее: регрессионный коэффициент говорит нам об уникальном воздействии независимой переменной на зависимую переменную. Иными словами, коэффициент для В говорит нам, что В делает само по себе, когда оно не зависит от действия какой-то другой переменной. Если В является одной единственной переменной в уравнении, никаких проблем нет, но если мы добавляем С, и В и С коррелируют друг с другом, тогда уникальное влияние В на А будет меняться. Посмотрим, как это происходит на следующем примере.

Объектом данного исследования была случайная выборка школьников шестого класса из школы в центре города. У этих школьников были измерены следующие показатели:

  1. ACH6: способности к чтению в конце шестого класса.
  2. ACH5: способности к чтению в конце пятого класса.
  3.  APT: показатель вербальных способностей в пятом классе.
  4.  AТT: показатель отношения к школе в пятом классе.
  5.  INCOME: показатель, который измеряет доход родителей (в тысячах долларов в год).

Наш набор данных приведен ниже. (Обратите внимание на то, что это не настоящие данные).

ID

ACH6

ACH5

APT

ATT

INCOME

1

7.5

6.6

104

60

67

2

6.9

6.0

116

58

29

3

7.2

6.0

130

63

36

4

6.8

5.9

110

74

84

5

6.7

6.1

114

55

33

6

6.6

6.3

108

52

21

7

7.1

5.2

103

48

19

8

6.5

4.4

92

42

30

9

7.2

4.9

136

57

32

10

6.2

5.1

105

49

23

11

6.5

4.6

98

54

57

12

5.8

4.3

91

56

29

13

6.7

4.8

100

49

30

14

5.5

4.2

98

43

36

15

5.3

4.3

101

52

31

16

4.7

4.4

84

41

33

17

4.9

3.9

96

50

20

18

4.8

4.1

99

52

34

19

4.7

3.8

106

47

30

20

4.6

3.6

89

58

27

Целью исследования является понять, какие факторы определяют способности к чтению у школьников в этом районе. Следующая программа была написана для того, чтобы проанализировать эти данные:

DATA NONEXP;
   INPUT ID ACH6 ACH5 APT ATT INCOME;
DATALINES;
 1      7.5      6.6      104      60      67    
 2      6.9      6.0      116      58      29     
… еще строки с данными… 
;
PROC REG DATA=NONEXP;
   TITLE 'Nonexperimental Design Example';
   MODEL  ACH6  =  ACH5  APT ATT  INCOME /
                   SELECTION = FORWARD;
   MODEL  ACH6  =  ACH5  APT ATT  INCOME /
                   SELECTION = MAXR;
RUN;
QUIT;

Используя опцию SELECTION=FORWARD в процедуре REG, мы указали, что нам необходимо будет провести регрессию с включением переменных, при этом зависимой переменной является переменная ACH6 , а переменные ACH5, ARTATT и INCOME являются независимыми. Каждая переменная будет протестирована и та, которая дает наибольшее значение F, будет внесена в модель первой (если р-значение для входа меньше, чем указанное значение, или значение по умолчанию). Поскольку мы не указали критерии для входа в модель, используется значение по умолчанию равное 0,5. Если мы хотим изменить значение р-оценки для включения в модель, мы можем включить в команду MODEL опцию SLENTRY = (наше значение р-оценки). Хотя мы не захотели этого демонстрировать, мы могли бы выполнить и пошаговую регрессию, (переменные, которые входят в модель, могут затем из модели выйти), когда мы можем указать р-значения для входа (с опцией SLENTRY = наше значение р-оценки), а также р-значения для оставления переменной в модели (со значением SLSTAY = наша р-оценка). Для метода выбора STEPWISE, по умолчанию используются значения входа и оставления в модели равные 0, 15.

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

Пошаговый отбор переменных и другие методы отбора переменных.

Как указывалось ранее, если имеется не экспериментальный набор данных, независимые переменные не являются «независимыми» в полном смысле слова (в том смысле, что они обычно коррелируют друг с другом). Если эти корреляции имеют умеренный или высокий уровень (скажем, коэффициент корреляции будет 0,5 или выше), тогда регрессионные коэффициенты во многом находятся под воздействием того, какой поднабор независимых переменных был внесен в регрессионное уравнение. Если имеется некоторое количество независимых переменных, достаточно сложной задачей может оказаться выбор наилучшего набора этих переменных. Методы отбора переменных, включая пошаговую регрессию, были разработаны для того, чтобы помочь исследователям в нахождении этого, самого оптимального, поднабора данных. К сожалению, многие из этих методов очень часто используются неправильно. Проблема заключается  в том, что со статистической точки зрения решения зачастую не являются наилучшими, с точки зрения понимания проблемы. Иными словами, объяснена большая часть дисперсии, регрессия не является разумной и не очень-то полезна. Мы обсудим это в деталях, когда будем анализировать распечатку.

Пошаговая регрессия рассматривает большое количество различных регрессионных уравнений. В основном целью пошаговой регрессии является: взять набор независимых переменных и поместить их в регрессионное уравнение по одной, каждый раз определенным образом, до тех пор, пока не будут добавлены все переменные (либо не будут выполняться определенные критерии). Этими критериями обычно являются критерии статистической значимости и улучшение процента объясненной дисперсии.

Программа SAS позволяет использовать несколько техник отбора переменных, среди них:

  1. FORWARD (Отбор вперед): начинается с наилучшим предиктором, затем находит наилучший из тех, что остались, затем следующий наилучший и т.д.
  2.  BACKWARD (Отбор назад): начинает со включения всех переменных уравнения, затем выбрасывает из него самую плохую, обладающую наименьшей предиктивной силой, затем следующую наиболее плохую и т.д.
  3.  STEPWISE (Пошаговая): аналогична отбору вперед за исключением того, что имеется дополнительный шаг, в котором в каждом уравнении все переменные снова проверяются с целью проверки того, что они остаются значимыми даже после того, как была внесена новая переменная.
  4. MAXR: достаточно сложная процедура, но в основном она пытается найти уравнение регрессии с одной переменной, которая имеет наибольшее значение общего квадрата корреляции. Затем пытается найти уравнение с двумя переменными, которые имеют наибольшие значения коэффициента множественной корреляции и т.д.
  5. MINR: очень похожа на MAXR за исключением того, что система отбора данных немножко отличается.

Теперь давайте рассмотрим распечатку результатов программы:

Nonexperimental Design Example                               

                Maximum R-square Improvement for Dependent Variable ACH6

Step 1   Variable ACH5 Entered      R-square = 0.66909805   C(p) =  1.87549647

                       DF         Sum of Squares      Mean Square          F   Prob>F

       Regression       1            12.17624633      12.17624633      36.40   0.0001
       Error           18             6.02175367       0.33454187
       Total           19            18.19800000

                       Parameter        Standard          Type II
       Variable         Estimate           Error   Sum of Squares          F   Prob>F

       INTERCEP       1.83725236      0.71994457       2.17866266       6.51   0.0200
       ACH5           0.86756297      0.14380353      12.17624633      36.40   0.0001

Bounds on condition number:            1,            1
---------------------------------------------------------------------------------------------

The above model is the best  1-variable model found.

Step 2   Variable APT Entered       R-square = 0.70817380   C(p) =  1.76460424

                       DF         Sum of Squares      Mean Square          F   Prob>F

       Regression       2            12.88734675       6.44367337      20.63   0.0001
       Error           17             5.31065325       0.31239137
       Total           19            18.19800000

                       Parameter        Standard          Type II
       Variable         Estimate           Error   Sum of Squares          F   Prob>F

       INTERCEP       0.64269963      1.05397972       0.11615840       0.37   0.5501
       ACH5           0.72475202      0.16813652       5.80435251      18.58   0.0005
       APT            0.01824901      0.01209548       0.71110042       2.28   0.1497

Bounds on condition number:     1.463985,     5.855938
---------------------------------------------------------------------------------------------

The above model is the best  2-variable model found.

Step 3   Variable ATT Entered       R-square = 0.71086255   C(p) =  3.61935632

                       DF         Sum of Squares      Mean Square          F   Prob>F

       Regression       3            12.93627670       4.31209223      13.11   0.0001
       Error           16             5.26172330       0.32885771
       Total           19            18.19800000

                       Parameter        Standard          Type II
       Variable         Estimate           Error   Sum of Squares          F   Prob>F

       INTERCEP       0.80013762      1.15586303       0.15758855       0.48   0.4987
       ACH5           0.74739939      0.18222852       5.53198290      16.82   0.0008
       APT            0.01972808      0.01298905       0.75861687       2.31   0.1483
       ATT           -0.00797735      0.02068119       0.04892995       0.15   0.7048

Bounds on condition number:     1.633564,     14.15998
---------------------------------------------------------------------------------------------

The above model is the best  3-variable model found.

Step 4   Variable INCOME Entered    R-square = 0.72232775   C(p) =  5.00000000

                       DF         Sum of Squares      Mean Square          F   Prob>F

       Regression       4            13.14492048       3.28623012       9.76   0.0004
       Error           15             5.05307952       0.33687197
       Total           19            18.19800000

                       Parameter        Standard          Type II
       Variable         Estimate           Error   Sum of Squares          F   Prob>F

       INTERCEP       0.91164562      1.17841159       0.20161506       0.60   0.4512
       ACH5           0.71373964      0.18932981       4.78747493      14.21   0.0019
       APT            0.02393740      0.01419278       0.95826178       2.84   0.1124
       ATT           -0.02115577      0.02680560       0.20983199       0.62   0.4423
       INCOME         0.00898581      0.01141792       0.20864378       0.62   0.4435

Bounds on condition number:     2.431593,     31.79315
---------------------------------------------------------------------------------------------

The above model is the best  4-variable model found.
No further improvement in R-square is possible.

Поскольку вначале был запрошен отбор переменных вперед, обратите внимание на то, что именно эта задача и была выполнена в первую очередь. В первом шаге данная техника выбрала ACH5 как первый регрессор, поскольку он имеет наивысший коэффициент корреляции зависимой переменной ACH6. R-квадрат (объясненная дисперсия) равняется 0,669, что является достаточно высоким коэффициентом корреляции. «Cp» – это статистика, которая используется для того, чтобы определить, какое количество переменных следует использовать в регрессии. Вам необходимо будет посмотреть на одну из книг, упомянутых в первой главе, или проконсультироваться с дружелюбным статистиком для того, чтобы получить помощь в интерпретации статистики Mallows Cp. Оставшиеся статистические показатели,  перечисленные в этой распечатке, аналогичны тем, что были в распечатке действия процедуры REG, описанной ранее. На втором шаге система определила, что добавление APT приведет к наибольшему увеличению множественного коэффициента корреляции. Мы можем обратить внимание, что при этом сам R-квадрат увеличился всего лишь с 0,669 до 0,708 (увеличение достаточно небольшое). Более того, регрессионный коэффициент для APT оказался незначимым (р = 0,1497). Это указывает на то, что APT не дает нам какой-то дополнительной информации, не известной нам на основании изучения переменной ACH5. Большинство исследователей исключили бы эту переменную из модели и использовали бы модель с одной переменной (ACH5). После того, как был закончен второй этап анализа, техника отбора переменных вперед указывает на то, что ни одна другая переменная даже близко не оказывается к уровню значимости. На самом деле ни одна другая переменная даже не будет иметь значения 0, 50 (мы обычно требуем, чтобы значение было меньше 0, 05, хотя в регрессионном анализе достаточно часто уровень включения в модель устанавливается на 0,1).

Подход MAXR обнаруживает наилучшую модель с одной переменной, затем наилучшую модель с двумя переменными и т.д. до тех пор, пока не будет проанализирована полная модель (со всеми включенными переменными).  Как можно видеть, обе эти техники приводят к одному и тому же выводу: ACH5 является наилучшим предиктором (причем достаточно мощным), поэтому ни одна другая переменная не должна быть включена в регрессионное уравнение с возможным исключением APT.

Однако здесь имеется одна проблема. Любой учитель шестиклассников может Вам сказать, что наилучшим предиктором того, как будет учиться ученик в шестом классе, является то, как он учился в пятом классе. Однако это мало что говорит нам. Было бы значительно более интересным посмотреть на APT, ATT и INCOME без ACH5 в регрессионном уравнении. Кроме того, было бы полезно сделать ACH5 зависимой переменной, и тогда APT ATT и INCOME являлись бы регрессорами. Конечно, это заставляет нас сделать достаточно много предположений. Имеется другая регрессионная техника, которая значительно облегчает возможность быстрого просмотра большего количества возможных вариантов. Это метод отбора RSQUARE в процедуре REG. Метод RSQUARE дает нам множественные значения коэффициента корреляции для любой комбинации из одной, двух, трех и т.д. переменных среди списка независимых переменных. Следующие команды генерируют все упоминавшиеся ранее регрессионные уравнения, а также модель с ACH5 в качестве зависимой переменной:

PROC REG DATA=NONEXP;
   MODEL ACH6 = INCOME ATT APT ACH5 / SELECTION=RSQUARE;
   MODEL ACH5 = INCOME ATT APT / SELECTION=RSQUARE;
RUN;

Результаты работы процедуры REG с опцией RSQUARE показаны ниже:

N = 20     Regression Models for Dependent Variable: ACH6

Number in     R-square   Variables in Model
 Model

      1     0.66909805   ACH5
      1     0.38921828   APT
      1     0.18113085   ATT
      1     0.10173375   INCOME
 ------------------------------
      2     0.70817380   APT ACH5
      2     0.66964641   INCOME ACH5
      2     0.66917572   ATT ACH5
      2     0.45629702   INCOME APT
      2     0.40687404   ATT APT
      2     0.18564520   INCOME ATT
 ----------------------------------
      3     0.71086255   ATT APT ACH5
      3     0.71079726   INCOME APT ACH5
      3     0.66967022   INCOME ATT ACH5
      3     0.45925077   INCOME ATT APT
 --------------------------------------
      4     0.72232775   INCOME ATT APT ACH5
 -------------------------------------------

   N = 20     Regression Models for Dependent Variable: ACH5

 Number in     R-square   Variables in Model
   Model

       1     0.31693268   APT
       1     0.26115761   ATT
       1     0.13195687   INCOME
  ------------------------------
       2     0.41273318   INCOME APT
       2     0.38784142   ATT APT
       2     0.26422291   INCOME ATT
  ----------------------------------
       3     0.41908115   INCOME ATT APT
  --------------------------------------

Верхняя часть данной распечатки содержит все R-квадраты для каждой одно, двух, трех и четырех переменных регрессии с ACH6 в качестве переменной исхода. Из этой таблицы, можно очень быстро получить большой объем информации.

Предположим, что Вы пришли к выводу, что Вы не хотите включать ACH5 в качестве регрессора, Вы можете быстро обнаружить, что среди регрессионных уравнений с одной переменной, APT является лучшим регрессором (R-квадрат = 0,389). Следующий возникающий  вопрос: «Каково наилучшее регрессионное уравнение с двумя переменными?» и «Насколько велико улучшение и стоит оно того, чтобы анализировать уравнение с двумя переменными?» Давайте посмотрим на регрессионное уравнение с двумя переменными, в которых имеется переменная APT:

R-квадрат для:  APT- ATT = 0,407
                APT  -INCOME = 0,456 

(Помните, что для данного анализа мы исключили уравнение с ACH5).

Наилучшим уравнением является уравнение, включающее в себя ATT и INCOME, с выигрышем 0,067, (которое рассчитывается как разность 0, 456 и 0,389). Стоит ли 6,7% объясненной дисперсии того, чтобы анализировать уравнение с двумя переменными? Возможно, да, хотя оно может быть и статистически незначимым, учитывая небольшой размер нашей выборки. Используя регрессию с ACH5 в качестве переменной результата, мы видим, что ATT и INCOME и здесь тоже выглядят как наилучший предиктор. Интерпретируя эти данные, мы можем придти к выводу, что отношение к учебе в комбинации с богатством родителей, являются достаточно мощными переменными, объясняющими достижения в умении читать. Важно помнить, что статистический анализ должен иметь и разумное объяснение. Возникает вопрос в том, как эти две переменные могут воздействовать на умение читать. Некоторые исследователи могут согласиться с тем, что APT – это психологическая переменная, а INCOME – это социологическая переменная и две этих переменных не должны быть внесены в одно и то же регрессионное уравнение. Хотя обсуждение этого вопроса находится за пределами данной книги, но надо иметь в виду, что когда мы анализируем не экспериментальную регрессию, лучше всего руководствоваться следующими двумя принципами:

  1. Парсимония: по отношению к регрессорам - чем меньше, тем лучше. Другой регрессор будет позволять объяснить немножко больше, но очень часто это приводит к тому, что наше понимание затуманивается.
  2. Здравый смысл: регрессор должен иметь логические взаимоотношения с зависимой переменной, кроме статистических взаимоотношений (ACH6 был бы великолепным предиктором ACH5, но логически это невозможно).

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

PROC CORR DATA=NONEXP NOSIMPLE;
   VAR APT ATT ACH5 ACH6 INCOME;
RUN;

Распечатка результатов этой программы приведена ниже:

          Pearson Correlation Coefficients / Prob > |R| under Ho: Rho=0 / N = 20

                     APT              ATT             ACH5             ACH6           INCOME

 APT             1.00000          0.49741          0.56297          0.62387          0.09811
                  0.0              0.0256           0.0098           0.0033           0.6807

 ATT             0.49741          1.00000          0.51104          0.42559          0.62638
                  0.0256           0.0              0.0213           0.0614           0.0031

 ACH5            0.56297          0.51104          1.00000          0.81798          0.36326
                  0.0098           0.0213           0.0              0.0001           0.1154

 ACH6            0.62387          0.42559          0.81798          1.00000          0.31896
                  0.0033           0.0614           0.0001           0.0              0.1705

 INCOME          0.09811          0.62638          0.36326          0.31896          1.00000
                  0.6807           0.0031           0.1154           0.1705           0.0

Анализ простых корреляций часто приводит к более хорошему пониманию более сложного регрессионного анализа. Здесь мы можем видеть, почему ATT, который имеет достаточно хорошую корреляцию с ACH6, никогда не включается в финальную модель. Она достаточно сильно связана с доходами (r = 0,626) и APT (r = 0, 497). Какими бы ни были взаимоотношения этой переменной с ACH6, она является избыточной, когда мы включаем в анализ APT и INCOME. Обратите также внимание на то, что INCOME и АРТ не связаны друг с другом, что и приводит к тому, что они включаются в модель. Простые корреляции также защищают от неправильной интерпретации «подавляющих» переменных. Эти переменные чересчур сложны для того, чтобы обсуждать их здесь, однако их можно обнаружить, когда мы видим, что переменная значимо не коррелирует с зависимой переменной, но во множественной регрессии она имеет значимый регрессионный коэффициент (обычно отрицательный). Вы должны обратиться за помощью (к учебникам или консультанту), когда интерпретируете подобные переменные.

Создание и использование переменных «пустышек».

Как мы упоминали во введении к данной главе, качественные переменные, такие как пол или раса, могут использоваться в качестве независимых переменных множественной регрессии в том случае, если Вы вначале создаете переменные «пустышки». Когда качественные переменные имеют только два уровня, как это бывает в случае переменной «пол», это достаточно легко. Вы создаете переменную «пустышка», имеющую, например, значение «женщина» и «не женщина», (или «мужчина» и «не мужчина»). Обычно для таких переменных используются значения 0 и 1, поэтому если у Вас имеется переменная, которая называется GENDER (ПОЛ) со значениями «F» и «M», Вы можете создать переменную  «пустышку» следующими командами:

IF GENDER='F' THEN DUMMY_G=1;
   ELSE IF GENDER='M' THEN DUMMY_G=0;

Когда эта переменная используется в регрессии, коэффициент DUMMY_G будет демонстрировать, как много нам необходимо добавить или вычесть (если коэффициент отрицательный) с предсказанного значения зависимой переменной, если обследованная является женщиной. Причиной этому является тот факт, что мы выбрали нулевой уровень для мужчин и это становится причиной того, что мужчины становятся «референтной» величиной (все что угодно, умноженное на ноль, остается нулем). Более короткая команда SAS для создания переменной DUMMY_G будет выглядеть так:

DUMMY_G=INPUT(TRANSLATE(GENDER,’01’,’MF’),1.);

В главе 17 Вы можете познакомиться с функцией INPUT, а в главе 18 с объяснением функции TRANSLATE. Это не является более предпочтительным, чем две строки, описанные выше (обычно мы предпочитаем метод с двумя строками), но она весьма полезна, когда Вы хотите произвести впечатление на своего руководителя!

Что Вы делаете, когда Ваша независимая категориальная переменная имеет более двух уровней? Вы выбираете один из этих уровней как референтный, и создаете k-1 переменную «пустышку» , где k это количество уровней Вашей качественной переменной. Например, предположим, что переменная RACE (Раса) имеет уровни: «WHITE» (Белый)

«AFRICAN AM » (Негр) и «HISPANIC» (Испано-говорящий). Искусственно выбирая «Белых» как референтный уровень, Вы создадите две переменных – одна из них представляет, является человек негром или нет, другая является ли человек испано-говорящим или нет. Вот как это можно закодировать:

IF RACE= 'AFRICAN AM' THEN AF_AM=1;
     ELSE AF_AM=0;
IF RACE= 'HISPANIC' THEN HISPANIC=1;
     ELSE HISPANIC=0;

Данный код предполагает, что если значение переменной RACE (Раса) отсутствует, тогда переменная «пустышка» будет принимать значение 0. Вы можете вместо этого сделать так, чтобы переменная «пустышка» также содержала пропущенное значение, когда имеется пропущенное значение и в переменной RACE (Раса). Для того чтобы этого добиться, необходимо несколько модифицировать описанные значения:

IF RACE= 'AFRICAN AM' THEN AF_AM=1;
     ELSE IF RACE NE ' ' THEN AF_AM=0;
IF RACE= 'HISPANIC' THEN HISPANIC=1;
     ELSE IF RACE NE ' ' THEN HISPANIC=0;

Вы можете обнаружить, что создание переменных «пустышек» для качественных переменных с большим количеством значений является достаточно неудобным и тяжелым мероприятием.

Логистическая регрессия.

Когда у Вас имеется зависимая переменная всего лишь с двумя уровнями (такими как, жив / умер; заболел / чувствует себя хорошо), техника множественной регрессии не является адекватной. Предположим, Вы закодировали Вашу независимую переменную значениями 1 в случае, если человек заболел и 0, если человек остался здоров. Вы хотели бы создать регрессионное уравнение, позволившее предсказать число между 0 и 1, которое затем бы интерпретировалось как вероятность того, что пациент заболеет или останется здоровым. Используя метод множественной регрессии, описанный ранее, регрессионное уравнение может приводить к появлению отрицательных значений, или значений, превышающих 1. Подобные результаты было бы крайне сложно интерпретировать.

Регрессионный метод, который называется логистическая регрессия, разработан специально для того, чтобы справиться с этой проблемой. Логистическая регрессия использует специальный метод трансформации (называемый logit), который приводит к тому, что регрессионное уравнение предсказывает значения в диапазоне между 0 и 1. Уравнение логистической регрессии предсказывает натуральный логарифм шансов того, в какой категории будет человек (в одной или в другой). Кроме того, регрессионные коэффициенты в логистической регрессии могут использоваться для того, чтобы оценить отношение шансов для каждой из независимых переменных.

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

Мы зарегистрировали возраст, состояние зрения, уровень образования водителя и наличие дорожно-транспортных происшествий (происходило ли с данным водителем дорожно-транспортное происшествие в последний год?). Эти показатели хранятся в наборе данных, который называется C:\APPLIED\ACCIDENT.DTA, и он же приведен ниже (0 = Нет, 1 = Да):

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

ДТП в прошлом году?

Возраст

Зрение

Прошел курсы для водителей?

1

17

1

1

1

44

0

0

1

48

1

0

1

55

0

0

1

75

1

1

0

35

0

1

0

42

1

1

0

57

0

0

0

28

0

1

0

20

0

1

0

38

1

0

0

45

0

1

0

47

1

1

0

52

0

0

0

55

0

1

1

68

1

0

1

18

1

0

1

68

0

0

1

48

1

1

1

17

0

0

1

70

1

1

1

72

1

0

1

35

0

1

1

19

1

0

1

62

1

0

0

39

1

1

0

40

1

1

0

55

0

0

0

68

0

1

0

25

1

0

0

17

0

0

0

45

0

1

0

44

0

1

0

67

0

0

0

55

0

1

1

61

1

0

1

19

1

0

1

69

0

0

1

23

1

1

1

19

0

0

1

72

1

1

1

74

1

0

1

31

0

1

1

16

1

0

1

61

1

0

Нашей задачей является выяснить, может ли возраст, зрение и образование водителя использоваться для того, чтобы предсказать были ли у этого водителя несчастные случаи в прошедшем году. Ниже приведена программа, которая создает набор данных, называемых LOGISTIC и включающая переменные, описанные выше, плюс три новых переменных AGEGROUP, YOUNG, OLD, которые будут использованы позднее. В эту программу также включены команды для анализа логистической регрессии с отбором вперед.

PROC FORMAT;
   VALUE AGEGROUP 0 = '>=20 and <=65'
                  1 = '<20 or >65';
   VALUE VISION   0 = 'Норма'
                  1 = 'Сниженное';
   VALUE YES_NO   0 = 'Нет'
                  1 = 'Да';

RUN;

DATA LOGISTIC;
   INPUT ACCIDENT AGE VISION DRIVE_ED;
   IF AGE < 20 OR AGE > 65 THEN AGEGROUP = 1;
   ELSE AGEGROUP=0;
   IF AGE < 20 THEN YOUNG = 1;
   ELSE YOUNG = 0;
   IF AGE > 65 THEN OLD = 1;
   ELSE OLD = 0;

   LABEL ACCIDENT = 'ДТП в прошлом году?'
         AGE      = 'Возраст водителя'
         VISION   = 'Зрение?'
         DRIVE_ED = 'Проходил курсы?';

   FORMAT ACCIDENT
          DRIVE_ED
          YOUNG
          OLD        YES_NO.
          AGEGROUP   AGEGROUP.
          VISION     VISION.;
DATALINES;
    1           17         1           1
    1           44         0           0
… еще строки с данными…
;

PROC LOGISTIC DATA=LOGISTIC DESCENDING;
   TITLE 'Predicting Accidents Using Logistic Regression';
   MODEL ACCIDENT = AGE VISION DRIVE_ED /
                    SELECTION = FORWARD
                    CTABLE PPROB=(0 to 1 by .1)
                    LACKFIT
                    RISKLIMITS;
RUN;
QUIT;

Команды шага DATA достаточно элементарны. Давайте попытаемся обсудить команды процедуры LOGISTIC. Одним из достаточно необычных свойств процедуры LOGISTIC является то, что уравнение предсказывает логарифмы шансов для более низкого значения независимой переменной, поэтому если мы будем следовать традиции и закодируем «Да», как 1 и «Нет» как 0, тогда уравнение будет предсказывать логарифмы шансов не попасть в дорожно-транспортное происшествие. Одним из простых способов переделать эту ситуацию является использование опции DESCENDING. В нашем примере использование данной опции приводит к тому, что программа будет предсказывать логарифмы шансов попадания в дорожно-транспортное происшествие с учетом определенного набора предикторных или объясняющих значений. (Иным способом бороться с той же самой проблемой является включить опцию ORDER = FORWARD и обеспечить формат, в котором значения расположены в правильной последовательности.)

Далее идет команда MODEL, которая аналогична той команде, которую мы только что использовали с процедурой REG. Пример с логистической регрессией включает несколько опций для команды MODEL: метод отбора переменных является методом отбора вперед (FORWARD, аналогично тому, что мы делали для обычной регрессии); запрашивается классификационная таблица (CTABLE) для вероятности от 0 до 1 с шагом 0,1; запрашивается статистика Hosmer и Lemeshow (LACKFIT); а также отношение шансов для каждой переменной, которая вошла в данное уравнение и их 95% доверительные интервалы (RISKLIMITS). Вот каковы результаты:

                      Predicting Accidents Using Logistic Regression                       

                                   The LOGISTIC Procedure

           Data Set: WORK.LOGISTIC
           Response Variable: ACCIDENT  ДТП в прошлом году?
           Response Levels: 2
           Number of Observations: 45
           Link Function: Logit

                                       Response Profile (1)

                                 Ordered
                                   Value  ACCIDENT     Count

                                       1  Нет             20
                                       2  Да              25


                                 Forward Selection Procedure (2)

Step  0. Intercept entered:

                     Residual Chi-Square = 10.7057 with 3 DF (p=0.0134)

Step  1. Variable VISION entered:

             Model Fitting Information and Testing Global Null Hypothesis BETA=0

                                      Intercept
                        Intercept        and
          Criterion       Only       Covariates    Chi-Square for Covariates

          AIC              63.827        59.244         .
          SC               65.633        62.857         .
          -2 LOG L         61.827        55.244        6.583 with 1 DF (p=0.0103)
          Score              .             .           6.421 with 1 DF (p=0.0113)


                      Residual Chi-Square = 4.9818 with 2 DF (p=0.0828)



Step  2. Variable DRIVE_ED entered:
                                   The LOGISTIC Procedure

             Model Fitting Information and Testing Global Null Hypothesis BETA=0

                                      Intercept
                        Intercept        and
          Criterion       Only       Covariates    Chi-Square for Covariates

          AIC              63.827        56.287         .
          SC               65.633        61.707         .
          -2 LOG L         61.827        50.287       11.539 with 2 DF (p=0.0031)
          Score              .             .          10.598 with 2 DF (p=0.0050)


                      Residual Chi-Square = 0.1293 with 1 DF (p=0.7191)



NOTE: No (additional) variables met the 0.05 significance level for entry into the model.


                           Summary of Forward Selection Procedure (3)

                 Variable    Number       Score         Pr >       Variable
         Step    Entered         In    Chi-Square    Chi-Square      Label

            1    VISION           1        6.4209        0.0113    Зрение?
            2    DRIVE_ED         2        4.8680        0.0274    Проходил курсы?


                          Analysis of Maximum Likelihood Estimates (4)

             Parameter Standard    Wald       Pr >    Standardized     Odds Variable
 Variable DF  Estimate   Error  Chi-Square Chi-Square   Estimate      Ratio   Label

 INTERCPT 1    -0.1110   0.5457     0.0414     0.8388            .     .    Intercept
 VISION   1    -1.7139   0.7049     5.9120     0.0150    -0.477689    0.180 Зрение?
 DRIVE_ED 1     1.5001   0.7037     4.5447     0.0330     0.417273    4.482 Проходил курсы?


                Association of Predicted Probabilities and Observed Responses (5)

                          Concordant = 67.2%          Somers' D = 0.532
                          Discordant = 14.0%          Gamma     = 0.655
                          Tied       = 18.8%          Tau-a     = 0.269
                          (500 pairs)                 c         = 0.766
                                   The LOGISTIC Procedure

                    Conditional Odds Ratios and 95% Confidence Intervals (6)

                                                              Wald
                                                        Confidence Limits
                                              Odds
                  Variable        Unit       Ratio       Lower       Upper

                  VISION        1.0000       0.180       0.045       0.717
                  DRIVE_ED      1.0000       4.482       1.129      17.802


                          Hosmer and Lemeshow Goodness-of-Fit Test (7)

                                      ACCIDENT = Нет           ACCIDENT = Да
                                   --------------------    --------------------
              Group       Total    Observed    Expected    Observed    Expected

                  1          13           2        1.80          11       11.20
                  2          10           4        4.20           6        5.80
                  3          11           5        5.20           6        5.80
                  4          11           9        8.80           2        2.20

                   Goodness-of-fit Statistic = 0.0756 with 2 DF (p=0.9629)


                                    Classification Table (8)

                    Correct      Incorrect                Percentages
                 ------------  ------------  -------------------------------------
           Prob          Non-          Non-           Sensi-  Speci-  False  False
          Level  Event  Event  Event  Event  Correct  tivity  ficity   POS    NEG
          ------------------------------------------------------------------------
          0.000     20      0     25      0     44.4   100.0     0.0   55.6     .
          0.100     18      0     25      2     40.0    90.0     0.0   58.1  100.0
          0.200     18     11     14      2     64.4    90.0    44.0   43.8   15.4
          0.300     18     11     14      2     64.4    90.0    44.0   43.8   15.4
          0.400     14     11     14      6     55.6    70.0    44.0   50.0   35.3
          0.500      9     17      8     11     57.8    45.0    68.0   47.1   39.3
          0.600      9     23      2     11     71.1    45.0    92.0   18.2   32.4
          0.700      9     23      2     11     71.1    45.0    92.0   18.2   32.4
          0.800      0     23      2     20     51.1     0.0    92.0  100.0   46.5
          0.900      0     25      0     20     55.6     0.0   100.0     .    44.4
          1.000      0     25      0     20     55.6     0.0   100.0     .    44.4

Объяснение распечатки. Давайте проанализируем некоторые разделы этой распечатки. Первой из них будет «Response Profile» (1), которая перечисляет количество наблюдений в каждой из категории анализируемой переменной откликов (ACCIDENT). Обратите особое внимание на этот раздел, особенно на информацию об упорядоченных значениях. Поскольку мы использовали опцию DESCENDING процедуры LOGISTIC, значения (форматированные, как «Да») первые в списке упорядоченных значений. Как мы упоминали ранее, это означает, что логистическая модель будет предсказывать шансы и вероятности попадания в дорожно-транспортное происшествие, базируясь на интересующих нас переменных.

Следующий раздел (2) показывает последовательность, в которой независимые или объясняющие переменные входили в модель. Мы видим, что первой переменной, которая вошла в модель, была VISION, и при этом использовалось несколько критерий для оценки значимости этой переменной в предсказании дорожно-транспортного происшествия. Первые два критерия «–2 LOG L» и « Score» используются для того, чтобы протестировать, значима ли независимая переменная, и оба эти показателя базируются на распределении c2 . Мы видим, что VISION является значимой объясняющей переменной по обоим этим критериям (р примерно равняется 0,01). Два других критерия («AIC» информационные критерии Akaike) и «SC» (критерий Schwartz) служат примерно той же самой цели, за исключением того, что они откорректированы на количество объясняющих переменных и количество наблюдений, использовавшихся в данной модели. Эти статистические показатели являются достаточно полезными, когда мы сравниваем различные модели. Более низкие значения этих статистик указывают на то, что модель лучше соответствует данным.

Продолжая двигаться дальше по распечатке, мы видим, что DRIVE_ED (Образование водителя) является следующей переменной, которая вошла в модель. В целом модель улучшилась (на основании более низких значений AIC и SC и более низких значений –2 LOG L) и поскольку не одна другая переменная не соответствует принимаемому по умолчанию уровню значимости 0,05, на этом этапе построение модели прекращается.

Раздел «Summary» (3) распечатывается только для пошаговых (FORWARD, BACKWARD и STEPWISE) методов отбора. Он суммирует последовательность, в которой объясняющие переменные входили в модель, а также значения критерия c2 и р-оценки для каждой переменной.

Раздел (4) дает нам оценки параметров логистической регрессии. В данном примере уравнение будет выглядеть таким образом:

Log (шансы попадания в дорожно-транспортное происшествие) = 0,1110 - 1,7139 х VISION (Зрение) – 1.5001 х DRIVE_ED (Образование)

Если мы подставим соответствующие значения для зрения и образования в это уравнение, результатом будет log (шансов попадания в дорожно-транспортное происшествие). Для того чтобы определить сами шансы,  необходимо возвести число е (основание натуральных логарифмов) в эту степень. Для того чтобы рассчитать вероятность того, что человек попадет в аварию, базируясь на его зрении и уровне образования, можно использовать следующее соотношение:

Шансы = Р / (1 – Р), где Р это вероятность.

Если это уравнение решить по отношению к Р, мы получаем:

Р = (шансы / 1 - шансы)

Давайте, используем это уравнение для того, чтобы предсказать шансы и вероятность попадания в дорожно-транспортное происшествие для человека, у которого есть определенные значения переменных VISION (Зрение) и DRIVE_ED (Образование). Для человека, у которого нет никаких проблем со зрением (значение для переменной 0), и для человека, никогда не получавшего образования на курсах для водителей (Образование равняется 0). Расчеты будут следующими:

Log (шансы) = 0,1110 - 1,7139 х 0 – 1.5001 х 0 = 0,1110.

Поэтому шансы в дорожно-транспортное происшествие для этого человека составляет:

Шансы (попадания в дорожно-транспортное происшествие) = ехр(0,1110) = 1,1174, а соответствующая вероятность попадания в дорожно-транспортное происшествие:

р (попадания в дорожно-транспортное происшествие) = 1,1174 / (1 - 1, 1174) = 0, 5277.

Взяв аналогичного человека за исключением того, что у него имеются проблемы со зрением (значение переменной VISION (Зрение) = 1)), мы снова рассчитываем шансы и вероятность:

Log (шансы) = 0,1110 - 1,7139 х 1 – 1.5001 х 0 = 1,8249,

Шансы (попадания в дорожно-транспортное происшествие) = ехр(1,8249) = 6,2022, Р(попадания в дорожно-транспортное происшествие) = 6,2022 / (1 - 6,2022) = 0,8612.

Мы видим, что шансы попадания в дорожно-транспортное происшествие резко увеличиваются (от 1,1174 до 6,2022), у человека с проблемами со зрением. Мы часто смотрим не отношение этих шансов 6.2022 / 1.1174 = 5.5506, для того чтобы описать эффект, объясняющий переменные на шансы возникновения того, или иного события. Это отношение называется отношением шансов, и оно рассчитано в данной распечатке.

Раздел, который отмечен «Association of Predicted Probabilities» (5) достаточно сложен. Он организован так: Возьмите все возможные пары наблюдений, в которых результаты являлись различными. В данном примере имеется 500 пар, причем один человек из этой пары попадал в дорожно-транспортное происшествие, а другой – нет. Затем рассчитайте для каждой из единиц в этой паре иметь шансы попадания в дорожно-транспортное происшествие. Если тот, для кого была рассчитана более высокая вероятность, и является тем, кто действительно попал в дорожно-транспортное происшествие, тогда такая пара называется конкордантной. Когда пара оказалась в неправильной последовательности, она называется дискордантной. Если оба значения в данной паре имеют одинаковую вероятность, то тогда данная пара помечается как связанная (Tied). Желательно иметь большое количество конкордантных пар и низкое количество дискордантных пар.

Раздел «Conditional Odds Ratios and 95% Confidence Intervals» (6) результат включения в программу опции RISKLIMITS. Для каждой переменной он перечисляет отношения шансов и 95% доверительный интервал для этого отношения. Обратите внимание на то, что отношение шансов для переменной VISION (Зрение) составляет 5,551, что аналогично тому, что мы подсчитали ранее (если округлить наши результаты). Поскольку 95% доверительный интервал не включает в себя единицу, мы имеем дополнительное подтверждение тому, что зрение является значимой объясняющей переменной в нашей модели.

Тот факт, что отношение шансов для переменной DRIVE_ED (Образование) меньше 1 говорит нам, что курсы для водителей помогают снизить количество дорожно-транспортных происшествий.

Статистика Hosmer и Lemeshow – это тест (7), который базируется на критерии c2 и оценивает то, насколько хорошо модель соответствует данным. Поскольку Вы по всей вероятности не хотите отвергать нулевую гипотезу о том, что Ваши данные соответствуют некой модели, Вы бы хотели иметь высокое значение р-оценки для данного теста. В этом примере значение c2 составляет 0,0756 с двумя степенями свободы, что дает нам оценку р = 0,9629 и означает, что мы не отбрасываем нулевую гипотезу о соответствии наших данных, построенной модели.

В конце концов, мы подходим к классификационной таблице «Classification Table» (8), которая дает нам чувствительность, специфичность, частоту ложноположительных и ложноотрицательных результатов для нескольких уровней вероятностей. Предположим, например, мы решили, что любое предсказанное значение более чем 0,3 должно рассматриваться как положительный диагноз для шансов попадания в дорожно-транспортное происшествие. Иными словами, Вы хотите быть достаточно консервативными и рассматривать человека, как человека, который склонен к попаданию в дорожно-транспортное происшествие, даже если вероятность того, что у него произойдет дорожно-транспортное происшествие менее 0,5. Базируясь на этой классификационной таблице, такое значение для «положительного диагноза» будут иметь высокая чувствительность (92%) и относительно низкая специфичность (45%). Для тех, кто не знаком с этим термином, чувствительность – это количество людей, у которых произойдет данное событие (дорожно-транспортное происшествие) и у кого, как было предсказано, оно и должно было произойти (р >0,3) в данном случае. Специфичность – это пропорция людей, у которых не было дорожно-транспортных происшествий и имеющих вероятность этого события менее 0,3. Глядя на эту таблицу, Вы можете определить ту точку, которая будет являться адекватной для «подтверждения диагноза» в зависимости от желаемой чувствительности и специфичности. Мы обсудим способ графического анализа позднее в данном разделе, когда мы Вам покажем, как можно создавать характеристические (ROC) кривые.

Создание качественной переменной из переменной возраст (AGE). Анализируя данные из своего опыта, Вы можете удивиться тому, что возраст не вошел в уравнение. Для того чтобы проанализировать это немножко детальнее, давайте посмотрим на возрастное распределение среди тех, у кого дорожно-транспортное происшествие было, и среди тех у кого его не было. В этом нам может помочь простой график, генерируемый процедурой CHART. Вот код:

OPTIONS PS=30;
PROC CHART DATA=LOGISTIC;
   TITLE 'Распределение по возрасту и ДТП';
   VBAR AGE / MIDPOINTS=10 TO 90 BY 10
              GROUP=ACCIDENT;
 RUN;

А вот результат:

                  Распределение по возрасту и ДТП                  

        Frequency

        8 +                      *
          |                      *
        7 +                      *         *
          |                      *         *
        6 +       *              *         *
          |       *              *         *
        5 +       *              *         *
          |       *              *         *
        4 +       * * *          *       * *
          |       * * *          *       * *
        3 +       * * *          *       * *
          |       * * *          *       * *
        2 +   * * * * * *        *   * * * *
          |   * * * * * *        *   * * * *
        1 +   * * * * * *        * * * * * * *
          |   * * * * * *        * * * * * * *
          +---------------------------------------------------
            1 2 3 4 5 6 7 8 9  1 2 3 4 5 6 7 8 9  AGE Midpoint
            0 0 0 0 0 0 0 0 0  0 0 0 0 0 0 0 0 0

            ‚----- Нет -----‚  ‚------ Да -----‚  ACCIDENT

Обратите внимание, что для группы, которая не попадала в дорожно-транспортные происшествия, имеется значительно большее количество в центре распределения, но в группе, попадавших в дорожно-транспортные происшествия, кажется, есть некоторый избыток крайне молодых и крайне пожилых индивидуумов. Базируясь на этих результатах, мы создаем новую переменную (AGEGROUP), которая будет иметь значение 0 для лиц в возрасте от 20 до 65 лет (включительно) и 1 в том случае, если возраст находится вне этих пределов. Мы уже создали эту переменную в оригинальном наборе данных, поэтому теперь мы можем использовать вместо переменной AGE новую переменную AGEGROUP, и вернуться к нашей регрессии. Вот модифицированная программа, которая, кроме того, включает опцию для создания дополнительного набора данных, содержащих расчеты чувствительности и 1-специфичности (частоту ложноположительных результатов) для того, чтобы потом иметь возможность нарисовать характеристическую кривую:

PROC LOGISTIC DATA=LOGISTIC DESCENDING;
   TITLE 'Предсказание ДТП при помощи логистической регрессии';
   MODEL ACCIDENT = AGEGROUP VISION DRIVE_ED /
                    SELECTION = FORWARD
                    CTABLE PPROB=(0 to 1 by .1)
                    LACKFIT
                    RISKLIMITS
                    OUTROC=ROC;
RUN;
QUIT;

OPTIONS LS=64 PS=32;
PROC PLOT DATA=ROC;
   TITLE 'ROC Curve';
   PLOT _SENSIT_ * _1MSPEC_ = 'o';
   LABEL _SENSIT_ = 'Sensitivity'
         _1MSPEC_ = '1 - Specificity';
RUN;

Команды процедуры LOGISTIC в основном те же самые, что и ранее, за исключением того, что мы заменили переменную AGE на переменную AGEGROUP и в команде MODEL опцию OUTROC для того, чтобы создать файл данных, содержащих информацию, необходимую для создания характеристической кривой (ROC- кривой). Теперь мы можем использовать процедуру PLOT для того, чтобы нарисовать характеристическую кривую. Для графиков, которые будут несколько изящнее, можно использовать процедуру GPLOT – часть графического пакета SAS-Graph. Вот некоторые отредактированные части раздела от запуска процедуры, описанной выше:

         Предсказание ДТП при помощи логистической регрессии        

                        The LOGISTIC Procedure

                Summary of Forward Selection Procedure

        Variable   Number      Score        Pr >      Variable
 Step   Entered        In   Chi-Square   Chi-Square     Label

    1   AGEGROUP        1       9.3750       0.0022
    2   VISION          2       5.3447       0.0208   Зрение?


              Analysis of Maximum Likelihood Estimates

              Parameter Standard    Wald       Pr >    Standardized
  Variable DF  Estimate   Error  Chi-Square Chi-Square   Estimate

  INTERCPT 1    -1.3334   0.5854     5.1886     0.0227            .
  AGEGROUP 1     2.1611   0.8014     7.2712     0.0070     0.590289
  VISION   1     1.6258   0.7325     4.9265     0.0264     0.453130

      Conditional Odds Ratios and 95% Confidence Intervals

                                                Wald
                                          Confidence Limits
                                Odds
    Variable        Unit       Ratio       Lower       Upper

    AGEGROUP      1.0000       8.680       1.805      41.756
    VISION        1.0000       5.083       1.209      21.359
                           ROC Curve                          

        Plot of _SENSIT_*_1MSPEC_.  Symbol used is 'o'.

       |
  1.00 +                               o                       o
       |
       |
       |
S      |
e      |
n 0.85 +                      o
s      |
i      |
t      |
i      |
v      |
i 0.70 +
t      |
y      |
       |
       |
       |
  0.55 +         o
       |
       +-----------+----------+----------+----------+----------+
       0.0        0.2        0.4        0.6        0.8       1.0

                            1 - Specificity

NOTE: 2 obs hidden.

Насколько же велики различия! Теперь переменная AGEGROUP входит в модель первой, за ней следует VISION. Обратите внимание насколько важно просмотреть Ваши данные и понять их, прежде чем Вы начнете запускать различные программы на выполнение.

Характеристическая кривая – это традиционный метод демонстрации взаимоотношения между чувствительностью и частотой ложноположительных результатов. Переменные  _SENSIT _ и _ 1VSPEC _в наборе результирующих данных, представляют собой чувствительность и 1–специфичность (частоту ложноположительных результатов). Как уже упоминалось ранее, мы можем самостоятельно решить, что значение, которое будет приводить к тому, что мы будем считать диагноз поставленным, не обязательно должно быть 0,5. Вы можете объяснить, почему любое значение больше чем 0,3 должно являться положительным. Это увеличит у Вас чувствительность, но за счет этого увеличит количество ложноположительных результатов (многие из тех, кто не попадал в дорожно-транспортное происшествие, также будут отнесены в группу, угрожаемых по дорожно-транспортным происшествиям). Как Вы можете видеть, 1-специфичность дает нам количество ложноположительных результатов (может быть, Вы и не сможете этого заметить, ведь если Вы не работаете с этими определениями достаточно часто, очень легко запутаться).

Создание двух переменных «пустышек» из переменной AGE. Еще один окончательный трюк, который мы будем использовать на этих данных – это создание двух переменных «пустышек» из переменной AGE. Одна из них будет называться YOUNG, и она будет принимать значение истинной (1) для любого человека моложе 20 лет, и (0) в любом другом случае. Аналогичным образом переменная OLD будет определена как, имеющая истинное значение для лиц старше 65 лет и ложное значение в любом другом случае. Код, который создает эти две дополнительные переменные, уже был включен в оригинальный шаг обработки данных DATA. Для того чтобы проанализировать результаты, базируясь на этих новых переменных, ниже приведены команды процедуры LOGISTIC:

PROC LOGISTIC DATA=LOGISTIC DESCENDING;
   TITLE 'Предсказание ДТП при помощи логистической регрессии';
   TITLE 'С использованием двух переменных-пустышек вместо AGE';
   MODEL ACCIDENT = YOUNG OLD VISION DRIVE_ED /
                    SELECTION = FORWARD
                    CTABLE PPROB=(0 to 1 by .1)
                    LACKFIT
                    RISKLIMITS
                    OUTROC=ROC;
RUN;
QUIT;

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