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*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')

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

Для сравнения создайте график взаимодействия для 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*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')

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

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

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

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

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

свернуть все

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

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

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

Вторая переменная для графика в виде вектора символов или массива строк имени переменной в mdl.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