exponenta event banner

plotInteraction

Эффекты взаимодействия графика двух предикторов в модели линейной регрессии

Описание

пример

plotInteraction(mdl,var1,var2) создает график основных эффектов двух выбранных предикторов var1 и var2 и их условные эффекты в модели линейной регрессии mdl. Горизонтальные линии через значения эффекта указывают их 95% доверительные интервалы.

пример

plotInteraction(mdl,var1,var2,ptype) задает тип печати ptype. Например, если ptype является 'predictions', то plotInteraction строит график скорректированной функции отклика как функции второго предиктора, причем первый предиктор фиксируется при определенных значениях. Дополнительные сведения см. в разделе Условный эффект.

h = plotInteraction(___) возвращает объекты строки, использующие любую из комбинаций входных аргументов в предыдущих синтаксисах. Использовать h для изменения свойств определенной линии после создания графика. Список свойств см. в разделе Свойства линии.

Примеры

свернуть все

Поместите модель с термином взаимодействия и создайте график взаимодействия, который показывает основные эффекты и условные эффекты.

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

load carsmall
Acceleration = normalize(Acceleration); 
Horsepower = normalize(Horsepower);
Displacement = normalize(Displacement);

Определение переменной ответа, включающей термин взаимодействия Acceleration*Horsepower.

y = Acceleration + 4*Horsepower + Acceleration.*Horsepower + Displacement;

Добавьте некоторый шум к значениям отклика.

rng('default') % For reproducibility
y = y + normrnd(10,0.25*std(y,'omitnan'),size(y));

Создайте таблицу, содержащую данные предиктора и значения ответа.

tbl = table(Acceleration,Horsepower,Displacement,y);

Подгонка модели линейной регрессии.

mdl = fitlm(tbl,'y ~ Acceleration + Horsepower + Acceleration*Horsepower + Displacement + Horsepower*Displacement')
mdl = 
Linear regression model:
    y ~ 1 + Acceleration*Horsepower + Horsepower*Displacement

Estimated Coefficients:
                                Estimate       SE         tStat        pValue  
                               __________    _______    _________    __________

    (Intercept)                    9.8652    0.16177       60.982     8.587e-77
    Acceleration                  0.63726     0.1626       3.9191    0.00016967
    Horsepower                     3.6168       0.34       10.638     9.273e-18
    Displacement                  0.95032    0.31828       2.9858     0.0036144
    Acceleration:Horsepower       0.60108     0.1851       3.2473     0.0016209
    Horsepower:Displacement    -0.0096069    0.20947    -0.045863       0.96352


Number of observations: 99, Error degrees of freedom: 93
Root Mean Squared Error: 1.07
R-squared: 0.93,  Adjusted R-Squared: 0.927
F-statistic vs. constant model: 249, p-value = 3.3e-52

pValue термина взаимодействия Acceleration*Horsepower очень мало, что означает, что термин взаимодействия статистически значим.

Создание графика взаимодействия, показывающего основные эффекты и условные эффекты Horsepower и Acceleration.

plotInteraction(mdl,'Horsepower','Acceleration')

Figure contains an axes. The axes with title Interaction of Horsepower and Acceleration contains 12 objects of type line.

Для каждого предсказателя основная точка эффекта и ее условные точки эффекта не выровнены по вертикали. Поэтому нельзя найти какие-либо вертикальные линии, которые проходят через доверительные интервалы основной и условной точек эффекта для каждого предиктора. Этот график указывает на существование эффектов взаимодействия на переменную ответа.

Для сравнения создайте график взаимодействия для Displacement и Horsepower. Это p-значение этого члена взаимодействия (Displacement*Horsepower) является большим, что означает, что термин взаимодействия не является статистически значимым.

plotInteraction(mdl,'Displacement','Horsepower')

Figure contains an axes. The axes with title Interaction of Displacement and Horsepower contains 12 objects of type line.

Для каждого предсказателя основная точка эффекта и ее условные точки эффекта выравниваются вертикально. Этот график указывает на отсутствие взаимодействия.

Поместите модель с термином взаимодействия и создайте график взаимодействия скорректированных кривых отклика.

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

load carsmall
Acceleration = normalize(Acceleration); 
Horsepower = normalize(Horsepower);
Displacement = normalize(Displacement);

Определение переменной ответа, включающей термин взаимодействия Acceleration*Horsepower.

y = Acceleration + 4*Horsepower + Acceleration.*Horsepower + Displacement;

Добавьте некоторый шум к значениям отклика.

rng('default') % For reproducibility
y = y + normrnd(10,0.25*std(y,'omitnan'),size(y));

Создайте таблицу, содержащую данные предиктора и значения ответа.

tbl = table(Acceleration,Horsepower,Displacement,y);

Подгонка модели линейной регрессии.

mdl = fitlm(tbl,'y ~ Acceleration + Horsepower + Acceleration*Horsepower + Displacement + Horsepower*Displacement')
mdl = 
Linear regression model:
    y ~ 1 + Acceleration*Horsepower + Horsepower*Displacement

Estimated Coefficients:
                                Estimate       SE         tStat        pValue  
                               __________    _______    _________    __________

    (Intercept)                    9.8652    0.16177       60.982     8.587e-77
    Acceleration                  0.63726     0.1626       3.9191    0.00016967
    Horsepower                     3.6168       0.34       10.638     9.273e-18
    Displacement                  0.95032    0.31828       2.9858     0.0036144
    Acceleration:Horsepower       0.60108     0.1851       3.2473     0.0016209
    Horsepower:Displacement    -0.0096069    0.20947    -0.045863       0.96352


Number of observations: 99, Error degrees of freedom: 93
Root Mean Squared Error: 1.07
R-squared: 0.93,  Adjusted R-Squared: 0.927
F-statistic vs. constant model: 249, p-value = 3.3e-52

pValue термина взаимодействия Acceleration*Horsepower очень мало, что означает, что термин взаимодействия статистически значим.

Создание графика взаимодействия, показывающего скорректированную функцию ответа как функцию Acceleration, с Horsepower фиксируется при определенных значениях.

plotInteraction(mdl,'Horsepower','Acceleration','predictions')

Figure contains an axes. The axes with title Interaction of Horsepower and Acceleration contains 4 objects of type line. These objects represent Horsepower, -1.4506, 0.51529, 2.4812.

Кривые не параллельны. Этот график показывает взаимодействия между предикторами.

Для сравнения создайте график взаимодействия для Displacement и Horsepower. P-значение этого члена взаимодействия (Displacement*Horsepower) является большим, что означает, что термин взаимодействия не является статистически значимым.

plotInteraction(mdl,'Displacement','Horsepower','predictions')

Figure contains an axes. The axes with title Interaction of Displacement and Horsepower contains 4 objects of type line. These objects represent Displacement, -1.0969, 0.55827, 2.2134.

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

Входные аргументы

свернуть все

Объект модели линейной регрессии, указанный как LinearModel объект, созданный с помощью fitlm или stepwiselm, или CompactLinearModel объект, созданный с помощью compact.

Первая переменная для графика, заданная как символьный вектор или строковый массив имени переменной в mdl.VariableNames (VariableNames имущество mdl) или положительное целое число, представляющее индекс переменной в mdl.VariableNames.

Типы данных: char | string | single | double

Вторая переменная для графика, заданная как символьный вектор или строковый массив имени переменной в mdl.VariableNames (VariableNames имущество mdl) или положительное целое число, представляющее индекс переменной в mdl.VariableNames.

Типы данных: char | string | single | double

Тип графика, указанный как одно из следующих значений:

  • 'effects'plotInteraction создает график основных эффектов двух выбранных предикторов var1 и var2 и их условные эффекты. Горизонтальные линии через значения эффекта указывают их 95% доверительные интервалы.

  • 'predictions'plotInteraction строит график скорректированной функции ответа как функции var2, с var1 фиксируется при определенных значениях.

Дополнительные сведения см. в разделах Основной эффект и Условный эффект.

Выходные аргументы

свернуть все

Объекты линии, возвращаемые в виде вектора. Используйте точечную нотацию для запроса и установки свойств объектов линии. Дополнительные сведения см. в разделе Свойства линии.

Если тип графика - 'effects' (по умолчанию), h(1) соответствует кругам, которые представляют основные оценки эффекта, и h(2) и h(3) соответствуют 95% доверительным интервалам для двух основных эффектов. Остальные записи в h соответствуют условным эффектам и их доверительным интервалам. Объекты-линии, связанные с основными эффектами, имеют тег 'main'. Объекты линии, связанные с условными эффектами var1 и var2 иметь теги 'conditional1' и 'conditional2'соответственно.

Если тип графика - 'predictions', каждая запись в h соответствует каждой кривой на графике.

Подробнее

свернуть все

Главный эффект

Эффект или основной эффект предиктора представляет эффект одного предиктора на ответ от изменения значения предиктора при усреднении эффектов других предикторов.

Для предикторной переменной xs эффект определяется

g (xsi) - g (xsj),

где g - функция скорректированного ответа. plotEffects функция выбирает наблюдения i и j следующим образом. Для категориальной переменной, которая не является порядковой, xsi и xsj являются значениями предиктора, которые производят максимальный и минимальный скорректированные отклики, соответственно, так что значение эффекта всегда является положительным. Для числовой переменной или порядковой категориальной переменной функция выбирает два значения предиктора, которые дают минимальный и максимальный скорректированные отклики, где xsi < xsj.

plotEffects строит график значения эффекта и 95% доверительного интервала значения эффекта для каждой переменной предиктора.

Откорректированный ответ

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

Регрессионная модель для переменных предиктора (x1, x2,..., xp) и переменной ответа y имеет вид

yi = f (x1i, x2i,..., xpi) + ri,

где f - аппроксимированная регрессионная функция, а r - остаточная функция. Нижний индекс i представляет номер наблюдения.

Скорректированная функция отклика для первой прогнозирующей переменной x1, например, определяется как

g (x1) =1n∑i=1nf (x1, x2i, x3i,..., xpi),

где n - число наблюдений. Скорректированное значение данных отклика представляет собой сумму скорректированного установленного значения и остатка для каждого наблюдения.

y˜i=g (x1i) + ri.

plotAdjustedResponse строит график скорректированной функции отклика и скорректированных значений данных отклика для выбранной переменной предиктора.

Условный эффект

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

Чтобы определить условный эффект, определите скорректированную функцию ответа как функцию двух переменных предиктора. Например, скорректированная функция ответа x1 и x2 равна

h (x1, x2) =1n∑i=1nf (x1, x2, x3i,..., xpi),

где f - аппроксимированная регрессионная функция, а n - число наблюдений.

Условный эффект одного предиктора (x2) при определенном значении другого предиктора (x1k) определяется

h (x1k, x2i) - h (x1k, x2j).

Для вычисления значений условного эффекта plotInteraction выбирает наблюдения i и j из x2 так же, как когда функция вычисляет главный эффект и выбирает значения x1k. Если x1 является категориальной переменной, то plotInteraction вычисляет условный эффект для всех уровней x1. Если x1 является числовой переменной, то plotInteraction вычисляет условный эффект для трех значений x1: минимального значения x1, максимального значения x1 и среднего значения минимума и максимума.

Если тип графика - 'effects' (по умолчанию), plotInteraction строит графики основных эффектов двух выбранных предикторов, их условных эффектов и 95% доверительных границ для значений эффекта.

Если тип графика - 'predictions', plotInteraction строит график скорректированной функции отклика как функции второго предиктора, причем первый предиктор фиксируется при определенных значениях. Например, plotInteraction(mdl,'x1','x2','predictions') строит график кривой h (x1k, x2) для каждого значения x1k.

Совет

  • Курсор данных отображает значения выбранной точки графика в подсказке данных (небольшое текстовое поле, расположенное рядом с точкой данных). Всплывающая подсказка данных включает значения осей X и Y для выбранной точки вместе с именем или номером наблюдения.

Альтернативная функциональность

  • A LinearModel объект обеспечивает несколько функций печати.

    • При создании модели используйте plotAdded чтобы понять эффект добавления или удаления переменной предиктора.

    • При проверке модели используйте plotDiagnostics найти сомнительные данные и понять эффект каждого наблюдения. Кроме того, используйте plotResiduals для анализа остатков модели.

    • После подгонки модели используйте plotAdjustedResponse, plotPartialDependence, и plotEffects чтобы понять эффект конкретного предиктора. Использовать plotInteraction чтобы понять эффект взаимодействия между двумя предикторами. Кроме того, используйте plotSlice для печати фрагментов через поверхность прогнозирования.

Расширенные возможности

Представлен в R2012a