Skip to content

Support configurable CPM network-strength summarization #51

@psychelzh

Description

@psychelzh

Objective

Support more than one way to turn selected CPM edges into subject-level network-strength features before prediction.

Why

The current implementation summarizes selected edges by separately summing positive and negative edges. That is the classic CPM default, but the literature already describes broader options.

Relevant primary sources:

  • Shen et al. 2017 describe the usual binary-sum network-strength approach, but also note that a weighted sum can be used by applying a sigmoid weighting around the p-value threshold instead of a hard binary cutoff.
  • The same protocol also discusses modeling positive and negative networks together rather than treating them only as separate one-sided summaries.
  • Dufford et al. 2021 report CPM predictions using the difference between positive and negative network strengths, which is another practically used summary style.

Scope

  • Keep the current positive/negative summed strengths as the default.
  • Design a public control for how selected edges are summarized into subject-level predictors.
  • Initial candidates:
    • separate positive / negative sums (current default)
    • a combined difference score (pos - neg)
    • a weighted sum variant for future thresholding work
  • Ensure the chosen summary is reflected consistently in cpm, cpm_resamples, summary(), and future tuning paths.

Open questions

  • Should summary construction be controlled independently from the final prediction model?
  • Should weighted summaries wait until edge-selection/thresholding options are expanded in #50?
  • How should combined summaries be reported in print/tidy output without making the object contract messy?

Non-goals

  • General graph-theoretic summaries unrelated to CPM network strength.
  • Changing resample metric policy (#16).
  • Replacing the current linear prediction head in the same issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    featurea feature request or enhancement

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions