Многомерная общая линейная модель

В этом примере показано, как настроить многомерную общую линейную модель для оценки с помощью mvregress.

Загрузите выборочные данные.

Эти данные содержат измерения по выборке из 205 автоимпортам 1985 года.

Здесь моделируйте двухмерный ответ города и шоссе MPG (столбцы 14 и 15).

Для предикторов используйте основу колеса (столбец 3), снаряжение (столбец 7) и тип топлива (столбец 18). Первые два предиктора непрерывны, и для этого примера центрированы и масштабированы. Тип топлива является категориальной переменной с двумя категориями (11 и 20), поэтому для регрессии необходима переменная фиктивного индикатора.

load('imports-85')
Y = X(:,14:15);
[n,d] = size(Y);

X1 = zscore(X(:,3));
X2 = zscore(X(:,7));
X3 = X(:,18)==20;

Xmat = [ones(n,1) X1 X2 X3];

Переменная X3 закодирован так, чтобы иметь значение 1 для типа топлива 20 и значения 0 в противном случае.

Для удобства три предиктора (основа колеса, снаряженный вес и индикатор типа топлива) объединяются в одну матрицу проекта с добавленным точки пересечения термином.

Настройте матрицы проекта.

Учитывая эти предикторы, многомерная общая линейная модель для двухмерного ответа MPG является

[y11y12y21y22yn1yn2]=[1x11x12x131x21x22x231xn1xn2xn3][β01β02β11β12β21β22β31β32]+[ϵ11ϵ12ϵ21ϵ22ϵn1ϵn2],

где ϵi=(ϵi1,ϵi2)-MVN(0,Σ). Есть K=8 коэффициенты регрессии в общей сложности.

Создайте длину n=205 массив ячеек матриц 2 на 8 (d-by-K) для использования со mvregress. i-я матрица в массиве ячеек

X(i)=[10xi10xi20xi30010xi10xi20xi3].

Xcell = cell(1,n);
for i = 1:n
    Xcell{i} = [kron([Xmat(i,:)],eye(d))];
end

Учитывая эту спецификацию матриц проекта, соответствующий вектор параметра является

β=[β01β02β11β12β21β22β31β32].

Оцените коэффициенты регрессии.

Подгонка модели с помощью максимальной оценки правдоподобия.

[beta,sigma,E,V] = mvregress(Xcell,Y);
beta
beta = 8×1

   33.5476
   38.5720
    0.9723
    0.3950
   -6.3064
   -6.3584
   -9.2284
   -8.6663

Эти оценки коэффициентов показывают:

  • Ожидаемые город и шоссе MPG для автомобилей средней основы колес, снаряженного веса и типа топлива 11 33.5 и 38.6, соответственно. Для типа топлива 20 ожидаемые город и шоссе MPG 33.5476 - 9.2284 = 24.3192 и 38.5720 - 8.6663 = 29.9057.

  • Увеличение одного стандартного отклонения снаряженной массы почти так же влияет на ожидаемые город и шоссе MPG. Учитывая, что все остальное равно, ожидаемое количество MPG уменьшается примерно на 6.3 с каждым одним стандартным увеличением отклонения снаряженной массы, как для города, так и для шоссе MPG.

  • Для каждого одного стандартного увеличения отклонения в основу колес ожидаемый городской MPG увеличивается 0.972, в то время как ожидаемая трасса MPG увеличивается только на 0.395, учитывая, что все остальное равно.

Вычислите стандартные ошибки.

Стандартные ошибки для коэффициентов регрессии являются квадратным корнем диагонали дисперсионно-ковариационной матрицы, V.

se = sqrt(diag(V))
se = 8×1

    0.7365
    0.7599
    0.3589
    0.3702
    0.3497
    0.3608
    0.7790
    0.8037

Матрица коэффициентов изменения формы.

Вы можете легко перестроить коэффициенты регрессии в исходную матрицу 4 на 2.

B = reshape(beta,2,4)'
B = 4×2

   33.5476   38.5720
    0.9723    0.3950
   -6.3064   -6.3584
   -9.2284   -8.6663

Проверяйте допущения модели.

Согласно допущениям модели, z=EΣ-1/2 должен быть независимым, с двухмерным стандартным нормальным распределением. В этом 2-D случае можно оценить валидность этого предположения с помощью графика поля точек.

z = E/chol(sigma);
figure()
plot(z(:,1),z(:,2),'.')
title('Standardized Residuals')
hold on

% Overlay standard normal contours
z1 = linspace(-5,5);
z2 = linspace(-5,5);
[zx,zy] = meshgrid(z1,z2);
zgrid = [reshape(zx,100^2,1),reshape(zy,100^2,1)];
zn = reshape(mvnpdf(zgrid),100,100);
[c,h] = contour(zx,zy,zn);
clabel(c,h)

Figure contains an axes. The axes with title Standardized Residuals contains 2 objects of type line, contour.

Несколько невязок больше, чем ожидалось, но в целом мало доказательств против многомерного нормального предположения.

См. также

|

Похожие примеры

Подробнее о

Для просмотра документации необходимо авторизоваться на сайте