前言

无论是进行 t 检验还是方差分析,尤其是在小样本的情况下,资料都必需满足一定的条件,即①独立性,②方差齐性,③正态性。独立性最为重要,但一般都能满足。如果对同一个实验对象进行重复测量,则同一对象的这些测量值之间可能存在相关,独立性条件就可能不满足,这时需要专门的统计分析方法。其次为方差齐性条件。方差是否齐性对结果影响很大,因此,在进行 t 检验和方差分析之
前,必须进行方差齐性检验。即检验各处理组数据的变异(方差)是否相同。一般情况下进行方差齐性检验都不希望拒绝 H0,此时,为提高检验把握度,检验水准应定得大一些,比如:α=0.10,0.20 等。第三,一般资料对正态性表现比较稳健(Robust),只要数据偏得不太厉害,结果影响不大。

说明:
var1(v1)、var2(v2)……用于表示各数值变量;
group1(g1)、 group2(g2)……用于表示分类、分组变量;
num1(n1)、 num2(n2)……用于表示自然数,如1.235、 4等;

1. 正态性检验及stata实现

1. 方法

正态性检验方法如下(假设变量名称为var1)

  1. summarize var1, detail / 这是对变量var1的详细描述,里面包含变量的分位数、最大最小值、均数方差标准差,偏度峰度等;正态分布的偏度 Skewness=0;峰度 Kurtosis=3。
  2. Skewness/Kurtosis tests
    命令:sktest var1 / 结果如下

    上图也包含了对Skewness(偏度)和Kurtosis(峰度)的检验,需两者均大于检验水准(你可以根据实际情况定为0.05等)。
  3. Shapiro-Wilk W test
    命令: swilk var1 / p大于检验水准则为正态
  4. Shapiro-Francia W’ test
    命令: sfrancia var1 / p大于检验水准则为正态
  5. 画直方图肉眼看
    histogram var1 / 直接看即可
  6. Quantile-Normal plots
    命令: qladder var1 / 图示给出了平方、立方、开方……后的QQ图,如下:
    可根据需要进行数据变换;

2. 命令汇总

*** 你可以随便缩写命令,只要不引起歧义即可,也即,你缩写的命令只有一含义,不存在其他含义;
summarize var1, detail 
sktest  var1 
swilk var1 
sfrancia var1
histogram var1
qladder var1

2. 方差齐性检验及stata实现

代码块如下

sdtes var1 = num1 / 检验var1的方差是否等于常数num1
sdtest var1 = var2  / 检验两变量var1 和var2 方差是否相等
sdtest var1, by(group1) / 检验变量var1 在group组间方差是否相等
robvar var1, by(group1) / 检验变量var1 在group组间方差是否相等;robvar对明显偏态的数据更为有效

robvar对明显偏态的数据更为有效

help菜单的例子

python检验残差正态性 stata残差正态性检验_python检验残差正态性


参考资料:stata help文件、高级计量经济学、数据统计服务中心的博客、现代医学统计方法与STATA应用等