|
42 | 42 | % Does not use Z^(j)_{:, T-madim+j+1:T}
|
43 | 43 | result = zeros(xdim, numsamples);
|
44 | 44 | T = size(B,2);
|
| 45 | +% % JF: not working. This is a bug I never noticed, because at a |
| 46 | +% time, we decided that the prediction (in |
| 47 | +% convex_multi_view_model.m, line 300) should not use the "noise" |
| 48 | +% for future prediction. |
| 49 | +% for j = 1:madim |
| 50 | +% idx = RarmaFcns.blockInd(j,xdim); |
| 51 | +% Tidx = T:-1:max(T-numsamples+1,j); |
| 52 | +% result(:,Tidx) = result(:,Tidx) + B(idx, Tidx-j+1); |
| 53 | +% end |
45 | 54 | for j = 1:madim
|
46 | 55 | idx = RarmaFcns.blockInd(j,xdim);
|
47 |
| - Tidx = T:-1:max(T-numsamples+1,j); |
48 |
| - result(:,Tidx) = result(:,Tidx) + B(idx, Tidx-j+1); |
| 56 | + Tidx = numsamples:-1:max(1,numsamples-T+j); |
| 57 | + result(:,Tidx) = result(:,Tidx) + B(idx, Tidx-numsamples+T-j+1); |
49 | 58 | end
|
50 | 59 | else
|
51 | 60 | result = zeros(xdim, numsamples);
|
|
94 | 103 | end
|
95 | 104 |
|
96 | 105 | %%%%%%%%%%%%%%%%%%%%%%%%% Prediction Functions %%%%%%%%%%%%%%%%%%%%%%%%%%
|
97 |
| - |
98 | 106 | % Model contains
|
99 | 107 | % model.Aall, model.B, model.z and model.zparam for the exponential scalar variable
|
100 | 108 | % Phistart = [Phi_1, ..., Phi_startnum]
|
|
107 | 115 | % Epsilonstart can either be Zstart or the epsilon; this is
|
108 | 116 | % determined by the size of the matrix
|
109 | 117 |
|
110 |
| - if isempty(Phistart) |
| 118 | + if isempty(Epsilonstart) |
111 | 119 | Xiterated = iterate_predict_ar(Xstart, model, horizon, opts);
|
112 | 120 | return;
|
113 | 121 | end
|
|
120 | 128 | else
|
121 | 129 | Xminusone = Xstart(:, (end-r+1):end);
|
122 | 130 | end
|
123 |
| - Zq = Phistart(:, (end-opts.madim+1):end); |
| 131 | + Zq = Epsilonstart(:, (end-opts.madim+1):end); |
124 | 132 | if size(Zq, 1) ~= opts.madim*xdim
|
125 | 133 | if isempty(model.B)
|
126 |
| - Zq = zeros(opts.madim*xdim, size(Xstart,2)) |
| 134 | + Zq = zeros(opts.madim*xdim, size(Xstart,2)); |
127 | 135 | else
|
128 |
| - Zq = model.B*Phistart(:, (end-opts.madim+1):end); |
| 136 | + Zq = model.B*Epsilonstart(:, (end-opts.madim+1):end); |
129 | 137 | end
|
130 | 138 | end
|
131 | 139 |
|
|
147 | 155 | % If Phistart is empty, then compute it before proceeding
|
148 | 156 | % The predicted phi will use a generative Laplace model
|
149 | 157 |
|
| 158 | + xdim = size(Xstart, 1); |
150 | 159 | Xminusone = Xstart(:, (end-opts.ardim+1):end);
|
151 | 160 | xt = RarmaFcns.computeAR(model.A, Xminusone, opts.ardim, xdim, 1);
|
152 | 161 | Xiterated = xt;
|
|
0 commit comments