exponenta event banner

regstats

Регрессионная диагностика

Синтаксис

regstats(y,X,model)
stats = regstats(...)
stats = regstats(y,X,model,whichstats)

Описание

regstats(y,X,model) выполняет многолинейную регрессию ответов в y на предикторах в X. X является матрицей n-за-p p предикторов при каждом из n наблюдений. y представляет собой вектор n-на-1 наблюдаемых ответов.

Примечание

По умолчанию regstats добавляет первый столбец из 1 в X, что соответствует постоянному члену в модели. Не вводите столбец 1 непосредственно в X.

Дополнительный вход model управляет регрессионной моделью. По умолчанию regstats использует линейную аддитивную модель с постоянным членом. model может быть любым из следующих:

  • 'linear' - Постоянные и линейные члены (по умолчанию)

  • 'interaction' - Постоянные, линейные и интерактивные термины

  • 'quadratic' - постоянные, линейные, интерактивные и квадратные члены;

  • 'purequadratic' - Постоянные, линейные и квадратные члены

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

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

Если установить флажки, соответствующие статистике, которую требуется вычислить, и нажать кнопку ОК, regstats возвращает выбранную статистику в рабочую область MATLAB ®. Имена переменных рабочей области отображаются в правой части интерфейса. Можно изменить имя переменной рабочей области на любое допустимое имя переменной MATLAB.

stats = regstats(...) создает структуру stats, в полях которого содержатся все диагностические статистические данные для регрессии. Этот синтаксис не открывает графический интерфейс пользователя. Поля stats перечислены в следующей таблице.

ОбластьОписание
QQ из QR-разложения матрицы проектирования
RR из QR-разложения расчетной матрицы
betaКоэффициенты регрессии
covbКовариация коэффициентов регрессии
yhatСоответствующие значения данных ответа
rОстатки
mseСреднеквадратичная ошибка
rsquareR2 статистика
adjrsquareСкорректированная статистика R2
leverageРычаги
hatmatШляпная матрица
s2_iDelete-1 отклонение
beta_iКоэффициенты Delete-1
standresСтандартизированные остатки
studresСтуденческие остатки
dfbetasМасштабированное изменение коэффициентов регрессии
dffitИзменение установленных значений
dffitsМасштабированное изменение подгоняемых значений
covratioИзменение ковариации
cookdРасстояние Кука
tstatt статистика и p-значения для коэффициентов
fstatF статистика и p-значение
dwstatСтатистика Дурбина-Уотсона и p-значение

Обратите внимание, что имена полей stats соответствуют именам переменных, возвращаемых в рабочую область MATLAB при использовании графического интерфейса пользователя. Например, stats.beta соответствует переменной beta возвращается при выборе коэффициентов в графическом интерфейсе пользователя и нажатии кнопки «ОК».

stats = regstats(y,X,model,whichstats) возвращает только ту статистику, которая указана в whichstats. whichstats может быть односимвольным вектором, например 'leverage', строковый массив, такой как ["leverage","standres","studres"]или массив ячеек символьных векторов, таких как {'leverage','standres','studres'}. Набор whichstats кому 'all' для возврата всей статистики.

Примечание

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

Примеры

Откройте окно regstats GUI с использованием данных из hald.mat:

load hald
regstats(heat,ingredients,'linear');

Выберите подогнанные значения и остатки в графическом интерфейсе пользователя:

Нажмите кнопку ОК, чтобы экспортировать подогнанные значения и остатки в рабочую область MATLAB в переменных с именем yhat и rсоответственно.

Можно создать те же переменные с помощью stats вывод, без открытия GUI:

whichstats = {'yhat','r'};
stats = regstats(heat,ingredients,'linear',whichstats);
yhat = stats.yhat;
r = stats.r;

Совет

  • regstats удовольствия NaN значения в X или y как отсутствующие значения. regstats пропускает наблюдения с отсутствующими значениями из аппроксимации регрессии.

Ссылки

[1] Белсли, Д. А., Э. Кух и Р. Э. Уэлш. Регрессионная диагностика. Хобокен, Нью-Джерси: John Wiley & Sons, Inc., 1980.

[2] Чаттерджи, С. и А. С. Хади. «Влиятельные наблюдения, высокоэффективные точки и отклонения в линейной регрессии». Статистическая наука. Том 1, 1986, стр. 379-416.

[3] Кук, Р. Д. и С. Вайсберг. Остатки и влияние в регрессии. Нью-Йорк: Chapman & Hall/CRC Press, 1983.

[4] Гудолл, С. Р. «Вычисление с использованием QR-разложения». Справочник по статистике. Т. 9, Амстердам: Эльсевье/Северо-Голландия, 1993.

Представлен до R2006a