Этот пример показывает, как настроить многомерную общую линейную модель для оценки с помощью 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
где . Существуют коэффициенты регрессии всего.
Создайте длину массив ячеек 2 8 (d-by-K) матрицы для использования с mvregress
. ith матрица в массиве ячеек
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
Под образцовыми предположениями, должно быть независимым, с двумерным стандартным нормальным распределением. В этом 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)
Несколько невязок больше, чем ожидалось, но в целом, существует мало доказательства против многомерного предположения нормальности.