В этом примере показано, как настроить многомерную общую линейную модель для оценки с помощью 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 является
где . Есть коэффициенты регрессии в общей сложности.
Создайте длину массив ячеек матриц 2 на 8 (d-by-K) для использования со mvregress
. i-я матрица в массиве ячеек
Xcell = cell(1,n); for i = 1:n Xcell{i} = [kron([Xmat(i,:)],eye(d))]; end
Учитывая эту спецификацию матриц проекта, соответствующий вектор параметра является
Подгонка модели с помощью максимальной оценки правдоподобия.
[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
Согласно допущениям модели, должен быть независимым, с двухмерным стандартным нормальным распределением. В этом 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)
Несколько невязок больше, чем ожидалось, но в целом мало доказательств против многомерного нормального предположения.