Ковариационный анализ является методом для анализа сгруппированных данных, имеющих ответ (y, переменная, которая будет предсказана) и предиктор (x, переменная, используемая для предсказания). Используя анализ ковариации, можно смоделировать y как линейную функцию x с коэффициентами линии, возможно, варьирующимися от группы к группе.
aoctool
функция открывает интерактивное графическое окружение для подбора кривой и предсказания с анализом ковариационных моделей (ANOCOVA). Он подходит для следующих моделей для i-й группы:
То же среднее | y = α + ε |
Отдельные средства | y = (α + αi) + ε |
Та же линия | y = α + βx + ε |
Параллельные линии | y = (α + αi) + βx + ε |
Отдельные линии | y = (α + αi) + (β + βi)x + ε |
Например, в модели параллельных линий точка пересечения изменяется от одной группы к следующей, но наклон одинаковый для каждой группы. В той же средней модели существует общая точка пересечения и нет склона. В порядок, чтобы групповые коэффициенты были хорошо определены, инструмент накладывает ограничения
Следующие шаги описывают использование aoctool
.
Загрузите данные. Набор данных Statistics and Machine Learning Toolbox™ carsmall.mat
содержит сведения об автомобилях 1970, 1976 и 1982 годов. Этот пример исследует связь между весом автомобиля и его пробегом, и изменилась ли эта связь с годами. Чтобы начать демонстрацию, загрузите набор данных.
load carsmall
Браузер Рабочей области показывает переменные в наборе данных.
Можно также использовать aoctool
с вашими собственными данными.
Запустите инструмент. Следующая команда вызывает aoctool
для соответствия отдельной линии векторов-столбцов Weight
и MPG
для каждой из трех групп моделей, определенных в Model_Year
. Начальная подгонка моделирует переменную y , MPG
, как линейная функция переменной x, Weight
.
[h,atab,ctab,stats] = aoctool(Weight,MPG,Model_Year);
См. aoctool
страница с описанием функции для получения подробной информации о вызывающих aoctool
.
Исследуйте выходы. Графический выход состоит из главного окна с графиком, таблицы оценок коэффициентов и анализа отклонения таблицы. На графике каждый Model_Year
группа имеет отдельную линию. Точки данных для каждой группы кодируются одним и тем же цветом и символом, а подгонка для каждой группы имеет тот же цвет, что и точки данных.
Коэффициенты трёх линий появляются на рисунке, названном Коэффициенты ANOCOVA. Вы можете увидеть, что склоны примерно -0.0078, с небольшим отклонением для каждой группы:
Модельный год 1970: y = (45.9798 – 8.5805) + (–0.0078 + 0.002)x + ε
Модельный год 1976: y = (45.9798 – 3.8902) + (–0.0078 + 0.0011)x + ε
Модельный 1982 год: y = (45.9798 + 12.4707) + (–0.0078 – 0.0031)x + ε
Поскольку три установленные линии имеют склоны, которые примерно похожи, вы можете задаться вопросом, являются ли они действительно одинаковыми. The Model_Year*Weight
взаимодействие выражает различие в склонах, и таблица ANOVA показывает тест на значимость этого термина. При F статистике 5,23 и p значении 0,0072 склоны значительно отличаются.
Ограничьте склоны одинаковыми. Чтобы изучить модели, когда уклоны будут одинаковыми, вернитесь в окно ANOCOVA Prediction Plot и используйте Model всплывающее меню, чтобы выбрать Parallel Lines
модель. Окно обновляется, чтобы показать следующий график.
Хотя эта подгонка выглядит разумно, она значительно хуже, чем Separate Lines
модель. Снова используйте всплывающее меню Model, чтобы вернуться к исходной модели.
Пример в Analysis of Covariation Tool приводит оценки связи между MPG
и Weight
для каждого Model_Year
но насколько точны эти оценки? Чтобы выяснить это, можно наложить доверительные границы на подгонки, исследуя их по одной группе за раз.
В Model_Year меню в правом нижнем углу рисунка измените настройку на All Groups
по 82. Данные и подгонки для других групп затемнены, и доверительные границы появляются вокруг 82-го полинома.
Штриховые линии образуют огибающую вокруг установленной линии для модельного года 82. При предположении, что истинная связь является линейной, эти границы обеспечивают 95% доверительную область для истинной линии. Обратите внимание, что подходы для других модельных лет находятся далеко за пределами этих доверительных границ для Weight
значения между 2000
и 3000
.
Иногда более ценно иметь возможность предсказать значение отклика для нового наблюдения, а не просто оценить среднее значение отклика. Используйте aoctool
функция Bounds меню, чтобы изменить определение доверительных границ из Line
на Observation
. Получившиеся более широкие интервалы отражают неопределенность в оценках параметров, а также случайность нового наблюдения.
Как и polytool
function, the aoctool
функция имеет перекрестные волоски, которые вы можете использовать, чтобы манипулировать Weight
и следите за оценочными и доверительными границами вдоль обновления оси Y. Эти значения появляются только тогда, когда выбрана одна группа, а не тогда, когда All Groups
выбран.
Можно выполнить многократный сравнительный тест при помощи stats
структура output из aoctool
как вход в multcompare
функция. The multcompare
функция может тестировать или склоны, точки пересечения или маргинальные средства населения (предсказанный MPG среднего веса для каждой группы). Пример в Analysis of Covariation Tool показывает, что склоны не все одинаковые, но может ли быть, что два одинаковы, и только другой отличается? Можно проверить эту гипотезу.
multcompare(stats,0.05,'on','','s') ans = 1.0000 2.0000 -0.0012 0.0008 0.0029 1.0000 3.0000 0.0013 0.0051 0.0088 2.0000 3.0000 0.0005 0.0042 0.0079
Эта матрица показывает, что предполагаемое различие между точками пересечения групп 1 и 2 (1970 и 1976) составляет 0,0008, и доверие интервал для различия равно [-0,0012, 0,0029]. Между ними нет существенного различия. Однако существуют значительные различия между точкой пересечения на 1982 год и каждым из двух других. График показывает ту же информацию.
Обратите внимание, что stats
структура была создана при первоначальном вызове aoctool
функция, поэтому она основана на начальной модели подгонки (обычно это модель с отдельными линиями). Если вы изменяете модель в интерактивном режиме и хотите основать свои многочисленные сравнения на новой модели, необходимо запустить aoctool
снова, чтобы получить другое stats
структура, на этот раз задающая вашу новую модель как начальную модель.