-
Notifications
You must be signed in to change notification settings - Fork 8
Ggm mixed #79
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
Merged
Merged
Ggm mixed #79
Changes from all commits
Commits
Show all changes
60 commits
Select commit
Hold shift + click to select a range
ca6425c
docs: update mixed MRF implementation plan
MaartenMarsman 6454d37
feat: add MixedMRFModel skeleton and data structures
MaartenMarsman 8bca7d2
test: add mixed MRF skeleton tests
MaartenMarsman 5df7c3b
fix: resolve test-bgm-spec failures and hidden files NOTE
MaartenMarsman 34f73db
feat: add conditional PL likelihood functions (B.1)
MaartenMarsman b0265e9
feat: add conditional PL Metropolis updates (B.3/B.4)
MaartenMarsman a5fe0e4
feat: add mixed MRF sampler test helper and fix c3 constant
MaartenMarsman ede74a1
docs: add Phase B+ rank-1 Cholesky optimization plan
MaartenMarsman e65ae57
refactor: rank-1 Cholesky optimization for Kyy updates (audit #6a)
MaartenMarsman c5823e1
test: add rank-1 Cholesky correctness tests (audit #6b)
MaartenMarsman d2d858c
feat: marginal pseudo-likelihood for mixed MRF
MaartenMarsman 2b2b7db
test: marginal pseudo-likelihood tests (Phase C.5)
MaartenMarsman ca16817
feat: mixed MRF edge selection (Phase D)
MaartenMarsman ea8c41b
test: mixed MRF edge selection (Phase D)
MaartenMarsman 8701450
feat: wire mixed MRF into bgm() R interface (Phase 5.1–5.2)
MaartenMarsman 7a3910f
feat: Robbins-Monro proposal-SD adaptation for MixedMRFModel (Phase F)
MaartenMarsman e44e131
feat: mixed MRF simulation and prediction (Phase G)
MaartenMarsman 137a5dd
docs: code quality pass — styler, lintr, C++ documentation (audit #8)
MaartenMarsman 5e28c30
docs: update package documentation for mixed MRF support (audit #9)
MaartenMarsman 1901c89
docs: add integrated NUTS+MH hybrid sampler plan for mixed MRF
MaartenMarsman b19afe3
fix: remove double-counting of edge-indicator updates in mixed MRF
MaartenMarsman 4dff31c
refactor: NUTS vectorization excludes Kyy from gradient block (phase 1)
MaartenMarsman dcae43e
feat: logp_and_gradient for mixed MRF (conditional + marginal PL) (ph…
MaartenMarsman 5a85fb1
feat: extract do_kyy_metropolis_step for hybrid NUTS+MH (phase 3)
MaartenMarsman 2203f7a
fix: correct 3 marginal PL gradient bugs in mixed MRF
MaartenMarsman 31f6773
feat: add hybrid NUTS sampler for mixed MRF models
MaartenMarsman 04b9562
fix: remove test scaffolding, wire NUTS diagnostics, fix gradient ove…
MaartenMarsman 84a7ba1
docs: add phases H-L to mixed MRF implementation plan
MaartenMarsman 9e21374
feat: missing data imputation for mixed MRF (Phase I)
MaartenMarsman cad3426
perf: use MY_LOG/MY_EXP macros in GGM and OMRF models (Phase J)
MaartenMarsman 676b49f
docs: naming conformance + MY_LOG/MY_EXP for MixedMRFModel (audit K, …
MaartenMarsman d58848b
refactor: code deduplication + move cholupdate to src/math (audit K, …
MaartenMarsman b944cd4
fix: document overflow-guard bitwise break, regenerate HMC fixtures, …
MaartenMarsman ee3b9ba
docs: R output audit — extract_main_effects, GGM quadratic fix, print…
MaartenMarsman 0544d95
chore: untrack dev/ directory from git
MaartenMarsman a4416c9
docs: ignore and untrack paper directory
MaartenMarsman 0e3c757
test: consolidate fixture lists into helper-fixtures.R, add coverage …
MaartenMarsman 47205e4
style: apply bgms_style and lintr formatting
MaartenMarsman d978eac
tests: mixed MRF test suite — tolerance, likelihood, simulate/predict…
MaartenMarsman 3ce2f96
refactor: separate quadratic effects from main effects in GGM output
MaartenMarsman 8edb437
fix: move R API calls out of TBB workers to prevent C stack overflow …
MaartenMarsman 9dc6caf
tests: suppress progress bars in mixed MRF tests, catch double deprec…
MaartenMarsman 19ecb3b
fix: use bgm()-style parallelFor pattern in simulation workers to pre…
MaartenMarsman 85f22b4
test: keep CI on assertion-based tests only
MaartenMarsman 1fb0293
fix: address PR comments 1 and 2
MaartenMarsman 0e9584b
fix: clarify variable_bool semantics and dead-branch guard (audit #3)
MaartenMarsman db0ecc8
fix: replace nested expect_warning with capture_warnings (audit #6)
MaartenMarsman 735de01
docs: enable roxygen2 markdown mode, regenerate Rd files (audit #4)
MaartenMarsman f9d2e6a
docs: remove opaque AI-session references from mixed MRF comments (au…
MaartenMarsman 16593ca
docs: replace reversible-jump/birth-death with MH add-delete terminol…
MaartenMarsman f2997a1
docs: fix lifecycle version for extract_category_thresholds deprecati…
MaartenMarsman 6236b1b
docs: mention continuous and mixed variables in bgm() roxygen
MaartenMarsman bb71002
docs: drop coupling-strength claim from @param pseudolikelihood
MaartenMarsman d7905a8
docs: fix broken Rd cross-reference in coef.bgmCompare, regenerate Rd…
MaartenMarsman 61ca822
docs: add pre-commit checks to copilot instructions; restyle R code
MaartenMarsman 7d67b9b
tests: mixed MRF full factorial expansion (8 fixtures, 12 test blocks)
MaartenMarsman 964c882
docs: fix malformed Rd markup for variable_type param
MaartenMarsman 410c427
fix: use post-NA row count for num_cases in mixed MRF spec
MaartenMarsman 56ec60b
fix: add error for unexpected source in generate_data() test helper
MaartenMarsman e6eb320
perf: eliminate redundant ESS/Rhat computation in post-sampling
MaartenMarsman File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| name: nightly-validation | ||
| on: | ||
| schedule: | ||
| - cron: '0 3 * * 1,4' # Monday and Thursday at 3 AM UTC | ||
| workflow_dispatch: {} | ||
|
|
||
| jobs: | ||
| validate: | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 120 | ||
| env: | ||
| GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} | ||
| R_KEEP_PKG_SOURCE: yes | ||
| BGMS_RUN_SLOW_TESTS: true | ||
|
|
||
| steps: | ||
| - uses: actions/checkout@v5 | ||
|
|
||
| - uses: r-lib/actions/setup-r@v2 | ||
| with: | ||
| use-public-rspm: true | ||
|
|
||
| - uses: r-lib/actions/setup-r-dependencies@v2 | ||
| with: | ||
| extra-packages: any::devtools | ||
|
|
||
| - name: Run full test suite (including slow tests) | ||
| run: Rscript -e 'devtools::test()' | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| name: weekly-compliance | ||
| on: | ||
| schedule: | ||
| - cron: '0 5 * * 0' # Sunday at 5 AM UTC | ||
| workflow_dispatch: {} | ||
|
|
||
| jobs: | ||
| compliance: | ||
| runs-on: ubuntu-latest | ||
| timeout-minutes: 120 | ||
| env: | ||
| GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} | ||
| R_KEEP_PKG_SOURCE: yes | ||
|
|
||
| steps: | ||
| - uses: actions/checkout@v5 | ||
|
|
||
| - uses: r-lib/actions/setup-r@v2 | ||
| with: | ||
| use-public-rspm: true | ||
|
|
||
| - uses: r-lib/actions/setup-r-dependencies@v2 | ||
|
|
||
| - name: Install mixedGM (needed for cross-package tests) | ||
| run: Rscript -e 'remotes::install_github("MaartenMarsman/mixedGM")' | ||
|
|
||
| - name: Generate compliance fixtures (if missing) | ||
| run: | | ||
| if [ ! -f tests/compliance/fixtures/manifest.rds ]; then | ||
| Rscript tests/compliance/generate_fixtures.R || true | ||
| fi | ||
|
|
||
| - name: Run bitwise compliance (OMRF configs only) | ||
| run: Rscript tests/compliance/test_compliance.R | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -17,9 +17,10 @@ Authors@R: c( | |
| ) | ||
| Maintainer: Maarten Marsman <[email protected]> | ||
| Description: Bayesian estimation and variable selection for Markov random field | ||
| models of networks of binary, ordinal, and continuous variables. Supports | ||
| Gaussian graphical models, multi-group comparison via 'bgmCompare', and | ||
| provides simulation, prediction, and missing data imputation. | ||
| models of networks of binary, ordinal, continuous, and mixed variables. | ||
| Supports ordinal MRFs, Gaussian graphical models, mixed MRFs combining | ||
| discrete and continuous variables, multi-group comparison via 'bgmCompare', | ||
| and provides simulation, prediction, and missing data imputation. | ||
| Copyright: Includes datasets 'ADHD' and 'Boredom', which are licensed under CC-BY 4. See individual data documentation for license and citation. | ||
| License: GPL (>= 2) | ||
| URL: https://Bayesian-Graphical-Modelling-Lab.github.io/bgms/, https://github.com/Bayesian-Graphical-Modelling-Lab/bgms | ||
|
|
@@ -39,6 +40,7 @@ LinkingTo: | |
| RcppParallel, | ||
| dqrng, | ||
| BH | ||
| Roxygen: list(markdown = TRUE) | ||
| RoxygenNote: 7.3.3 | ||
| Depends: | ||
| R (>= 3.5) | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.