Регрессионная диагностика
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
добавляет первый столбец 1s в X
, соответствующий постоянному члену в модели. Не вводите столбец 1с непосредственно в X
.
Необязательный вход model
управляет регрессионной моделью. По умолчанию, regstats
использует линейную аддитивную модель с постоянным термином. model
может быть любым из следующих:
'linear'
- Постоянные и линейные условия (по умолчанию)
'interaction'
- Константа, линейная и условия взаимодействия
'quadratic'
- Константа, линейный, взаимодействие и квадратные условия
'purequadratic'
- Постоянные, линейные и квадратные условия
Другой способ model
может быть матрицей модельных членов, принятых x2fx
функция. Посмотрите x2fx
для описания этой матрицы и для описания порядка, в котором появляются термины. Можно использовать эту матрицу, чтобы задать другие модели, включая таковые без постоянного термина.
С помощью этого синтаксиса функция отображает графический пользовательский интерфейс (GUI) со списком диагностической статистики, как показано на следующем рисунке.
Когда вы устанавливаете флажки, соответствующие статистике, которую вы хотите вычислить, и нажимаете OK, 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 statistic и p -значение |
dwstat | Статистика Дурбина-Ватсона и p -значение |
Обратите внимание, что имена полей stats
соответствуют именам переменных, возвращаемых в рабочее пространство MATLAB при использовании графический интерфейс пользователя. Для примера, stats.beta
соответствует переменной beta
это возвращается при выборе Coefficients в графическом интерфейсе пользователя и нажатии кнопки OK.
stats = regstats(y,X,
возвращает только ту статистику, в которой вы задаете model
,whichstats
)whichstats
. whichstats
может быть одним вектором символов, таким как 'leverage'
, такие строковые массивы, как ["leverage","standres","studres"]
, или массив ячеек из векторов символов, таких как {'leverage','standres','studres'}
. Задайте whichstats
на 'all'
для возврата всей статистики.
Примечание
Статистическая величина F вычисляется в предположении, что модель содержит постоянный член. Это не правильно для моделей без константы. R2 статистическая может быть отрицательной для моделей без константы, что указывает на то, что модель не подходит для данных.
Откройте regstats
Графический интерфейс пользователя с использованием данных из hald.mat
:
load hald regstats(heat,ingredients,'linear');
Выберите Fitted Values и Residuals в графическом интерфейсе пользователя:
Щелкните OK, чтобы экспортировать подобранные значения и невязки в рабочее пространство MATLAB в переменных с именем yhat
и r
, соответственно.
Можно создать те же переменные с помощью stats
выход, без открытия графический интерфейс пользователя:
whichstats = {'yhat','r'}; stats = regstats(heat,ingredients,'linear',whichstats); yhat = stats.yhat; r = stats.r;
regstats
лечит NaN
значения в X
или y
как отсутствующие значения. regstats
опускает наблюдения с отсутствующими значениями из регрессионной подгонки.
[1] Belsley, D. A., E. Kuh, and R. E. Welsch. Регрессионная диагностика. Hoboken, NJ: John Wiley & Sons, Inc., 1980.
[2] Chatterjee, S., and A. S. Hadi. «Влиятельные наблюдения, высокие точки использования и выбросы в линейной регрессии». Статистическая наука. Том 1, 1986, стр. 379-416.
[3] Кук, Р. Д. и С. Вайсберг. Невязки и влияние в регрессии. Нью-Йорк: Chapman & Hall/CRC Press, 1983.
[4] Goodall, C. R. «Расчет с использованием QR-декомпозиции». Справочник по статистике. Том 9, Амстердам: Elsevier/North-Holland, 1993.