В этом примере показано, как включать внешние данные для нескольких исследований на вид несвязанной регрессии (SUR). Ответ и внешний ряд являются случайными путями от стандартного Распределения Гаусса.
В на вид несвязанной регрессии (SUR) каждая переменная отклика является функцией подмножества внешнего ряда, но не любой эндогенной переменной. Таким образом, для и , модель для ответа в период
Индексы коэффициентов регрессии и внешних предикторов указывают что:
Можно сопоставить каждый ответ с различным подмножеством внешних предикторов.
Ряд ответа не может совместно использовать точки пересечения или коэффициенты регрессии.
SUR вмещает инновационную корреляцию внутрипериода, но инновационную независимость межпериода, i.e.,
Предположим, что истинная модель
где , многомерные Гауссовы случайные переменные каждый имеющий средний нуль и совместно имеющий ковариационную матрицу
Предположим, что пути представляют различные эконометрические измерения, e.g. запас возвращается.
Симулируйте четыре внешних пути к предиктору от стандартного Распределения Гаусса.
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- 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 isa - матрица остаточных значений.
В качестве альтернативы и в этом случае, можно использовать оператор обратной косой черты на 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 n- nExo + 1 матрица предполагаемых коэффициентов регрессии и точек пересечения. Предполагаемые точки пересечения находятся в первом столбце, и остальная часть матрицы содержит предполагаемые коэффициенты регрессии
Сравните все оценки с их истинными значениями.
InterceptsTbl = table(aTrue,EstMdl1.Constant,coeff(1,:)',... 'VariableNames',["True" "estimate" "backslash"])
InterceptsTbl=3×3 table
True estimate backslash
____ ________ _________
1 0.97898 0.97898
-1 -1.0644 -1.0644
0.5 0.45323 0.45323
cB = coeff'; cB = cB(:); CoefficientsTbl = table(bTrue(:),EstMdl1.Beta(:),cB((n + 1):end),... 'VariableNames',["True" "estimate" "backslash"])
CoefficientsTbl=12×3 table
True estimate backslash
_____ _________ _________
2 1.7686 1.7686
4 3.8576 3.8576
-2 -2.2009 -2.2009
-1.5 -1.5508 -1.5508
2.5 2.4407 2.4407
0.5 0.46414 0.46414
0.5 0.69588 0.69588
-1.75 -1.7139 -1.7139
-1.5 -1.6414 -1.6414
0.75 0.67036 0.67036
-0.05 -0.056437 -0.056437
0.7 0.56581 0.56581
InnovCovTbl = table(InnovCov,EstMdl1.Covariance,... 'VariableNames',["True" "estimate"])
InnovCovTbl=3×2 table
True estimate
_______________________ ________________________________
1 0.5 -0.05 1.385 0.6673 -0.15914
0.5 1 0.25 0.6673 0.97312 0.21649
-0.05 0.25 1 -0.15914 0.21649 0.99338
Оценки от реализации estimate и оператор обратной косой черты является тем же самым и справедливо близко к их соответствующим истинным значениям.
Один способ проверять силу отношения между предикторами и ответами состоит в том, чтобы вычислить коэффициент детерминации (i.e., часть изменения, объясненного предикторами), который является
где предполагаемое отклонение остаточного ряда , и предполагаемое отклонение ряда ответа .
R2 = 1 - sum(diag(cov(E)))/sum(diag(cov(Y)))
R2 = 0.9118
Модель SUR и данные о предикторе объясняют приблизительно 93% изменения данных об ответе.