plotInteraction

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

Синтаксис

plotInteraction(mdl,var1,var2)
plotInteraction(mdl,var1,var2,ptype)
h = plotInteraction(___)

Описание

пример

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

пример

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

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

Примеры

свернуть все

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

Используя данные в наборе данных 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*nanstd(y),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')

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

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

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

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

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

Используя данные в наборе данных 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*nanstd(y),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')

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

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

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

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

Входные параметры

свернуть все

Объект модели линейной регрессии, заданный как объект 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, зафиксированным в определенных значениях.

Для получения дополнительной информации смотрите Основной Эффект и Условный Эффект.

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

свернуть все

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

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

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

Больше о

свернуть все

Основной эффект

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

Для переменной прогноза xs эффект задан

g (x s i) – g (x s j),

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

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

Настроенный ответ

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

Модель регрессии для переменных прогноза (x 1, x 2, …, x p) и переменная отклика y имеет форму

y i = f (x 1i, x 2i, …, x pi) + r i,

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

Настроенная функция отклика для первой переменной прогноза x 1, например, задана как

g(x1)=1ni=1nf(x1,x2i,x3i,...,xpi),

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

y˜i=g(x1i)+ri.

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

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

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

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

h(x1,x2)=1ni=1nf(x1,x2,x3i,...,xpi),

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

Условный эффект одного предиктора (x 2), учитывая определенное значение другого предиктора (x 1k) задан

h (x 1k, x 2i) - h (x 1k, x 2j).

Чтобы вычислить условные значения эффекта, plotInteraction выбирает наблюдения i и j x 2 таким же образом как тогда, когда функция вычисляет Основной Эффект и выбирает значения x 1k. Если x 1 является категориальной переменной, то plotInteraction вычисляет условный эффект для всех уровней x 1. Если x 1 является числовой переменной, то plotInteraction вычисляет условный эффект для трех значений x 1: минимальное значение x 1, максимальное значение x 1, и среднее значение минимума и максимума.

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

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

Советы

  • Data Cursor отображает значения выбранной точки графика во всплывающей подсказке (маленькое текстовое поле, расположенное рядом с точкой данных). Всплывающая подсказка включает x - ось и y - значения оси для выбранной точки, наряду с именем наблюдения или номером.

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

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

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

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

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

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