|
29 | 29 | if est.slagy ~= 1 |
30 | 30 | error("Model does not have spatial lag of dependent variable.") |
31 | 31 | end |
| 32 | + |
| 33 | + % Error if additional spatial lags of X variables |
| 34 | + if ~isempty(est.slagX) |
| 35 | + error("Not yet implemented when additional spatial lags of X are included in the model.") |
| 36 | + end |
32 | 37 |
|
33 | 38 | % Get W matrix |
34 | 39 | if est.isPanel |
|
64 | 69 | hessi = est.varcoef; |
65 | 70 | hessi = circshift(hessi,[1,1]); % Put spatial lag in first place |
66 | 71 |
|
67 | | - D_d = zeros(k,1); |
68 | | - D_i = zeros(k,1); |
69 | | - D_t = zeros(k,1); |
| 72 | + seADI = zeros(k,1); |
| 73 | + seAII = zeros(k,1); |
| 74 | + seATI = zeros(k,1); |
70 | 75 |
|
71 | 76 | ind = 1; |
72 | 77 | for jj = 1:k |
73 | | - D_d(jj) = full(sqrt([SSSi*coefs_beta(jj)/N, SSi/N]*(N*hessi([1,jj+ind],[1,jj+ind]))*[SSSi*coefs_beta(jj)/N, SSi/N]'/N)); |
74 | | - D_t(jj) = full(sqrt([KKi*coefs_beta(jj)/N, Ki/N]*(N*hessi([1,jj+ind],[1,jj+ind]))*[KKi*coefs_beta(jj)/N, Ki/N]'/N)); |
75 | | - D_i(jj) = full(sqrt(([KKi*coefs_beta(jj)/N, Ki/N]-[SSSi*coefs_beta(jj)/N, SSi/N])*(N*hessi([1,jj+ind],[1,jj+ind]))*([KKi*coefs_beta(jj)/N, Ki/N]-[SSSi*coefs_beta(jj)/N, SSi/N])'/N)); |
| 78 | + seADI(jj) = full(sqrt([SSSi*coefs_beta(jj)/N, SSi/N]*(N*hessi([1,jj+ind],[1,jj+ind]))*[SSSi*coefs_beta(jj)/N, SSi/N]'/N)); |
| 79 | + seATI(jj) = full(sqrt([KKi*coefs_beta(jj)/N, Ki/N]*(N*hessi([1,jj+ind],[1,jj+ind]))*[KKi*coefs_beta(jj)/N, Ki/N]'/N)); |
| 80 | + seAII(jj) = full(sqrt(([KKi*coefs_beta(jj)/N, Ki/N]-[SSSi*coefs_beta(jj)/N, SSi/N])*(N*hessi([1,jj+ind],[1,jj+ind]))*([KKi*coefs_beta(jj)/N, Ki/N]-[SSSi*coefs_beta(jj)/N, SSi/N])'/N)); |
76 | 81 | end |
77 | 82 |
|
78 | 83 | % p-value |
79 | | - pADI = (1 - normaldist(abs(ADI ./ D_d)))' * 2; |
80 | | - pAII = (1 - normaldist(abs(AII ./ D_i)))' * 2; |
81 | | - pATI = (1 - normaldist(abs(ATI ./ D_t)))' * 2; |
| 84 | + pADI = (1 - normaldist(abs(ADI ./ seADI)))' * 2; |
| 85 | + pAII = (1 - normaldist(abs(AII ./ seAII)))' * 2; |
| 86 | + pATI = (1 - normaldist(abs(ATI ./ seATI)))' * 2; |
82 | 87 |
|
83 | 88 | % Return structure with results |
84 | 89 | simps.xnames = xnames; |
|
88 | 93 | simps.AII = AII; |
89 | 94 | simps.ATI = ATI; |
90 | 95 |
|
91 | | - simps.seADI = D_d; |
92 | | - simps.seAII = D_i; |
93 | | - simps.seATI = D_t; |
| 96 | + simps.seADI = seADI; |
| 97 | + simps.seAII = seAII; |
| 98 | + simps.seATI = seATI; |
94 | 99 |
|
95 | 100 | simps.pADI = pADI'; |
96 | 101 | simps.pAII = pAII'; |
|
0 commit comments