help > One-sample t-test
Showing 1-4 of 4 posts
Display:
Results per page:
Dec 2, 2022  02:12 AM | Dmit Filin
One-sample t-test
Dear Prof. Zalesky,

I have read several threads about one-sample t-test, where you argued that the one-sample t-test is rarely used in practice. However, one-sample t-test is frequently used to reveal differences between two conditions. For example, if we want to reveal ativations in TaskA compared to TaskB, we typically calculate con*.nii files with contrast "TaskA-TaskB" at the first level of analysis, and then use one sample t-test at the second level of analysis (according to SPM forum recommenations). Of course the paired t-test for "TaskA>baseline" and "TaskB>baseline" con*.nii files produce identical results, however, one sample t-test is more simple from the practical point of view (e.g. we need to save and select half as many con*.nii files).

So applying this logic, I calculated connectivity matrices for TaskA and TaskB, when calculated difference matrix: diff = atanh(TaskA) - atanh(TaskB). Next, I want to apply one-samle t-test with a primary threshold of 0.001 (instead of one-sample sign flipping test with a primary threshold specified in raw units).

One may prefer one-sample t-teast over one-sample sign flipping test, becouse it would be possible to choose a widely used ("default") primary threshold of 0.001, instead of choosing relativaly arbitrary threshold in raw units. My point is that currently wherese is no widely used "default" threshold for raw connectivity units. Further, it would be convinient to use TFCE for one-sample t-test.

I was found a code for two-sample t-test NBS-TFCE (https://github.com/SNeuroble/NBS_benchma...), however, there are no code for one-sample t-test NBS-TFCE. I wounder, if you have a MATLAB code for one-sample t-test NBS (whithout GUI)?

It would be wonderful if in the next NBS toolbox release you will add One-sample t-test and TFCE option.

Thank you for NBS toolbox!
Dec 2, 2022  10:12 PM | Andrew Zalesky
RE: One-sample t-test
Hi Dmit, 

you may want to z-score your connectivity values to provide a more meaningful unit of measurement or consider effect sizes to determine a threshold. 

There is a one-sample t-test already implemented in the original NBS. However, I don't believe that it is implemented in NBS TFCE. 

Thanks for your suggestions!

best,
Andrew
Originally posted by Dmit Filin:
Dear Prof. Zalesky,

I have read several threads about one-sample t-test, where you argued that the one-sample t-test is rarely used in practice. However, one-sample t-test is frequently used to reveal differences between two conditions. For example, if we want to reveal ativations in TaskA compared to TaskB, we typically calculate con*.nii files with contrast "TaskA-TaskB" at the first level of analysis, and then use one sample t-test at the second level of analysis (according to SPM forum recommenations). Of course the paired t-test for "TaskA>baseline" and "TaskB>baseline" con*.nii files produce identical results, however, one sample t-test is more simple from the practical point of view (e.g. we need to save and select half as many con*.nii files).

So applying this logic, I calculated connectivity matrices for TaskA and TaskB, when calculated difference matrix: diff = atanh(TaskA) - atanh(TaskB). Next, I want to apply one-samle t-test with a primary threshold of 0.001 (instead of one-sample sign flipping test with a primary threshold specified in raw units).

One may prefer one-sample t-teast over one-sample sign flipping test, becouse it would be possible to choose a widely used ("default") primary threshold of 0.001, instead of choosing relativaly arbitrary threshold in raw units. My point is that currently wherese is no widely used "default" threshold for raw connectivity units. Further, it would be convinient to use TFCE for one-sample t-test.

I was found a code for two-sample t-test NBS-TFCE (https://github.com/SNeuroble/NBS_benchma...), however, there are no code for one-sample t-test NBS-TFCE. I wounder, if you have a MATLAB code for one-sample t-test NBS (whithout GUI)?

It would be wonderful if in the next NBS toolbox release you will add One-sample t-test and TFCE option.

Thank you for NBS toolbox!
Dec 5, 2022  10:12 PM | Dmit Filin
RE: One-sample t-test
> you may want to z-score your connectivity values

I agree, that is becouse I use: diff = atanh(TaskA) - atanh(TaskB).

> to provide a more meaningful unit of measurement or consider effect sizes to determine a threshold

Actually, that was the main consern of my topic. There many reasons to determine primary effect size threshold in t-value units instead of raw connectivity units. For example, becouse there is no widely used "default" threshold for raw connectivity units. The default and widely used t-value threshold is correspond to p<0.001.

> There is a one-sample t-test already implemented in the original NBS.

As it seems in NBS code, one-sample t-test does not implemented in NBS. Instead, one-sample sign flipping test is implemented in NBS. In original NBS, t-values are not calculated for "one-sample" option (NBSglm.m lines 144-151), so we can't call it "one-sample t-test" in the strict sence. 

What do you think about adding an option to compute t-values for "one sample test"? As I mentioned earlier, one sample t-test is widely used to find differences between two conditions, and may be more convenient than paired t-test (although both give identical results).
Dec 6, 2022  04:12 AM | Andrew Zalesky
RE: One-sample t-test
Hi Dmit, 

thanks for your suggestion. Yes - we don't explicitly compute a t-test value in this scenario, however, this could be easily implemented.  I will add this to the to-do list. 

We don't really get a lot of time for updates and I cannot provide a date when this could be implemented. 

Andrew

Originally posted by Dmit Filin:
> you may want to z-score your connectivity values

I agree, that is becouse I use: diff = atanh(TaskA) - atanh(TaskB).

> to provide a more meaningful unit of measurement or consider effect sizes to determine a threshold

Actually, that was the main consern of my topic. There many reasons to determine primary effect size threshold in t-value units instead of raw connectivity units. For example, becouse there is no widely used "default" threshold for raw connectivity units. The default and widely used t-value threshold is correspond to p<0.001.

> There is a one-sample t-test already implemented in the original NBS.

As it seems in NBS code, one-sample t-test does not implemented in NBS. Instead, one-sample sign flipping test is implemented in NBS. In original NBS, t-values are not calculated for "one-sample" option (NBSglm.m lines 144-151), so we can't call it "one-sample t-test" in the strict sence. 

What do you think about adding an option to compute t-values for "one sample test"? As I mentioned earlier, one sample t-test is widely used to find differences between two conditions, and may be more convenient than paired t-test (although both give identical results).