Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Noise models and estimation methods #176

Merged
merged 7 commits into from
Sep 29, 2014

Conversation

cmaumet
Copy link
Member

@cmaumet cmaumet commented Sep 18, 2014

This is a proposition built with @nicholst to represent the noise models (following suggestion in #170).

We propose to characterise the noise variance (diagonal elements) and the noise dependance (off-diagonal elements):

Noise Variance

  • is
    • homogeneous if all variances are identical (nidm:noiseVarianceHomogeneous = true) or;
    • heterogeneous otherwise (nidm:noiseVarianceHomogeneous = false).
    • Heterogeneous variance can be further specified (e.g. by group, by time, FSL FLAME, arbitrary...) using a separate attribute
  • is defined spatially to be either:
    • local (nidm:varianceSpatialModel = nidm:SpatiallyLocal) or;
    • regularised (nidm:varianceSpatialModel = nidm:SpatiallyRegularised) or;
    • global (nidm:varianceSpatialModel = nidm:SpatiallyGlobal).

Noise Dependence

  • is either
    • Independent (nidm:noiseDependence = nidm:IndependentNoise)
    • Compound Symmetry (nidm:noiseDependence = nidm:CompoundSymmetry)
    • Serially Correlated (nidm:noiseDependence = nidm:SeriallyCorrelatedNoise)
      • SeriallyCorrelated noise can be ApproxAR1, ARMA11, TaperedACF
    • Arbitrarily Correlated (nidm:noiseDependence = nidm:AbitrarilyCorrelatedNoise)
  • is defined spatially to be either:
    • local (nidm:DependenceSpatialModel = nidm:SpatiallyLocal) or;
    • regularised (nidm:DependenceSpatialModel = nidm:SpatiallyRegularised) or;
    • global (nidm:DependenceSpatialModel = nidm:SpatiallyGlobal).

@cmaumet
Copy link
Member Author

cmaumet commented Sep 11, 2014

For example:

  • in FSL 1st level we have: Spatially local homogeneous variance + Spatially regularised serially correlated (Tapered ACF) noise
  • in SPM 1st level we have: Spatially local homogeneous variance + Spatially global serially correlated (ApproxAR1) noise
  • in AFNI 1st level we have: Spatially local homogeneous variance + Spatially local serially correlated (ARMAII) noise

@nicholst
Copy link
Contributor

Thanks @cmaumet!

Minor typo nidm:SpatiallyLocall -> nidm:SpatiallyLocal.
ARMAII -> ARMA11 (arma-one-one)

Instead of nidm:VarianceSpatialDefinition somehow nidm:VarianceSpatialAssumption or, maybe better yet nidm:VarianceSpatialModel

I'd also add to Noise Dependence nidm:CompoundSymmetry.

@cmaumet
Copy link
Member Author

cmaumet commented Sep 15, 2014

Thank you @nicholst, this is updated as suggested (directly in my initial comment).

@nicholst
Copy link
Contributor

I just noticed Noise Dependence -> Homogeneous (nidm:noiseDependence = nidm:HomogeneousNoise). I remember this one... What is this?

Also, it is useful to arrange the lists in order of increasing complexity; for Noise Dependence a better order would be:

  • Independent (nidm:noiseDependence = nidm:IndependentNoise)
  • Compound Symmetry (nidm:noiseDependence = nidm:CompoundSymmetry)
  • Serially Correlated (nidm:noiseDependence = nidm:SeriallyCorrelatedNoise)
  • Arbitrarily Correlated (nidm:noiseDependence = nidm:AbitrarilyCorrelatedNoise)

(CS and SC could be flipped; left out 'Homogeneous' as I wasn't sure about it).

@nicholst
Copy link
Contributor

Following discussion today with @cmaumet, we might as well add the actual distributional assumption

Noise Distribution

  • Gaussian ... Examples... everything fit with the GLM (the default)
  • Nonparametric ... Examples... when using SnPM, randomise, or any rank-based method
  • Nonparametric-Symmetric ... Examples, any 2nd level fMRI analysis on contrast data
  • Poisson ... Point-valued data (theoretically, no upper-bound on number of points observed)... Examples... coordinate based meta-analysis
  • Binomial ... Count data out of a fixed maximum; Examples... lesion count data (based on binary lesion masks in standard space)

Note, that nonparametric inference methods assume exchangeability, and that nidm:noiseVarianceHomogeneous = true and nidm:noiseDependence = nidm:CompoundSymmetry implies exchangeability. So, I don't think we want an distinct term.

Also note, that all of these descriptors are about the noise, as in the epsilon in
Y = X beta + epsilon
not about the data.

@cmaumet cmaumet changed the title Noise models Noise models and estimation methods Sep 18, 2014
@cmaumet
Copy link
Member Author

cmaumet commented Sep 18, 2014

Noise models and estimation methods are now implemented as follows:

Noise Model: Creation of a new entity of type NoiseModel with attributes:

  • nidm:hasNoiseDistribution (possible values are child of NoiseDistribution):
    image
  • nidm:noiseVarianceHomogeneous (possible value: true/fasle),
  • nidm:hasNoiseDependence (possible values are child of NoiseDependence):
    image
  • nidm:varianceSpatialModel (possible values are child of SpatialModel)
  • nidm:dependenceSpatialModel (possible values are child of SpatialModel):
    image

A NoiseModel entity is used by a ModelParametersEstimation activity.

Estimation methods: Creation of a new attribute withEstimationMethod in activities of type ModelParametersEstimation (possible values are child of EstimationMethod):
image

@nicholst
Copy link
Contributor

Terms from STATO:

Binomial Distribution: http://purl.obolibrary.org/obo/STATO_0000276
Gaussian Distribution: http://purl.obolibrary.org/obo/STATO_0000227
Poisson Distribution: http://purl.obolibrary.org/obo/STATO_0000051

The global/local things are probably too imaging specific, but will post something over on STATO on the dependence terms.

@cmaumet
Copy link
Member Author

cmaumet commented Sep 19, 2014

Thank you @nicholst: Binomial, Gaussian and Poisson distributions are now linked to the STATO terms using a sameAs relationship.

@cmaumet
Copy link
Member Author

cmaumet commented Sep 22, 2014

We discussed this in NIDASH call on September 22nd (Minutes).

We identified the following steps forward:

@cmaumet
Copy link
Member Author

cmaumet commented Sep 23, 2014

SPM - 1st level SPM - 2nd level
nidm:hasNoiseDistribution = GaussianDistribution
nidm:noiseVarianceHomogeneous = true
nidm:varianceSpatialModel = nidm:SpatiallyLocalModel
nidm:hasNoiseDependence =
   nidm:SeriallyCorrelatedNoise nidm:dependenceSpatialModel=
  nidm:SpatiallyGlobalModel
nidm:hasNoiseDependence=
  nidm:IndependentNoise
FSL - 1st level FSL - 2nd level
nidm:hasNoiseDistribution = GaussianDistribution
nidm:noiseVarianceHomogeneous = true
nidm:varianceSpatialModel =
   nidm:SpatiallyLocalModel
nidm:noiseVarianceHomogeneous = false
nidm:varianceSpatialModel =
   nidm:SpatiallyLocalModel
nidm:hasNoiseDependence =
   nidm:SeriallyCorrelatedNoise nidm:dependenceSpatialModel=
  nidm:SpatiallyRegularizedModel
nidm:hasNoiseDependence=
  nidm:IndependentNoise
AFNI - 1st level AFNI - 2nd level
nidm:hasNoiseDistribution = GaussianDistribution
nidm:noiseVarianceHomogeneous = true
nidm:varianceSpatialModel =
   nidm:SpatiallyLocalModel
nidm:noiseVarianceHomogeneous = true or false
nidm:varianceSpatialModel =
   nidm:SpatiallyLocalModel
nidm:hasNoiseDependence =
   nidm:SeriallyCorrelatedNoise nidm:dependenceSpatialModel=
  nidm:SpatiallyLocalModel
nidm:hasNoiseDependence=
  nidm:IndependentNoise

@nicholst
Copy link
Contributor

Independant -> Independent

One wrinkle: nidm:hasNoiseDependence = nidm:IndependantNoise indicates that there is no dependence, and hence nidm:dependenceSpatialModel isn't really defined. i.e. there are no parameters, and so clarifying that the (non-existent) parameters are nidm:SpatiallyGlobalModel seems odd.

What should we do? Is there "n/a" value, or just not specify it?

@nicholst
Copy link
Contributor

Randomise & SnPM

First-level
n/a

Randomise & SnPM 2nd level - fMRI and difference data (sign-flipping)
nidm:hasNoiseDistribution = NonparametricSymmetric
nidm:noiseVarianceHomogeneous = false
nidm:varianceSpatialModel = nidm:SpatiallyLocalModel
nidm:hasNoiseDependence = nidm:IndependentNoise
Randomise & SnPM 2nd level - Positive data
nidm:hasNoiseDistribution = Nonparametric
nidm:noiseVarianceHomogeneous = true
nidm:varianceSpatialModel = nidm:SpatiallyLocalModel
nidm:hasNoiseDependence = nidm:ExchangeableNoise
nidm:dependenceSpatialModel = nidm:SpatiallyLocalModel

Note, it may be surprising, but sign flipping makes no assumption of equal variance. See Winkler et al. (2014) for details.

  1. Winkler AM, Ridgway GR, Webster MA, Smith SM, Nichols TE. Permutation inference for the general linear model. Neuroimage. 2014;92C:381–397.

@cmaumet
Copy link
Member Author

cmaumet commented Sep 24, 2014

Thank you @nicholst, this is great! I have updated the typo and removed the nidm:dependanceSpatialModel attribute whenever the noise is independent as suggested.

@cmaumet
Copy link
Member Author

cmaumet commented Sep 29, 2014

Do you think we could merge this pull request and start discussing the definitions in a new thread?

nicholst added a commit that referenced this pull request Sep 29, 2014
Can do... @cmaumet, can you start the discussion issue?
@nicholst nicholst merged commit 20cf144 into incf-nidash:master Sep 29, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants