evaluate$similarity

Model-relationship evaluation for PRS models

Description

evaluate$similarity() quantifies how similar PRS models are to each other, either structurally (SNP overlap) or empirically (correlation of evaluated scores on a cohort).

This is distinct from evaluate$compare(), which evaluates relative predictive performance. Use similarity to understand redundancy, clustering, and overlap between candidate models.

Usage

`evaluate$similarity`(models = NULL, on = NULL, source = c("scores", "variants"), method = NULL, obs = NULL, scores.layer = X, score.mode = c("compute.if.missing", "require", "recompute"), score.args = list(), use = "pairwise.complete.obs", logger = NULL)

Arguments

models

Optional model specification.

on

Optional evaluation context. Required when source = “scores”. When source = “variants”, on may be omitted if models is supplied directly.

source

Similarity source: “scores” or “variants”.

method

Similarity method. Defaults depend on source.

obs

Optional unquoted observation subset expression. Used only when source = “scores”.

scores.layer

Score layer to read/use when source = “scores”.

score.mode

Score resolution mode when source = “scores”.

score.args

Named list passed to compute$scores(…) when scoring is required.

use

Missing-value handling for score-correlation methods.

logger

Optional logger to pass and use within the function. Defaults NULL - creates a new logger

Value

A PolyGeniusEvaluation object describing pairwise model similarity. The full square similarity matrix is available via slotArtifacts(x, “similarity.matrix”): a dense model-by-model matrix whose row and column names are the evaluated model names and whose entries are the chosen similarity statistic. When only one model is evaluated, the result contains no pairwise rows and the matrix artifact is the model’s ⁠1 x 1⁠ self-similarity.

See Also

Other evaluate: evaluate.benchmark(), evaluate.calibration(), evaluate.compare(), evaluate.discrimination(), evaluate.incremental(), evaluate.risk.strata()