Этот пример показывает, как включать внешние данные для нескольких исследований на вид несвязанной регрессии (SUR). Ответ и внешний ряд являются случайными путями от стандартного Распределения Гаусса.
В на вид несвязанной регрессии (SUR) каждая переменная отклика является функцией подмножества внешнего ряда, но не любой эндогенной переменной. Таким образом, для и , модель для ответа в период
Индексы коэффициентов регрессии и внешних предикторов указывают что:
Можно сопоставить каждый ответ с различным подмножеством внешних предикторов.
Ряд ответа не может совместно использовать прерывания или коэффициенты регрессии.
SUR размещает инновационную корреляцию внутрипериода, но инновационную независимость межпериода, т.е.
Предположим, что истинная модель
где , многомерные Гауссовы случайные переменные каждый имеющий средний нуль и совместно имеющий ковариационную матрицу
Предположим, что пути представляют различные эконометрические измерения, например, запас возвращается.
Моделируйте четыре внешних пути к предиктору от стандартного Распределения Гаусса.
rng(1); % For reproducibility n = 3; % Number of response series nExo = 4; % Number of exogenous series T = 100; X = randn(100,nExo);
mvregress
, рабочая лошадь estimate
, требует, чтобы вы ввели внешние данные в T
-by-1 вектор ячейки. Ячейка из ячейки вектор матрица проекта указание на линейное соотношение внешних переменных с каждым рядом ответа в период . Однако estimate
сопоставляет каждый предиктор к каждому ответу. В результате estimate
требует данных о предикторе в матрице.
Создайте объект модели VAR, который характеризует истинную модель. Моделируйте длину 100 путей ответов из модели.
aTrue = [1; -1; 0.5]; bTrue = [[2; 4; -2] [-1.5; 2.5; 0.5] [0.5; -1.75; -1.5] [0.75; -0.05; 0.7]]; InnovCov = [1 0.5 -0.05; 0.5 1 0.25; -0.05 0.25 1]; TrueMdl = varm('Beta',bTrue,'Constant',aTrue,'Covariance',InnovCov)
TrueMdl = varm with properties: Description: "3-Dimensional VARX(0) Model with 4 Predictors" SeriesNames: "Y1" "Y2" "Y3" NumSeries: 3 P: 0 Constant: [1 -1 0.5]' AR: {} Trend: [3×1 vector of zeros] Beta: [3×4 matrix] Covariance: [3×3 matrix]
Y = simulate(TrueMdl,T,'X',X);
Создайте модель VAR, подходящую для SUR использование краткого синтаксиса varm
.
Mdl1 = varm(n,0);
Mdl1
является шаблоном объекта модели varm
, представляющим 3D модель VAR (0). В отличие от TrueMdl
, ни один из коэффициентов, прерываний и ковариационной матрицы внутрипериода не имеет значения. Поэтому Mdl1
подходит для оценки.
Оцените коэффициенты регрессии с помощью estimate
. Извлеките невязки. Отобразите предполагаемую модель с помощью summarize
.
[EstMdl1,~,~,E] = estimate(Mdl1,Y,'X',X);
summarize(EstMdl1)
3-Dimensional VARX(0) Model with 4 Predictors Effective Sample Size: 100 Number of Estimated Parameters: 15 LogLikelihood: -412.026 AIC: 854.052 BIC: 893.129 Value StandardError TStatistic PValue _________ _____________ __________ ___________ Constant(1) 0.97898 0.11953 8.1902 2.6084e-16 Constant(2) -1.0644 0.10019 -10.623 2.3199e-26 Constant(3) 0.45323 0.10123 4.4772 7.5611e-06 Beta(1,1) 1.7686 0.11994 14.745 3.2948e-49 Beta(2,1) 3.8576 0.10054 38.37 4.1502e-322 Beta(3,1) -2.2009 0.10158 -21.667 4.1715e-104 Beta(1,2) -1.5508 0.12345 -12.563 3.3861e-36 Beta(2,2) 2.4407 0.10348 23.587 5.2666e-123 Beta(3,2) 0.46414 0.10455 4.4395 9.0156e-06 Beta(1,3) 0.69588 0.13491 5.1583 2.4922e-07 Beta(2,3) -1.7139 0.11308 -15.156 6.8911e-52 Beta(3,3) -1.6414 0.11425 -14.367 8.3713e-47 Beta(1,4) 0.67036 0.12731 5.2654 1.399e-07 Beta(2,4) -0.056437 0.10672 -0.52885 0.59691 Beta(3,4) 0.56581 0.10782 5.2476 1.5406e-07 Innovations Covariance Matrix: 1.3850 0.6673 -0.1591 0.6673 0.9731 0.2165 -0.1591 0.2165 0.9934 Innovations Correlation Matrix: 1.0000 0.5748 -0.1357 0.5748 1.0000 0.2202 -0.1357 0.2202 1.0000
EstMdl
является объектом модели varm
, содержащим предполагаемые параметры. E
является a - матрица невязок.
Также и в этом случае, можно использовать оператор наклонной черты влево на X
и Y
. Однако необходимо включать столбец из единиц в X
для прерываний.
coeff = ([ones(T,1) X]\Y)
coeff = 5×3
0.9790 -1.0644 0.4532
1.7686 3.8576 -2.2009
-1.5508 2.4407 0.4641
0.6959 -1.7139 -1.6414
0.6704 -0.0564 0.5658
coeff
является nExo + 1
n
матрицей предполагаемых коэффициентов регрессии и прерываний. Предполагаемые прерывания находятся в первом столбце, и остальная часть матрицы содержит предполагаемые коэффициенты регрессии
Сравните все оценки с их истинными значениями.
fprintf('\n');
fprintf(' Intercepts \n');
Intercepts
fprintf(' True | estimate | backslash\n');
True | estimate | backslash
fprintf('--------------------------------------\n');
--------------------------------------
for j = 1:n fprintf(' %8.4f | %8.4f | %8.4f\n',aTrue(j),EstMdl1.Constant(j),coeff(1,j)); end
1.0000 | 0.9790 | 0.9790 -1.0000 | -1.0644 | -1.0644 0.5000 | 0.4532 | 0.4532
cB = coeff';
cB = cB(:);
fprintf('\n');
fprintf(' Coefficients \n');
Coefficients
fprintf(' True | estimate | backslash\n');
True | estimate | backslash
fprintf('--------------------------------------\n');
--------------------------------------
for j = 1:numel(EstMdl1.Beta) fprintf(' %8.4f | %8.4f | %8.4f\n',bTrue(j),... EstMdl1.Beta(j),cB(n + j)); end
2.0000 | 1.7686 | 1.7686 4.0000 | 3.8576 | 3.8576 -2.0000 | -2.2009 | -2.2009 -1.5000 | -1.5508 | -1.5508 2.5000 | 2.4407 | 2.4407 0.5000 | 0.4641 | 0.4641 0.5000 | 0.6959 | 0.6959 -1.7500 | -1.7139 | -1.7139 -1.5000 | -1.6414 | -1.6414 0.7500 | 0.6704 | 0.6704 -0.0500 | -0.0564 | -0.0564 0.7000 | 0.5658 | 0.5658
fprintf('\n');
fprintf(' Innovations Covariance\n');
Innovations Covariance
fprintf(' True | estimate\n');
True | estimate
fprintf('----------------------------------------------------------\n');
----------------------------------------------------------
for j = 1:n fprintf('%8.4f %8.4f %8.4f | %8.4f %8.4f %8.4f\n',... InnovCov(j,:),EstMdl1.Covariance(j,:)); end
1.0000 0.5000 -0.0500 | 1.3850 0.6673 -0.1591 0.5000 1.0000 0.2500 | 0.6673 0.9731 0.2165 -0.0500 0.2500 1.0000 | -0.1591 0.2165 0.9934
Оценки от реализации estimate
и оператора наклонной черты влево являются тем же самым и справедливо близко к их соответствующим истинным значениям.
Один способ проверять силу отношения между предикторами и ответами состоит в том, чтобы вычислить коэффициент детерминации (т.е. часть изменения, объясненного предикторами), который является
где предполагаемое отклонение остаточного ряда , и предполагаемое отклонение ряда ответа .
R2 = 1 - sum(diag(cov(E)))/sum(diag(cov(Y)))
R2 = 0.9118
Модель SUR и данные о предикторе объясняют приблизительно 93% изменения в данных об ответе.