美文网首页
3、Stata入门---常见的统计操作

3、Stata入门---常见的统计操作

作者: 木火_magic | 来源:发表于2022-04-14 02:14 被阅读0次

    一、T检验【T-test】

    t 检验(t test)又称学生t检验(Student t-test)可以说是统计推断中非常常见的一种检验方法,用于统计量服从正态分布,但方差未知的情况。

    • 单样本t检验(One-sample t test)
      用于检验总体方差未知、正态数据或近似正态的 单样本的均值 是否与 已知的总体均值相等
    • 独立样本t检验(Two-sample t test)
      用于检验两对独立的 正态数据或近似正态的 样本的均值 是否相等,这里可根据总体方差是否相等分类讨论
    • 配对样本t检验(paird t test)
      用于检验一对配对样本的均值的差 是否等于某一个值
    • 回归系数的显著性检验(t-test for regression coefficient significance)
      用于检验回归模型的解释变量对被解释变量是否有显著影响
    1、单样本均值检验请参考

    目的:检验单样本的均值是否和已知总体的均值相等。
    要求:

    1. 总体方差未知,否则就可以利用Z检验(也叫U检验,就是正态检验)
    2. 正态数据或近似正态

    应用场景举例:

    1. 从某厂生产的零件中随机抽取若干件,检验其某种规格的均值是否与要求的规格相等(双侧检验)
    2. 在某偏远地区随机抽取若干健康男子,检验其脉搏均数是否高于全体健康男子平均水平(单侧检验)
    3. 检验某一线城市全体高三学生视力水平是否比全国全体高三学生视力水平低(单侧检验)


      image.png

      对于熟悉数理统计的朋友,上面这一条是显然的。下面我们试着构造出一个t
      统计量,我们知道t变量的构造定义是一个 分子为标准正态变量、分母为卡方变量除以它自由度后开根号 的分式。上面我们已经得到了一个标准正态变量,不难想到卡方变量的一个重要定理:


      image.png
    image.png
    1. 原假设的定义:原假设亦称待验假设、虚无假设、解消假设,一般记为Ho。统计学的基本概念之一假设检验中,待检验的有关总体分布的一项命题的假设称为原假设。
    2. 备择假设的定义:备择假设是统计学的基本概念之一,其包含关于总体分布的一切使原假设不成立的命题。备择假设亦称对立假设、备选假设。
      假设检验的基本思想是概率性质的反证法。根据所考察问题的要求提出原假设和备择假设,为了检验原假设是否正确,先假定原假设是正确的情况下,构造一个小概率事件,然后根据抽取的样本去检验这个小概率事件是否发生。

    如果在一次试验中小概率事件竟然发生了,我们就怀疑原假设原假设的正确性,从而拒绝原假设如果在一次试验中小概率事件没有发生,则没有理由怀疑原假设原假设的正确性,因此接受原假设。

    对话框操作

    statistics->Summaries,tables,and tests->Classical tests of hypotheses->t test (mean-comparison test)

    ttest price == 6000   //默认置信区间95
    ttest price ==6000, level(99)
    ttest pric == 6000 if foreign ==0, level(90)
     
    
    假设price等于6000

    由于Pr(|T|>|t|) = 0.6313 mean !=6000 所以不能拒绝mean==6000的原假设


    ttest pric == 6000 if foreign ==0, level(90)
    2.1、双样本均值检验,一变量分组比较参考

    目的:检验两独立样本的均值是否相等。
    要求:两样本独立,服从正态分布或近似正态。
    应用场景举例:

    1. 检验两工厂生产同种零件的规格是否相等(双侧检验)
    2. 为研究某种治疗儿童贫血新药的疗效,以常规药作为对照,治疗一段时间后,检验施以新药的儿童血红蛋白的增加量是否比常规药的大(单侧检验)
    3. 检验两种药物对治疗高血压的效果,检验两组药物的降压水平是否相等(双侧检验)
     ttest price, by(foreign)
    
    ttest price, by(foreign)

    p=0.6802 ,p>0.05, 所以不能拒绝diff=0的原假设

    2.2、独立样本t检验,两个变量比较参考
    webuse fuel.dta, clear    //先导入需要用到的数据包
    ttest mpg1 == mpg2, unpaired
    
    image.png

    p值大于0.05,所以不能拒绝原假设

    3、配对样本均值检验,一变量分组比较[参考]
    ttest mpg1 == mpg2    //注意,这里没有unpaired
    
    ttest mpg1 == mpg2,

    这里的p值小于0.05,所以我们拒绝0假设,这里的配对检验是有差别的

    二、卡方检验/Fisher精确检验

    1、卡方检验(chi-squared test)
    对话框操作 对话框选项

    导入数据集
    sysuse nlsw88, clear

    tabulate race married, chi2
    
    tabulate race married, chi2

    结论:P值小于0.05,说明不同婚姻状况的人rece分布不同(或者不同race的人,婚姻状况不同)。

    pearson's chi-square 每一个单元格对卡方检验的贡献是多少

    tabulate race married, cchi2 chi2
    
    可以查看每一个单元格对卡方检验的贡献是多少

    Expected frequencies 期望频数(理论频数)

    tabulate race married, chi2 expected
    
    查看期望频数
    2、 Fisher精确检验(Fisher‘s exact test)
    • 通常,当列联表中理论频数(期望频数)<5时,我们可以增加样本量、删去理论频数太少的行、或列、或者合并某些行或列。
    • 也可以使用Fisher精确检验
    • 任何样本量都可以使用Fisher精确检验
    • Test statistics中选择Fisher's exact test
    tabulate race married, exact   //tab 简写
    
    Fisher精确检验

    P值是小于0.005的,所以说他是有显著差别的。

    注意:注意:注意:
    1、总例数>=40,所有理论频数>5,看Pearson Chi-Square结果
    2、总例数>=40,出现一个理论频数>=1且<=5,x平方检验需要进行连续性校正,这是以Continuity Correction结果为准:
    3、总例数>=40,至少2个理论频数>=1且<=5,看Fisher's Exact Test结果:
    4、总例数<40或者处理理论频数<1,看Fisher's Exact Test结果。


    为什么可以不用连续性校正?
    Stata不自带卡方检验的连续性校正
    Stata有用户自写的package可以实现连续性骄横,但是并不推荐,卡方检验的连续性校正并不是必须的,也不是最推荐的方法
    在样本量足够大的时候,使用卡方检验时,是否使用卡方检验的连续性校正区别很小;使用Fisher精确检验也是没有问题的。
    在样本量小的时候(通常是某个格子期望频数<5),可以直接使用Fisher精确检查,亦不需要使用“卡方检验+连续性矫正”

    三、RR值的计算(相对危险度Relative Risk, RR)

    研究者想探索吸烟与肺癌间的关联,即吸烟者患肺癌的风险是否比不吸烟者高以及高多少。研究者从一般人群中随机抽样700名调查对象建立前瞻性队列研究。调查对象的吸烟状态为吸烟或不吸烟。在研究开始时,所有调查对象均未患肺癌。研究者随访10年记录调查对象是否患肺癌。
    因此,研究者可以分别得到患肺癌的吸烟者、未患肺癌的吸烟者、患肺癌的不吸烟者和未患肺癌的不吸烟者的人数,据此可以计算吸烟组与不吸烟组的风险差异。

    对问题的分析
    为计算相对危险度(RR),需要满足以下假设:

    • 假设1:因变量和自变量均为二分类变量
    • 假设2:个观测间相互独立

    导入数据
    webuse csxmpl, clear

    数据结构

    使用代码警醒RR值的计算

    代码格式:
    cs var_case var_exposed [if][in][weight][,cs_options]
    cs case exp[fweight = pop]
    csi #a #b #c #d [,csi_options]

    image.png
    cs case exp [fweight = pop]
    
    csi 7 12 9 2    //直接输入数值也可以计算
    
    image.png

    别人写的不错的链接可以了解:认识RR和OR

    四、OR值的计算【病例组的暴露比值/对照组的暴露比值】(Odds Ratio, OR)

    了解OR
    OR值是否可以估计RR值

    当终点时间发生率较低时,OR可以近似为RR(<15%)
    当终点时间发生率较高时,OR会“夸大”RR值
    OR值相对于RR值“更远离“1”
    当RR值大于1时,OR大于RR(1<RR<OR)
    当RR值小于1时,OR大于RR(OR<RR<1)
    终点事件发生率越高时,OR越会overestimate

    对于队列研究/RCT,可以报告OR值吗?

    可以,但是......
    RR值对于效应值的估计更加准确
    RR对于临床意义的解释更加明确
    Regression model中:对于结局是二分类变量的研究,logistics回归智能提供OR值,不能提供OR值,
    (之后会讲:当结局发生率高时,应该使用log-binomial回归者使用带有稳健方差估计的泊松回归,直接提供RR值)

    代码格式:
    cc var_case var_exposed [if][in][weight][,cc_options]
    cc case exp[fweight = pop]
    cci #a #b #c #d [,cci_options]

    cs case exp [fweight = pop], or
    
    OR值

    能提供RR值时,(队列研究、RCT)请不用提供OR值

    范例
    webuse ccxmpl, clear       //导入数据
    list
    
    数据格式
    cc case exposed [fweight = pop]
    
    image.png

    五、单因素方差分析

    作为回归分析的“引子”
    “单因素方差分析”与“单因素回归分析”是相同的
    “多因素方差分析”不如直接使用“多因素回归分析”
    回归分析中能更加方便的看两个变量是否存在交互作用(ANCOVA)

    方差分析的假设

    假设1:y变量为连续变量
    假设2:有一个包含2个及以上分类、且组别间相互独立的x变量
    假设3:每组间和组内的观测值相互独立
    假设4:每组内没有明显异常
    假设5:每组内y变量符合正态分布
    假设6:进行方差齐性检验,观察每组的方差是否相等

    导入数据
    webuse systolic, clear // 关于雪茄的数据

    数据格式

    假设4:如何检测每组内没有明显异常值
    Boxplot(箱体图)
    graph box drug disease systolic

    箱体图

    假设5:每组内y变量符合正态分布

    对话框操作
    codebook drug
    
    查看drug变量数据
    sum systolic, detail
    
    image.png
    graph box systolic, over(drug)
    
    箱体图中有一个异常值
    sktest systolic
    
    image.png

    P值是大于0.05的,所以不能说它不符合正态分布

    swilk systolic    //常用
    
    image.png
    sfrancia systolic
    
    image.png
    oneway systolic drug
    
    通过了方差齐性检验
    oneway systolic drug, bonferroni
    
    image.png
    oneway systolic drug, bonferroni tabulate
    
    image.png

    相关文章

      网友评论

          本文标题:3、Stata入门---常见的统计操作

          本文链接:https://www.haomeiwen.com/subject/uxlnsrtx.html