Регрессионная диагностика
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 перечислены в следующей таблице.
| Область | Описание |
|---|---|
Q | Q из QR-разложения матрицы проектирования |
R | R из QR-разложения расчетной матрицы |
beta | Коэффициенты регрессии |
covb | Ковариация коэффициентов регрессии |
yhat | Соответствующие значения данных ответа |
r | Остатки |
mse | Среднеквадратичная ошибка |
rsquare | R2 статистика |
adjrsquare | Скорректированная статистика R2 |
leverage | Рычаги |
hatmat | Шляпная матрица |
s2_i | Delete-1 отклонение |
beta_i | Коэффициенты Delete-1 |
standres | Стандартизированные остатки |
studres | Студенческие остатки |
dfbetas | Масштабированное изменение коэффициентов регрессии |
dffit | Изменение установленных значений |
dffits | Масштабированное изменение подгоняемых значений |
covratio | Изменение ковариации |
cookd | Расстояние Кука |
tstat | t статистика и p-значения для коэффициентов |
fstat | F статистика и 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.