what is the Unit of source estimates

hello, everyone!
In the example of " Make figures more publication ready", the unit of source estimate is Marked as “F”,what’s the meaning of 'F"? It’s F test?

The noise normalization performed with dSPM converts the expected current value into a dimensionless statistical test variable. dSPM values computed with fixed orientation constraint are t-distributed, and dSPM values with free orientation contstraint are F-distributed.

Hello, Thank you for your last answer.The tutorial said that the dSPM value with fixed orientation(loose=0) related to the t distribution. Now, if I have data from 10 subjects using the dSPM method for source estimation and then average, is the average dSPM value follows a t-distribution with a degree of freedom of 9 ? If the significance level p-value is 0.05, corresponding to a t-critical value of 1.83, does it mean that sources with a dSPM value greater than 1.83 are significant (P>0.05)?

hi @yuyu,

Yes, you are right but the t-value that you have suggested is for a one-tail. For two-tails test, it should be higher. If you have a signed values in your dSMP solution, it is recommended to use two-tails distribution to construct your cutoff threshold.

You can use the following code:

from scipy import stats
n_subjects = 10 # no. of subject
p_low = 0.05 # p-value

#for two-tails
threshold = float(“{:.2f}”.format(-stats.distributions.t.ppf(p_low / 2., n_subjects - 1)))

Note, any values in the dSPM maps that are higher than the constructed threshold should be considered as significant (typically can be p<0.05 or p<0.01 with 95% and 99% confidence interval respectively).

best,

Thank you very much @dasdiptyajit. I also want to ask about using dSPM method with free orientation. The dSPM values with free orientation contstraint are F-distributed. How can I construct statistical to calculate significance levels?

@yuyu This is something that you can use. I have adapted the code from MNE examples.

#We are running an F test, so we look at the upper tail. see also: Why do we use a one-tailed test F-test in analysis of variance (ANOVA)? - Cross Validated

import scipy.stats
p_threshold = 0.05
n_subjects = 10
n_observations = 10 # equal to no. of subjects in your case
n_conditions = 1 # test for a single dSPM solution/condition

#For an F test we need the degrees of freedom for the numerator (number of conditions - 1) and the denominator (number of observations - number of conditions):

dfn = n_subjects - 1
dfd = n_observations - n_conditions

#Note: we calculate 1 - p_threshold to get the critical value on the right tail
f_thresh = scipy.stats.f.ppf(1 - p_threshold, dfn=dfn, dfd=dfd)

best,
Dip

Thank you again @dasdiptyajit, thanks for your reply