regstats

Диагностика регрессии

Синтаксис

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

Описание

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

Примечание

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

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

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

  • 'interaction' — Постоянные, линейные, и периоды взаимодействия

  • 'quadratic' — Постоянный, линейный, взаимодействие и условия в квадрате

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

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

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

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

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

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

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

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;

Ссылки

[1] Белсли, D. A. Э. Кух и Р. Э. Велш. Диагностика регрессии. Хобокен, NJ: John Wiley & Sons, Inc., 1980.

[2] Chatterjee, S. и А. С. Хади. “Влиятельные Наблюдения, Высокие Точки Рычагов и Выбросы в Линейной регрессии”. Статистическая Наука. Издание 1, 1986, стр 379–416.

[3] Приготовьте, R. D. и С. Вайсберг. Невязки и влияние в регрессии. Нью-Йорк: Chapman & Hall/CRC Press, 1983.

[4] Гудолл, C. R. “Вычисление Используя разложение QR”. Руководство в статистике. Издание 9, Амстердам: Elsevier/North-Holland, 1993.

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