Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

43 cran 10 additional issues #44

Merged
merged 51 commits into from
Aug 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
a7223be
new object for vec(A0) #43
adamwang15 Aug 9, 2024
50d95a2
Revert "new object for vec(A0) #43"
adamwang15 Aug 9, 2024
eb51de4
remove scaling #43
adamwang15 Aug 9, 2024
ebd40f5
remove scaling 2 #43
adamwang15 Aug 9, 2024
c89c23b
narrow catch condition #43
adamwang15 Aug 9, 2024
dc4daa2
remove scaling 3 #43
adamwang15 Aug 9, 2024
0e5ec95
const error #43
adamwang15 Aug 9, 2024
5a0d30f
remove const #43
adamwang15 Aug 9, 2024
53b963b
start with nonempty vec #43
adamwang15 Aug 9, 2024
632e781
Update restrictions_zero.cpp
adamwang15 Aug 9, 2024
da269c6
new ZF ref #43
adamwang15 Aug 9, 2024
60d89c4
remove const for Z #43
adamwang15 Aug 9, 2024
9aca271
separate ZF #43
adamwang15 Aug 9, 2024
1d560cb
Update restrictions_zero.cpp
adamwang15 Aug 9, 2024
8330418
Update restrictions_zero.cpp
adamwang15 Aug 9, 2024
77b937d
remove pointer #43
adamwang15 Aug 9, 2024
a0fc07b
change lag #43
adamwang15 Aug 9, 2024
41c9c3f
smaller sample #43
adamwang15 Aug 10, 2024
b8a1127
set seed #43
adamwang15 Aug 10, 2024
46ec774
remove lag #43
adamwang15 Aug 10, 2024
9b8509e
copy same example #43
adamwang15 Aug 10, 2024
6fc7f09
remove estimate #43
adamwang15 Aug 10, 2024
3504e71
eevert "remove estimate #43"
adamwang15 Aug 10, 2024
128df72
Revert "copy same example #43"
adamwang15 Aug 10, 2024
5e39691
Revert "remove lag #43"
adamwang15 Aug 10, 2024
ad8a4f2
Revert "set seed #43"
adamwang15 Aug 10, 2024
3c8a488
Revert "smaller sample #43"
adamwang15 Aug 10, 2024
b0c4568
Revert "change lag #43"
adamwang15 Aug 10, 2024
2115923
Revert "remove pointer #43"
adamwang15 Aug 10, 2024
c5fd084
Revert "Update restrictions_zero.cpp"
adamwang15 Aug 10, 2024
9d350e2
Revert "Update restrictions_zero.cpp"
adamwang15 Aug 10, 2024
ac24a73
Revert "separate ZF #43"
adamwang15 Aug 10, 2024
054df85
Revert "remove const for Z #43"
adamwang15 Aug 10, 2024
d74c1ca
Revert "new ZF ref #43"
adamwang15 Aug 10, 2024
cf6d813
Revert "Update restrictions_zero.cpp"
adamwang15 Aug 10, 2024
63385df
Revert "start with nonempty vec #43"
adamwang15 Aug 10, 2024
88eb74d
Revert "remove const #43"
adamwang15 Aug 10, 2024
41b444f
Revert "const error #43"
adamwang15 Aug 10, 2024
56a2659
Revert "remove scaling 3 #43"
adamwang15 Aug 10, 2024
e682d94
Revert "narrow catch condition #43"
adamwang15 Aug 10, 2024
4d60943
Revert "remove scaling 2 #43"
adamwang15 Aug 10, 2024
b53defa
Revert "remove scaling #43"
adamwang15 Aug 10, 2024
868d658
Revert "Revert "new object for vec(A0) #43""
adamwang15 Aug 10, 2024
f34ef73
separate Df #43
adamwang15 Aug 10, 2024
08412a5
debug messages
adamwang15 Aug 10, 2024
455b3d0
debug
adamwang15 Aug 10, 2024
ec17eed
Revert "debug"
adamwang15 Aug 10, 2024
f443320
Revert "debug messages"
adamwang15 Aug 10, 2024
aa54184
Revert "separate Df #43"
adamwang15 Aug 10, 2024
cc6db2d
check if Z has 0 rows #43
adamwang15 Aug 10, 2024
55a62a5
check sympd instead of catch #43
adamwang15 Aug 10, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions src/restrictions_zero.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,15 @@ arma::colvec zero_restrictions(
const arma::colvec vec_structural
) {
int N = Z(0).n_cols;
mat A0 = reshape(vec_structural.rows(0, N*N-1), N, N);

mat A0 = reshape(vec_structural.rows(0, N * N - 1), N, N);

arma::field<arma::mat> ZF = ZIRF(Z, inv(A0.t()));

colvec z;
vec z;
for (int j=0; j<ZF.n_elem; j++) {
z = join_vert(z, ZF(j).col(j));
mat ZF_j = ZF(j);
if (ZF_j.n_rows > 0) z = join_vert(z, ZF_j.col(j));
}

return z;
Expand Down
32 changes: 17 additions & 15 deletions src/sample_hyper.cpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@

#define ARMA_WARN_LEVEL 1
#include <RcppArmadillo.h>

#include "utils.h"
Expand Down Expand Up @@ -108,25 +109,26 @@ double log_ml(
int N = Y.n_cols;

double log_ml = 0;

mat inv_Omega = diagmat(1 / Omega.diag());
mat XX = X.t() * X + inv_Omega;

try {
mat Bhat = inv_sympd(X.t() * X + inv_Omega) * (X.t() * Y + inv_Omega * b);
mat ehat = Y - X * Bhat;

log_ml += - N * T / 2.0 * log(M_PI);
log_ml += log_mvgamma(N, (T + d) / 2.0);
log_ml += -log_mvgamma(N, d / 2.0);
log_ml += - N / 2.0 * log_det_sympd(Omega);
log_ml += d / 2.0 * log_det_sympd(Psi);
log_ml += - N / 2.0 * log_det_sympd(X.t() * X + inv_Omega);
mat A = Psi + ehat.t() * ehat + (Bhat - b).t() * inv_Omega * (Bhat - b);
log_ml += - (T + d) / 2.0 * log_det_sympd(A);

} catch(...) {
log_ml = -1e+10;
if (!Omega.is_sympd() or !Psi.is_sympd() or !XX.is_sympd()) {
return -1e10;
}

mat Bhat = solve(XX, X.t() * Y + inv_Omega * b, solve_opts::likely_sympd);
mat ehat = Y - X * Bhat;

log_ml += - N * T / 2.0 * log(M_PI);
log_ml += log_mvgamma(N, (T + d) / 2.0);
log_ml += -log_mvgamma(N, d / 2.0);
log_ml += - N / 2.0 * log_det_sympd(Omega);
log_ml += d / 2.0 * log_det_sympd(Psi);
log_ml += - N / 2.0 * log_det_sympd(XX);
mat A = Psi + ehat.t() * ehat + (Bhat - b).t() * inv_Omega * (Bhat - b);
log_ml += - (T + d) / 2.0 * log_det_sympd(A);

return log_ml;
}

Expand Down
Loading