Matlab-t检验之ttest, ttest2

1. ttest与ttest2的区别:

  • 单样本,配对样本用 ttest
  • 不配对样本(独立样本)用ttest2
    二者的公式也不一样,但我不知道怎么打公式就不打了。

2. 导入数据

df = xlsread("C:\Users\Bai\Desktop\ex_corr.xlsx")
x=df(:1)
y=df(:2)

3.

[h,p,ci,stats] = ttest(x) ##数据均值是否等于0
[h,p,ci,stats] = ttest(x,m) ##数据均值是否等于m
[h,p,ci,stats] = ttest(x,y) ##两个配对样本
[h,p,ci,stats] = ttest2(x,y) ##两个不配对样本

h 0 or 1 接受/拒绝原假设
p pvalue
ci 置信区间
stats 统计量
tail: right 均值是否大于m ; left 小于m; both 等于m

4. vartype

help ttest2后,有一个参数值得注意:

vartype: equal or unequal

equal: 两组的方差一致
unequal: 两组的方差不一致

  • 如何判断两组方查是否一致呢,palisade给出很好的解释,搬运过来:
    直接说结论:选择unequal
    原因:很多书和计算器用“pooling”这个术语,如果两组的方差一致,你就可以“pool the dataset”,假定他们是从同一个数据集中出来的。
    检验两组不同数据的方差是否相等,需要用F检验,但如果F检验出得出很大的P值,你只能说没法成功拒绝原假设,你并不能证明他。而且,F检验需要两组数据符合正态分布,不像T检验大概是正态分布就可以了。你永远不知道什么时候是正态分布的。所以保守的来讲,要选择unequal。即使你选择unequal,pooling or not 只有微小的区别。用unequal不需要你作出“我确定事实就是如此”的假设,也不会对你的结果造成很大的影响。

原文:http://kb.palisade.com/index.php?pg=kb.page&id=1708

最后,学matblab随手记感想:为什么实验室都用matlab我就也要从头学,这些东西明明用R已经可以做的很好了。并且实验室不分享脚本,我就更找不到学他的理由了……

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容