← Back to all sparks
M

missSBM

INFRA · APIS
Velocity2.5

Handling Missing Data in Stochastic Block Models

missSBM returns after four dormant years with a stricter API and a new refinement step.

r-packagenetwork-analysisstochastic-block-modelmissing-dataapi-breaking
Current state
The package fits stochastic block models to networks with missing data, covering both missing-at-random and informative sampling designs. After a run of releases from 2019 to 2022, the feed goes quiet until this year's 1.1.0, which breaks the control interface, exposes the block split and merge operations as testable instance methods, and adds a node-swap refinement pass that runs after variational convergence.
Where it's heading
The new release is maintenance-driven in the best sense: it targets the parts of the codebase that were hard to test or easy to misuse. Replacing free-form control lists with a function of named, defaulted arguments turns silent typos into errors, and pulling the exploration logic out of the collection class makes the search algorithm independently testable without changing it. The polish step addresses a known weakness, reaching individually misclassified nodes that split and merge moves cannot fix.
Prediction
Given the gap before this release, the near-term question is whether the cadence resumes at all; the refactoring it contains would support further algorithmic work if it does.

Recent moves

  1. 26d ago

    Replaces raw control lists with missSBM_param(), adds polish()

    Breaks the control argument in favour of a dedicated constructor with named options, and adds a post-convergence node-swap refinement that fixes misclassifications the split and merge moves cannot reach. The exploration logic also moves into testable instance methods without changing the search itself.

    View source ↗
  2. 3y ago

    Adapts to Matrix 1.4-2 and fixes HTML5 documentation

    A compatibility release for a new Matrix version plus HTML5 documentation fixes and typos. The last activity before a four-year gap in the feed.

    View source ↗
  3. 4y ago

    Fixes linking against nloptR 2.0.0

    Fixes linking against a new nloptR release and adds a reference to the package's JSS paper. Dependency housekeeping.

    View source ↗
  4. 5y ago

    Relaxes CRAN test tolerances to avoid random failures

    Relaxes test strictness to stop random CRAN check failures and trims storage in the network representation. Infrastructure only.

    View source ↗
  5. 5y ago

    Rewrites optimisation in C++ armadillo with sparse matrices

    The 1.0 release rewrote the variational optimisation steps in C++ with armadillo, moved to sparse matrices for encoding zeros and missing values, and adopted a user-controlled parallel backend. It set the performance baseline that the current release refines rather than replaces.

    View source ↗
  6. 5y ago

    Renames core functions and interfaces with the sbm package

    An interface overhaul following journal review, renaming the main entry points and delegating shared structure to the sbm package. An early instance of the same instinct behind the current release: fix the interface before extending the method.

    View source ↗