精华内容
下载资源
问答
  • R语言进行的变量相关性显著性检验 在计算好相关系数以后,如何对它们进行统计显著性检验呢? 常用的原假设为变量间不相关(即总体的相关系数为0)。可以使用cor.test()函数对单个的Pearson、Spearman和Kendall相关...

    R语言进行的变量相关性显著性检验

    在计算好相关系数以后,如何对它们进行统计显著性检验呢?

    常用的原假设为变量间不相关(即总体的相关系数为0)。可以使用cor.test()函数对单个的Pearson、Spearman和Kendall相关系数进行检验。

    简化后的使用格式为:

    cor.test(x,y,alternative="……",method="……")

    其中x和y为要检验相关性的变量,alternative则用来指定进行单侧检验或双侧检验,取值为two.side、less、greater,而method用以指定要计算的相关类型(“pearson”、“Kendall”、“spearman”).
    当研究的假设为总体的相关系数小于0时,请使用alternative=“less”;
    在研究的假设为总体的相关系数大于0时,应该使用alternative=“greater”;
    在默认情况下,假设为总体相关系数不等于0,alternative=“two.side”.

    例如语句:cor.test(states[,3],states[,5])

    遗憾的是,cor.test每次只能检验一种相关关系,而corr.test()函数可以一次做更多事情。

    使用格式:

    corr.test(x,use=,method)

    use=的取值可以为pairwise或complete,其中pairwise表示对缺失值执行成对删除,而complete表示对缺失值执行行删除;
    参数method取值可为“pearson ”、“spearson”、“kendall”.

    另外,在多元正态性的假设下,psych包中的pcor.test()函数可以用来检验在一个或多个额外变量时两个变量之间的条件独立性。
    使用格式:

    pcor.test(r,q,n)

    其中r是偏相关系数矩阵;
    q为要控制的变量数u(以数值表示位置);
    n为样本大小。

    实战

    • pearson检验

    输入下面的命令实现检验:

    cor.test(data $ x, data $ y,alternative = “two.sided”,method = “pearson”,conf.level = 0.95)

    结果为:

    Pearson's product-moment correlation
    
    data:  data $ x and data $ y
    
    t = 5.0618, df = 98, p-value = 1.946e-06
    
    alternative hypothesis: true correlation is not equal to 0
    
    95 percent confidence interval:
    
     0.2842595 0.5981865
    
    sample estimates:
    
    cor
    
    0.4552588
    

    从中可以看出二者的相关性系数为0.4552588,检验p值为1.946e-06<0.05。故x和y是有相关性的,但相关性并不是太大。

    • kendall检验

    输入下面的代码进行检验:

    cor.test(data $ x, data $ y,alternative = “two.sided”,method = “kendall”, conf.level = 0.95)

    结果为:

    Kendall's rank correlation tau
    
    data:  data $ x and data $ y
    
    z = 4.572, p-value = 4.83e-06
    
    alternative hypothesis: true tau is not equal to 0
    
    sample estimates:
    
    tau
    
    0.3110132
    

    从中可以看出二者的相关性度量值为0.3110132,检验p值为4.83e-06<0.05。故x和y是有相关性的,但相关性也并不是太大。

    • spearman检验

    输入下面的代码进行检验:

    cor.test(data $ x, data $ y,alternative = “two.sided”,method = “spearman”,conf.level = 0.95)

    结果为:

    Spearman's rank correlation rho
    
    data:  data $ x and data $ y
    
    S = 90673.21, p-value = 1.874e-06
    
    alternative hypothesis: true rho is not equal to 0
    
    sample estimates:
    
    rho
    
    0.4559064
    

    从中可以看出二者的相关性度量值为0.4559064,检验p值为1.874e-06<0.05。故x和y是有相关性的,但相关性也并不是太大。

    展开全文
  • 如何评估随机森林模型以及重要预测变量显著性说到随机森林(random forest,RF),想必很多同学都不陌生了,毕竟这些机器学习方法目前非常流(fàn)行(làn)……白鱼同学也曾分...

    如何评估随机森林模型以及重要预测变量的显著性

    说到随机森林(random forest,RF),想必很多同学都不陌生了,毕竟这些机器学习方法目前非常流(fàn)行(làn)……白鱼同学也曾分别分享过“随机森林分类”以及“随机森林回归”在R语言中实现的例子,包括模型拟合、通过预测变量的值预测响应变量的值、以及评估哪些预测变量是“更重要的”等。在这两篇推文中,都是使用randomForest包执行的分析。不过在实际应用中,比方说想模仿一些文献的分析过程时,却发现某些统计无法通过randomForest包实现?

    以评估预测变量的重要性为例,借助随机森林的实现方法经常在文献中见到,例如下面的截图所示。先前也有好多同学咨询,说如何像这篇文献中这样,计算出预测变量的显著性?虽说最常使用的randomForest包可以给出预测变量的相对重要性得分,允许我们根据得分排名从中确定哪些预测变量是“更重要的”,但却没有提供估计p值的方法。当我们出于某种需要想获知变量的显著性信息时,仅使用randomForest包就会很困扰?


    截图来自Jiao等(2018)的图5部分。左图展示了细菌、古细菌和真菌群落的α和β多样性在贡献深层土壤多养分循环指数中的重要性;右图展示了优势微生物分类群与土壤可利用钾的关系。两个图中变量的重要性以随机森林中的“percentage of increase of mean square error”(Increase in MSE(%))值进行衡量,更高的MSE%值意味着更重要的变量,并标识了各变量的显著性。图上方的数值为总方差解释率,以及全模型的显著性p值。

     

    randomForest包实现不了的功能,那就用其它R包进行补充呗。至于用哪些R包可以,文献中通常都有详细的方法描述,仔细看一下材料方法部分大致就明确了。就以上面的Jiao等(2018)的文章为例,材料方法部分提到可通过A3包可获取对全模型显著性的估计,并可通过rfPermute包可获取对随机森林中预测变量重要性的显著水平估计。


    接下来,就简单展示A3包和rfPermute包的使用,包括如何使用这些包执行随机森林分析,以及获取对全模型或者重要预测变量的显著性的估计。

     

    下文的测试数据,R代码等的百度盘链接(提取码,z8zb):

    https://pan.baidu.com/s/1-L78HuRzZCvH2LCzys4wJQ

    若百度盘失效,也可在GitHub的备份中获取:

    https://github.com/lyao222lll/sheng-xin-xiao-bai-yu

     

    通过R包randomForest执行随机森林回归

      

    为了进行对比说明,先来回顾一个先前的例子。

    例如前文“随机森林回归”中使用R语言randomForest包执行随机森林回归。我们基于45个连续生长时间中植物根际土壤样本中细菌单元(OTU)的相对丰度数据,通过随机森林拟合了植物根际细菌OTU丰度与植物生长时期的响应关系(即,随机森林回归模型构建),根据植物根际细菌OTU丰度预测植物生长时期(即,通过预测变量对响应变量的值进行预测),并筛选出10个重要的具有明显时间特征的植物根际细菌OTU(即,评估预测变量的相对重要性并筛选重要的预测变量组合)。完整分析过程可参考前文“随机森林回归模型以及对重要变量的选择”,这里作了删减和改动,仅看其中的评估变量重要性的环节部分。

    示例数据

    网盘示例数据“otu_top10.txt”中,共记录了45个连续生长时间中植物根际土壤样本中10种细菌OTU的相对丰度信息。

    其中,samples列为45个样本的名称;plant_age记录了这45个根际土壤样本对应的植物生长时间(或称植物年龄),时间单位是天;其余10列为10种重要的细菌OTU的相对丰度信息,预先根据某些统计方法筛选出来的,它们已知与植物生长时间密切相关。

    执行随机森林评估变量重要性

    在这里,我们期望通过随机森林拟合这10种根际细菌OTU丰度与植物生长时期的响应关系,以得知哪些根际细菌OTU更能指示植物年龄。

    #读取 OTU 丰度表
    
    #包含预先选择好的 10 个重要的 OTU 相对丰度以及这 45 个根际土壤样本对应的植物生长时间(天)
    otu <- read.delim('otu_top10.txt', row.names = 1)
     
    ##randomForest 包的随机森林
    library(randomForest)
     
    #随机森林计算(默认生成 500 棵树),详情 ?randomForest
    set.seed(123)
    otu_forest <- randomForest(plant_age~., data = otu, importance = TRUE, ntree = 500)
    otu_forest
     
    #使用函数 importance() 查看表示每个预测变量(细菌 OTU)重要性的得分(标准化后的得分)
    importance_otu.scale <- data.frame(importance(otu_forest, scale = TRUE), check.names = FALSE)
    importance_otu.scale


    如前所述,结果中“% Var explained”体现了预测变量(用于回归的10个细菌OTU)对响应变量(植物年龄)有关方差的整体解释率,这里为96.14%,反映了这个随机森林模型很高的拟合优度。

    函数importance()给出了预测变量(10个细菌OTU)的相对重要性得分。“%IncMSE”即increase in mean squared error,通过对每一个预测变量随机赋值,如果该预测变量更为重要,那么其值被随机替换后模型预测的误差会增大。“IncNodePurity”即increase in node purity,通过残差平方和来度量,代表了每个变量对分类树每个节点上观测值的异质性的影响,从而比较变量的重要性。两个指示值均是判断预测变量重要性的指标,均是值越大表示该变量的重要性越大,但分别基于两者的重要性排名存在一定的差异。至于选择哪一个更合适,自己看着来吧。

     

    最后绘制柱形图观察和比较这些预测变量(10个细菌OTU)的相对重要性得分及排名。

    #对预测变量(细菌 OTU)按重要性得分排个序,例如根据“%IncMSE”
    importance_otu.scale <- importance_otu.scale[order(importance_otu.scale$'%IncMSE', decreasing = TRUE), ]
     
    #简单地作图展示预测变量(细菌 OTU)的 %IncMSE 值
    library(ggplot2)
     
    importance_otu.scale$OTU_name <- rownames(importance_otu.scale)
    importance_otu.scale$OTU_name <- factor(importance_otu.scale$OTU_name, levels = importance_otu.scale$OTU_name)
     
    p <- ggplot(importance_otu.scale, aes(OTU_name, `%IncMSE`)) +
    geom_col(width = 0.5, fill = '#FFC068', color = NA) +
    labs(title = NULL, x = NULL, y = 'Increase in MSE (%)', fill = NULL) +
    theme(panel.grid = element_blank(), panel.background = element_blank(), axis.line = element_line(colour = 'black')) +
    theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
    scale_y_continuous(expand = c(0, 0), limit = c(0, 16))
     
    p
     
    #右上角备注模型的已知解释率
    p <- p +
    annotate('text', label = 'Plant Age', x = 9, y = 15, size = 4) +
    annotate('text', label = sprintf('italic(R^2) == %.2f', 96.14), x = 9, y = 13, size = 3, parse = TRUE)
     
    p


    通过rfPermute包执行随机森林回归以及获取变量的显著性

      

    尽管上文randomForest包通过计算预测变量的相对重要性得分,允许我们根据得分排名从中确定预测变量的可靠程度,但没有告知我们这些变量是否是显著的。毕竟有些情况下我们确实想迫切知道变量的显著性,如Jiao等(2018)里的那样(本文开篇截图所示文献),因为这些统计量在这些情况中可能很有用。但由于randomForest()函数没有提供估计p值的方法(虽然它有个参数nPerm,但很可惜并不是计算p值的功能),就会很困扰。

    仿照Jiao等(2018)的方法,我们可以使用rfPermute包的随机森林去评估每个预测变量(用于回归的10个细菌OTU)对响应变量(植物年龄)的重要性,并获得显著性信息。其实在使用过程中不难看出,rfPermute包沿用了randomForest包的随机森林方法,并对randomForest包的功能作了一些拓展。事实上,我们其实可以跳过randomForest包,直接通过rfPermute包对上文给定的数据执行随机森林分析,会得到和randomForest包一样的运行结果。然后rfPermute包的优势在于给出预测变量重要性得分的同时,还基于置换检验的原理对重要性得分进行了检验,并提供了显著性信息。

    library(rfPermute)
    #使用函数 rfPermut() 重新对上述数据执行随机森林分析,详情 ?rfPermut
    #rfPermut() 封装了 randomForest() 的方法,因此在给定数据和运行参数一致的情况下,两个函数结果也是一致的
    #并在这里额外通过 nrep 参数执行 1000 次的随机置换以评估变量显著性的 p 值
    #若数据量较大,可通过 num.cores 参数设置多线程运算
    set.seed(123)
    otu_rfP <- rfPermute(plant_age~., data = otu, importance = TRUE, ntree = 500, nrep = 1000, num.cores = 1)
    otu_rfP
     
    #提取预测变量(细菌 OTU)的重要性得分(标准化后的得分)
    importance_otu.scale <- data.frame(importance(otu_rfP, scale = TRUE), check.names = FALSE)
    importance_otu.scale
     
    #提取预测变量(细菌 OTU)的重要性得分的显著性(以标准化后的得分为例)
    # summary(otu_rfP)
    importance_otu.scale.pval <- (otu_rfP$pval)[ , , 2]
    importance_otu.scale.pval


    我们看到rfPermute()的结果中“% Var explained”为96.14%,和上文randomForest()的结果完全一致。但rfPermute()除了给出了预测变量(10个细菌OTU)的相对重要性得分“%IncMSE”和“IncNodePurity”外,还估计了得分的显著性信息,这是randomForest()所没有提供的。

    类似地,基于两个指示值的重要性排名和显著性存在一定的差异,实际中二选一看着来。

    #作图展示预测变量(细菌 OTU)的重要性得分(标准化后的得分),其中显著的得分(默认 p<0.05)以红色显示
    plot(rp.importance(otu_rfP, scale = TRUE))


     

    这次,我们即可将这些预测变量(10个细菌OTU)的显著性信息添加在上文的柱形图中,和它们的相对重要性得分及排名一起展示。

    #对预测变量(细菌 OTU)按重要性得分排个序,例如根据“%IncMSE”
    importance_otu.scale <- importance_otu.scale[order(importance_otu.scale$'%IncMSE', decreasing = TRUE), ]
     
    #简单地作图展示预测变量(细菌 OTU)的 %IncMSE 值
    library(ggplot2)
     
    importance_otu.scale$OTU_name <- rownames(importance_otu.scale)
    importance_otu.scale$OTU_name <- factor(importance_otu.scale$OTU_name, levels = importance_otu.scale$OTU_name)
     
    p <- ggplot() +
    geom_col(data = importance_otu.scale, aes(x = OTU_name, y = `%IncMSE`), width = 0.5, fill = '#FFC068', color = NA) +
    labs(title = NULL, x = NULL, y = 'Increase in MSE (%)', fill = NULL) +
    theme(panel.grid = element_blank(), panel.background = element_blank(), axis.line = element_line(colour = 'black')) +
    theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
    scale_y_continuous(expand = c(0, 0), limit = c(0, 16))
     
    p
     
    #标记预测变量(细菌 OTU)的显著性信息
    #默认以 p<0.05 为 *,p<0.01 为 **,p<0.001 为 ***
    for (OTU in rownames(importance_otu.scale)) {
        importance_otu.scale[OTU,'%IncMSE.pval'] <- importance_otu.scale.pval[OTU,'%IncMSE']
        if (importance_otu.scale[OTU,'%IncMSE.pval'] >= 0.05) importance_otu.scale[OTU,'%IncMSE.sig'] <- ''
        else if (importance_otu.scale[OTU,'%IncMSE.pval'] >= 0.01 & importance_otu.scale[OTU,'%IncMSE.pval'] < 0.05) importance_otu.scale[OTU,'%IncMSE.sig'] <- '*'
        else if (importance_otu.scale[OTU,'%IncMSE.pval'] >= 0.001 & importance_otu.scale[OTU,'%IncMSE.pval'] < 0.01) importance_otu.scale[OTU,'%IncMSE.sig'] <- '**'
        else if (importance_otu.scale[OTU,'%IncMSE.pval'] < 0.001) importance_otu.scale[OTU,'%IncMSE.sig'] <- '***'
    }
     
    p <- p +
    geom_text(data = importance_otu.scale, aes(x = OTU_name, y = `%IncMSE`, label = `%IncMSE.sig`), nudge_y = 1)
     
    p
     
    #右上角备注模型的已知解释率
    p <- p +
    annotate('text', label = 'Plant Age', x = 9, y = 15, size = 4) +
    annotate('text', label = sprintf('italic(R^2) == %.2f', 96.14), x = 9, y = 13, size = 3, parse = TRUE)
     
    p


    通过A3包获取全模型的显著性

      

    另一方面,randomForest包虽然给出了全模型的方差解释率(即,R2),但也没有对全模型的显著性进行评估。不过与上述各个预测变量的p值相比,全模型的p值倒不是很纠结人,因为根据经验,只要R2不是特别小,p值都是绝对显著的。例如这里R2=0.9614,用眼睛就能直接判断出来p<0.001……当然话虽这样说,该计算的还是要计算一下。

    同样仿照Jiao等(2018)的方法,我们可以使用A3包评估全模型的显著性。

    library(A3)
    #model.fn=randomForest 调用随机森林的方法进行运算
    #p.acc=0.001 表示基于 1000 次随机置换获得对 p 值的估计,p.acc 值越小代表置换次数越多,运算也就越慢,因此如果对全模型 p 值不是很迫切的话还是慎用
    #model.args 用于传递参数给 randomForest(),因此里面的参数项根据 randomForest() 的参数项而定,具体可 ?randomForest
    #其它详情可 ?a3 查看帮助 
    set.seed(123)
    otu_forest.pval <- a3(plant_age~., data = otu, model.fn = randomForest, p.acc = 0.001, model.args = list(importance = TRUE, ntree = 500))
    otu_forest.pval


    我们看到全模型的p<0.001是非常显著的。由于随机的因素在里面,这里的R2和上文的R2相比有很微小的差异,但是并无大碍,就默认为它们一致就可以了。至于结果中的其它值反映了什么信息,我没有过多关注,大家有兴趣可以自己研究下。

    其它缺点是这一步非常耗时,貌似还不能多线程,因此大数据慎用……

     

    最后,我们再将全模型的显著性信息备注在上文的柱形图中,和全模型的方差解释率、预测变量(10个细菌OTU)的相对重要性得分、排名以及显著性信息一起展示。

    #继续在右上角备注全模型的显著性信息
    p <- p +
    annotate('text', label = sprintf('italic(P) < %.3f', 0.001), x = 9, y = 12, size = 3, parse = TRUE)
     
    p


      

    参考资料

      

    Jiao S, Chen W, Wang J, et al. Soil microbiomes with distinct assemblies through vertical soil profiles drive the cycling of multiple nutrients in reforested ecosystems. Microbiome, 2018, 6(1): 1-13.

    rfPermute包:https://www.rdocumentation.org/packages/rfPermute/versions/2.1.81

    A3包:https://rdrr.io/cran/A3/

     

    友情链接

    关于多元回归中需考虑的问题:

    变量选择

    多重共线性

     

    一般线性模型(LM):

    简单线性回归和多次项回归

    多元线性回归(MLR)

    带有类别型自变量的线性回归

     

    广义线性模型(GLM)

    计数型响应变量:泊松回归    负二项回归

    类别型响应变量:logistic回归

    比例型响应变量:beta回归

     

    常见的非线性模型:

    带交互效应的多元回归

    指数回归线性变换求解

    平滑拟合,局部加权回归(LOESS)

    一般加性模型和广义加性模型(GAM)

    分段线性回归及对分段断点的评估

     

    回归树:

    随机森林(RF)

    Aggregated boosted tree(ABT)

    多元回归树(MRT)

     

    生存分析:

    非参数方法(Kaplan-Meier曲线)

    半参数生存回归(Cox回归)

    参数生存回归

     

    基于相似或相异矩阵的回归或降维思想的回归:

    基于相似或相异矩阵的多元回归(MRM)

    基于成分或特征的回归

    偏最小二乘(PLS)回归

    冗余分析(RDA)    主响应曲线(PRC)

    典范对应分析(CCA)

    基于距离的冗余分析(db-RDA),或称典范主坐标分析(CAP)

     

    结构方程模型(SEM)

    路径分析

    验证性因子分析(CFA)

    潜变量结构模型

    分段结构方程建模

    猜你喜欢

    10000+:菌群分析 宝宝与猫狗 梅毒狂想曲 提DNA发Nature Cell专刊 肠道指挥大脑

    系列教程:微生物组入门 Biostar 微生物组  宏基因组

    专业技能:学术图表 高分文章 生信宝典 不可或缺的人

    一文读懂:宏基因组 寄生虫益处 进化树

    必备技能:提问 搜索  Endnote

    文献阅读 热心肠 SemanticScholar Geenmedical

    扩增子分析:图表解读 分析流程 统计绘图

    16S功能预测   PICRUSt  FAPROTAX  Bugbase Tax4Fun

    在线工具:16S预测培养基 生信绘图

    科研经验:云笔记  云协作 公众号

    编程模板: Shell  R Perl

    生物科普:  肠道细菌 人体上的生命 生命大跃进  细胞暗战 人体奥秘  

    写在后面

    为鼓励读者交流、快速解决科研困难,我们建立了“宏基因组”专业讨论群,目前己有国内外5000+ 一线科研人员加入。参与讨论,获得专业解答,欢迎分享此文至朋友圈,并扫码加主编好友带你入群,务必备注“姓名-单位-研究方向-职称/年级”。PI请明示身份,另有海内外微生物相关PI群供大佬合作交流。技术问题寻求帮助,首先阅读《如何优雅的提问》学习解决问题思路,仍未解决群内讨论,问题不私聊,帮助同行。

    学习16S扩增子、宏基因组科研思路和分析实战,关注“宏基因组”

    点击阅读原文

    展开全文
  • nSpss:对各调查问题下的数据整体采用firedman test进行显著性分析( α=0.05 ),获得对应自由度下χ2和p nSpss:采用Wilcoxo符号秩测试对各研究问题下不同实验条件进行两两分析(α=0.05 /nC2,例如四种实验条件...

    实验情况 是within三种或三种以上,且非参检验时先用firedam整体测试,再用wilcoxon两两测试

     

    nSpss:对各调查问题下的数据整体采用firedman test进行显著性分析( α=0.05 ),获得对应自由度下χ2和p

    nSpss:采用Wilcoxo符号秩测试对各研究问题下不同实验条件进行两两分析(α=0.05 /nC2,例如四种实验条件下, α=0.05 /6),获得Z和p

    不同情况的每一个问题只能一个一个的整体分析

    如果整体分析有差异则用Wilcoxo两两分析

    0.05/Cn,m

    分析后如果描述参考SPSS官方文档

    Friedman Test in SPSS Statistics

    Wilcoxon Signed-Rank Test using SPSS Statistics

    展开全文
  • One PUNCH Man——变量显著性检验

    千次阅读 2019-04-25 15:24:27
    判断一个变量是否显著,我们一般采用T检验和F检验的方式。 显著性检验简介 假设检验也叫显著性检验,是以小概率反证法的逻辑推理,判断假设是否成立的统计方法,它首先假设样本对应的总体参数(或分布)与某个已知...


    判断一个变量是否显著,我们一般采用T检验和F检验的方式。

    显著性检验简介

    假设检验也叫显著性检验,是以小概率反证法的逻辑推理,判断假设是否成立的统计方法,它首先假设样本对应的总体参数(或分布)与某个已知总体参数(或分布)相同,然后根据统计量的分布规律来分析样本数据,利用样本信息判断是否支持这种假设,并对检验假设做出取舍抉择,做出的结论是概率性的,不是绝对的肯定或否定。

    检验假设是针对总体特征而言,包括相互对立的两个方面,即两种假设:一种是无效假设或称原假设、零假设,符号为H0,它是要否定的假设;另一种是备择假设,记为H1,它是H0的对立面。二者是从反证法的思想提出的, H1和H0是相互联系、又相互对立的假设。

    假设检验还需根据不同研究目的事先设置是否拒绝原假设的判断标准,即检验水准。检验水准也称显著性水准,它指无效假设H0为真,但被错误地拒绝的一个小概率值一般取检验水准α =0.05。

    t检验

    单侧检验与双侧检验(区别在于是否知道标准)

    • 在进行t检验时,如果其目的在于检验两个总体均数是否相等,即为双侧检验。 例如检验某种新降压药与常用降压药效力是否相同?就是说,新药效力可能比旧药好,也可能比旧药差,或者力相同,都有可能。
    • 如果我们已知新药效力不可能低于旧药效力,例如磺胺药+磺胺增效剂从理论上推知其效果不可能低于单用磺胺药,这时,无效假设为H0:μ1=μ2, 备择假设为H1: μ1>μ2 , 统计上称为单侧检验。

    单侧和双侧的区分在于是否知道标准,后面的栗子可以体会得到。

    确定P值和做出推断结论

    这里的P值是指由H0成立时的检验统计量出现在由样本计算出来的检验统计量的末端或更末端处的概率值。
    当P≤ α时,结论为按所取检验水准拒绝H0,接受H1,这样做出结论的理由是:在H0成立的条件下,出现等于及大于现有检验统计量值的概率P≤ α ,是小概率事件,这在一次抽样中是不大可能发生的,即现有样本信息不支持H0因而拒绝它;若P>α,即样本信息支持H0,就没有理由拒绝它,此时只好接受它。

    假设检验的两类错误
    Ⅰ型错误,第一类错误、假阳性错误,就是在假设检验作推断结论时,拒绝了实际上是正确的原假设H0,其概率用α表示。(拒绝正确)
    Ⅰ型错误是针对原假设而言的, α就是事先规定 的 允 许 犯 Ⅰ 型 错 误 的 概 率 值 , 如 规 定α=0.05,意味着在某特定总体抽样, 100次拒绝H0的假设检验中,最多有5次允许发生第一类错误。与此相应,推断正确的可能性为1-α, 1-α又称为可信度。
    Ⅱ型错误,第二类错误、假阴性错误, 即接受实际上是不成立的H0。就是无效假设原本是不正确的,但所算得的统计量不足以拒绝它,错误地得出了无差别的结论。(接受错误)
    Ⅱ型错误是针对备择假设而言的,其概率值用β表示。β值的大小一般未知,只有在不
    同总体特征已知的基础上,按预定的α和n才能做出估算。
    在这里插入图片描述

    T检验例子

    栗子no.1

    大量检测已知正常人血浆载脂蛋白E( apo E)总体平均水平为4.15mmol/L。某医师经抽样测得41例陈旧性心机梗死患者的血浆载脂蛋白E平均浓度为5.22mmol/L,标准差为1.61mmol/L。据此能否认为陈旧性心肌梗死患者的血浆载脂蛋白E平均浓度与正常人的平均浓度不一致?
    (1)建立检验假设和确定检验水准。H0: μ=μ0,H1: μ≠μ0,α=0.05,双侧检验;
    (2)选定检验方法和计算统计量。用单样本的t检验,单侧检验的公式如下图所示:
    在这里插入图片描述
    (3) 确定P值和作出推断结论。查t分布表(正态分布表), t0.05/2,40=2.021, t=4.26>t0.05/2,40,P<0.05。按α=0.05水准,拒绝H0,接受H1,可认为陈旧性心肌梗死患者的血浆载脂蛋白E平均浓度与正常人的差别有统计学意义,结合专业可以认为前者平均浓度较高。
    在这里插入图片描述

    栗子No.2

    将大白鼠配成8对,每对分别饲以正常饲料和缺乏维生素E饲料,测得两组大白鼠肝中维生素A的含量,试比较两组大白鼠中维生素A的含量有无差别。
    在这里插入图片描述
    (1)建立检验假设和确定检验水准。H0: μd=0,H1: μd≠0,α=0.05,双侧检验;
    (2)选定检验方法和计算统计量。
    首先计算出各对差值d的均数。当两种处理结果无差别或某种处理不起作用时,理论上差值d的总体均数μd=0。
    可将配对设计资料的假设检验视为样本均数与总体均数μd=0的比较。
    双侧检验的公式如下:
    在这里插入图片描述
    在这里插入图片描述
    (3) 确定P值和作出推断结论。查t分布表(双侧), t=4.2>t 0.05/2, 7 =2.365,P<0.05。按 α= 0.05水准,拒绝H0,接受H1,可以认为两种饲料喂养的两组大白鼠中维生素A的含
    量有差别。正常饲料组比缺乏维生素E饲料组的含量要高。

    F检验

    F检验(F-test),最常用的别名叫做联合假设检验(英语:joint hypotheses test),此外也称方差比率检验、方差齐性检验,方差分析,它是一种在(H0)之下,统计值服从的检验。其通常是用来分析用了超过一个参数的统计模型,以判断该模型中的全部或一部分参数是否适合用来估计总体。
    计算
    (1)样本标准偏差的平方。
    在这里插入图片描述
    两组数据就能得到两个平方值 S 2 S^2 S2 S ′ 2 S&#x27;^2 S2

    (2) F = S 2 / S ′ 2 F=S^2/S&#x27;^2 F=S2/S2

    (3)然后计算的F值与查表得到的F表值比较,如果
    F < F表 表明两组数据没有显著差异;
    F ≥ F表 表明两组数据存在显著差异。

    展开全文
  • PHP 判断变量是否为空

    千次阅读 2017-07-05 20:06:53
    PHP 判断变量是否为空
  • 怎么知道组之间是否显著性差异?...其实这些是不准确的,最好采用Kolmogorov-Smirnov test(柯尔莫诺夫-斯米尔诺夫检验)来分析变量是否符合某种分布或比较两组之间有无显著性差异。(https://www.cnblog...
  • 似然比检验 - 嵌套模型 变量显著

    千次阅读 2018-11-21 16:51:00
    由一个入学Program是否真正有用引起的,两个线性回归模型的似然比检验。两个模型是嵌套的关系。 参考文章1:(思路) http://blog.sina.com.cn/s/blog_6e60da090102uxzo.html 参考文章2:(感觉更加清晰) ...
  • 虚拟变量作为自变量,放在回归方程中在教科书里面讲的都很多,笔者以前在学习的时候觉得虚拟变量较之方差分析,还有更多惊喜。谢宇老师的《回归分析》书中对虚拟变量做了高度的总结与归纳。 虚拟变量回归只能做...
  • 1. isset功能:判断变量是否被初始化 说明:它并不会判断变量是否为空,并且可以用来判断数组中元素是否被定义过 注意:当使用isset来判断数组元素是否被初始化过时,它的效率比array_key_exists高4倍左右 ...
  • 变量之间的差异是显著的.

    千次阅读 2016-12-26 16:34:20
    正如您在第2.1课中学到的--基本寻址和变量定义,现代机器上的内存通常被组织成字节大小的单元,每个单元具有唯一的地址.。在这一点上,它是有用的认为记忆是一束分支或邮箱,我们可以把和检索信息,和变量作为访问...
  • 我在matlab里用多个自变量进行弹性网回归,弹性网最后筛选掉了一些因素,剩下了部分的自变量。我选取MSE最小时的各因素的系数,但是要怎么看这个时候各个因素的系数的显著性呢?要怎么计算P值?
  • PHP中判断变量为空的五种方法

    千次阅读 2015-09-06 17:40:47
    判断变量为空,在许多场合...说明:它并不会判断变量是否为空,并且可以用来判断数组中元素是否被定义过 注意:当使用isset来判断数组元素是否被初始化过时,它的效率比array_key_exists高4倍左右 1
  • PHP中判断变量为空的几种方法小结

    千次阅读 2018-09-05 10:17:55
    1. isset功能:判断变量是否被初始化 说明:它并不会判断变量是否为空,并且可以用来判断数组中元素是否被定义过 注意:当使用isset来判断数组元素是否被初始化过时,它的效率比array_key_exists高4倍左右   ...
  • PHP中判断变量为空的几种方法

    千次阅读 2012-08-23 09:52:52
    PHP中判断变量为空的几种方法 ...判断变量为空,在许多场合都会用到,同时自己和许多新手一样也经常会犯一些错误, ...所以自己整理了一下PHP中一些常用...1. isset功能:判断变量是否被初始化 说明:它并不会判断
  • 正态性分布检验 ... %频数直方图(肉眼看是否左右对称,中间多,两边少) ...%正态性检验(离散点是否分布在一条直线上,表明样本来自正态分布,否则是非正态分布) 方法2衍生:{{{以下方法
  • 众所周知,Stata是在实证研究中常用统计软件。但是,在确定了论文逻辑甚至花高价找到需要的数据、...在寻找合适的模型中不断尝试新的模型确定模型但是变量回归结果一直没办法在显著区间内又要不断的筛选变量,多次...
  • 在研究中,要证明某因素对某指标是否显著影响,比如研究不同乙醇浓度对杀灭细菌数量的影响,就要用到单因素方差分析,而利用SPSS软件来分析数据则非常方便 1.输入数据 第一列为因子,第二列为因变量 2.进行单因素...
  • 当数据存储为data.frame格式时,我们通常先将其转为可以使用 PerformanceAnalytics 包之间求相关,并将结果可视化。 chart.Correlation(dda, histogram=TRUE, pch=19) 其中,dda 为data.frame格式的数据,要求...
  • 显著性检验

    2016-08-04 17:06:00
     显著性检验就是事先对总体(随机变量)的参数或总体分布形式做出一个假设,然后利用样本信息来判断这个假设(原假设)是否合理,即判断总体的真实情况与原假设是否显著地有差异。或者说,显著性检验要判断样本与...
  • 统计显著

    千次阅读 2017-01-02 10:00:07
    10 显著性检验又称假设检验10.1 定义就是事先对总体(随机变量)的参数或总体分布形式做出一个假设,然后利用样本信息来判断这个假设(原假设)是否合理,即判断总体的真实情况与原假设是否显著地有差异。...
  • 所谓显著性差异,就是证明数据的差异不是偶然发生的。 一、为什么t检验和wilcoxon秩和检验要二选一? 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。 二、使用步骤 1.引入库 代码...
  • 本篇文章继续上一篇文章的学习,如何使用GDB的数据断点监测内存中的变量是否被改变 文章目录1 GDB的数据断点1.1 利用查看内存的x命令进行系统大小端的判断2 使用GDB进行监视变量的改变与查看内存实际代码案例分析3...
  • R] 【教程】教你如何读懂线性回归lm的结果summary(判断显著性)[转]  贝壳__7 2013-08-27 20:01:09 > lm.sol Call: lm(formula = Y ~ ., data = a) Residuals:  Min 1Q Median 3Q Max -28....
  • 其中,我们可以直接通过P值与我们预设的0.05进行比较,来判定对应的解释变量的显著性(我们检验的原假设是,该系数是否显著为0,P则拒绝原假设,即对应的变量显著不为0),我们可以看到截距项Intercept和X1都可以...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 116,932
精华内容 46,772
关键字:

如何判断变量是否显著