Class: ModelEstimation¶
How a model was specified in software and estimated: its terms, the family, the source's wording for it, the estimator, the stage, the software, the pipeline that produced the data it was fitted to, and the spatial element it was fitted over. One record may be referenced by several Analyses, so every field must hold for all of them; an analysis specified or estimated differently takes its own record. The data a model was fitted to is part of its specification.
One record is one estimation stage. Neuroimaging splits a model across stages for tractability, and inputs_from is what puts it back together: a stage's terms are its own plus those of the stages it consumed, so the split costs the record nothing while each stage keeps its own family, estimator, software and basis.
__
The test for whether two analyses share a record is mechanical: list the columns each was fitted with. A different dependent variable, a different covariate set, or a different subset of participants means a different design matrix and therefore a separate record, even when family, estimator and software are identical. Two BPM regressions of the same measure on the same regressor, one over the patients and one over patients and controls pooled, are two records.
Sharing one record across matrices corrupts the derived adjustment set. The adjustment set is the model's terms minus the terms named by its cells. If several matrices share one record, they claim adjustments that their original models never made, and the record cannot expose the error.
URI: neurostudy_ex:ModelEstimation
classDiagram
class ModelEstimation
click ModelEstimation href "../ModelEstimation/"
ModelEstimation : estimator
ModelEstimation --> "0..1" ExtractedString : estimator
click ExtractedString href "../ExtractedString/"
ModelEstimation : hrf_model
ModelEstimation --> "0..1" ExtractedString : hrf_model
click ExtractedString href "../ExtractedString/"
ModelEstimation : inputs_from
ModelEstimation --> "*" ModelEstimation : inputs_from
click ModelEstimation href "../ModelEstimation/"
ModelEstimation : local_id
ModelEstimation : model_family
ModelEstimation --> "1" ExtractedModelFamily : model_family
click ExtractedModelFamily href "../ExtractedModelFamily/"
ModelEstimation : model_settings
ModelEstimation --> "0..1" ExtractedString : model_settings
click ExtractedString href "../ExtractedString/"
ModelEstimation : model_type
ModelEstimation --> "1" ExtractedString : model_type
click ExtractedString href "../ExtractedString/"
ModelEstimation : preprocessing
ModelEstimation --> "*" Preprocessing : preprocessing
click Preprocessing href "../Preprocessing/"
ModelEstimation : software
ModelEstimation --> "0..1" ExtractedString : software
click ExtractedString href "../ExtractedString/"
ModelEstimation : spatial_unit
ModelEstimation --> "0..1" ExtractedSpatialUnit : spatial_unit
click ExtractedSpatialUnit href "../ExtractedSpatialUnit/"
ModelEstimation : stable_id
ModelEstimation : stage
ModelEstimation --> "1" ExtractedString : stage
click ExtractedString href "../ExtractedString/"
ModelEstimation : terms
ModelEstimation --> "*" ModelTerm : terms
click ModelTerm href "../ModelTerm/"
Slots¶
| Name | Cardinality and Range | Description | Inheritance |
|---|---|---|---|
| stable_id | 0..1 String |
UUID minted by the store the first time this entity appears, never by an extr... | direct |
| local_id | 1 String |
Stable identifier used by Analysis foreign-key references | direct |
| model_family | 1 ExtractedModelFamily |
Normalized statistical model family, which is the queryable form | direct |
| model_type | 1 ExtractedString |
The source's own wording for the model, minimally cleaned, such as mass- univ... | direct |
| hrf_model | 0..1 ExtractedString |
The haemodynamic response basis the design matrix was built with: a canonical... | direct |
| model_settings | 0..1 ExtractedString |
Essential estimator, variance, autocorrelation, covariance, regularization, a... | direct |
| stage | 1 ExtractedString |
Stage of analysis, in the source's terms: run, session, subject and group are... | direct |
| estimator | 0..1 ExtractedString |
Estimation method, such as OLS, WLS, maximum likelihood, restricted maximum l... | direct |
| software | 0..1 ExtractedString |
Statistical software name, version, and relevant implementation details | direct |
| spatial_unit | 0..1 ExtractedSpatialUnit |
The element this model was fitted over | direct |
| preprocessing | * Preprocessing |
The pipelines that produced the data this model was fitted to | direct |
| inputs_from | * ModelEstimation |
The models whose fitted output this model was estimated on: the first-level G... | direct |
| terms | * ModelTerm |
The terms this stage was specified with -- the columns of its design matr... | direct |
Usages¶
| used by | used in | type | used |
|---|---|---|---|
| Analysis | model_estimation | range | ModelEstimation |
| ModelEstimation | inputs_from | range | ModelEstimation |
| Study | model_estimations | range | ModelEstimation |
See Also¶
- https://cdisc-org.github.io/analysis-results-standard/
- https://bids-standard.github.io/stats-models/spec.html
- https://nidm.nidash.org/specs/nidm-results_120.html
Identifier and Mapping Information¶
Schema Source¶
- from schema: https://neurostuff.org/schemas/neuroimaging-study-extraction
Mappings¶
| Mapping Type | Mapped Value |
|---|---|
| self | neurostudy_ex:ModelEstimation |
| native | neurostudy_ex:ModelEstimation |
LinkML Source¶
Direct¶
name: ModelEstimation
description: 'How a model was specified in software and estimated: its terms, the
family, the source''s wording for it, the estimator, the stage, the software, the
pipeline that produced the data it was fitted to, and the spatial element it was
fitted over. One record may be referenced by several Analyses, so every field must
hold for all of them; an analysis specified or estimated differently takes its own
record. **The data a model was fitted to is part of its specification**.
One record is one estimation stage. Neuroimaging splits a model across stages for
tractability, and `inputs_from` is what puts it back together: a stage''s terms
are its own plus those of the stages it consumed, so the split costs the record
nothing while each stage keeps its own family, estimator, software and basis.
The test for whether two analyses share a record is mechanical: list the columns
each was fitted with. A different dependent variable, a different covariate set,
or a different subset of participants means a different design matrix and therefore
a separate record, even when family, estimator and software are identical. Two BPM
regressions of the same measure on the same regressor, one over the patients and
one over patients and controls pooled, are two records.
Sharing one record across matrices corrupts the derived adjustment set. The adjustment
set is the model''s terms minus the terms named by its cells. If several matrices
share one record, they claim adjustments that their original models never made,
and the record cannot expose the error.'
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction
see_also:
- https://cdisc-org.github.io/analysis-results-standard/
- https://bids-standard.github.io/stats-models/spec.html
- https://nidm.nidash.org/specs/nidm-results_120.html
rank: 1000
attributes:
stable_id:
name: stable_id
description: UUID minted by the store the first time this entity appears, never
by an extractor, and kept across re-runs so a later extraction matches the same
entity.
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction/analysis
domain_of:
- Arm
- Timepoint
- Group
- Task
- Condition
- Assessment
- Region
- Acquisition
- Device
- Analysis
- Measure
- Preprocessing
- ModelEstimation
- ModelTerm
- InferenceSettings
- Table
- CoordinateSet
- Study
range: string
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
local_id:
name: local_id
description: Stable identifier used by Analysis foreign-key references.
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction/analysis
identifier: true
domain_of:
- Arm
- Timepoint
- Group
- Task
- Condition
- Assessment
- Region
- Acquisition
- Device
- Analysis
- Measure
- Preprocessing
- ModelEstimation
- ModelTerm
- InferenceSettings
- Table
- CoordinateSet
- Study
range: string
required: true
model_family:
name: model_family
description: 'Normalized statistical model family, which is the queryable form.
Required, so a paper that never says still carries the slot, as `extraction_status:
not_reported`. A method the vocabulary cannot name -- ICA, representational
similarity, a decoder -- is written here as free text; the Analysis.details
subclass also identifies the method.'
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction/analysis
rank: 1000
domain_of:
- ModelEstimation
range: ExtractedModelFamily
required: true
model_type:
name: model_type
description: The source's own wording for the model, minimally cleaned, such as
mass- univariate GLM, meta-analysis, multivariate, predictive model, ICA, or
representational similarity analysis.
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction/analysis
rank: 1000
domain_of:
- ModelEstimation
range: ExtractedString
required: true
hrf_model:
name: hrf_model
description: 'The haemodynamic response basis the design matrix was built with:
a canonical HRF, a canonical plus temporal or dispersion derivatives, an FIR
or gamma basis, or a named alternative. Unset for a measure that models no timeseries
-- morphometry, diffusion, static PET.'
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction/analysis
rank: 1000
domain_of:
- ModelEstimation
range: ExtractedString
model_settings:
name: model_settings
description: Essential estimator, variance, autocorrelation, covariance, regularization,
and software-specific settings.
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction/analysis
rank: 1000
domain_of:
- ModelEstimation
range: ExtractedString
stage:
name: stage
description: 'Stage of analysis, in the source''s terms: run, session, subject
and group are the usual words, and any other the source uses is storable as
written. Deliberately left open -- no vocabulary fits every design, and nothing
derives anything from it.
A label, not an ordering. Only `inputs_from` records which stage fed another:
two records labelled `group` say nothing about their relationship, and these
strings never imply a chain.'
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction/analysis
rank: 1000
domain_of:
- ModelEstimation
range: ExtractedString
required: true
estimator:
name: estimator
description: Estimation method, such as OLS, WLS, maximum likelihood, restricted
maximum likelihood, permutation, or Bayesian estimation.
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction/analysis
rank: 1000
domain_of:
- ModelEstimation
range: ExtractedString
software:
name: software
description: Statistical software name, version, and relevant implementation details.
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction/analysis
domain_of:
- Preprocessing
- ModelEstimation
range: ExtractedString
spatial_unit:
name: spatial_unit
description: 'The element this model was fitted over. Distinct from the Analysis''s
`spatial_scope`, which gives the extent rather than the element: a whole-brain
model can be voxelwise or vertexwise, and a model over an ROI can average the
region or test its parcels. Record it rather than inferring it from `coordinate_space`.
A model fitted over a different element is a different model, so a voxelwise
GLM and an ROI-mean ANOVA of the same design take two records: no contrast of
one can be read off the other''s fit.'
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction/analysis
rank: 1000
domain_of:
- ModelEstimation
range: ExtractedSpatialUnit
preprocessing:
name: preprocessing
description: 'The pipelines that produced the data this model was fitted to. Every
Analysis referencing this record came through them, so a model fitted to differently
prepared data -- unsmoothed images for a classifier, smoothed ones for a mass-univariate
fit -- takes its own record rather than sharing one.
More than one entry when the fit consumed more than one kind of image: a multimodal
regression of perfusion on grey-matter volume was fitted to the output of both
pipelines, and naming either alone says the other''s smoothing and normalisation
did not touch the map.'
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction/analysis
rank: 1000
domain_of:
- ModelEstimation
range: Preprocessing
multivalued: true
inlined: false
inputs_from:
name: inputs_from
description: 'The models whose fitted output this model was estimated on: the
first-level GLM whose contrast images a group model takes as its data, the subject-level
fit an ROI ANOVA summarises. The stage graph, recorded only where the source
states it.
**A model''s terms are its own plus, transitively, those of the models named
here.** That combined list is what `terms` would be had the analysis been fitted
in one step.
Leave it empty when the source describes one design matrix, and when it describes
the lower stage too thinly to constitute a model. Empty is not a claim that
no lower stage existed; it is the absence of a statement about one, exactly
as an unrecorded term is.
Must be acyclic, no model may reach itself.'
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction/analysis
rank: 1000
domain_of:
- ModelEstimation
range: ModelEstimation
multivalued: true
inlined: false
terms:
name: terms
description: 'The terms **this stage** was specified with -- the columns of its
design matrix, in the general sense that covers a GLM''s regressors and the
predictors of any other family. Stated once here however many contrasts are
taken from them, and never restated on a stage above: the terms of a lower stage
are reached through `inputs_from`.
Record every term the source states, including ones no reported contrast tests,
and including ones mentioned only in passing: "controlling for age and sex"
is a statement about the design matrix. This list, together with the lists reached
through `inputs_from`, is **the adjustment set of every contrast taken from
this model** -- each contrast''s is that combined list minus the terms its cells
name -- so a term omitted from every stage reads as one the model did not adjust
for. Where the list is incomplete, the slot''s extraction_status is what says
so.
May be empty, and legitimately is for a stage that fits only an intercept: a
one-sample group test over first-level contrast images has no column of its
own. Do not invent an intercept term to fill it.
Analyses whose design matrices differ take their own records rather than sharing
one.'
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction/analysis
rank: 1000
domain_of:
- ModelEstimation
range: ModelTerm
multivalued: true
inlined_as_list: true
Induced¶
name: ModelEstimation
description: 'How a model was specified in software and estimated: its terms, the
family, the source''s wording for it, the estimator, the stage, the software, the
pipeline that produced the data it was fitted to, and the spatial element it was
fitted over. One record may be referenced by several Analyses, so every field must
hold for all of them; an analysis specified or estimated differently takes its own
record. **The data a model was fitted to is part of its specification**.
One record is one estimation stage. Neuroimaging splits a model across stages for
tractability, and `inputs_from` is what puts it back together: a stage''s terms
are its own plus those of the stages it consumed, so the split costs the record
nothing while each stage keeps its own family, estimator, software and basis.
The test for whether two analyses share a record is mechanical: list the columns
each was fitted with. A different dependent variable, a different covariate set,
or a different subset of participants means a different design matrix and therefore
a separate record, even when family, estimator and software are identical. Two BPM
regressions of the same measure on the same regressor, one over the patients and
one over patients and controls pooled, are two records.
Sharing one record across matrices corrupts the derived adjustment set. The adjustment
set is the model''s terms minus the terms named by its cells. If several matrices
share one record, they claim adjustments that their original models never made,
and the record cannot expose the error.'
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction
see_also:
- https://cdisc-org.github.io/analysis-results-standard/
- https://bids-standard.github.io/stats-models/spec.html
- https://nidm.nidash.org/specs/nidm-results_120.html
rank: 1000
attributes:
stable_id:
name: stable_id
description: UUID minted by the store the first time this entity appears, never
by an extractor, and kept across re-runs so a later extraction matches the same
entity.
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction/analysis
owner: ModelEstimation
domain_of:
- Arm
- Timepoint
- Group
- Task
- Condition
- Assessment
- Region
- Acquisition
- Device
- Analysis
- Measure
- Preprocessing
- ModelEstimation
- ModelTerm
- InferenceSettings
- Table
- CoordinateSet
- Study
range: string
pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
local_id:
name: local_id
description: Stable identifier used by Analysis foreign-key references.
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction/analysis
identifier: true
owner: ModelEstimation
domain_of:
- Arm
- Timepoint
- Group
- Task
- Condition
- Assessment
- Region
- Acquisition
- Device
- Analysis
- Measure
- Preprocessing
- ModelEstimation
- ModelTerm
- InferenceSettings
- Table
- CoordinateSet
- Study
range: string
required: true
model_family:
name: model_family
description: 'Normalized statistical model family, which is the queryable form.
Required, so a paper that never says still carries the slot, as `extraction_status:
not_reported`. A method the vocabulary cannot name -- ICA, representational
similarity, a decoder -- is written here as free text; the Analysis.details
subclass also identifies the method.'
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction/analysis
rank: 1000
owner: ModelEstimation
domain_of:
- ModelEstimation
range: ExtractedModelFamily
required: true
model_type:
name: model_type
description: The source's own wording for the model, minimally cleaned, such as
mass- univariate GLM, meta-analysis, multivariate, predictive model, ICA, or
representational similarity analysis.
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction/analysis
rank: 1000
owner: ModelEstimation
domain_of:
- ModelEstimation
range: ExtractedString
required: true
hrf_model:
name: hrf_model
description: 'The haemodynamic response basis the design matrix was built with:
a canonical HRF, a canonical plus temporal or dispersion derivatives, an FIR
or gamma basis, or a named alternative. Unset for a measure that models no timeseries
-- morphometry, diffusion, static PET.'
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction/analysis
rank: 1000
owner: ModelEstimation
domain_of:
- ModelEstimation
range: ExtractedString
model_settings:
name: model_settings
description: Essential estimator, variance, autocorrelation, covariance, regularization,
and software-specific settings.
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction/analysis
rank: 1000
owner: ModelEstimation
domain_of:
- ModelEstimation
range: ExtractedString
stage:
name: stage
description: 'Stage of analysis, in the source''s terms: run, session, subject
and group are the usual words, and any other the source uses is storable as
written. Deliberately left open -- no vocabulary fits every design, and nothing
derives anything from it.
A label, not an ordering. Only `inputs_from` records which stage fed another:
two records labelled `group` say nothing about their relationship, and these
strings never imply a chain.'
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction/analysis
rank: 1000
owner: ModelEstimation
domain_of:
- ModelEstimation
range: ExtractedString
required: true
estimator:
name: estimator
description: Estimation method, such as OLS, WLS, maximum likelihood, restricted
maximum likelihood, permutation, or Bayesian estimation.
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction/analysis
rank: 1000
owner: ModelEstimation
domain_of:
- ModelEstimation
range: ExtractedString
software:
name: software
description: Statistical software name, version, and relevant implementation details.
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction/analysis
owner: ModelEstimation
domain_of:
- Preprocessing
- ModelEstimation
range: ExtractedString
spatial_unit:
name: spatial_unit
description: 'The element this model was fitted over. Distinct from the Analysis''s
`spatial_scope`, which gives the extent rather than the element: a whole-brain
model can be voxelwise or vertexwise, and a model over an ROI can average the
region or test its parcels. Record it rather than inferring it from `coordinate_space`.
A model fitted over a different element is a different model, so a voxelwise
GLM and an ROI-mean ANOVA of the same design take two records: no contrast of
one can be read off the other''s fit.'
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction/analysis
rank: 1000
owner: ModelEstimation
domain_of:
- ModelEstimation
range: ExtractedSpatialUnit
preprocessing:
name: preprocessing
description: 'The pipelines that produced the data this model was fitted to. Every
Analysis referencing this record came through them, so a model fitted to differently
prepared data -- unsmoothed images for a classifier, smoothed ones for a mass-univariate
fit -- takes its own record rather than sharing one.
More than one entry when the fit consumed more than one kind of image: a multimodal
regression of perfusion on grey-matter volume was fitted to the output of both
pipelines, and naming either alone says the other''s smoothing and normalisation
did not touch the map.'
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction/analysis
rank: 1000
owner: ModelEstimation
domain_of:
- ModelEstimation
range: Preprocessing
multivalued: true
inlined: false
inputs_from:
name: inputs_from
description: 'The models whose fitted output this model was estimated on: the
first-level GLM whose contrast images a group model takes as its data, the subject-level
fit an ROI ANOVA summarises. The stage graph, recorded only where the source
states it.
**A model''s terms are its own plus, transitively, those of the models named
here.** That combined list is what `terms` would be had the analysis been fitted
in one step.
Leave it empty when the source describes one design matrix, and when it describes
the lower stage too thinly to constitute a model. Empty is not a claim that
no lower stage existed; it is the absence of a statement about one, exactly
as an unrecorded term is.
Must be acyclic, no model may reach itself.'
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction/analysis
rank: 1000
owner: ModelEstimation
domain_of:
- ModelEstimation
range: ModelEstimation
multivalued: true
inlined: false
terms:
name: terms
description: 'The terms **this stage** was specified with -- the columns of its
design matrix, in the general sense that covers a GLM''s regressors and the
predictors of any other family. Stated once here however many contrasts are
taken from them, and never restated on a stage above: the terms of a lower stage
are reached through `inputs_from`.
Record every term the source states, including ones no reported contrast tests,
and including ones mentioned only in passing: "controlling for age and sex"
is a statement about the design matrix. This list, together with the lists reached
through `inputs_from`, is **the adjustment set of every contrast taken from
this model** -- each contrast''s is that combined list minus the terms its cells
name -- so a term omitted from every stage reads as one the model did not adjust
for. Where the list is incomplete, the slot''s extraction_status is what says
so.
May be empty, and legitimately is for a stage that fits only an intercept: a
one-sample group test over first-level contrast images has no column of its
own. Do not invent an intercept term to fill it.
Analyses whose design matrices differ take their own records rather than sharing
one.'
from_schema: https://neurostuff.org/schemas/neuroimaging-study-extraction/analysis
rank: 1000
owner: ModelEstimation
domain_of:
- ModelEstimation
range: ModelTerm
multivalued: true
inlined: true
inlined_as_list: true