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

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

Загрузка демонстрационных данных.

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

Здесь, смоделируйте двумерный ответ города и магистрального 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. ith матрица в массиве ячеек

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 должно быть независимым, с двумерным стандартным нормальным распределением. В этом 2D случае можно оценить валидность этого предположения с помощью графика рассеивания.

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)

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

Смотрите также

|

Связанные примеры

Больше о