精华内容
下载资源
问答
  • 基于门限面板模型的机构养老地区差异性分析,丁咏梅,邱云枫,目前我国机构养老模式存在着明显的区域差异性特征,且不同层次地区老年人口的消费能力和需求也具有明显差异。由此运用门限面板回
  • 利用DEM数字高程模型计算坡度的差异性分析,帮助你学习有关DEM的算法
  • 用多层次分析法从出行者个体、家庭和城市区域3个层面解析了通勤出行时间选择行为的差异性,描述了通勤时间选择的可观测异质性和不可观测异质性,及其相互关系.研究表明:多层线性模型为准确描述出行时间选择行为数据...
  • 引言 IEC 61968与IEC 61850融合问题的提出最初是因为基于IEC 61850标准的变电站与基于IEC 61970/IEC 61968标准的控制中心之间存在大量的信息...其中,信息模型差异是最关键的,也是导致变电站和控制中心间无缝通...

    引言

    IEC 61968与IEC 61850融合问题的提出最初是因为基于IEC 61850标准的变电站与基于IEC 61970/IEC 61968标准的控制中心之间存在大量的信息交互和共享(包括配置信息和实时测控信息等),但是由于标准间在信息模型、接口服务、通信协议上的差异导致信息无法对应或描述不一致,严重阻碍了信息集成的正常进行。其中,信息模型的差异是最关键的,也是导致变电站和控制中心间无缝通信障碍产生的根本原因

    主要的解决方案:
    • 映射:在不改变现有标准模型的前提下,通过建立两者公共部分的对应关系,实现映射转换。但是并没有从根本上解决两个模型间的差异冲突,只能实现模型的部分对应。
    • 融合:将两个模型进行语义层面的统一,以一定的方式融合在一起。根本目的是消除两者之间的差异,实现语义层面的模型一致。

    因此要从根本上解决IEC 61850和IEC 61968信息模型间的差异问题,必须依靠融合手段。CIM模型和IEC 61850模型用途不一样,只是存在一部分交集,且目前都由各自的工作组不断进行独立更新。将两个模型完全合并,是一项从标准制定角度和系统改造角度上都耗费巨大的工作。


    IEC 61968的量测模型分析

    IEC 61968的量测模型完全继承于IEC 61970,主要类包含在Meas包内。其中的核心类见图1。
     
     
    量测类(Measurement):
    • 由IdentifiedObject类泛化而来(即量测类继承识别对象类);
    • 与电力系统资源(power system resource)是多对一聚集关系;
    • 与端子(Terminal)是多对一关联关系;
    • 4种子类:模拟量量测(Analog)、离散量量测(Discrete)、累积量量测(Accumulator)和字符串量测(StringMeasurement)。

    量测与电网拓扑关联的两种方式:

    • 直接与电力系统资源(包括其各种子类设备)关联。多数情况下该方式足够,国内的EMS/DMS中也一般使用这种关联方式。
    • 通过端子关联到导电设备。更精确地描述量测的位置。

    量测本身仅包含量测类型、相别、单位及其乘子,各个子类中也仅扩展了一些限值类属性,实际的量测值是通过量测值类 (MeasurementValue)来表达的。量测值类的4个子类分别与量测的4个子类有多对一的关联关系,例如多个模拟量量测值(AnalogValue)关联一个模拟量测量测值本身还与量测值来源(MeasurementValueSource)、量测值品质(MeasurementValueQuality)关联。也就是说,通常在IEC 61968范畴中,设备包含量测,量测关联量测值,量测值关联品质和来源,以此建立一个完整的导航关系

    需要特殊说明的是,IEC 61968量测模型中还有一类特殊的量测量,即表计计量量(在IEC 61850中一般包含在MMTR逻辑节点内),在模型中计量值BaseReading是作为MeasurementValue类的第5个子类的。但是,由于计量量通常可以被认为是累积量,因此在实际使用时可以直接作为Accumulator处理


    IEC 61850的量测模型分析

    IEC 61850的量测模型是 IEC 61850的IED模型的一部分(对应SCL配置文件的IED部分和 DataTypeTemplates部分),描述了量测数据在IED中的存放路径、整体结构和数据类型。它是一个分层模型,文章中以标准中的一个实例来说明,见图2。

    IEC 61850的所有公共数据类(CDC)的实例(即数据对象DO),可以根据其功能约束(FC),构成功能约束数据对象(FCD)。FCD共有6类:

    • 状态数据对象
    • 模拟量测数据对象
    • 控制数据对象
    • 状态定值数据对象
    • 模拟定值数据对象
    • 描述信息数据对象

    其中,状态数据对象模拟量测数据对象属于IEC 61850的量测模型范畴(即对应SCADA中的“二遥”概念,遥信和遥测),对应的功能约束FC为ST(状态)、 MX(模拟量测)和许多的辅助类数据属性(如命名空间等)。FCD可以再分为功能约束数据属性(FCDA)

    对于 IEC 61850的量测模型而言,需要上送给主站的量测数据,一般只有状态数据对象模拟量测数据对象中的量测值(即实际的状态值、模拟量测值,一般属性名后缀为“Val”,如stVal、cVal等)、量测值品质(q)量测值时间戳(t)几个属性,这些属性的FC也均为ST或 MX,并且都是必选属性。例如图2中最下方,MMXU逻辑节点的PhV 数据对象就是FC=MX的FCD,PhV数据对象内的cVal数据属性就是FC=MX的FCDA,表示量测值。另外模拟量测值的数据对象中有时还会包含量测值的单位(units)属性,该属性虽然功能约束并不是MX,但也需要上传给主站


    IEC 61968与IEC 61850的量测模型对比分析

    IEC 61968和IEC 61850的量测模型差异主要有以下几个方面:

    (1)量测值数据结构及数据类型的差异 。

    IEC 61968:
    • 4种量测值类都包含value属性;
    • 4种量测值的类型、单位(包括乘子)都不在量测值类中表述,而是在量测类中
    • 4种量测值的时间戳属性从量测值类中继承,同时继承量测值类量测值品质量测值来源类的关联;
    • IEC 61968浮点型无位数限制。

    IEC 61850:

    • 量测值数据类型复杂,数据对象可以再分为数据对象,数据属性又可以再分为数据属性,即一个数据对象可以展开成一个树形的数据结构,位于“叶子”部分的才是不可分的数据属性,类型都是IEC 61850的基本数据类型;
    • FLOAT32类型是IEC 61968的子集;
    • 可见字符串型是IEC 61968字符串型的子集;
    • 可见字符串类型只在公共数据类可见字符串型状态“VSS”的实例数据对象中使用,其量测值stVal属性的类型是Visble String。

    (2)单位、时间戳、品质类型差异。量测的单位、量测值的时间戳和品质是除了量测值本身之外最重要的数据。

    (a)单位的差异

    IEC 61850:

    • 单位类型Unit是一个单独的数据属性类,不是基本数据类型。
    • 由2个枚举型(Enumerated)的子数据属性组成:SIUnit、multiplier。

    SIUnit:

    • 代表标准单位符号,为必选属性;
    • 包含83个枚举值,均为国际标准单位;
    • 除了电气量单位之外也包括光强、流量等其他物理量单位;
    • 可以囊括主动配电网中的电气量与非电气量(如环境监测量)的量测值单位。

    multiplier:

    • 代表乘子,为可选属性。
    • 包括从10^{-2} - 10^{24}共20个乘子,分别以英文缩写作为其枚举值,如10^{3} 对应的枚举值为k。

    IEC 61968:

    • CIM模型在CIM14版本以前还存在一个单独的单位类Unit,但CIM15版本以后删去了该类;
    • 使用UnitSymbol和UnitMultiplier 2个枚举类来表达单位。
    • UnitSymbol只包含27个单位,多数为电气量单位,不足以满足主动配电网量测单位的需求;
    • UnitMultiplier包含从10^{-12} - 10^{12}共11个乘子,以英文缩写作为枚举值(乘子10^0以none表示),乘子范围比IEC 61850要小。

    (b)量测值时间戳的差异

    IEC 61850:

    • 时间戳是一个数据属性类,但不是基本属性类型;
    • 包含一个32位无符号整型(INT32U)的属性SecondSinceEpoch,表示1970年1月1日0点整开始到当前时间所经过的整秒数;
    • 包含一个INT24U类型的属性FractionOfSecond,表示秒的小数部分,精度可达到2^{-24}s;
    • 包含一个时间品质属性TimeQuality,该属性类型也为TimeQuality,是包含3个布尔型和1个枚举型的子属性的复杂类型。

    IEC 61968:

    • 在CIM14版本以前是一个单独定义的类型,名为AbsoluteDateTime,包含一个String型的value属性,其格式在模型的注释中予以规定,为“yyyy-mm-ddThh:mm:ss.sss”,即“年—月—日T时:分:秒.毫秒”。若为世界统一时间,则为“yyyy-mm-ddThh:mm:ss.sssZ”;若为相对时区时间,则为“yyyy-mm-ddThh:mm:ss.sss-hh:mm”。
    • 在CIM15版本以后,将AbsoluteDateTime类删去,直接使用UML的基础数据类型DateTime。理论上DateTime类支持任意精度的时间表达,但是CIM16的基础版(IEC61970 CIM16V00_IEC 61968 CIM12V01)中,该类的注释说明依然没有对时间戳的精度进行调整,只能支持毫秒级的精度,格式与AbsoluteDateTime的value属性没有区别。

    (c)量测值品质的差异

    IEC 61850:

    • 量测值品质是一个数据属性,类型为Quality。该类含validitydetailQualsourcetestoperatorBlocked 5个子数据属性。
    • validitysource是CODED ENUM类型,分别包含good、invalid、reserved、questionable 4个枚举值和process、substituted 2个枚举值(默认为process);
    • testoperatorBlocked是BOOLEAN类型;
    • detailQual则还可以再分为overflow、outOfRange、badReference、oscillatory、failure、oldData、inconsistent、inaccurate 8 个BOOLEAN类型的子属性。

    IEC 61968:

    • 量测值品质类名为MeasurementValueQuality,是从Quality61850类泛化而来,并未添加任何属性。
    • Quality61850类就是 IEC 61968模型参照IEC 61850模型的Quality类所增加的一个类,包含overflow、outOfRange、badReference、oscillatory、failure、oldData、test、operatorBlockedestimatorBlockedsuspect 10个布尔型的属性,以及sourcevalidity 2个枚举型的属性。
    • 其中overflowoutOfRangebadReference、oscillatory、failure、oldData、test、operatorBlocked与IEC 61850品质类型中的同名属性完全对应;
    • estimatedBlockedsuspect 2个属性是由主站层总线上的状态估计应用进行设置的,并非从终端层的IEC 61850装置中获取。
    • source属性的Source枚举类包含GOOD、QUESTIONABLE、INVALID 3个枚举值,不包含IEC 61850中的reserved枚举 值;
    • validity属性的Validity枚举类包含DEFAULTED、PROCESS、SUBSTITUTED 3个枚举值,其中PROCESS和SUBSTITUTED对应于IEC 61850中的process、substituted,DEFAULTED则代表IEC 61850中的默认值 process。

     

     

     

     

     

     

     

    展开全文
  • 考虑到需求弹性的差异性问题,文章选取北京、山东、陕西和甘肃四个地区为研究对象,分别估算得到对应地区需求弹性模型,结合区域市场特点具体分析了产生差异的原因。为探究价格规制对天然气区域市场的影响,由大华北...
  • 本文主要对英语语调差异性进行研究,分析中国英语语者与英语母语者语调差异性。对实验数据语音文件利用已...实验数据表明基于RFC模型的语调差异性研究可行,中国英语语者和英语母语者在分析的5个参数上都有明显的差异。
  • 分析滇中城市群土地利用空间结构差异性,以云南省第二次土地调查数据及其他社会经济数据为基础,综合运用多种计量地理模型和信息熵方法,对滇中城市群4个(州)市、42个县区土地利用结构的地域差异进行分析。...
  • Mina和Netty的区别这样来看: Mina:开发高性能和高可用... 线程模型分析的数据集生成,数据处理,数据建模,数据预测,数据模型调优。 MINA是用于开发高性能和高可用的网络应用程序的基础框架 通过使用MINA框...

    Mina和Netty的区别这样来看:

    • Mina:开发高性能和高可用性的网络应用程序的基础框架。
    • Netty:开发高性能和高可用性的网络应用程序的基础框架。
    • 内存分配方式:HeapByteBuffer和DirectByteBuffer分配。
    • 线程模型:分析的数据集生成,数据处理,数据建模,数据预测,数据模型调优。

    MINA是用于开发高性能和高可用性的网络应用程序的基础框架 通过使用MINA框架可以省下处理底层I/O和线程并发等复杂工作,开发人员能够把更多的精力投入到业务设计和开发当中 MINA框架的应用比较广泛,应用的开源项目有Apache Directory、AsyncWeb、Apache Qpid、QuickFIX/J、Openfire、SubEthaSTMP、red5等,基于java NIO类库开发;采用非阻塞方式的异步传输; 事件驱动;支持批量数据传输;支持TCP、UDP协议;串口通讯程序; 控制反转的设计模式(支持Spring);采用优雅的松耦合架构;可灵活的加载过滤器机制;单元测试更容易实现; 可自定义线程的数量,以提高运行于多处理器上的性能;采用回调的方式完成调用,线程的使用更容易。

    Netty是一个高性能、异步事件驱动的NIO框架,它提供了对TCP、UDP和文件传输的支持。作为当前最流行的NIO框架,Netty在互联网领域、大数据分布式计算领域、游戏行业、通信行业等获得了广泛的应用,一些业界著名的开源组件也基于Netty的NIO框架构建。Netty 利用 Java 高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 构建一个客户端/服务端,其具有高并发、传输快、封装好等特点。高并发 :Netty是一款基于NIO(Nonblocking I/O,非阻塞IO)开发的网络通信框架,对比于BIO(Blocking I/O,阻塞IO),他的并发性能得到了很大提高 。传输快 :Netty的传输快其实也是依赖了NIO的一个特性——零拷贝。封装好 :Netty封装了NIO操作的很多细节,提供易于使用的API,还有心跳、重连机制、拆包粘包方案等特性,使开发者能能够快速高效的构建一个稳健的高并发应用。

    mina  buffer 分配方式:默认实现采用了 HeapByteBuffer,每次都是直接调用  ByteBuffer.allocate(capacity) 直接分配.buffer 分配大小预测:根据每次读事件实际读到的字节数计算分配 buffer 的大小,若实际读到字节将 ByteBuffer 装满,说明来自网络的数据量可能较大而分配 buffer 容量不足,则扩大 buffer 一倍。若连续 2 次读到的实际字节数小于 buffer 容量的一半,则缩小 buffer 为原来的一半

    netty  buffer 分配方式:默认实现采用了 DirectByteBuffer,并且实现了 buffer cache,只要 buffer 大小不改变会重复利用已经分配的 buffer.buffer 分配大小预测:初始化了一张 buffer size 静态分配表如下(截取部分),假如当前默认 buffer 为 2048

    展开全文
  • WCDMA和TD-SCDMA都是当今3G的主流通信标准,二者都采用3GPP指定的UMTS网络结构模型;在无线传输技术方面,都可以...而WCDMA网络在国外已有商业应用,因此本文将比较它们在终端射频一致测试内容方面存在的主要差异
  • 运用负二项回归建立了异常事件发生频率基于时间差异性的估计模型分析发现,公休日变量估计结果显著,温度只对抛锚类事件产生明显影响,天气状况对不同快速路、不同时间段和不同事件的影响显著性有较大差异.
  • 寿胎丸对复发流产小鼠蜕膜蛋白质差异表达分析,雷磊,谭展望,分析寿胎丸对复发流产小鼠蜕膜蛋白质组的影响。方法:建立复发流产模型,应用蛋白质组学技术分析寿胎丸对复发流产小鼠蜕膜
  • 本文首先针对我国不同区域的代表性城市的居民教育投资状况...其次,针对不同城市的面板数据建立固定效应的计量经济学模型,深层次研究我国居民教育投资不同区域的差异性。结果表明不同区域教育投资的差异程度有显著不同。
  • 在对设置桥头搭板的路桥过渡段路面...并结合公路线形特点确定了路桥过渡段差异沉降指标与搭板坡差、桥面坡差、车速、载重、搭板长度等因素之间的关系,最终从功能的角度提出路桥过渡段的搭板容许坡差应不超过0.4%。
  • 中国工业环境效率及其空间差异的收敛性分析--基于地级城市面板数据的分析,张子龙,薛冰,本文利用超效率数据包络分析方法,基于可持续发展工商理事会(WBCSD)的环境效率概念,构建了工业环境效率评价模型,分析了...
  • 针对目前无线传感网络中恶意软件模型化工作的不足,在二维元胞自动机基础上提出了节点差异性的恶意软件传播模型。该模型引入了MAC 无线信道争用机制和邻域通信距离因素,描述了节点差异度对恶意软件在无线传感网传播...
  • hoff动力学比拟是分析弹性细杆平衡稳定的有效方法.Kirchhoff模型中包括中心线无拉伸变形和截面无剪切变形的基本假定与生物大分子等软物质的实际状况有较大差异.基于精确Cosserat 模型,考虑中心线的拉伸压缩变形和...
  • 分析与实验表明,建立的数学模型与实际基本相符;截止放电模式与自然放电模式在火花放电规律方面有显著的差异;截止放电模式下减小截止时间和减小电容值均能提高本质安全性能,但在不同取值范围效果不同。
  • 利用基于主客观权重及模糊熵的多属性关联关系分析模型,计算差异化需求方案与各备选网架的关联程度,最终建立考虑负荷不确定差异化需求的混合多属性评价优选模型。以多个地区的配电网规划为研究对象,利用所提出...
  • 在低渗压裂污染井产能预测模型中引入含启动压力梯度的低速渗流方程,推导径向稳态渗流条件下污染井压裂后增产率预测模型,并对压裂污染井产能影响因素进行分析。结果表明:启动压力梯度的变化对低渗污染井改造后产能...
  • 开关瞬态分析模型

    2020-11-16 16:19:14
    不同类型的模型,其复杂程度、精确度及灵活等有很大差异。希望所建的模型简单、准确、应用方便,概念清晰。按照所描述的开关电源运行过程,模型可以分为三类:即稳态模型、小信号模型、大信号模型。用相应的模型...
  • 然后,根据预估的电量需求对用户进行分类,运用模糊推理分析停车时长充裕度以及分时电价对用户充电意愿的影响,构建不同用户的分层充电决策模型,得到充电需求的时空分布情况。算例结果表明,停车时长充裕度以及分时...
  • Logistic回归模型和判别分析方法都可以达到对样本分类的目的,比较和分析这2种方法的差异以及其各自的特点,可以为更好的应用提供参考。从类别表现、样本情况、归类函数、归类原则、预测功效等5个方面对Logistic回归...
  • 为准确预测填埋场渗滤液有机污染物浓度,为填埋场的运行管理提供决策依据。以减少环境污染风险,根据质量守恒和有机物降解动力学原理,建立了...鉴于获取数据的限制,对模型参数进行了敏感性分析,3个关键参数的敏感
  • 通过建立时间序列模型,对ADHD儿童与正常儿童的听觉持续注意水平进行拟合,并分析2组被试间的差异,动态地观测ADHD儿童的注意缺陷水平,并实现对ADHD儿童注意水平的预测.被试选取ADHD儿童30名,正常儿童10名,对被试进行...
  • 作者挑选了12个抑郁症患者和12个正常被试进行正负情绪面对搜索的认知任务袁并同时记录头皮脑电遥应用基于多变量自回归模型的相干分析方法计算了delta(1〜4 Hz),θ(4〜7 Hz) ,alpha(8〜13 Hz)频段15个导联...
  • 算法将DCT系数直方图分布的均值、方差、偏度、峰度以及特殊系数值的直方图分布概率作为特征,并基于方差分析对特征进行有效性分析,实验结果证实了所提算法的有效性;通过引入反应块间分布的特征,使得该算法对于...
  • 论文研究-基于Logistic模型的间隙零门可靠窗口分析.pdf, 零门间隙是爆炸间隙零门功能实现的关键,间隙太长或者太短都会导致零门功能失效,因此研究使得零门功能成功...
  • 南京市不同区县居民消费行为的差异性研究--基于几乎完美需求系统的分析,吴小松,范金,本文对南京市按照城区、郊区和县进行区域划分,并引入几乎完美需求系统(the Almost Ideal Demand System, AIDS)模型,对居民...
  • 转录组入门(7):差异表达分析

    千次阅读 2017-11-27 21:22:28
    这个步骤推荐在R里面做,载入表达矩阵,然后设置好分组信息,统一用DEseq2进行差异分析,当然也可以走走edgeR或者limma的voom流程...探索性分析一二事 使用DESeq2进行差异基因分析 使用edgeR进行差异基因分析 使用l...
        

    这个步骤推荐在R里面做,载入表达矩阵,然后设置好分组信息,统一用DEseq2进行差异分析,当然也可以走走edgeR或者limma的voom流程。
    基本任务是得到差异分析结果,进阶任务是比较多个差异分析结果的异同点。

    目录

    • 数据填坑
    • 理论基础:线性模型, 设计矩阵和比较矩阵
    • 标准化一二事
    • 探索性分析一二事
    • 使用DESeq2进行差异基因分析
    • 使用edgeR进行差异基因分析
    • 使用limma进行差异基因分析
      • 不同软件包分析结果比较
    • 使用GFOLD进行无重复样本的差异基因分析
    • 不同差异表达分析的比较

    数据填坑

    原先三个样本的HTSeq-count计数的数据可以在我的GitHub中找到,但是前面已经说过Jimmy失误让我们分析的人类就只有3个样本, 另外一个样本需要从另一批数据获取(请注意batch effect),所以不能保证每一组都有两个重复。

    我一直坚信”你并不孤独“这几个字,遇到这种情况的人肯定不止我一个,于是我找到了几种解决方法

    • 使用edgeR,指定dispersion值
    • 无重复转录组数据推荐用同济大学的GFOLD

    以上方法都会在后续进行介绍,但是我们DESeq2必须得要有重复的问题亟待解决,没办法我只能自己瞎编了。虽然是编,我们也要有模有样,不能直接复制一份,要考虑到高通量测序的read是默认符合泊松分布的。我是这样编的。

    • 计算KD重复组的均值差,作为泊松分布的均值
    • 使用概率函数rpois()随机产生一个数值,前一步的均值作为lambda,
    • 对一些read count 低于均值的直接加上对应KD重复组之间的差值
    # import data if sample are small
    options(stringsAsFactors = FALSE)
    control <- read.table("F:/Data/RNA-Seq/matrix/SRR3589956.count",
                           sep="\t", col.names = c("gene_id","control"))
    rep1 <- read.table("F:/Data/RNA-Seq/matrix/SRR3589957.count",
                        sep="\t", col.names = c("gene_id","rep1"))
    rep2 <- read.table("F:/Data/RNA-Seq/matrix/SRR3589958.count",
                        sep="\t",col.names = c("gene_id","rep2"))
    # merge data and delete the unuseful row
    raw_count <- merge(merge(control, rep1, by="gene_id"), rep2, by="gene_id")
    raw_count_filt <- raw_count[-1:-5,]
    
    ENSEMBL <- gsub("(.*?)\\.\\d*?_\\d", "\\1", raw_count_filt$gene_id)
    row.names(raw_count_filt) <- ENSEMBL
    ## the sample problem
    delta_mean <- abs(mean(raw_count_filt$rep1) - mean(raw_count_filt$rep2))
    
    sampleNum <- length(raw_count_filt$control)
    sampleMean <- mean(raw_count_filt$control)
    control2 <- integer(sampleNum)
    
    for (i in 1:sampleNum){
      if(raw_count_filt$control[i] < sampleMean){
        control2[i] <- raw_count_filt$control[i] + abs(raw_count_filt$rep1[i] - raw_count_filt$rep2[i])
      }
      else{
        control2[i] <- raw_count_filt$control[i] + rpois(1,delta_mean)
      }
    }
    # add data to raw_count
    raw_count_filt$control2 <- control2
    

    这仅仅是一种填坑的方法而已,更好模拟数据的方法需要参阅更加专业的文献, 有生之年 我希望能补上这一个部分。

    理论基础:线性模型, 设计矩阵和比较矩阵

    这部分内容最先在 RNA-Seq Data Analysis 的8.5.3节看到,刚开始一点都不理解,但是学完生物统计之后,我认为这是理解所有差异基因表达分析R包的关键。

    基本上,统计课都会介绍如何使用t检验用来比较两个样本之间的差异,然后在样本比较多的时候使用方差分析确定样本间是否有差异。当然前是样本来自于正态分布的群体,或者随机独立大量抽样。

    对于基因芯片的差异表达分析而言,由于普遍认为其数据是服从正态分布,因此差异表达分析无非就是用t检验和或者方差分析应用到每一个基因上。高通量一次性找的基因多,于是就需要对多重试验进行矫正,控制假阳性。目前在基因芯片的分析用的最多的就是limma

    但是,高通量测序(HTS)的read count普遍认为是服从泊松分布(当然有其他不同意见),不可能直接用正态分布的t检验方差分析。 当然我们可以简单粗暴的使用对于的非参数检验的方法,但是统计力不够,结果的p值矫正之估计一个差异基因都找不到。老板花了一大笔钱,结果却说没有差异基因,是个负结果,于是好几千经费打了水漂,他肯定是不乐意的。因此,还是得要用参数检验的方法,于是就要说到方差分析和线性模型之间的关系了。

    线性回归和方差分析是同一时期发展出的两套方法。在我本科阶段的田间统计学课程中就介绍用方差分析(ANOVA)分析不同肥料处理后的产量差异,实验设计如下

    肥料 重复1 重复2 重复3 重复4
    A1 ... ... ... ...
    A2 ... ... ... ...
    A3 ... ... ... ... ...

    这是最简单的单因素方差分析,每一个结果都可以看成 yij = ai + u + eij, 其中u是总体均值,ai是每一个处理的差异,eij是随机误差。

    2013053-17b5ca2db8d635ff.jpg
    image

    :方差分析(Analysis of Variance, ANAOVA)名字听起来好像是检验方差,但其实是为了判断样本之间的差异是否真实存在,为此需要证明不同处理内的方差显著性大于不同处理间的方差。

    线性回归 一般是用于量化的预测变量来预测量化的响应变量。比如说体重与身高的关系建模:

    2013053-45f59c5e9d5ee773.jpg
    image

    当然线性回归也可用处理名义型或有序型因子(也就是离散变量)作为预测变量,如果要画图的话,就是下面这个情况。


    2013053-b85575c8f550bdf4.jpg
    image

    如果我们需要通过一个实验找到不同处理后对照组和控制组的基因变化,那么基因表达可以简单写成, y = a + b · treament + e。 和之前的 yij = ai + u + eij 相比,你会发现公式是如此的一致。 这是因为线性模型和方差分析都是广义线性模型(generalizing linear models, GLM)在正态分布的预测变量的特殊形式。而GLM本身只要采用合适的连接函数是可以处理对任意类型的变量进行建模的。

    目前认为read count之间的差异是符合负二项分布,也叫gamma-Possion分布。那么问题来了,如何用GLM或者LM分析两个处理件的差异呢?其实可以简单的用上图的拟合直线的斜率来解释,如果不同处理之间存在差异,那么这个拟合线的斜率必定不为零,也就是与X轴平行。但是这是一种便于理解的方式(虽然你也未必能理解),实际更加复杂,考虑因素更多。

    注1 负二向分布有两个参数,均值(mean)和离散值(dispersion). 离散值描述方差偏离均值的程度。泊松分布可以认为是负二向分布的离散值为1,也就是均值等于方差(mean=variance)的情况。
    注2 这部分涉及大量的统计学知识,不懂就用维基百科一个个查清楚。

    聊完了线性模型和方差分析,下面的设计矩阵(design matrix)就很好理解了, 其实就是用来告诉不同的差异分析函数应该如何对待变量。比如说我们要研究的KD和control之间变化,设计矩阵就是

    样本 处理
    sample1 control
    sample2 control
    sample3 KD
    sample4 KD

    那么比较矩阵(contrast matrix)就是告诉差异分析函数应该如何对哪个因素进行比较, 这里就是比较不同处理下表达量的变化。

    标准化一二事

    其实read count如何标准化的方法有很多,最常用的是FPKM和RPKM,虽然它们其实是错的--FPKM/RPKM是错的

    我推荐阅读 Comparing the normalization methods for the differential analysis of Illumina high-throughput RNA-Seq data , 了解不同标准化方法之间的差异。

    有一些方法是要求原始数据,有一些则要求经过某类标准化后的数据,记得区分。

    探索性分析一二事

    使用DESeq2进行差异基因分析

    关于DESeq2分析差异表达基因,其实在https://www.bioconductor.org/help/workflows/rnaseqGene/ 里面介绍的非常清楚了。

    我们已经准备好了count matrix,接下来就是把数据导入DESeq2。DESeq2导入数据的方式有如下4种,基本覆盖了主流read count软件的结果。
    DESeq2要求的数据是raw count, 没必要进行FPKM/TPM/RPFKM/TMM标准化。

    function package framework output DESeq2 input function
    summarizeOverlaps GenomicAlignments R/Bioconductor SummarizedExperiment DESeqDataSet
    featureCounts Rsubread R/Bioconductor matrix DESeqDataSetFromMatrix
    tximport tximport R/Bioconductor list of matrices DESeqDataSetFromTximport
    htseq-count HTSeq Python files DESeqDataSetFromHTSeq

    本来我们是可以用DESeq2为htseq-count专门提供的 DESeqDataSetFromHTSeq ,然而很尴尬数据不够要自己凑数,所以只能改用 DESeqDataSetFromMatrix了 :cold_sweat:

    导入数据,构建 DESeq2 所需的 DESeqDataSet 对象

    library(DESeq2)
    countData <- raw_count_filt[,2:5]
    condition <- factor(c("control","KD","KD","control"))
    dds <- DESeqDataSetFromMatrix(countData, DataFrame(condition), design= ~ condition )
    

    : 这一步到下一步之间可以过滤掉一些low count数据,节省内存,提高运行速度

    nrow(dds)
    dds <- dds[ rowSums(counts(dds)) > 1, ]
    nrow(dds)
    

    使用DESeq进行差异表达分析: DESeq包含三步,estimation of size factors(estimateSizeFactors), estimation of dispersion(estimateDispersons), Negative Binomial GLM fitting and Wald statistics(nbinomWaldTest),可以分布运行,也可用一步到位,最后返回 results可用的DESeqDataSet对象。

    dds <- DESeq(dds)
    # 出现如下提示信息,说明运行成功
    estimating size factors
    estimating dispersions
    gene-wise dispersion estimates
    mean-dispersion relationship
    final dispersion estimates
    fitting model and testing
    

    用results获取结果: results的参数非常的多,这里不好具体展开 :pensive: 但是你们会自己看的吧

    res <- results()
    

    我们可用mcols查看每一项结果的具体含义,比如说log2FoldChange 表示倍数变化取log2结果,还能画个火山图。一般简单粗暴的用2到3倍作为阈值,但是对于低表达的基因,3倍也是噪音,那些高表达的基因,1.1倍都是生物学显著了。更重要的没有考虑到组内变异,没有统计学意义。padj 就是用BH对多重试验进行矫正。

    mcols(res, use.names = TRUE)
    DataFrame with 6 rows and 2 columns
                           type                                     description
                    <character>                                     <character>
    baseMean       intermediate       mean of normalized counts for all samples
    log2FoldChange      results log2 fold change (MLE): condition KD vs control
    lfcSE               results         standard error: condition KD vs control
    stat                results         Wald statistic: condition KD vs control
    pvalue              results      Wald test p-value: condition KD vs control
    padj                results                            BH adjusted p-values
    

    用summary看描述性的结果,大致是上调的基因占总体的11%,下调的是7.1%(KD vs control)

    summary(res)
    out of 29469 with nonzero total read count
    adjusted p-value < 0.1
    LFC > 0 (up)     : 3154, 11%
    LFC < 0 (down)   : 2095, 7.1%
    outliers [1]     : 0, 0%
    low counts [2]   : 15111, 51%
    (mean count < 22)
    [1] see 'cooksCutoff' argument of ?results
    [2] see 'independentFiltering' argument of ?results
    

    画个MA图,还能标注p值最小的基因。

    An MA plot is an application of a Bland–Altman plot for visual representation of genomic data. The plot visualises the differences between measurements taken in two samples, by transforming the data onto M (log ratio) and A (mean average) scales, then plotting these values. Though originally applied in the context of two channel DNA microarray gene expression data, MA plots are also used to visualise high-throughput sequencing analysis --From wikipeida
    M表示log fold change,衡量基因表达量变化,上调还是下调。A表示每个基因的count的均值。根据summary可知,low count的比率很高,所以大部分基因表达量不高,也就是集中在0的附近(log2(1)=0,也就是变化1倍).提供了模型预测系数的分布总览。

    下图是没有经过 statistical moderation平缓log2 fold changes的情况

    plotMA(res, ylim = c(-5,5))
    topGene <- rownames(res)[which.min(res$padj)]
    with(res[topGene, ], {
      points(baseMean, log2FoldChange, col="dodgerblue", cex=2, lwd=2)
      text(baseMean, log2FoldChange, topGene, pos=2, col="dodgerblue")
    })
    
    2013053-ed9d1e286d44dfe0.jpg
    image

    如果经过lfcShrink 收缩log2 fold change, 结果会好看很多

    res.shrink <- lfcShrink(dds, contrast = c("condition","KD","control"), res=res)
    plotMA(res.shrink, ylim = c(-5,5))
    topGene <- rownames(res)[which.min(res$padj)]
    with(res[topGene, ], {
      points(baseMean, log2FoldChange, col="dodgerblue", cex=2, lwd=2)
      text(baseMean, log2FoldChange, topGene, pos=2, col="dodgerblue")
    })
    
    2013053-d8eb8afeb9f42b2e.jpg
    image

    当然还有火山图,不过留给其他方法作图,我们先把差异表达的基因找出来。

    res.deseq2 <- subset(res, padj < 0.05)
    

    一般p value 小于0.05就是显著了, 显著性不代表结果正确,只用于给后续的富集分析和GSEA提供排序标准和筛选而已。关于P值的吐槽简直无数, 请多注意。

    使用edgeR进行差异基因分析

    edgeR在函数说明中称其不但可以分析SAGE, CAGE的RNA-Seq,Tag-RNA,或RNA-seq, 也能分析ChIP-Seq和CRISPR得到的read counts数据。嗯,我信了:confused:!

    edgeR使用DGEList函数读取count matrix数据,也就说你需要提供一个现成的matrix数据,而不是指望它能读取单独的文件,然后进行合并(当然机智的我发现,其实可以用 tximportDESeqDataSetFromHTSeq 读取单独的文件,然后传递给DGEList)

    第一步: 构建DGEList对象

    library(edgeR)
    group <- factor(c("control","KD","KD","control"))
    genelist <- DGEList(counts=raw_count_filt[,2:5], group = group)
    

    第二步: 过滤 low counts数据。与DESeq2的预过滤不同,DESeq2的预过滤只是为了改善后续运算性能,在运行过程中依旧会自动处理low count数据,edgeR需要在分析前就要排除那些low count数据,而且非常严格。从生物学角度,有生物学意义的基因的表达量必须高于某一个阈值。从统计学角度上, low count的数据不太可能有显著性差异,而且在多重试验矫正阶段还会拖后腿。 综上所诉,放心大胆的过滤吧。

    根据经验(又是经验 :dog: ), 基因至少在某一些文库的count超过10 ~ 15 才被认为是表达。这一步全靠尝试, 剔除太多就缓缓,剔除太少就严格点。 我们可以简单的对每个基因的raw count进行比较,但是建议用CPM(count-per-million)标准化 后再比较,避免了文库大小的影响。

    # 简单粗暴的方法
    keep <- rowSums(genelist$count) > 50
    # 利用CPM标准化
    keep <- rowSums(cpm(genelist) > 0.5 ) >=2
    table(keep)
    genelist.filted <- genelist[keep, ,keep.lib.sizes=FALSE]
    

    这里的0.5(即阈值)等于 10/(最小的文库的 read count数 /1000000),keep.lib.size=FALSE表示重新计算文库大小。

    第三步: 根据组成偏好(composition bias)标准化。edgeR的calcNormFactors函数使用TMM算法对DGEList标准化

    genelist.norm <- calcNormFactors(genelist.filted)
    

    大部分的mRNA-Seq数据分析用TMM标准化就行了,但是也有例外,比如说single-cell RNA-Seq(Lun, Bach, and Marioni 2016), 还有就是global differential expression, 基因组一半以上的基因都是差异表达的,请尽力避免,(D. Wu et al. 2013), 不然就需要用到内参进行标准化了(Risso et al. 2014).

    第四步: 实验设计矩阵(Design matrix), 类似于DESeq2中的design参数。 edgeR的线性模型和差异表达分析需要定义一个实验设计矩阵。很直白的就能发现是1vs0

    design <- model.matrix(~0+group)
    colnames(design) <- levels(group)
    design
      control KD
    1       1  0
    2       0  1
    3       0  1
    4       1  0
    

    第五步: 估计离散值(Dispersion)。前面已经提到负二项分布(negative binomial,NB)需要均值和离散值两个参数。edgeR对每个基因都估测一个经验贝叶斯稳健离散值(mpirical Bayes moderated dispersion),还有一个公共离散值(common dispersion,所有基因的经验贝叶斯稳健离散值的均值)以及一个趋势离散值

    genelist.Disp <- estimateDisp(genelist.norm, design, robust = TRUE)
    plotBCV(genelist.Disp)
    

    还可以进一步通过quasi-likelihood (QL)拟合NB模型,用于解释生物学和技术性导致的基因特异性变异 (Lund et al. 2012; Lun, Chen, and Smyth 2016).

    fit <- glmQLFit(genelist.Disp, design, robust=TRUE)
    head(fit$coefficients)
    

    注1 估计离散值这个步骤其实有许多estimate*Disp函数。当不存在实验设计矩阵(design matrix)的时候,estimateDisp 等价于 estimateCommonDispestimateTagwiseDisp 。而当给定实验设计矩阵(design matrix)时, estimateDisp 等价于 estimateGLMCommonDisp, estimateGLMTrendedDispestimateGLMTagwiseDisp。 其中tag与gene同义。

    注2 其实这里的第三, 四, 五步对应的就是DESeq2的DESeq包含的2步,标准化和离散值估测。

    第六步: 差异表达检验(1)。这一步主要构建比较矩阵,类似于DESeq2中的results函数的 contrast 参数。

    cntr.vs.KD <- makeContrasts(control-KD, levels=design)
    res <- glmQLFTest(fit, contrast=cntr.vs.KD)
    ig.edger <- res$table[p.adjust(res$table$PValue, method = "BH") < 0.01, ]
    

    这里用的是glmQLFTest而不是glmLRT是因为前面用了glmQLTFit进行拟合,所以需要用QL F-test进行检验。如果前面用的是glmFit,那么对应的就是glmLRT. 作者称QL F-test更加严格。多重试验矫正用的也是BH方法。

    后续就是提取显著性差异的基因用作下游分析,做一些图看看

    topTags(res,n=10)
    is.de <- decideTestsDGE(res)
    summary(is.de)
    plotMD(res, status=is.de, values=c(1,-1), col=c("red","blue"),
           legend="topright")
    
    2013053-52ae3c6f8218a173.jpg
    image

    第六步:差异表达检验(2)。上面找到的显著性差异的基因,没有考虑效应值,也就是具体变化了多少倍。我们也可用找表达量变化比较大的基因,对应的函数是 glmTreat

    tr <- glmTreat(fit, contrast=B.LvsP, lfc=log2(1.5))
    s
    
    2013053-118028df0fc862f9.jpg
    image

    使用limma进行差异分析

    经过上面两个方法的洗礼,基本上套路你也就知道了,我先简单小结一下,然后继续介绍limma包的 voom

    • 导入read count, 保存为专门的对象用于后续分析
    • 原始数据过滤,根据标准化read count 或者 raw count 作为筛选标准
    • raw read count 标准化
    • 通过各种算法(如经验贝叶斯,EM)预测dispersion离散值
    • 广义线性模型拟合数据
    • 差异分析,也就是统计检验部分

    Limma原先用于处理基因表达芯片数据,可是说是这个领域的老大 :sunglasses: 。如果你仔细看edgeR导入界面,你就会发现,edgeR有一部分功能依赖于limma包。Limma采用经验贝叶斯模型( Empirical Bayesian model)让结果更稳健。

    在处理RNA-Seq数据时,raw read count先被转成log2-counts-per-million (logCPM),然后对mean-variance关系建模。建模有两种方法:

    • 精确权重法(precision weights)也就是“voom"
    • 经验贝叶斯先验趋势(empirical Bayes prior trend),也就是”limma-trend“

    数据预处理: Limma使用edgeR的DGEList对象,并且过滤方法都是一致的,对应edgeR的第一步,第二步, 第三步

    library(edgeR)
    library(limma)
    group <- factor(c("control","KD","KD","control"))
    genelist <- DGEList(counts=raw_count_filt[,2:5], group = group)
    
    ### filter base  use CPM
    keep <- rowSums(cpm(genelist) > 0.5 ) >=2
    table(keep)
    genelist.filted <- genelist[keep, ,keep.lib.sizes=FALSE]
    ### normalizaition
    x <- calcNormFactors(x, method = "TMM")
    

    差异表达分析: 使用”limma-trend“

    design <- model.matrix(~0+group)
    colnames(design) <- levels(group)
    logCPM <- cpm(genelist.norm, log=TRUE, prior.count=3)
    fit <- lmFit(logCPM, design)
    fit <- eBayes(fit, trend=TRUE)
    topTable(fit, coef=ncol(design))
    

    差异表达分析: 使用”limma-voom“

    ### DGE with voom
    v <- voom(genelist.norm, design, plot=TRUE)
    #v <- voom(counts, design, plot=TRUE)
    fit <- lmFit(v, design)
    fit <- eBayes(fit)
    all <- topTable(fit, coef=ncol(design), number=10000)
    sig.limma <- all[all$adj.P.Val < 0.01, ]
    fit <- treat(fit, lfc=log2(1.2))
    topTreat(fit, coef=ncol(design))
    
    

    如果分析基因芯片数据,必须好好读懂LIMMA包。

    不同软件包分析结果比较

    基本上每一个包,我都提取了各种的显著性基因,比较就需要用韦恩图了,但是我偏不 :stuck_out_tongue: 我要用UpSetR.

    library(UpSetR)
    input <- fromList(list(edgeR=rownames(sig.edger), DESeq2=rownames(sig.deseq2), limma=rownames(sig.limma)))
    
    2013053-5aa8d047b1a4e64d.jpg
    image

    感觉limma的结果有点奇怪,有生之年在折腾吧。

    使用GFOLD进行无重复样本的差异基因分析

    好吧,这部分我鸽了

    参考文件

    [1] Comparing the normalization methods for the differential analysis of Illumina high-throughput RNA-Seq data

    [2] https://www.bioconductor.org/help/workflows/rnaseqGene/

    [3] https://www.bioconductor.org/help/workflows/RnaSeqGeneEdgeRQL/

    [4] https://www.bioconductor.org/help/workflows/RNAseq123/


    本文还可在http://xuzhougeng.top/阅读

    版权声明:本博客所有文章除特别声明外,均采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 (CC BY-NC-ND 4.0) 进行许可。

    2013053-af57e9bbe49eabd3.png
    扫码即刻交流
    展开全文
  • 用SPSS的童鞋都知道,我们常用的方差分析(ANOVA)在一般线性模型(General Linear Model,简称GLM)的菜单下。那GLM是何许人也呢?让我们打开万能的wiki,键入General Linear Model。。。看到的居然是一张毫无违和感的...

         用SPSS的童鞋都知道,我们常用的方差分析(ANOVA)在一般线性模型(General Linear Model,简称GLM)的菜单下。那GLM是何许人也呢?让我们打开万能的wiki,键入General Linear Model。。。看到的居然是一张毫无违和感的Fitting Plot:

                                                           Linear regression.svg

    以及传说中的多元(线性)回归公式: $Y_{i}=\beta_{0} + \beta_{i1}X_{i1} + \beta_{2}X_{i2} + ... +  \beta_{p}X_{ip} + \epsilon_{i} $  

      这不是回归问题么?跟检验差异的方差分析有何关系呢?

     

      事实上,基于正态分布假设的参数检验(T检验,ANOVA,MANOVA,ANCOVA等等)均可以表征成回归问题。

          不妨让我们以最简单的二类差异问题为例(组A与组B的差异)  ,我们通常采用T检验考察A与B之间的差异,并用Error_bar来表示A与B的差异(如下图左)。

                                                       

      A与B是自变量X下的两个水平,我们可以用0(A)与1(B)来编码它们。那么,我们便可以得到因变量Y与自变量X的对应函数Y=F(X),假定两者之间存在线性相关,即有函数模型$Y = \alpha X + \beta$ (如上图右)。当A与B的差异越大,拟合线的斜率α也越大,即差异性检验可以通过回归的形式来表达。

      那么两者之间的显著性是否等价呢?即A与B之间的T分数与拟合线的斜率α的T分数是否相同,答案是肯定的。

     

     

      我们不妨假设组A与组B之间满足方差齐性,组A(Na)与组B(Nb)的样本数不等。那么组A与组B之间的t值即为

    $$t=\frac{\overline{Y_{b}}-\overline{Y_{a}}}{S_{Y_{a}Y_{b}}· \sqrt{\frac{1}{N_{a}} + \frac{1}{N_{b}}}} $$

    其中,有$S_{Y_{a}Y_{b}}=\sqrt{\frac{(N_{a}-1)S_{Y_{a}}^2 + (N_{b}-1)S_{Y_{b}}^2}{N_{a}+N_{b}-2}}$,$S_{Y_{a}}$、 $S_{Y_{b}}$ 分别为组A与组B的标准差。

     

    令$MEAN=\overline{Y_{b}}-\overline{Y_{a}}$,$SE=S_{Y_{a}Y_{b}}·\sqrt{\frac{1}{N_{a}} + \frac{1}{N_{b}}}$ ,即有$t=\frac{MEAN}{SE}$

     

    先处理最简单的MEAN部分:

    将线性模型$Y = \alpha X + \beta$代入MEAN,由于$X_{a_{i}}=0$,$X_{b_{i}}=1$,即有: $MEAN =( \hat{\alpha} \times 1 +\hat{\beta} ) - ( \hat{\alpha} \times 0 +\hat{\beta} )={\hat{\alpha} -0} $

     

    接着来看SE部分,首先是$S_{Y_{a}Y_{b}}$部分:

    根据样本标准差的Bessel校正公式,$S_{Y_{a}}=\frac{ \sum_{i=1}^{N_{a}}{(Y_{a_{i}} - \overline{Y_{a}})^{2}}}{N_{a}-1}$,$S_{Y_{b}}=\frac{ \sum_{i=1}^{N_{b}}{(Y_{b_{i}} - \overline{Y_{b}})^{2}}}{N_{b}-1}$,将两者带入$S_{Y_{a}Y_{b}}$:

    $$S_{Y_{a}Y_{b}}=\sqrt{\frac{\sum_{i=1}^{N_{a}}{(Y_{a_{i}} - \overline{Y_{a}})^{2}} + \sum_{i=1}^{N_{b}}{(Y_{b_{i}} - \overline{Y_{b}})^{2}}}{N_{a}+N_{b}-2}}$$

    组A,B的均值分别是其组内点的最小二乘估计量,即$\overline{Y_{a}}=\hat{Y_{a_{i}}},i\in A$;$\overline{Y_{b}}=\hat{Y_{b_{i}}},i\in B$:

    $$S_{Y_{a}Y_{b}}=\sqrt{\frac{\sum_{i=1}^{N_{a}}{(Y_{a_{i}} - \hat{Y_{a_{i}}})^{2}} + \sum_{i=1}^{N_{b}}{(Y_{b_{i}} - \hat{Y_{b_{i}}})^{2}}}{N_{a}+N_{b}-2}}=\sqrt{\frac{\sum_{i=1}^{N}{(Y_{i} - \hat{Y_{i}})^{2}}}{N-2}}$$ 

       

    最后,来看$\sqrt{\frac{1}{N_{a}} + \frac{1}{N_{b}}}$:

    $$\frac{1}{N_{a}} + \frac{1}{N_{b}}=\frac{1}{\frac{N_{a}N_{b}}{N_{a}+N_{b}}}$$

    $$=\frac{1}{\frac{N_{b}(N-N_{b})}{N}}$$

    $$=\frac{1}{N_{b} - \frac{N_{b}^2}{N}}$$

    $$=\frac{1}{N_{b} - 2·\frac{N_{b}^2}{N}+\frac{N_{b}^2}{N}}$$

    由于$X_{a_{i}}=0$,$X_{b_{i}}=1$,即有$N_{b}=\sum^{N}X_{i}=\sum^{N}X_{i}^2$,并有$\overline{X}=\frac{N_{b}}{N}$:

    $$N_{b} - 2·\frac{N_{b}^2}{N}+\frac{N_{b}^2}{N}=\sum^{N}X_{i}^2-2·\sum^{N}(\frac{N_{b}}{N}·X_{i})+\sum^{N}(\frac{N_{b}}{N})^2$$

    $$=\sum^{N}(X_{i}-\frac{N_{b}}{N})^2=\sum^{N}(X_{i}-\overline{X})^2$$

    即$\large \sqrt{\frac{1}{N_{a}} + \frac{1}{N_{b}}}=\frac{1}{\sqrt{\sum_{i=1}^{N}(X_{i}-\overline{X})^2}}$

     

    综上,$\Large t=\frac{MEAN}{SE}=\frac{MEAN}{S_{Y_{a}Y_{b}}·\sqrt{\frac{1}{N_{a}} + \frac{1}{N_{b}}}}=\frac{\hat{\alpha} -0}{\sqrt{\frac{\frac{1}{N-2}·\sum_{i=1}^{N}{(Y_{i} - \hat{Y_{i}})^{2}}}{\sum_{i=1}^{N}(X_{i}-\overline{X})^2}}}=\frac{\hat{\alpha} -0}{SE_{\hat{\alpha}}}$,最后的等式为线性模型的斜率的最小二乘估计量$\hat{\alpha}$是否大于0的T检验的表达式。

    至此,我们成功的证明了:

    方差齐性且不等组的组A与组B的之间的差异的T值 与

    线性模型$Y = \alpha X + \beta$($X_{A}=0$,$X_{B}=1$)中$\alpha$是否显著大于0的T值是等价的。

     

     对于更为一般的方差不齐的情况、配对样本T检验以及多组间比较的方差分析(dummy coding技术),且听下回分解^ ^

     

      

     

     

     

      

     

      

        

                                   

    转载于:https://www.cnblogs.com/lovedreamf/p/4462357.html

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,697
精华内容 678
关键字:

模型差异性分析