working_with_statistics

This shows you the differences between two versions of the page.

— |
working_with_statistics [2011/04/15 21:09] (current) jochen created |
||
---|---|---|---|

Line 1: | Line 1: | ||

+ | ====== Working with statistics ====== | ||

+ | |||

+ | ===== Motivation ===== | ||

+ | While a single statistical map is already informative, often it is necessary to combine the information of two (or several) different analyses together (e.g. by applying a mask or restricting the statistic by the minimum value across two or more maps) to come to more reliable evidence for an effect. | ||

+ | |||

+ | This wiki page is meant as a quick guideline for how to use NeuroElf features when different maps are to be combined. | ||

+ | |||

+ | ===== Requirements ===== | ||

+ | To follow the steps presented on this page, you should | ||

+ | |||

+ | * either have performed your statistical analysis in NeuroElf (or BrainVoyager, given that the [[xff - VMP format|VMP format]] is used) | ||

+ | * or have imported any resulting maps into BrainVoyager QX's VMP format, e.g. using the [[importvmpfromspms]] function | ||

+ | |||

+ | Also, you should know about what kind of map combination and/or computation you would like to perform so that you can actually make use of NeuroElf's features. | ||

+ | |||

+ | ===== General approach ===== | ||

+ | Given that NeuroElf offers both scripting and GUI-based, both of these options will be described below. | ||

+ | |||

+ | ===== Types of computations ===== | ||

+ | For now, three major types of map combinations are discussed on this page: | ||

+ | |||

+ | * conjunction analysis: after computing several (potentially non-independent) statistical tests (e.g. **Condition A > Condition B** and **Condition A > Condition C**), it can be beneficial to know where in the brain **both** comparisons exhibit a value for which the population mean is significantly different from 0 | ||

+ | * masking analysis: after computing several (usually partially non-independent) statistical tests (e.g. **Condition A > Condition B** and **Condition A > Baseline**), it can be beneficial to know where the difference in conditions is supported by elevated levels of activity in minuend as opposed to reduced activity levels in the subtrahend (i.e. making sure that the difference is due to increased activity during the condition of interest) | ||

+ | * combination analysis: after computing several (necessarily independent) statistical tests (e.g. **Condition A > Condition B** for two different groups of subjects using a different imaging technique) it can be beneficial to estimate whether pure chance can explain the **combined** results (which, however, weakens the Null-hypothesis to that it must be true in each case for the observed combined statistic to follow the required distribution!) | ||

+ | |||

+ | ==== Conjunction analysis ==== | ||

+ | A conjunction (as described above) is defined by setting the combined value to the larger of the two available significance estimates (alpha, p), which corresponds to the smaller of the two statistical values, given that the two particles follow the same distribution using the same degrees of freedom parameter(s). | ||

+ | |||

+ | This functionality is implemented in the [[conjval]] and [[conjvalp]] functions, and can be used either in a scripted fashion (manually or by calling the [[vmp.ComputeFormula|VMP::ComputeFormula]] method) or via the GUI formula button. A possible script excerpt would look like this: | ||

+ | |||

+ | <code matlab vmp_conjunction_ex.m>% we assume that a VMP with 2 maps is loaded and that | ||

+ | % - the two maps use the same type of statistic with | ||

+ | % - the same D.F. parameter (no need to convert to p-values) | ||

+ | |||

+ | % first we create a third map within the VMP container | ||

+ | vmp.Map(3) = vmp.Map(1); | ||

+ | |||

+ | % then we can rename this map | ||

+ | vmp.Map(3).Name = [vmp.Map(1).Name ' (conj) ' vmp.Map(2).Name]; | ||

+ | |||

+ | % and then we apply the conjunction formula | ||

+ | vmp.Map(3).VMPData = conjval(vmp.Map(1).VMPData, vmp.Map(2).VMPData); | ||

+ | |||

+ | % in case the VMP is also loaded (or to be loaded) in the GUI | ||

+ | vmp.Browse; | ||

+ | neuroelf_gui('setcstatmap', 3);</code> | ||

+ | |||

+ | Alternatively the [[vmp.ComputeFormula|ComputeFormula]] method of the VMP object can be used instead: | ||

+ | |||

+ | <code matlab vmp_computeconjformula.m>% using the same assumptions as above | ||

+ | vmp.ComputeFormula('conjval(#1, #2)');</code> | ||

+ | |||

+ | This call will automatically add a map at the end and use the first map in the formula as a template. And this behavior is also mimicked in the Version of the GUI. Upon clicking the ''compute-formula'' (slanted f) button, a dialog appears allowing to enter: | ||

+ | |||

+ | * the formula itself (whereas #i and $j refer to the i-th stored and j-th selected maps, and iterator expressions, such as #1:4:80, can be used) | ||

+ | * a target map number (e.g. in case an existing map is to be over-written with the result) | ||

+ | * the name of the output map (if left blank, the formula will be used) | ||

+ | * a map type (in case the resulting map is of a different kind, e.g. when a t-test over beta maps is computed) | ||

+ | * DF1 and DF2 parameters | ||

+ | * and optionally whether or not the values in the referenced maps are to be converted to two-tailed p-values first | ||

working_with_statistics.txt ยท Last modified: 2011/04/15 21:09 by jochen