Download Latest Version NAVAL-SEM-Setup.msi (111.8 MB)
Email in envelope

Get an email when there's a new version of NAVAL-SEM

Home / v1.1.3
Name Modified Size InfoDownloads / Week
Parent folder
NAVAL-SEM 2026-08-01 125.6 MB
NAVAL-SEM-Setup.msi 2026-08-01 111.8 MB
NAVAL-SEM.dmg 2026-08-01 15.3 MB
NAVAL-SEM.exe 2026-08-01 112.3 MB
naval-sem_1.1.3_amd64.deb 2026-08-01 124.2 MB
NAVAL-SEM v1.1.3 source code.tar.gz 2026-08-01 5.4 MB
NAVAL-SEM v1.1.3 source code.zip 2026-08-01 5.4 MB
README.md 2026-08-01 5.2 kB
Totals: 8 Items   500.0 MB 0

NAVAL-SEM v1.1.3

Fully offline PLS-SEM / CB-SEM desktop application — no internet required after install.

What's new in v1.1.3:

Added

Formative construct (Mode B) support — PLS-SEM

  • Added <~ lavaan-style operator for formative measurement blocks (e.g. Quality <~ q1 + q2 + q3), alongside the existing =~ reflective operator. Checked before =~ in parse_lavaan()'s operator chain so <~ lines aren't swallowed by the plain ~ branch; preprocess_lavaan() now also treats a trailing <~ as a line-continuation marker for multi-line formative blocks.
  • parse_lavaan() returns two new keys: formative_lvs (LVs declared with <~) and construct_modes ({lv: "A"|"B"} for every LV in the model, defaulting to "A" when a construct has no formative declaration).
  • PLSEstimator's outer-weight update now branches per construct on construct_modes: Mode B blocks solve w = (X'X + ridge·I)⁻¹ X'η_inner (ridge = 1e-4, falling back to the unregularised solve only if that raises LinAlgError), normalised so Var(η) = 1; Mode A blocks are unchanged. PLSResult gains a construct_modes field carrying the per-LV mode through to the response.
  • Affects app/parser.py, app/pls.py.

Changed

  • compute_vif() now skips Mode A (reflective) constructs — VIF/multicollinearity is only a meaningful diagnostic for formative blocks; reflective indicators are expected to correlate highly since they share a common cause. Models composed entirely of reflective constructs now return an empty VIF list instead of one entry per indicator. Affects app/engine.py.

Fixed

  • HOC / measurement (=~) loadings never received bootstrap SE, z, or CI when bootstrap_n > 0 — the bootstrap significance back-fill in _run_diagnostics() previously only scanned structural (~) parameters when deciding whether a back-fill was needed, and only wrote significant/p_value/CI onto matched parameters. Measurement loadings — including higher-order construct loadings produced by the repeated-indicator HOC expansion (e.g. x1 =~ g) — were never flagged for back-fill and kept the PLS point-estimate placeholders (std_error=0.0, z_value=0.0, p_value=1.0) in every report regardless of bootstrap_n. The trigger condition and the back-fill body now cover any hypothesis-tested parameter (op in {"~", "=~"}; "~~" covariance rows stay excluded, since they are never hypothesis-tested), and std_error/z_value are populated from the bootstrap resampling distribution alongside significance and CI bounds. Affects app/engine.py.
  • Gaussian Copula bootstrap CI always None / copula_significant always False — in compute_gaussian_copula(), the bootstrap loop computed the resampled copula coefficient (c_bs) on every iteration but never appended it to bs_cop_coef, so _ci_from_bootstrap() always received an empty list. Added the missing bs_cop_coef.append(float(c_bs[-1])). Affects app/engine.py.
  • Fornell-Larcker off-diagonal used mean indicator correlation instead of LV composite correlation_compute_fornell_larcker() computed each off-diagonal cell as the mean of all cross-indicator correlations between two LV blocks rather than the Pearson r between LV composite scores required by Fornell & Larcker (1981). Added an optional composites parameter and a _phi() helper that correlates composite scores directly when supplied, falling back to the previous mean-cross-indicator behaviour otherwise; _compute_measurement_validity() now builds composites via _build_composites() and passes them through. Affects app/engine.py.
  • Both-paths (Hayes Model 58/59) combined indirect effect never computed — when a model had both an a-path interaction (X*W) and a b-path interaction (M*W) for the same X→M→Y chain, each was returned as a separate ModMediationPath entry and the combined conditional indirect effect was never computed. run_mod_mediation() now detects such chains and appends a moderated_path="both" entry using IE(w) = (a + a₃w)(b + b₃w) and imm = a₃b + ab₃; CIs on this combined entry are None pending a simultaneous a/b bootstrap. Affects app/engine_mod_mediation.py.


Downloads

Platform File Notes
Windows NAVAL-SEM-Setup.msi Recommended — installs with Start Menu + uninstall
Windows NAVAL-SEM.exe Portable — drop anywhere and run
macOS NAVAL-SEM.dmg Drag to Applications
Linux naval-sem_*.deb Debian/Ubuntu installer
Linux NAVAL-SEM Portable binary

💛 Support Development

NAVAL-SEM is free to use. If you find it useful, please consider donating. 👉 https://www.paypal.com/paypalme/singhn9


🐛 Bug Reports & Feedback

👉 https://forms.gle/N4AmCkJyCK6HHsZz8


⚠️ Windows Security Note

Windows may show a SmartScreen warning on first run — click: More info → Run anyway

⚠️ macOS Note

Right-click → Open the first time to bypass Gatekeeper.

Download NAVAL-SEM

Source: README.md, updated 2026-08-01