Skip to content

Commit 3202337

Browse files
committed
Bugfixes
1 parent 48b25fc commit 3202337

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

src/interface.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ function fit!(model::DynamicFactorModel;
229229
obj = objective(model, regularizer)
230230

231231
# non-decrease violation
232-
if obj - obj_prev < 0
232+
if obj - obj_prev < -1e-4
233233
violation = true
234234
if verbose
235235
println("Objective function value decreased from $iter to $(iter + 1).")

src/utilities.jl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ function collapse(model::DynamicFactorModel; objective::Bool = false)
133133
ic = isapprox.(diag(F.R), 0.0, atol = 1e-8)
134134

135135
# collapsing matrices
136-
Z_basis = Z[:, .!ic]
136+
Z_basis = loadings(model)[:, .!ic]
137137
if all(ic)
138138
A_low = I
139139
else
@@ -231,7 +231,7 @@ function _filter_smoother(y, d, Z, H, T, Q, a1, P1)
231231
ZtFinv = similar(y, typeof(P1))
232232

233233
# initialize storage
234-
F = similar(P1)
234+
F = similar(H)
235235
att = similar(a1)
236236
Ptt = similar(P1)
237237

@@ -272,10 +272,10 @@ system matrices.
272272
function _filter_likelihood(y, d, Z, H, T, Q, a1, P1)
273273
# initialize filter output
274274
v = similar(y)
275-
F = similar(y, typeof(P1))
275+
F = similar(y, typeof(H))
276276

277277
# initialize storage
278-
ZtFinv = similar(P1)
278+
ZtFinv = similar(Z')
279279
att = similar(a1)
280280
Ptt = similar(P1)
281281

@@ -338,7 +338,7 @@ function smoother(model::DynamicFactorModel)
338338

339339
# backward recursion
340340
r .= ZtFinv[t] * v[t] + L' * r
341-
N .= ZtFinv[t] * Z[t] + L' * N * L
341+
N .= ZtFinv[t] * Z + L' * N * L
342342

343343
# smoothing
344344
α[t] = a[t] + P[t] * r

0 commit comments

Comments
 (0)