精华内容
下载资源
问答
  • 第 8 章:采用纵向数据视图示例的混合建模 第 9 章:具有复杂调查数据视图示例的多层建模 第10章:多层次混合建模视图示例 第11章:缺少数据建模和贝叶斯估计视图示例 第12章:蒙特卡洛模拟研究查看示例 第13章...
  • 纵向数据处理方法

    2018-06-22 08:49:47
    纵向数据广泛存在于医学,金融等领域,是一种不平衡数据,一般使用线性混合模型处理。
  • 上海交通大学生命科学技术学院生物信息与生物统计系课程教材,英文版
  • 采用R语言编程,解决纵向数据线性混效应模型中的参数估计、等问题
  • 其中,对于高维纵向数据的分析已经成为统计界的一个研究热点。伴随着计算机技术的不断更新与发展,现实生活中收集到的数据种类已经越来越多,数据结构已经越来越复杂。其中,对于高维纵向数据的分析已经成为统计界的一个...
  • 在本文中,我们为带有纵向数据的半参数化广义部分线性模型中的参数分量提出了一个广义经验似然推断。 基于扩展得分向量,定义了一个通用的经验似然比函数,该函数集成了集群内相关性,同时避免了直接估计相关性矩阵...
  • 在隐马尔可夫模型(HMM)下使用混合效应对多元响应纵向数据进行建模的代码。 有关此方法的完整详细信息,请参见Biometrics: : 参考:Raffa JD和Dubin JA。 (2015)具有混合效果的多元纵向数据分析隐藏了...
  • 纵向数据模型分析

    2013-09-13 15:29:25
    纵向数据模型分析的好东西,想学习纵向数据模型分析的朋友们可以下载看一看,并给个评论哦
  • 长集群 聚类纵向数据 要安装该软件包,请在R或Rstudio中键入devtools :: install_github(“ junyzhou10 / ClusterLong”)和库(ClusterLong)
  • 看似小小的中介,废了我好多脑细胞,这个东西真的不简单,从7月份有人问我,我多重中介,到现在的纵向数据中介,从一般的回归做法,到结构方程框架下的路径分析法,到反事实框架做法,从中介变量和因变量到是连续...

    看似小小的中介,废了我好多脑细胞,这个东西真的不简单,从7月份有人问我,我多重中介,到现在的纵向数据中介,从一般的回归做法,到结构方程框架下的路径分析法,到反事实框架做法,从中介变量和因变量到是连续变量到中介变量和因变量是分类变量,很浩渺的系统知识,今天开始一点一点给大家写。

    今天就和大家一起探讨纵向数据的中介效应检验,一般来讲考虑因果关系的时间先后顺序,纵向数据才是探讨中介的理想数据形式

    In practice, it is strongly recommended to establish mediation with longitudinal data

    但是问题也存在,就是说同一波次的中介变量和因变量可能成为纵向中介路径上的混杂,自己会影响自己,自己又会受到中介变量和自变量的影响,这些中介和暴露又会受到前一波数据的影响,怎么说得清呢?况且做了中介我们还需要对每个路径上的效应进行分解,感觉好难哦。

    今天就写写这个。

    随机效应交叉滞后中介模型引出

    首先明白一点,做中介用纵向数据才好,其次明白,交叉滞后是纵向面板数据的常用分析方法:

    the CLPM allows time for causes to have their effects, supports stronger inference about the direction of causation in comparison to models using cross-sectional data, and reduces the probable parameter bias that arises when using cross-sectional data.

    再记住,纵向数据的中介分析的做法之一就是使用交叉滞后。

    但是传统交叉滞后不考虑个体扰动,只拟合全部个体的均值,所以在特定人群中估计系数可能不准(理解方法参考混合模型),因为存在上面的问题,所以一般我们会做一个允许个体扰动的情形下纵向数据的中介模型------multilevel model (MLM):

    multilevel model (MLM), which is proposed on the basis of the fact that longitudinal data are clustered in nature: The repeated measures are nested within individuals

    通过多水平模型我们允许个体扰动,使得模型更符合数据层次,但是开篇就指出,在纵向数据中我们需要控制掉前一波数据的影响,和同波次数据的相互影响,所以我们把多水平模型和交叉滞后一结合,形成带随机效应的交叉滞后就可以啦。

    传统交叉滞后中介模型

    开篇一张图:

    R数据分析:纵向数据如何做中介,交叉滞后中介模型介绍

    在做纵向中介的我们的数据最少是3波,期望检验的中介路径是x1到m2到y3,当然如果你比较猛,或者你们组比较猛,你还可以多整几波数据探讨中介效应的时间效应,本文不做展开。

    treatment, mediator and outcome variables should be measured at three separated and ordered time points.

    有同学问两波数据行不行?这个需要你自己考虑怎么来说服审稿人,比如你中介变量是时间不变的,那么你只要将自变量和因变量放在不同波次就行,我觉得也完全OK。

    总之你自己自圆其说就完全没问题,本来是纵向设计,好多人完全拎出来横断面做中介人家也能发文章:

    Another 10 (14%) ignored or abused the longitudinal structure of their own data by focusing on only a single wave,averaging across waves, or treating later variables as predictors of earlier variables when testing for mediation.

    如果你是3波数据,中介出来的结构路径图就是开篇的第一张图。要报告的系数就是中介路径上的a,b,c,分别代表两个间接效应和一个直接效应。需要注意的是对间接作用的检验是检验ab的乘积,并非单单只看一条路径,这个是很多同学不太明白的地方。

    The indirect effect is denoted by ab because it is often quantified by the product of two effects: the effect of X on M (a effect) and the effect of M on Y controlling for X

    传统交叉滞后中介模型的做法实例

    我的数据长这样哈,这个数据是我们自己模拟出来的,只是为了给大家说明数据形式,其中3波次的自变量x,3波次的中介变量m,和3波次的结局y,还有两个协变量z,只考虑人群均值而不考虑个体扰动,我们做一个交叉滞后中介模型,探讨在纵向设计中m是否中介了xy的关系:

    R数据分析:纵向数据如何做中介,交叉滞后中介模型介绍

    首先,我们加载相应的包并进行模型设定,代码如下:

    CLPM <- '
      # 路径系数
      x2 ~ x1
      m2 ~ a*x1 
      m2 ~ m1
      y2  ~ b*m1
      x3 + m3~ x2
      m3+y3  ~ m2
      y3~c*x1
      y2~y1
      y3~y2
      
      x1+m1+y1~z1
      x1+m1+y1~z2
    
      # 相关 
      x1 ~~ y1 # Covariance
      x1 ~~ m1
      m1 ~~ y1
      
      # 方差
      x1 ~~ x1
      m1 ~~ m1# Variances
      y1 ~~ y1 
      
      x2 ~~ x2
      m2 ~~ m2# Residual variances
      y2 ~~ y2
      
      x3 ~~ x3 
      m3 ~~ m3
      y3 ~~ y3 
     
      # 间接作用 (a*b)
      ab := a*b
       # 总效应
      total := c + (a*b)
    '

    可以看到为了方便报告和中介效应分解,我还设定了系数标签,abc,和新的间接效应ab和总效应tatal,运行上面的代码,总结后即可输出模型结果:

    基本的模型优度如下,可以看到模型拟合是很差劲的,不过数据都是模拟出来的嘛,大家主要看方法就行:

    R数据分析:纵向数据如何做中介,交叉滞后中介模型介绍

    各个回归系数如下(没有截图完整的)可以看到我们关心的系数abc都有标注:

    R数据分析:纵向数据如何做中介,交叉滞后中介模型介绍

    当然还有间接效应和总效应的检验结果:

    R数据分析:纵向数据如何做中介,交叉滞后中介模型介绍

    有了上面这些结果你就可以报告这就是一个部分中介模型了

    另外再给大家分享一个出图的方法,之前我做结构方程一直用的semPlot出图,图不好个性化定制,乱糟糟的,最近发现tidySEM才是真的好用,比如就我上面的模型,写代码如下:

    graph_sem(model = CLPM.fit)
    lay <- get_layout("x1", "x2", "x3","m1","m2","m3","y1","y2", 
                      "y3",rows = 3)
    
    graph_sem(model = CLPM.fit,layout = lay)

    就可以出一个整整齐齐的图,见下图,简直跟发表的文献中一模一样哦,真好,强烈推荐给大家,之后有空出一期tidySEM的详细教程,快快点关注哈:

    R数据分析:纵向数据如何做中介,交叉滞后中介模型介绍

    随机效应交叉滞后中介模型

    关于交叉滞后和随机效应(截距和斜率)交叉滞后的区别之前文章有给大家写,如果要考虑个体间的变异或扰动,我们就需要给模型加上随机效应,此时就是随机效应交叉滞后中介模型。

    为啥要考虑随机效应呢?因为本来个体残差异质性都是可能存在的嘛,如果我们做模型的时候不考虑,简单的认为人都是一样的水平,其实和你在嵌套数据中用了回归是一回事的,此时你的统计推断可能不准,注意是可能不准,如果你的人群确实都是一个样,那也就无所谓,你有这个意识就行,可能不准带来的后果就是也许你用交叉滞后回归没做出来阳性结果,然后你把变异分解的更好后用随机效应交叉滞后就出来阳性结果了。

    random effects will cause heteroscedasticity in the residuals. Failure to take into account this heteroscedasticity can bias the standard error estimates, leading to misleading statistical inferences.

    那么具体的随机效应交叉滞后中介模型如何做呢,其实就是在随机效应交叉滞后加上和上面一样的中介设定就行了,随机效应交叉滞后的代码在之前的文章中,这儿就不给大家写例子啦。

    小结

    今天给大家写了纵向数据的中介做法-----交叉滞后中介模型,这个模型考虑个体随机扰动就是随机效应交叉滞后中介模型,希望对大家有所启发。

    感谢大家耐心看完,自己的文章都写的很细,代码都在原文中,希望大家都可以自己做一做,请转发本文到朋友圈后私信回复“数据链接”获取所有数据和本人收集的学习资料。如果对您有用请先收藏,再点赞分享。

    也欢迎大家的意见和建议,大家想了解什么统计方法都可以在文章下留言,说不定我看见了就会给你写教程哦,另欢迎私信。

    展开全文
  • 多元纵向数据分析在许多生物医学和社会问题中起着重要作用。 在本文中,我们提出了三种分析多个相关的二进制结果的方法; 每个人都可以对确定的目标有益。 我们回顾方法一和方法二,并提出方法三。 三种方法使用GEE...
  • 测量不变性的测量 听起来有点怪哈,就是如何测量纵向数据的测量不变性,用的方法也是验证性因子分析,原理就是用一系列的验证性因子分析,通过逐步加强模型的限制来看我们纵向数据的测量不变性水平。 这个时候,...

     

    今天本来想看看交叉滞后怎么做,然后给粉丝写写教程,查资料的过程中发现了一篇很好的文献,记录下来分享给大家。

    这篇文献主要是讲如何用R的lavaan包做交叉滞后模型的。

    文献一开始首先介绍Measurement invariance

    Measurement invariance测量不变性

    在心理学的很多情形下,我们都不能直接测量我们想要的构象,比如饮酒动机,这些不能直接测量的变量叫做潜变量,叫做因子,叫做构象,叫做维度。

    下次你看到上面的红字你都可以把它们理解为一个东西,那么构象这个东西就得靠多个问卷条目进行反应。

    这个时候问题来了,你的问卷条目是不是很好地反应了你要测量的构象呢?

    总得有个指标吧,或者有个方法检验吧。

    这个指标就叫做效度,方法就可以用Confirmatory factor analysis (CFA),验证性因子分析。

    Confirmatory factor analysis (CFA) is a statistical technique that allows us to test whether clusters of items in our measure are indeed reflective of the latent construct to which we have assigned them

    还有,很多时候,我们会进行纵向设计,或者追踪随访,我们会把我们的测量工具发放很多遍,比如追踪学生,一年级追踪到初三,每年都让学生们填写某个问卷等等。

    这个时候新问题又来了

    你要记住我们的测量工具是要测量构象的,通过追踪随访我们也是想要了解构象的随时间变化的情况,而构象又是通过条目反应的,新的问题就是随着时间的变化,这些条目还能不能准确的反应构象呢?或者说随着时间的变化学生对条目的理解会不会变呢?

    To make logical claims about how latent variables change across time, we must first establish that our instruments are measuring the construct consistently over time

    这就引出了Measurement invariance测量不变性的概念:

    Measurement invariance (MI) is upheld in a study when “participants across all [time periods] interpret the individual questions, as well as the underlying latent factor, in the same way"

    就是说每个人随时间变化他对条目以及条目的隐含构象的理解都是一样的。直白一点说,就是一年级的时候我问卷得5分,二年级的时候同一个问卷得6分,这1分的差异确实是构象本身的变化,而不是学生对条目理解的变化引起的。

    如果在随访中测量不变性不能保证的话,我们就很难去比较构象随时间变化的差异了。

    这个测量不变性在纵向设计中很重要,作者举了个例子,有研究发现从1990s到2010s学生的自恋水平有所上升,Wetzel这个人就去检查了一下这个纵向测量的测量不变性,然后他就发现了:

    facets of leadership and vanity were not invariant, suggesting that students’ interpretations of questions pertaining to these aspects were changing over time

    自恋量表的leadership and vanity这两个维度测量不变性是不成立的,也就是随着时间的推移学生们对这两个维度条目的理解不同了,也就是说去年测的和今年测的不是一个东西。

    然后Wetzel把这个测量不变性的问题解决了之后,发现学生的自恋从1990s到2010s其实是越来越低的。

    这个也就提示我们,分析纵向数据时有必要考虑测量不变性问题。

    Checking for MI is thus an important practice prior to interpreting longitudinal results.

    测量不变性的测量

    听起来有点怪哈,就是如何测量纵向数据的测量不变性,用的方法也是验证性因子分析,原理就是用一系列的验证性因子分析,通过逐步加强模型的限制来看我们纵向数据的测量不变性水平。

    这个时候,我们关心的指标主要有3个

    一个是因子载荷,二是截距,三是残差方差

    1) factor loadings, which show how representative each item is of its latent factor;

    2) intercepts, which relate to the mean levels of each item; and

    3) residual variances, which represent the other unexplained influences predicting item responses besides latent variables

    通过这3个指标我们就可以把测量不变性分为4个水平:

    首先是构形不变性configural invariance

    configural invariance, allows factor loadings, item intercepts, and residual variances to vary across waves

    只要求因子(潜在变量)和项(观测变量)间的基本结构关系相同,而不对任何参数设定限制

    就是说不同时间的测量中同一个问卷的因子结构应该是不变的。

    第二是单位等值(Metric invariance)弱等值(Weak Invariance):

    constrains factor loadings to equality across waves. This establishes that items do not become more (or less) representative of the latent construct at different measurement occasions

    这个水平要求测量因子与条目之间的关系——因子负荷(factor loading)是相等的。等因子负荷意味着观测项和潜在因子之间在不同时间具有着相同的意义,即不同时间的被试对同一个构念(construct)的理解是一致的。

    第三尺度等值(Scalar invariance)强等值(Strong Invariance)

    scalar invarianceconstrains not only factor loadings, but also item intercepts to equality across waves

    这个水平要求因子载荷和条目截距在不同时间的测量相同,意味着不同时间被试对测量内容的系统倾向性一致。

    如果尺度等值不符就意味着随着时间的推移,个体对条目的理解会变。尺度等值不符的情况下,你得到的随着时间变化的构象变化有可能并不是真正的构象变了,而是随着时间推移个体对条目的理解变了,条目均值变了。

    第四严格等值( Strict Invariance)也叫残差等值

    residual invariance constrains factor loadings, item intercepts, and residual variances to equality across waves

    这个水平要求因子载荷,条目均值和构象的误差随着时间的推移也不变,意味着外部影响测量的变量随着时间都没有发生变化,很严格。

    写完测量不变性滞后,再写交叉滞后模型

    交叉滞后面板模型

    利用纵向数据还可以研究变量间关系的方向性,比如使用交叉滞后模型cross-lagged panel models (CLPM)。

    举个例子,有人在横断面研究中发现感知社会支持和学习成绩有关系,这个时候我很好奇,到底是社会支持影响了学习成绩还是学习成绩影响了社会支持,这个时候我们用交叉滞后模型就可以发现其实是学习成绩造成了感知社会支持的提高。

    交叉滞后模型就是干上面这个事的。

    因为交叉滞后模型用的一定是纵向数据,所以它的测量不变性问题一定要考虑

    实例操作

    还是给大家写个实际例子

    在这个例子中我们的构象有2:

    • perfectionistic self-presentation (PSP)
    • state social anxiety (SSA)

    分别是完美主义和社交焦虑,对于这两个构象我们从第7天一直测量到第11天,共5天,于是我们就形成了一个面板数据,而且,我们的PSP有3个条目,SSA有7个条目。

    我们今天要做的就是检验我们的测量的测量不变性并做一个交叉滞后模型

    检验测量不变性

    做交叉滞后首先就得检验测量不变性,之前已经给大家写了测量不变性的几个水平,我们现在要做的就是检验我们的数据的测量不变性到底符合哪一个水平。

    首先从最宽松的构形不变性configural invariance开始检验:

    configural.v1 <-
    '
    # PSP 因子载荷
    PSP.7 =~ NA*psp1.7 + psp2.7 + psp3.7
    PSP.8 =~ NA*psp1.8 + psp2.8 + psp3.8
    PSP.9 =~ NA*psp1.9 + psp2.9 + psp3.9
    PSP.10 =~ NA*psp1.10 + psp2.10 + psp3.10
    PSP.11 =~ NA*psp1.11 + psp2.11 + psp3.11
    # PSP 方差固定为1
    PSP.7 ~~ 1*PSP.7
    PSP.8 ~~ 1*PSP.8
    PSP.9 ~~ 1*PSP.9
    PSP.10 ~~ 1*PSP.10
    PSP.11 ~~ 1*PSP.11
    # SSA 因子载荷
    SSA.7 =~ NA*ssa1.7 + ssa2.7 + ssa3.7 + ssa4.7 + ssa5.7 + ssa6.7 + ssa7.7
    SSA.8 =~ NA*ssa1.8 + ssa2.8 + ssa3.8 + ssa4.8 + ssa5.8 + ssa6.8 + ssa7.8
    SSA.9 =~ NA*ssa1.9 + ssa2.9 + ssa3.9 + ssa4.9 + ssa5.9 + ssa6.9 + ssa7.9
    SSA.10 =~ NA*ssa1.10 + ssa2.10 + ssa3.10 + ssa4.10 + ssa5.10 + ssa6.10 +
    ssa7.10
    SSA.11 =~ NA*ssa1.11 + ssa2.11 + ssa3.11 + ssa4.11 + ssa5.11 + ssa6.11 +
    ssa7.11
    # SSA 固定方差为 1
    SSA.7 ~~ 1*SSA.7
    SSA.8 ~~ 1*SSA.8
    SSA.9 ~~ 1*SSA.9
    SSA.10 ~~ 1*SSA.10
    SSA.11 ~~ 1*SSA.11
    '

    同时我们还需要将残差方差进行设置:

    errorstructure <- 'psp1.7 ~~ psp1cov*psp1.8
    psp1.7 ~~ psp1cov*psp1.9
    psp1.7 ~~ psp1cov*psp1.10
    psp1.7 ~~ psp1cov*psp1.11
    psp1.8 ~~ psp1cov*psp1.9
    psp1.8 ~~ psp1cov*psp1.10
    psp1.8 ~~ psp1cov*psp1.11
    psp1.9 ~~ psp1cov*psp1.10
    psp1.9 ~~ psp1cov*psp1.11
    psp1.10 ~~ psp1cov*psp1.11
    
    psp2.7 ~~ psp2cov*psp2.8
    psp2.7 ~~ psp2cov*psp2.9
    psp2.7 ~~ psp2cov*psp2.10
    psp2.7 ~~ psp2cov*psp2.11
    psp2.8 ~~ psp2cov*psp2.9
    psp2.8 ~~ psp2cov*psp2.10
    psp2.8 ~~ psp2cov*psp2.11
    psp2.9 ~~ psp2cov*psp2.10
    psp2.9 ~~ psp2cov*psp2.11
    psp2.10 ~~ psp2cov*psp2.11
    
    psp3.7 ~~ psp3cov*psp3.8
    psp3.7 ~~ psp3cov*psp3.9
    psp3.7 ~~ psp3cov*psp3.10
    psp3.7 ~~ psp3cov*psp3.11
    psp3.8 ~~ psp3cov*psp3.9
    psp3.8 ~~ psp3cov*psp3.10
    psp3.8 ~~ psp3cov*psp3.11
    psp3.9 ~~ psp3cov*psp3.10
    psp3.9 ~~ psp3cov*psp3.11
    psp3.10 ~~ psp3cov*psp3.11
    
    ssa1.7 ~~ ssa1cov*ssa1.8
    ssa1.7 ~~ ssa1cov*ssa1.9
    ssa1.7 ~~ ssa1cov*ssa1.10
    ssa1.7 ~~ ssa1cov*ssa1.11
    ssa1.8 ~~ ssa1cov*ssa1.9
    ssa1.8 ~~ ssa1cov*ssa1.10
    ssa1.8 ~~ ssa1cov*ssa1.11
    ssa1.9 ~~ ssa1cov*ssa1.10
    ssa1.9 ~~ ssa1cov*ssa1.11
    ssa1.10 ~~ ssa1cov*ssa1.11
    
    ssa2.7 ~~ ssa2cov*ssa2.8
    ssa2.7 ~~ ssa2cov*ssa2.9
    ssa2.7 ~~ ssa2cov*ssa2.10
    ssa2.7 ~~ ssa2cov*ssa2.11
    ssa2.8 ~~ ssa2cov*ssa2.9
    ssa2.8 ~~ ssa2cov*ssa2.10
    ssa2.8 ~~ ssa2cov*ssa2.11
    ssa2.9 ~~ ssa2cov*ssa2.10
    ssa2.9 ~~ ssa2cov*ssa2.11
    ssa2.10 ~~ ssa2cov*ssa2.11
    
    ssa3.7 ~~ ssa3cov*ssa3.8
    ssa3.7 ~~ ssa3cov*ssa3.9
    ssa3.7 ~~ ssa3cov*ssa3.10
    ssa3.7 ~~ ssa3cov*ssa3.11
    ssa3.8 ~~ ssa3cov*ssa3.9
    ssa3.8 ~~ ssa3cov*ssa3.10
    ssa3.8 ~~ ssa3cov*ssa3.11
    ssa3.9 ~~ ssa3cov*ssa3.10
    ssa3.9 ~~ ssa3cov*ssa3.11
    ssa3.10 ~~ ssa3cov*ssa3.11
    
    ssa4.7 ~~ ssa4cov*ssa4.8
    ssa4.7 ~~ ssa4cov*ssa4.9
    ssa4.7 ~~ ssa4cov*ssa4.10
    ssa4.7 ~~ ssa4cov*ssa4.11
    ssa4.8 ~~ ssa4cov*ssa4.9
    ssa4.8 ~~ ssa4cov*ssa4.10
    ssa4.8 ~~ ssa4cov*ssa4.11
    ssa4.9 ~~ ssa4cov*ssa4.10
    ssa4.9 ~~ ssa4cov*ssa4.11
    ssa4.10 ~~ ssa4cov*ssa4.11
    
    ssa5.7 ~~ ssa5cov*ssa5.8
    ssa5.7 ~~ ssa5cov*ssa5.9
    ssa5.7 ~~ ssa5cov*ssa5.10
    ssa5.7 ~~ ssa5cov*ssa5.11
    ssa5.8 ~~ ssa5cov*ssa5.9
    ssa5.8 ~~ ssa5cov*ssa5.10
    ssa5.8 ~~ ssa5cov*ssa5.11
    ssa5.9 ~~ ssa5cov*ssa5.10
    ssa5.9 ~~ ssa5cov*ssa5.11
    ssa5.10 ~~ ssa5cov*ssa5.11
    
    ssa6.7 ~~ ssa6cov*ssa6.8
    ssa6.7 ~~ ssa6cov*ssa6.9
    ssa6.7 ~~ ssa6cov*ssa6.10
    ssa6.7 ~~ ssa6cov*ssa6.11
    ssa6.8 ~~ ssa6cov*ssa6.9
    ssa6.8 ~~ ssa6cov*ssa6.10
    ssa6.8 ~~ ssa6cov*ssa6.11
    ssa6.9 ~~ ssa6cov*ssa6.10
    ssa6.9 ~~ ssa6cov*ssa6.11
    ssa6.10 ~~ ssa6cov*ssa6.11
    
    ssa7.7 ~~ ssa7cov*ssa7.8
    ssa7.7 ~~ ssa7cov*ssa7.9
    ssa7.7 ~~ ssa7cov*ssa7.10
    ssa7.7 ~~ ssa7cov*ssa7.11
    ssa7.8 ~~ ssa7cov*ssa7.9
    ssa7.8 ~~ ssa7cov*ssa7.10
    ssa7.8 ~~ ssa7cov*ssa7.11
    ssa7.9 ~~ ssa7cov*ssa7.10
    ssa7.9 ~~ ssa7cov*ssa7.11
    ssa7.10 ~~ ssa7cov*ssa7.11'
    
    
    ```

    设定好模型后我们就可以跑我们的验证性因子分析了:

    configural.model <- paste(configural.v1, errorstructure, sep = ' ', collapse
    = NULL)
    configural.fit <- cfa(configural.model,
     data = model.test.dat,
     estimator = "MLR",
     se = "robust",
     missing = "ML",
     std.lv = TRUE)

    纵览上面的模型设定,我们的模型中factor loadings, item intercepts, and residual variances都是可以自由估计的,所以如果上面的模型拟合不错,我们就可以认为我们的数据达到了最低水平的测量不变性,即构形不变性configural invariance。

    运行上面的代码,输出结果如下:

    文献解读:纵向数据的测量不变性和交叉滞后模型(一)

     

    结果很棒,说明我们的数据构型不变性确实是达到了,我们才仅仅做完了第一步,还有很多步骤呢,文章太长了,期待下一篇吧。

    小结

    本来准备给大家写交叉滞后模型的,没办法太长了,今天给大家写了纵向数据的测量不变性,而且还没写完,就这样吧,下一篇文章接着写。

    感谢大家耐心看完,自己的文章都写的很细,代码都在原文中,希望大家都可以自己做一做,请关注后私信回复“数据链接”获取所有数据和本人收集的学习资料。如果对您有用请先收藏,再点赞转发。

    也欢迎大家的意见和建议,大家想了解什么统计方法都可以在文章下留言,说不定我看见了就会给你写教程哦。

    如果你是一个大学本科生或研究生,如果你正在因为你的统计作业、数据分析、论文、报告、考试等发愁,如果你在使用SPSS,R,Python,Mplus, Excel中遇到任何问题,都可以联系我。因为我可以给您提供好的,详细和耐心的数据分析服务。

    如果你对Z检验,t检验,方差分析,多元方差分析,回归,卡方检验,相关,多水平模型,结构方程模型,中介调节,量表信效度等等统计技巧有任何问题,请私信我,获取详细和耐心的指导。

    If you are a student and you are worried about you statistical #Assignments, #Data #Analysis, #Thesis, #reports, #composing, #Quizzes, Exams.. And if you are facing problem in #SPSS, #R-Programming, #Excel, Mplus, then contact me. Because I could provide you the best services for your Data Analysis.

    Are you confused with statistical Techniques like z-test, t-test, ANOVA, MANOVA, Regression, Logistic Regression, Chi-Square, Correlation, Association, SEM, multilevel model, mediation and moderation etc. for your Data Analysis...??

    Then Contact Me. I will solve your Problem...

    加油吧,打工人!

    猜你喜欢:

    文献解析:结构方程模型的基础知识

    R数据分析:结构方程模型画图以及模型比较,实例操练

    R数据分析:生存分析的做法和结果解释

    R数据分析:用R语言做潜类别分析LCA

    R数据分析:非专业解说潜变量增长模型

    R数据分析:如何做潜在剖面分析Mplus

    R数据分析:潜在剖面分析LPA的做法与解释

    数据分析:顶级期刊文章的潜在剖面分析如何用Mplus 实现

    Mplus数据分析:潜在类别分析(LCA)流程(详细版)

    展开全文
  • MoGP:稀疏纵向数据的高斯过程模型的混合 背景 MoGP是一个灵活的框架,可用于对纵向数据进行聚类以识别轨迹模式 该模型利用了两种贝叶斯非参数方法: 高斯过程回归:从数据中学习轨迹,使模型能够捕获各种各样的...
  • 针对纵向数据集的数据特征,如多维、含缺失值、序列不等间隔和不全等长等特点,研究一种基于Eros距离的纵向数据的相似性度量方法,并对模糊C均值聚类算法进行改进,提出一种基于Eros距离度量的模糊聚类数据处理方法...
  • 基于边坡位移监测数据满足纵向数据部分线性模型的假定,采用广义最小二乘法求得回归系数和回归函数,应用B样条法对坡表水平位移和观测时间进行回归分析,得到纵向数据部分线性模型函数.然后将该函数依泰勒级数展开并...
  • 纵向数据包含离群值时,已知经典最小二乘法不可靠。 为了解决此问题,已经针对纵向数据研究了带有调整参数的指数平方损失(ESL)函数。 但是,据我们所知,在使用ESL函数对纵向数据进行均值-协方差回归分析的框架...
  • 基于纵向数据与多重共线性数据的神经网络与传统方法比较.pdf
  • SPSS数据格式转换分为两种情况:横向格式转纵向格式,纵向格式转横向格式。 横向格式转纵向格式其实是将变量转换为个案;纵向格式转横向格式是将个案转换为变量。在纵向格式转换为横向格式的过程中,我遇到了转换后...

        SPSS数据格式转换分为两种情况:横向格式转纵向格式,纵向格式转横向格式。

        横向格式转纵向格式其实是将变量转换为个案;纵向格式转横向格式是将个案转换为变量。在纵向格式转换为横向格式的过程中,我遇到了转换后的变量总是不是自己想要的结果。接下来介绍具体操做。

        原始的纵向格式数据如下:

    目标结果:

    操做步骤及注意事项:

    1

    2

     

    3

     

    在这里,如果不选择索引变量,最终转换的结果将不会出现我们想要的结果。可能的转换结果如下。

        结果并没有那么简洁明了。

    5

     选择按原始变量分组也能得到想要的结果。

    6

    展开全文
  • 基于Eros距离的纵向数据模糊聚类方法.pdf
  • MySQL交叉表:纵向数据显示为横向

    千次阅读 2017-09-06 18:45:36
     最近在处理一些数据,要实现纵向数据横向显示的效果,在百度花费多个小时东征西伐南讨北战之后,终于找到一个概括的较为详尽的文章,特地转载过来以便更多的人解决相关问题,希望原作者不要介怀。  在某些数据库...

    原文地址:https://my.oschina.net/MiniBu/blog/83233

     最近在处理一些数据,要实现纵向数据横向显示的效果,在百度花费多个小时东征西伐南讨北战之后,终于找到一个概括的较为详尽的文章,特地转载过来以便更多的人解决相关问题,希望原作者不要介怀。

        在某些数据库中有交叉表,但在MySQL中却没有这个功能,但网上看到有不少朋友想找出一个解决方法,特发贴集思广义。http://topic.csdn.net/u/20090530/23/0b782674-4b0b-4cf5-bc1a-e8914aaee5ab.html?96198

    现整理解法如下: 

    数据样本:

    create table tx( 
     id int primary key, 
     c1 char(2), 
     c2 char(2), 
     c3 int 
    );

    insert into tx values 
    (1 ,'A1','B1',9), 
    (2 ,'A2','B1',7), 
    (3 ,'A3','B1',4), 
    (4 ,'A4','B1',2), 
    (5 ,'A1','B2',2), 
    (6 ,'A2','B2',9), 
    (7 ,'A3','B2',8), 
    (8 ,'A4','B2',5), 
    (9 ,'A1','B3',1), 
    (10 ,'A2','B3',8), 
    (11 ,'A3','B3',8), 
    (12 ,'A4','B3',6), 
    (13 ,'A1','B4',8), 
    (14 ,'A2','B4',2), 
    (15 ,'A3','B4',6), 
    (16 ,'A4','B4',9), 
    (17 ,'A1','B4',3), 
    (18 ,'A2','B4',5), 
    (19 ,'A3','B4',2), 
    (20 ,'A4','B4',5); 

    mysql> select * from tx;
    +----+------+------+------+
    | id | c1   | c2   | c3   |
    +----+------+------+------+
    |  1 | A1   | B1   |    9 |
    |  2 | A2   | B1   |    7 |
    |  3 | A3   | B1   |    4 |
    |  4 | A4   | B1   |    2 |
    |  5 | A1   | B2   |    2 |
    |  6 | A2   | B2   |    9 |
    |  7 | A3   | B2   |    8 |
    |  8 | A4   | B2   |    5 |
    |  9 | A1   | B3   |    1 |
    | 10 | A2   | B3   |    8 |
    | 11 | A3   | B3   |    8 |
    | 12 | A4   | B3   |    6 |
    | 13 | A1   | B4   |    8 |
    | 14 | A2   | B4   |    2 |
    | 15 | A3   | B4   |    6 |
    | 16 | A4   | B4   |    9 |
    | 17 | A1   | B4   |    3 |
    | 18 | A2   | B4   |    5 |
    | 19 | A3   | B4   |    2 |
    | 20 | A4   | B4   |    5 |
    +----+------+------+------+
    20 rows in set (0.00 sec)

    mysql>

    期望结果

    +------+-----+-----+-----+-----+------+
    |C1    |B1   |B2   |B3   |B4   |Total |
    +------+-----+-----+-----+-----+------+
    |A1    |9    |2    |1    |11   |23    |
    |A2    |7    |9    |8    |7    |31    |
    |A3    |4    |8    |8    |8    |28    |
    |A4    |2    |5    |6    |14   |27    |
    |Total |22   |24   |23   |40   |109   |
    +------+-----+-----+-----+-----+------+

     

    1. 利用SUM(IF()) 生成列 + WITH ROLLUP 生成汇总行,并利用 IFNULL将汇总行标题显示为 Total

    mysql> SELECT
        ->     IFNULL(c1,'total') AS total,
        ->     SUM(IF(c2='B1',c3,0)) AS B1,
        ->     SUM(IF(c2='B2',c3,0)) AS B2,
        ->     SUM(IF(c2='B3',c3,0)) AS B3,
        ->     SUM(IF(c2='B4',c3,0)) AS B4,
        ->     SUM(IF(c2='total',c3,0)) AS total
        -> FROM (
        ->     SELECT c1,IFNULL(c2,'total') AS c2,SUM(c3) AS c3
        ->     FROM tx
        ->     GROUP BY c1,c2
        ->     WITH ROLLUP
        ->     HAVING c1 IS NOT NULL
        -> ) AS A
        -> GROUP BY c1
        -> WITH ROLLUP;
    +-------+------+------+------+------+-------+
    | total | B1   | B2   | B3   | B4   | total |
    +-------+------+------+------+------+-------+
    | A1    |    9 |    2 |    1 |   11 |    23 |
    | A2    |    7 |    9 |    8 |    7 |    31 |
    | A3    |    4 |    8 |    8 |    8 |    28 |
    | A4    |    2 |    5 |    6 |   14 |    27 |
    | total |   22 |   24 |   23 |   40 |   109 |
    +-------+------+------+------+------+-------+
    5 rows in set, 1 warning (0.00 sec)

     

     

    2. 利用SUM(IF()) 生成列 + UNION 生成汇总行,并利用 IFNULL将汇总行标题显示为 Total
    mysql> select c1,
        -> sum(if(c2='B1',C3,0)) AS B1,
        -> sum(if(c2='B2',C3,0)) AS B2,
        -> sum(if(c2='B3',C3,0)) AS B3,
        -> sum(if(c2='B4',C3,0)) AS B4,SUM(C3) AS TOTAL
        -> from tx
        -> group by C1
        -> UNION
        -> SELECT 'TOTAL',sum(if(c2='B1',C3,0)) AS B1,
        -> sum(if(c2='B2',C3,0)) AS B2,
        -> sum(if(c2='B3',C3,0)) AS B3,
        -> sum(if(c2='B4',C3,0)) AS B4,SUM(C3) FROM TX
        -> ;
    +-------+------+------+------+------+-------+
    | c1    | B1   | B2   | B3   | B4   | TOTAL |
    +-------+------+------+------+------+-------+
    | A1    |    9 |    2 |    1 |   11 |    23 |
    | A2    |    7 |    9 |    8 |    7 |    31 |
    | A3    |    4 |    8 |    8 |    8 |    28 |
    | A4    |    2 |    5 |    6 |   14 |    27 |
    | TOTAL |   22 |   24 |   23 |   40 |   109 |
    +-------+------+------+------+------+-------+
    5 rows in set (0.00 sec)

    mysql>

     

    3.  利用SUM(IF()) 生成列,直接生成结果不再利用子查询
    mysql> select ifnull(c1,'total'),
        -> sum(if(c2='B1',C3,0)) AS B1,
        -> sum(if(c2='B2',C3,0)) AS B2,
        -> sum(if(c2='B3',C3,0)) AS B3,
        -> sum(if(c2='B4',C3,0)) AS B4,SUM(C3) AS TOTAL
        -> from tx
        -> group by C1 with rollup ;
    +--------------------+------+------+------+------+-------+
    | ifnull(c1,'total') | B1   | B2   | B3   | B4   | TOTAL |
    +--------------------+------+------+------+------+-------+
    | A1                 |    9 |    2 |    1 |   11 |    23 |
    | A2                 |    7 |    9 |    8 |    7 |    31 |
    | A3                 |    4 |    8 |    8 |    8 |    28 |
    | A4                 |    2 |    5 |    6 |   14 |    27 |
    | total              |   22 |   24 |   23 |   40 |   109 |
    +--------------------+------+------+------+------+-------+
    5 rows in set (0.00 sec)

    mysql>


    4. 动态,适用于列不确定情况,

    mysql> SET @EE=''; 
    mysql> SELECT @EE:=CONCAT(@EE,'SUM(IF(C2=/'',C2,'/'',',C3,0)) AS ',C2,',') FROM (SELECT DISTINCT C2 FROM TX) A; 

    mysql> SET @QQ=CONCAT('SELECT ifnull(c1,/'total/'),',LEFT(@EE,LENGTH(@EE)-1),' ,SUM(C3) AS TOTAL FROM TX GROUP BY C1 WITH ROLLUP');
    Query OK, 0 rows affected (0.00 sec)

    mysql> PREPARE stmt2 FROM @QQ;
    Query OK, 0 rows affected (0.00 sec)
    Statement prepared

    mysql> EXECUTE stmt2;
    +--------------------+------+------+------+------+-------+
    | ifnull(c1,'total') | B1   | B2   | B3   | B4   | TOTAL |
    +--------------------+------+------+------+------+-------+
    | A1                 |    9 |    2 |    1 |   11 |    23 |
    | A2                 |    7 |    9 |    8 |    7 |    31 |
    | A3                 |    4 |    8 |    8 |    8 |    28 |
    | A4                 |    2 |    5 |    6 |   14 |    27 |
    | total              |   22 |   24 |   23 |   40 |   109 |
    +--------------------+------+------+------+------+-------+
    5 rows in set (0.00 sec)

    mysql>

     

    以上均由网友  liangCK , wwwwb , WWWWA , dap570 提供, 再次感谢他们的支持。

     

    其实数据库中也可以用 CASE WHEN / DECODE 代替 IF。


    展开全文
  • 纵向数据分析方法在研究听力阈值演变中的应用 研究背景: 这项研究涉及纵向数据分析方法在不固定和/或不等间隔的时间点上导致不平衡设计的连续结果的应用。 结果是在500 Hz,1000 Hz的频率下对两只耳朵(左和右)的...
  • 纵向数据与生存数据的联合模型—基于机器学习方法.pdf
  • 应用纵向数据分析:2021年SpringHertie School的课程材料 Michaela Kreyenfeld教授 术语和数据 Kaplan-Meier生存曲线 早期人生历程中的转变 对数秩检验 性别与家庭行为 事件历史记录模型 失业的动因 互动互动 以后...
  • 基于广义估计方程和二次推断函数方法,提出了纠偏的广义经验似然方法对纵向数据单指标模型进行统计推断,获得了模型中指标参数分量的极大经验似然估计和纠偏的广义经验对数似然比统计量。证明了相关估计量在一定条件下...
  • 根据戒毒中心疗效的多元纵向数据为其建立了统计模型.对观测到的多元纵向数据建立了关于潜在变量的回归模型,由于潜在变量代表治疗效果,而且随着时间间隔的增大,其相关性逐渐减弱,所以对潜在变量建立一阶马氏链的...
  • 将下面的这个表格的数据进行转化 转变形式为这种: OK,我承认,我当时感觉特别的紧张,直接不知道代码怎么去写。 面试的时候我还是想了一种方法,我说我会新建两个字典来分别存储brand和product的数据,之后...
  • 分析了纵向数据的本质特点,对纵向数据常用的参数分析方法的优劣进行了比较。
  • 考虑误差为α-混合序列下的纵向数据半参数回归模型.基于广义最小二乘法和非参数权函数方法分别给出了模型中未知参数β和未知函数g(・)的估计.在适当条件下,证明了β和g(・)的估计量的均方相合性.

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 107,144
精华内容 42,857
关键字:

纵向数据