精华内容
下载资源
问答
  • 最近问纵向数据分析的同学贼多,像潜增长,GEE,多水平,之前都有写,今天偷空出个简易的交叉滞后教程哈,大家只要遇到像causal models,cross- lagged panel models,linear panel models 和autoregres-sive cross-...

    最近问纵向数据分析的同学贼多,像潜增长,GEE,多水平,之前都有写,今天偷空出个简易的交叉滞后教程哈,大家只要遇到像causal models,cross- lagged panel models,linear panel models 和autoregres-sive cross- lagged models 这些,都要反应过来他们都是一个东西,都叫面板模型,统一的数据特点就是把变量纵向测量很多波,然后想探讨变量间的关系,最简单的情形就是两波的时候啦,如下图:

    R数据分析:交叉滞后模型基础与实例解析

    我们看着这个图,可以自然而然地写出来这两个方程:

    R数据分析:交叉滞后模型基础与实例解析

    上面式子中的β1和β3叫做自相关系数,描述了此构象的稳定性。越大越稳定,很好理解哈。

    β2和β4叫做交叉滞后系数,表示一个构象对滞后的另外一个构象的作用。这个系数是在控制自身预测作用后体现出来的一个变量对滞后一期的另外一个变量的作用,所以叫做滞后效应,其相对于传统回归的优势就在于其控制了自回归效应,然后在面板数据中我们既可以让x1影响y2,也可以让y1影响x2,图中就有一个交叉,所以就叫交叉滞后模型

    The fact that prior levels of the outcome construct are controlled for allows one to rule out the possibility that a cross-lagged effect is due simply to the fact that X and Y were correlated at time 1.

    当然啦,上面的例子都是两个构象和两个时点的情况,该模型也可以延伸到多个构象和多个时间点,相应的系数都是一个意思。

    The preceding model can be extended to more than two occasions and more than two constructs. The autoregressive and cross-lagged effects retain the same meaning.

    交叉滞后的优势

    搞纵向数据的时候我们其实是需要一个变量随时间变化的假设或者理论的,但是交叉滞后模型并没有这个一个假设,我们只是单纯地将自回归效应加进去而已,所以有人其实是不赞成这种方法,反而更加倾向于潜增长或者GEE等明确变异关系的方法:

    path models, such as the panel model,should be avoided because they do not begin with an explicit statement of the expected change process

    但是对变量间的具体变化并不关心的时候,交叉滞后不失为一种好方法,好处体现在:

    • 对相互作用(Reciprocal Effects)的研究上

    相互影响的关系其实是很多的,比如母亲和子代相互影响,人和环境相互影响等等,交叉滞后模型可以让这种关系的研究变得更容易,比如你可以很容易地通过交叉滞后模型知道到底是x在影响y还是y在影响x,或者是相互都有影响,以及每个路径的强度:

    Results from a panel analysis can be used to determine whether cross-lagged effects occur in both directions (i.e., whether X1 predicts Y2 and Y1 predicts X2) and to assess the relative strength of the cross-lagged effects. For example, data based on the observation of a parent–child dyad could be analyzed to see whether a parent’s behavior affects the child’s subsequent behavior or the child’s behavior affects the parent’s subsequent behavior and even to see which of the two cross-lagged effects is stronger.

    • 对中介效应(Mediation)的研究上

    很多人都是随便拉3个有关系的变量就开始做中介,这个不好评价,水水论文嘛,但是更好更清晰地说明中介效应的存在,应该使用面板数据的分析:

    The longitudinal nature of the data from the panel design provides an advantage over mediation models estimated using cross-sectional data

    • 对调节效应(Moderation)的研究上

    通常我们检验调节作用的方法是将自变量和调节变量的积放在回归模型中,这种情况只适用于显变量的时候,如果你的调节变量是个潜变量使用交叉滞后面板模型就会更加容易。

    交叉滞后中的测量不变性

    测量不变性之前文章有写,这个不是说我们要测定构象是不变化的,而是评估我们测量真实性的一个指标:

    It addresses only the equivalence of measurement of the construct to ensure that the differences in the constructs are true differences

    测量不变性的基本逻辑在于:如果一个构象随时间改变,那么它所有的显变量都应该是向同一个方向改变同样的数量:

    The basic idea of factorial invariance is that if the construct changes over time, then this change is conveyed as changes in all the indicators in the same direction and the same amount.

    如果显变量的改变出了矛盾的情况就说明测量不变性不再满足,需要注意的是测量不变性是对潜变量而言的,在只有显变量的结构模型中是没有测量不变性的

    交叉滞后面板模型和因果推断

    一段时间以来,人们会想当然地说面板可以说明因果关系,因为面板模型它测量了很多波数据,满足两个很重要的因果推断的前提,一个是时间先后,一个是对自身和其余混杂的控制:

    Two fundamental aspects of causal inference:

    First, by measuring putative causes prior to the effects, temporal precedence of the cause is supported, and

    Second, by simultaneously modeling the unique effect of several causes, it may be possible to support a causal explanation of one variable over another.

    但是仅凭面板数据推因果也是有问题的,首先你是不能独立地操纵你所谓的原因变量的,你没法检验,第二有可能你会忽略了其它的预测因子,所以使用交叉滞后模型做因果推论也是需要谨慎的:

    the putative causes often cannot be manipulated or cannot be manipulated independently from other variables in the model. In addition,proper causal inference rests on model assumptions such as including all relevant predictors.As noted earlier, this assumption can be difficult to establish.

    总的评价就是这个方法可以作为提示因果关系的尝试,但是下因果结论是要审慎的。

    交叉滞后的时间间隔

    通常情况下我们的数据都是等时间间隔的,比如每隔3个月测一次,每隔2周测一次,这种等时间间隔蕴含这一个假设就是x对y的滞后效应和y对x的滞后效应都是等时间间隔的:

    Most panel designs measure all variables on a fixed lag schedule. The fact that all variables are measured at the same time implicitly assumes that the time for the cross-lagged effect of X on Y and Y on X is the same

    这个假设一定对吗?不好说

    所以大家在选择随访时间的时候也需要注意间隔,至少你得提前找找参考文献嘛。

    实例解析

    在这个例子中我想要研究母亲的抑郁症状和孩子的内化问题之间的关系,现在的文献中有两种观点:一种是抑郁母亲的孩子更容易有问题,另一种是有问题的孩子的母亲会更容易抑郁,到底哪种对呢?

    今天就用交叉滞后面板模型来解决这个问题,我们的数据中抑郁是用21条目的CES-D测的,孩子的内化问题用的是CBCL测得的,在做结构模型之前我们得验证数据的测量不变性(见之前的文章:文献解读:纵向数据的测量不变性和交叉滞后模型(一) 文献解读:纵向数据的测量不变性和交叉滞后模型(二) )结果如下:

    R数据分析:交叉滞后模型基础与实例解析

    交叉滞后分析的结果如下图(p均<0.01),可以用lavaan做,也可以用Mplus做:

    R数据分析:交叉滞后模型基础与实例解析

    从结果数据中可以看到构象间的稳定性还是不错的,母亲抑郁对孩子问题的滞后效应是显著的0.12,就是说在控制了孩子之前问题水平的情况下,母亲越抑郁,孩子就越容易有问题;同时,孩子问题对母亲抑郁也有滞后效应0.2,就是说在控制了母亲先前抑郁水平的时候,有问题的孩子的母亲依然更加容易抑郁。

    就是说母亲抑郁和孩子问题是相互的--reciprocity

    所以忙活了半天,交叉滞后模型依然没能给我们提示准确的因果方向

    Consistent with our previous discussion of the use of panel models for causal inference,we do not see these results as support for a causal effect of maternal depressive symptoms on child internalizing behavior or of child internalizing behavior on maternal depressive symptoms.

    这个也是可以接受或解释的:毕竟我们只考虑了两个变量嘛。

    The present analyses identify an interesting association that warrants further research, but with only two variables in the model and given the impossibility of manipulating either maternal depressive symptoms or child internalizing behavior, the results should not be used to bolster a causal claim without further supporting evidence.

    本文参考文献:

    • Selig, James & Little, Todd. (2012). Autoregressive and cross-lagged panel analysis for longitudinal data.
    • Little, Todd & Preacher, K & Selig, James & Card, N. (2007). New developments in latent variable panel analyses of longitudinal data. International Journal of Behavioral Development. 31. 357-365.

    小结

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

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

    往期精彩

    R数据分析:交叉滞后模型非专业解释

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

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

    R数据分析:再写stargazer包,如何输出漂亮的表格

    R数据分析:如何用R做数据模拟

    R数据分析:ROC曲线与模型评价实例

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

    R可视化:如何用R做一个让别人一目了然的图

    R数据分析:用R语言做meta分析

    R数据分析:使用R语言进行卡方检验

    R数据分析:如何在R中使用mutate

    R数据分析:著名的“三门问题”的R语言模拟

    R语言:利用caret的dummyVars函数设置虚拟变量

    R数据分析:贝叶斯定理的R语言模拟

    R文本挖掘:情感分析

    R数据分析:如何用R做验证性因子分析及画图,实例操练

    R数据分析:有调节的中介

    R数据分析:如何用R做多重插补,实例操练

    R数据分析:倾向性评分匹配完整实例(R实现)

    R数据分析:如何用R语言做meta分析,写给小白

    展开全文
  • 接着之前的文章文献解读:纵向数据的测量不变性和交叉滞后模型(一) 我们今天继续文献解读,上次说到了我们通过验证性因子分析已经得到我们的数据是符合构形不变性的,我们可以继续检验测量不变性的下一个水平单位...

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

    我们今天继续文献解读,上次说到了我们通过验证性因子分析已经得到我们的数据是符合构形不变性的,我们可以继续检验测量不变性的下一个水平单位等值(Metric invariance)。

    单位等值(Metric invariance)设定

    上篇文章已经讲了,单位等值这个水平要求测量因子与条目之间的关系——因子负荷(factor loading)是相等的,所以我们需要在之前模型的基础上再将所有不同时间相同因子的载荷设置为一样,代码如下:

    metric.v1 <-
    '
    # PSP 因子载荷
    
    PSP.7 =~ psp1f*psp1.7 + psp2f*psp2.7 + psp3f*psp3.7
    PSP.8 =~ psp1f*psp1.8 + psp2f*psp2.8 + psp3f*psp3.8
    PSP.9 =~ psp1f*psp1.9 + psp2f*psp2.9 + psp3f*psp3.9
    PSP.10 =~ psp1f*psp1.10 + psp2f*psp2.10 + psp3f*psp3.10
    PSP.11 =~ psp1f*psp1.11 + psp2f*psp2.11 + psp3f*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 =~ ssa1f*ssa1.7 + ssa2f*ssa2.7 + ssa3f*ssa3.7 + 
             ssa4f*ssa4.7 + ssa5f*ssa5.7 + ssa6f*ssa6.7 + ssa7f*ssa7.7
             
    SSA.8 =~ ssa1f*ssa1.8 + ssa2f*ssa2.8 + ssa3f*ssa3.8 + 
             ssa4f*ssa4.8 + ssa5f*ssa5.8 + ssa6f*ssa6.8 + ssa7f*ssa7.8
             
    SSA.9 =~ ssa1f*ssa1.9 + ssa2f*ssa2.9 + ssa3f*ssa3.9 + 
             ssa4f*ssa4.9 + ssa5f*ssa5.9 + ssa6f*ssa6.9 + ssa7f*ssa7.9
             
    SSA.10 =~ ssa1f*ssa1.10 + ssa2f*ssa2.10 + ssa3f*ssa3.10 + 
              ssa4f*ssa4.10 + ssa5f*ssa5.10 + ssa6f*ssa6.10 + ssa7f*ssa7.10
              
    SSA.11 =~ ssa1f*ssa1.11 + ssa2f*ssa2.11 + ssa3f*ssa3.11 + 
              ssa4f*ssa4.11 + ssa5f*ssa5.11 + ssa6f*ssa6.11 + ssa7f*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
    '
    metric.model <- paste(metric.v1, errorstructure, sep = ' ', collapse = NULL)

    大家注意,在上面的模型设定中我们通过使用相同的标签使得不同时间测量数据的因子载荷相同。拟合这个模型我们就可以得到相应的拟合指数,但是我先不拟合,我把其他两个测量不变性的水平先设定好,然后直接作比较就行。

    尺度等值(Scalar invariance)设定

    尺度等值要求因子载荷和条目截距在不同时间的测量中相同,所以我们需要进一步在单位等值的基础上将条目截距限制住。

    代码如下:

    scalar.v1 <-
    '
    # 固定条目截距
    
    psp1.7 ~ psp1i*1
    psp1.8 ~ psp1i*1
    psp1.9 ~ psp1i*1
    psp1.10 ~ psp1i*1
    psp1.11 ~ psp1i*1
    
    psp2.7 ~ psp2i*1
    psp2.8 ~ psp2i*1
    psp2.9 ~ psp2i*1
    psp2.10 ~ psp2i*1
    psp2.11 ~ psp2i*1
    
    psp3.7 ~ psp3i*1
    psp3.8 ~ psp3i*1
    psp3.9 ~ psp3i*1
    psp3.10 ~ psp3i*1
    psp3.11 ~ psp3i*1
    
    ssa1.7 ~ ssa1i*1
    ssa1.8 ~ ssa1i*1
    ssa1.9 ~ ssa1i*1
    ssa1.10 ~ ssa1i*1
    ssa1.11 ~ ssa1i*1
    
    ssa2.7 ~ ssa2i*1
    ssa2.8 ~ ssa2i*1
    ssa2.9 ~ ssa2i*1
    ssa2.10 ~ ssa2i*1
    ssa2.11 ~ ssa2i*1
    
    ssa3.7 ~ ssa3i*1
    ssa3.8 ~ ssa3i*1
    ssa3.9 ~ ssa3i*1
    ssa3.10 ~ ssa3i*1
    ssa3.11 ~ ssa3i*1
    
    ssa4.7 ~ ssa4i*1
    ssa4.8 ~ ssa4i*1
    ssa4.9 ~ ssa4i*1
    ssa4.10 ~ ssa4i*1
    ssa4.11 ~ ssa4i*1
    
    ssa5.7 ~ ssa5i*1
    ssa5.8 ~ ssa5i*1
    ssa5.9 ~ ssa5i*1
    ssa5.10 ~ ssa5i*1
    ssa5.11 ~ ssa5i*1
    
    ssa6.7 ~ ssa6i*1
    ssa6.8 ~ ssa6i*1
    ssa6.9 ~ ssa6i*1
    ssa6.10 ~ ssa6i*1
    ssa6.11 ~ ssa6i*1
    
    ssa7.7 ~ ssa7i*1
    ssa7.8 ~ ssa7i*1
    ssa7.9 ~ ssa7i*1
    ssa7.10 ~ ssa7i*1
    ssa7.11 ~ ssa7i*1
    '
    scalar.model <- paste(metric.v1, errorstructure, scalar.v1, sep = ' ', collapse = NULL)

    大家注意,固定条目截距是通过一个标签*1实现的。

    严格等值( Strict Invariance)设定

    最后一个水平就是严格等值,我们需要在尺度等值的基础上让因子预测条目的残差在不同时间的测量中相等。

    代码如下:

    residual.v1 <-
    '
    # 将不同时间测量的残差固定
    
    psp1.7 ~~ psp1u*psp1.7
    psp1.8 ~~ psp1u*psp1.8
    psp1.9 ~~ psp1u*psp1.9
    psp1.10 ~~ psp1u*psp1.10
    psp1.11 ~~ psp1u*psp1.11
    
    psp2.7 ~~ psp2u*psp2.7
    psp2.8 ~~ psp2u*psp2.8
    psp2.9 ~~ psp2u*psp2.9
    psp2.10 ~~ psp2u*psp2.10
    psp2.11 ~~ psp2u*psp2.11
    
    psp3.7 ~~ psp3u*psp3.7
    psp3.8 ~~ psp3u*psp3.8
    psp3.9 ~~ psp3u*psp3.9
    psp3.10 ~~ psp3u*psp3.10
    psp3.11 ~~ psp3u*psp3.11
    
    ssa1.7 ~~ ssa1u*ssa1.7
    ssa1.8 ~~ ssa1u*ssa1.8
    ssa1.9 ~~ ssa1u*ssa1.9
    ssa1.10 ~~ ssa1u*ssa1.10
    ssa1.11 ~~ ssa1u*ssa1.11
    
    ssa2.7 ~~ ssa2u*ssa2.7
    ssa2.8 ~~ ssa2u*ssa2.8
    ssa2.9 ~~ ssa2u*ssa2.9
    ssa2.10 ~~ ssa2u*ssa2.10
    ssa2.11 ~~ ssa2u*ssa2.11
    
    ssa3.7 ~~ ssa3u*ssa3.7
    ssa3.8 ~~ ssa3u*ssa3.8
    ssa3.9 ~~ ssa3u*ssa3.9
    ssa3.10 ~~ ssa3u*ssa3.10
    ssa3.11 ~~ ssa3u*ssa3.11
    
    ssa4.7 ~~ ssa4u*ssa4.7
    ssa4.8 ~~ ssa4u*ssa4.8
    ssa4.9 ~~ ssa4u*ssa4.9
    ssa4.10 ~~ ssa4u*ssa4.10
    ssa4.11 ~~ ssa4u*ssa4.11
    
    ssa5.7 ~~ ssa5u*ssa5.7
    ssa5.8 ~~ ssa5u*ssa5.8
    ssa5.9 ~~ ssa5u*ssa5.9
    ssa5.10 ~~ ssa5u*ssa5.10
    ssa5.11 ~~ ssa5u*ssa5.11
    
    ssa6.7 ~~ ssa6u*ssa6.7
    ssa6.8 ~~ ssa6u*ssa6.8
    ssa6.9 ~~ ssa6u*ssa6.9
    ssa6.10 ~~ ssa6u*ssa6.10
    ssa6.11 ~~ ssa6u*ssa6.11
    
    ssa7.7 ~~ ssa7u*ssa7.7
    ssa7.8 ~~ ssa7u*ssa7.8
    ssa7.9 ~~ ssa7u*ssa7.9
    ssa7.10 ~~ ssa7u*ssa7.10
    ssa7.11 ~~ ssa7u*ssa7.11
    
    '
    residual.model <- paste(metric.v1, errorstructure, scalar.v1, 
                            residual.v1, sep = ' ', collapse = NULL)

    大家注意,对于残差的固定也是通过标签实现的。

    模型选择

    到现在我们把我们的数据的测量不变性的4个水平都进行了设定,接下来要做的就是看看数据到底符合测量不变性的哪个水平。这个就叫做模型选择。

    round(cbind(configural.error=inspect(configural.fit, 'fit.measures'),
    			metric=inspect(metric.fit, 'fit.measures'),
    			scalar=inspect(scalar.fit, 'fit.measures'),
    			residual=inspect(residual.fit, 'fit.measures')),3)
    
    anova(configural.fit, metric.fit)
    anova(metric.fit, scalar.fit)
    anova(scalar.fit, residual.fit)

    注意对于模型之间的比较,我们用的是卡方检验。

    输出的结果汇总如下图

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

     

    从图中的结果就可以发现,我们的数据是符合严格等值的。严格等值同时也是最简约的模型。

    对于上面的模型拟合优度解读,再多说几句,首先是Δ卡方,这个指数是比较两个模型的loglikelihood的,比较的时候的统计量是Δ卡方,它是服从卡方分布的,p值大于0.05就说明两个模型没有显著性差异,这个时候我们就应该选择最简单的模型,所以,单看Δ卡方我们应该选择单位等值模型型。

    再看ΔAIC和ΔBIC这两个指标都是越小越好,一般两个模型的AIC或者BIC差异达到6我们就认为两模型有差异,这样的话看ΔAIC我们应该选择尺度等值,看ΔBIC的话我们应该选择严格等值。

    还有一个指标CFL,这个指标差异超过0.01才认为有显著差异,所以光看这个指标我们认为图中的模型3和模型4都是没有差异的,所以应该选择较为简洁的模型4。

    可以看到,模型拟合指数常常给出矛盾的结果,这个时候大家可以依照上面的判断方法自行选择。这也是作者给出的建议:

    In case of such potential conflicts, we therefore recommend the researcher decide which model aspect they deem most important (e.g., goodness of fit, number of estimated parameters, sample size), and decide a priori which fit index to use to determine their final model

    考虑到较多的指标都支持了严格等值模型,所以我们最终认为严格等值模型是最好的。

    接下来我们就可以拟合交叉滞后模型啦。

    传统交叉滞后模型

    首先我们拟合一个只能从时间t预测时间t+1的交叉滞后模型

    代码如下:

    sem.v1 <-
    '
    # 设定结构路径
    
    SSA.8 ~ A*SSA.7 + C*PSP.7
    PSP.8 ~ D*SSA.7 + B*PSP.7
    SSA.9 ~ A*SSA.8 + C*PSP.8
    PSP.9 ~ D*SSA.8 + B*PSP.8
    SSA.10 ~ A*SSA.9 + C*PSP.9
    PSP.10 ~ D*SSA.9 + B*PSP.9
    SSA.11 ~ A*SSA.10 + C*PSP.10
    PSP.11 ~ D*SSA.10 + B*PSP.10
    
    # 设定因子共变
    
    SSA.7 ~~ PSP.7
    SSA.8 ~~ PSP.8
    SSA.9 ~~ PSP.9
    SSA.10 ~~ PSP.10
    SSA.11 ~~ PSP.11
    '
    residual.sem.model <- paste(residual.model, sem.v1, sep = ' ', collapse = NULL)

    看结果:

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

     

    从图中看出,部分结果,比如说RMSEA其实不太好。

    这个模型的图示如下:

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

     

    因为这个模型把跨时间的预测关系固定为0了,所以不太好,提示我们有可能t时间的变量可能会预测t+2,或者t+3时间的变量。如果跨时预测成立有可能模型拟合就会更好,但这篇文章不做讨论。

    随机截距交叉滞后模型

    这个模型相比传统的交叉滞后来讲,主要变化有:

    • 略去了残差相关
    • 每个条目都加了随机截距
    • 随机截距之间可以共变
    • 因子可以跨时预测

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

     

    上图是一个带有随机截距的交叉滞后模型示意图。

    要拟合这么一个模型,代码如下:

    sem.v2 <-
    '
    # 给每个条目加随机截距
    
    RI.PSP1 =~ 1*psp1.7 + 1*psp1.8 + 1*psp1.9 + 1*psp1.10 + 1*psp1.11 
    RI.PSP2 =~ 1*psp2.7 + 1*psp2.8 + 1*psp2.9 + 1*psp2.10 + 1*psp2.11 
    RI.PSP3 =~ 1*psp3.7 + 1*psp3.8 + 1*psp3.9 + 1*psp3.10 + 1*psp3.11 
    
    RI.SSA1 =~ 1*ssa1.7 + 1*ssa1.8 + 1*ssa1.9 + 1*ssa1.10 + 1*ssa1.11 
    RI.SSA2 =~ 1*ssa2.7 + 1*ssa2.8 + 1*ssa2.9 + 1*ssa2.10 + 1*ssa2.11 
    RI.SSA3 =~ 1*ssa3.7 + 1*ssa3.8 + 1*ssa3.9 + 1*ssa3.10 + 1*ssa3.11 
    RI.SSA4 =~ 1*ssa4.7 + 1*ssa4.8 + 1*ssa4.9 + 1*ssa4.10 + 1*ssa4.11 
    RI.SSA5 =~ 1*ssa5.7 + 1*ssa5.8 + 1*ssa5.9 + 1*ssa5.10 + 1*ssa5.11 
    RI.SSA6 =~ 1*ssa6.7 + 1*ssa6.8 + 1*ssa6.9 + 1*ssa6.10 + 1*ssa6.11 
    RI.SSA7 =~ 1*ssa7.7 + 1*ssa7.8 + 1*ssa7.9 + 1*ssa7.10 + 1*ssa7.11 
    
    # 固定载荷,不同时间载荷一样
    
    PSP.7 =~ psp1f*psp1.7 + psp2f*psp2.7 + psp3f*psp3.7
    PSP.8 =~ psp1f*psp1.8 + psp2f*psp2.8 + psp3f*psp3.8
    PSP.9 =~ psp1f*psp1.9 + psp2f*psp2.9 + psp3f*psp3.9
    PSP.10 =~ psp1f*psp1.10 + psp2f*psp2.10 + psp3f*psp3.10
    PSP.11 =~ psp1f*psp1.11 + psp2f*psp2.11 + psp3f*psp3.11
    
    # 固定方差为 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.7 =~ ssa1f*ssa1.7 + ssa2f*ssa2.7 + ssa3f*ssa3.7 + 
             ssa4f*ssa4.7 + ssa5f*ssa5.7 + ssa6f*ssa6.7 + ssa7f*ssa7.7
             
    SSA.8 =~ ssa1f*ssa1.8 + ssa2f*ssa2.8 + ssa3f*ssa3.8 + 
             ssa4f*ssa4.8 + ssa5f*ssa5.8 + ssa6f*ssa6.8 + ssa7f*ssa7.8
             
    SSA.9 =~ ssa1f*ssa1.9 + ssa2f*ssa2.9 + ssa3f*ssa3.9 + 
             ssa4f*ssa4.9 + ssa5f*ssa5.9 + ssa6f*ssa6.9 + ssa7f*ssa7.9
             
    SSA.10 =~ ssa1f*ssa1.10 + ssa2f*ssa2.10 + ssa3f*ssa3.10 + 
              ssa4f*ssa4.10 + ssa5f*ssa5.10 + ssa6f*ssa6.10 + ssa7f*ssa7.10
              
    SSA.11 =~ ssa1f*ssa1.11 + ssa2f*ssa2.11 + ssa3f*ssa3.11 + 
              ssa4f*ssa4.11 + ssa5f*ssa5.11 + ssa6f*ssa6.11 + ssa7f*ssa7.11
              
    # 固定方差 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
              
    # 固定截距
    
    psp1.7 ~ psp1i*1
    psp1.8 ~ psp1i*1
    psp1.9 ~ psp1i*1
    psp1.10 ~ psp1i*1
    psp1.11 ~ psp1i*1
    
    psp2.7 ~ psp2i*1
    psp2.8 ~ psp2i*1
    psp2.9 ~ psp2i*1
    psp2.10 ~ psp2i*1
    psp2.11 ~ psp2i*1
    
    psp3.7 ~ psp3i*1
    psp3.8 ~ psp3i*1
    psp3.9 ~ psp3i*1
    psp3.10 ~ psp3i*1
    psp3.11 ~ psp3i*1
    
    ssa1.7 ~ ssa1i*1
    ssa1.8 ~ ssa1i*1
    ssa1.9 ~ ssa1i*1
    ssa1.10 ~ ssa1i*1
    ssa1.11 ~ ssa1i*1
    
    ssa2.7 ~ ssa2i*1
    ssa2.8 ~ ssa2i*1
    ssa2.9 ~ ssa2i*1
    ssa2.10 ~ ssa2i*1
    ssa2.11 ~ ssa2i*1
    
    ssa3.7 ~ ssa3i*1
    ssa3.8 ~ ssa3i*1
    ssa3.9 ~ ssa3i*1
    ssa3.10 ~ ssa3i*1
    ssa3.11 ~ ssa3i*1
    
    ssa4.7 ~ ssa4i*1
    ssa4.8 ~ ssa4i*1
    ssa4.9 ~ ssa4i*1
    ssa4.10 ~ ssa4i*1
    ssa4.11 ~ ssa4i*1
    
    ssa5.7 ~ ssa5i*1
    ssa5.8 ~ ssa5i*1
    ssa5.9 ~ ssa5i*1
    ssa5.10 ~ ssa5i*1
    ssa5.11 ~ ssa5i*1
    
    ssa6.7 ~ ssa6i*1
    ssa6.8 ~ ssa6i*1
    ssa6.9 ~ ssa6i*1
    ssa6.10 ~ ssa6i*1
    ssa6.11 ~ ssa6i*1
    
    ssa7.7 ~ ssa7i*1
    ssa7.8 ~ ssa7i*1
    ssa7.9 ~ ssa7i*1
    ssa7.10 ~ ssa7i*1
    ssa7.11 ~ ssa7i*1
    
    # 固定残差
    
    psp1.7 ~~ psp1u*psp1.7
    psp1.8 ~~ psp1u*psp1.8
    psp1.9 ~~ psp1u*psp1.9
    psp1.10 ~~ psp1u*psp1.10
    psp1.11 ~~ psp1u*psp1.11
    
    psp2.7 ~~ psp2u*psp2.7
    psp2.8 ~~ psp2u*psp2.8
    psp2.9 ~~ psp2u*psp2.9
    psp2.10 ~~ psp2u*psp2.10
    psp2.11 ~~ psp2u*psp2.11
    
    psp3.7 ~~ psp3u*psp3.7
    psp3.8 ~~ psp3u*psp3.8
    psp3.9 ~~ psp3u*psp3.9
    psp3.10 ~~ psp3u*psp3.10
    psp3.11 ~~ psp3u*psp3.11
    
    ssa1.7 ~~ ssa1u*ssa1.7
    ssa1.8 ~~ ssa1u*ssa1.8
    ssa1.9 ~~ ssa1u*ssa1.9
    ssa1.10 ~~ ssa1u*ssa1.10
    ssa1.11 ~~ ssa1u*ssa1.11
    
    ssa2.7 ~~ ssa2u*ssa2.7
    ssa2.8 ~~ ssa2u*ssa2.8
    ssa2.9 ~~ ssa2u*ssa2.9
    ssa2.10 ~~ ssa2u*ssa2.10
    ssa2.11 ~~ ssa2u*ssa2.11
    
    ssa3.7 ~~ ssa3u*ssa3.7
    ssa3.8 ~~ ssa3u*ssa3.8
    ssa3.9 ~~ ssa3u*ssa3.9
    ssa3.10 ~~ ssa3u*ssa3.10
    ssa3.11 ~~ ssa3u*ssa3.11
    
    ssa4.7 ~~ ssa4u*ssa4.7
    ssa4.8 ~~ ssa4u*ssa4.8
    ssa4.9 ~~ ssa4u*ssa4.9
    ssa4.10 ~~ ssa4u*ssa4.10
    ssa4.11 ~~ ssa4u*ssa4.11
    
    ssa5.7 ~~ ssa5u*ssa5.7
    ssa5.8 ~~ ssa5u*ssa5.8
    ssa5.9 ~~ ssa5u*ssa5.9
    ssa5.10 ~~ ssa5u*ssa5.10
    ssa5.11 ~~ ssa5u*ssa5.11
    
    ssa6.7 ~~ ssa6u*ssa6.7
    ssa6.8 ~~ ssa6u*ssa6.8
    ssa6.9 ~~ ssa6u*ssa6.9
    ssa6.10 ~~ ssa6u*ssa6.10
    ssa6.11 ~~ ssa6u*ssa6.11
    
    ssa7.7 ~~ ssa7u*ssa7.7
    ssa7.8 ~~ ssa7u*ssa7.8
    ssa7.9 ~~ ssa7u*ssa7.9
    ssa7.10 ~~ ssa7u*ssa7.10
    ssa7.11 ~~ ssa7u*ssa7.11
    
    # 设定结构路径 (被试内)
    
    SSA.8 ~ A*SSA.7 + C*PSP.7
    PSP.8 ~ D*SSA.7 + B*PSP.7
    SSA.9 ~ A*SSA.8 + C*PSP.8
    PSP.9 ~ D*SSA.8 + B*PSP.8
    SSA.10 ~ A*SSA.9 + C*PSP.9
    PSP.10 ~ D*SSA.9 + B*PSP.9
    SSA.11 ~ A*SSA.10 + C*PSP.10
    PSP.11 ~ D*SSA.10 + B*PSP.10
    
    #设定因子共变
    
    SSA.7 ~~ PSP.7
    SSA.8 ~~ PSP.8
    SSA.9 ~~ PSP.9
    SSA.10 ~~ PSP.10
    SSA.11 ~~ PSP.11
    
      # 释放跨时预测
      PSP.8 + PSP.9 + PSP.10 + PSP.11 + SSA.8 + SSA.9 + SSA.10 + SSA.11 ~ 1
    
     # 将因子和外生内在因子的共变设置为0
     
      RI.PSP1 + RI.PSP2 + RI.PSP3 + RI.SSA1 + RI.SSA2 + RI.SSA3 ~~ 0*PSP.7 + 0*SSA.7
    '

    上面的代码运行后得到的拟合结果的示意图如下:

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

     

    对图示结果解读一下:psp这个变量可以预测自身,也可以预测sas,但是sas不能预测自身,也不能预测PSP,结论就是是PSP造成了SAS,而非SAS造成psp。

    本文大部分内容翻译自文献

    A Tutorial in Longitudinal Measurement Invariance and Cross-lagged Panel Models Using Lavaan

    展开全文
  • 今天继续写交叉滞后模型,本文大部分内容参考自文献:Kearney, Michael. (2017). Cross-Lagged Panel Analysis. 所以不论自己写的怎么样都建议大家去瞅瞅原文章哦,原文很短的。 什么是交叉滞后 交叉滞后模型是一...

    今天继续写交叉滞后模型,本文大部分内容参考自文献:Kearney, Michael. (2017). Cross-Lagged Panel Analysis.

    所以不论自己写的怎么样都建议大家去瞅瞅原文章哦,原文很短的。

    什么是交叉滞后

    交叉滞后模型是一种研究变量相互关系的分析方法,它的名字有交叉滞后面板模型Cross-lagged panel models (CLPM),交叉滞后路径模型,交叉滞后回归模型,指的都是同一个东西。

    为啥叫”交叉“?

    因为它同时既研究A对B的关系,又研究B对A的关系。

    为啥叫”滞后“?

    因为它研究不同时间点变量间的关系。

    把下面的话记住:

    交叉滞后在本质上要干的事就是比较时点1X和时点2Y的关系与时点1Y和时点2X关系的差异,从而更好地理解XY到底是如何相互影响的。

    In essence, cross-lagged panel analysis compares the relationship between variable X at Time 1 and variable Y at Time 2 with the relationship between variable Y at Time 1 and X at Time 2. It is widely used to examine the stability and relationships between variables over time to better understand how variables influence each other over time

    变量关系的方向性

    传统的我们熟知的探究变量关系的方法都或多或少有局限,比如做相关时我们想得到X和Y的因果关系只能靠理论基础,因为相关本身不说明问题。横断面数据也不能判断因果。

    随机对照试验可以,但是很多时候现实条件不允许你去做试验。

    这种情况下,研究者开始求助纵向数据和交叉滞后模型。

    交叉滞后相关

    Cross-lagged correlations (CLC)交叉滞后相关认为,变量间的关系是相互的,如果两个系数(x1影响y2的系数和y1影响x2的系数)是一样的话,就认为确实两个变量影响是相互的,但如果一个系数显著的比另外一个大,则认为关系是单向的。

    好像有点道理哈,但是仔细想想:

    上面的流程没有考虑变量间关系的暂时关系(contemporaneous relationships),就是说上面的方法忽略了x1对y1的影响和y1与x1的影响等等,还有上面的流程没有考虑xy本身随时间的变化,所以是不可取的。

    交叉滞后面板模型

    这个东西比较差滞后相关多考虑了一些事,它不止估计交叉滞后效应,同时也会把时点相关和自回归效应考虑进去。

    自回归是啥?

    Autoregressive effects describe the amount of stability in constructs over time

    就是你要研究的变量随时间的改变,自回归系数越小说明变量随时间变异越大,自回归系数越大说明变量随时间变异越小。

    仔细体会红字,我并没有写错。

    那么,一个最基本的交叉滞后面板模型就包括XY两个变量,每个变量就测两次。于是我们有x1,x2和y1,y2共4个变量,这个时候,x1y1,x2y2有相关,x1x2,y1y2有自回归,还有交叉滞后回归系数x1y2,y1x2。加上两个内生残差和两个外生残差,共10个参数模型就可以恰好识别。

    怎么做呢?就是把这个模型拟合好,然后比较交叉滞后路径系数就行。

    同样的流程可以扩展到多个时间点的数据,比如我们有3个时间点:

    R数据分析:交滞后模型非专业解释

     

    示意图如上,本来上图应该有4个交叉滞后路径系数,但是我们给他固定为2个了,我们认为从时点1到时点2和从时点2到时点3xy的关系应该是一样的。相应的自回归系数也进行了固定,我们认为只有x1能影响x2,而x1对x3并没有影响,同样的x1也不会影响y3,这个叫做滞后一个单位。

    当然,上面的设定都是可以随着研究变的。

    交叉滞后面板模型的假设

    • 同步性假设Synchronicity

    The first is the assumption of synchronicity, which assumes that measurements at each time point occurred at the exact same times.

    意思是每一波数据都是在一个时刻收集的。

    • 稳定性假设Stationarity

    This assumption, referred to as stationarity, relates to the stability of a construct as well as the nature of the relationships between constructs over time

    变量间跨时间的关系是稳定的。就是说x1y2的关系应该和x2y3的关系一样。

    交叉滞后模型的解释

    这部分还是给大家一个最简单的例子:

    R数据分析:交滞后模型非专业解释

     

    对于上面这个只有两个变量,而且只测了两次的数据的交叉滞后模型,我们有:

    If rX1Y2 is ‘substantially different’ from zero, we can conclude that X causes Y.

    If rX2Y1 is substantially different from zero, we can conclude that Y causes X.

    If both are significantly different from zero, we conclude that X causes Y and Y causes X,

    If both are equal we conclude that they do not cause each other but are both affected by a third variable.

    看交叉滞后系数,如果交叉滞后系数rX1Y2显著不等于0,那么就是X影响Y,如果rX2Y1显著地不等于0,那么就是Y影响X,如果都显著就是相互影响。

    小结

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

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

    展开全文
  • 这篇文献主要是讲如何用R的lavaan包做交叉滞后模型的。 文献一开始首先介绍Measurement invariance Measurement invariance测量不变性 在心理学的很多情形下,我们都不能直接测量我们想要的构象,比如饮酒动机,...

     

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

    这篇文献主要是讲如何用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)流程(详细版)

    展开全文
  • 统计补充材料 我已发表和正在进行的工作的统计补充材料代码。
  • 拟合随机截距交叉滞后模型RI-CLPM的时候我们需要将变量的观察分数分为3个部分:第一部分为总体均数grand means,就是每个变量在同一时间所有观测的均数;第二部分是因素间的稳定性stablebetweencomponents,体现为...
  • 小结 今天给大家写了纵向数据的中介做法-----交叉滞后中介模型,这个模型考虑个体随机扰动就是随机效应交叉滞后中介模型,希望对大家有所启发。 感谢大家耐心看完,自己的文章都写的很细,代码都在原文中,希望大家...
  • 记得之前有写过如何用R做随机截距交叉滞后,有些粉丝完全是R小白,还是希望我用mplus做,今天就给大家写写如何用mplus做随机截距交叉滞后。 做之前我们需要知道一些Mplus的默认的设定: observed and latent ...
  • 数学建模——时间序列模型及spss实现

    千次阅读 多人点赞 2019-09-05 16:45:45
    这里使用spss的专家模型进行预测,专家模型会根据已知的序列数据提供一个误差最小的模型。 结果为: 结果怎么看? 1)、模型描述表 模型描述表里给出了最合适的模型为温特斯加性模型。 2...
  • 分布滞后非线性模型(Distributed Lag Non-linear Model, 以下简称DLNM)经常用于有时间滞后效应...分布滞后模型由Almon.S在1965年提出1 二、DLNM的模型理解 三、DLNM的应用 以R语言中自带的数据为例 1 ↩︎ ...
  • 本文提供了运行分布滞后非线性模型的示例,同时描述了预测变量和结果之间的非线性和滞后效应,这种相互关系被定义为暴露-滞后-反应关联。
  • 本文演示了在时间序列分析中应用分布滞后线性和非线性模型(DLMs和DLNMs)。Gasparrini等人[2010]和Gasparrini[2011]阐述了DLMs和DLNMs的发展以及时间序列数据的实现。本文描述的示例涵盖了时间序列数据DLNM方法的...
  • 这种方法是基于 "交叉基准 "的定义,这是一个双维的函数空间,它同时描述了沿预测空间和其发生的滞后维度的关系形状。 通过这种方式,该方法为以前用于该环境的一系列模型提供了一个统一的框架。为了说明这个方法,...
  • 上一章我们使用广义线性模型( generalized linear models,GLM)与广义相加模型(generalized additive model,GAM)对空气污染与死亡率进行了分析,今天我们继续使用分时滞后模型时间序列分析对空气污染与死亡率进行了...
  • %该代码可用于k-fold交叉验证建立模型,可以修改代码中的CV值;%该代码首先需要一个txt的文本,要求all.txt,tab分割,最后一行为Y值,前面的所有行为X1,X2,...,Xn;%all.txt文件和BP1.m及BP2.m放在同一个文件下,...
  • 考虑特价商品与相关商品存在交叉销售,其需求与价格和库存水平有关,有现货时会促进相关商品销售,缺货时顾客等待意愿受价格和时间共同影响,构造了一个新的短缺量滞后供给分数,建立了相应的经济订货批量模型...
  • 一文帮你理解【模型选择方法】:AIC、BIC 和交叉验证! 本文先讲透模型选择的基本思想,再逐一叙述几种比较典型和常用的模型选择方法,希望可以帮助你理解。 一、模型选择的基本思想 模型选择的核心思想就是从某个...
  • 原文出处:拓端数据部落公众号 ...分布滞后非线性模型(DLNM)表示一个建模框架,可以灵活地描述在时间序列数据中显示潜在非线性和滞后影响的关联。该方法论基于交叉基的定义,交叉...关键字:分布滞后模型,时...
  • kaggle竞赛宝典干货作者:杰少十大时序模型简介简介时间序列建模在销量预测,天气预测,车流量预测,股票价格预测等问题中扮演着至关重要的角色,一般时间序列的问题可以表述为下面的形式由于时间...
  • 本文主要介绍了弱平稳与交叉—相关矩阵、向量自回归模型、双变量VAR(1)、结构向量自回归模型等内容。
  • 目录 概览 crossvalind() cvpartition() crossval() 留P法交叉验证Matlab代码 总结 概览 **交叉验证(Cross Validation)**是机器学习领域、分类器算法等十分重要的模型性能检测方法。交叉验证是将数据集随机分为训练...
  • 地学计算方法/地统计学(第四章变异函数理论模型)

    千次阅读 多人点赞 2020-05-21 09:06:39
    4.1变异函数理论模型 4.1.1有基态值模型 球状模型 γ(h)={0h=0C0+C(3h2a−1h32a3)0<h≤aC0+Ch>a \gamma(h)=\left\{\begin{array}{lr} 0 & h=0 \\ C_{0}+C\left(\frac{3 h}{2 a}-\frac{1 h^{3}}{2 a^{3}}\...
  • 在输入和输出之间存在着交叉的关联和耦合。只有通过合理的简化与近似处理,采用理论建模或实验的方法,才能建立起满足一定精度要求的动态特性数学模型。本设计是通过对单元机组动态特性和机组数学模型的分析,应用多...
  • 本篇文章将会按照整个CTR预估模型的演进过程进行组织,共分为7个大部分: 分布式线性模型 Logistic Regression 自动化特征工程 GBDT+LR FM模型以及变体 FM(Factorization Machines) FFM(Field-aware...
  • 问任何在华尔街的人,“目前市场状况如何?”你都很可能会获得三个答案中的一个:牛市、熊市或盘整。对一般交易者来说,这些术语粗略地...模型的假设是,市场处于以下五种状态之一——超级熊市、熊市、盘整、牛市或超...
  • 使用ARIMA模型,您可以使用序列过去的值预测时间序列。在本文中,我们从头开始构建了一个最佳ARIMA模型,并将其扩展到Seasonal ARIMA(SARIMA)和SARIMAX模型
  • 姜启源《数学模型》笔记

    万次阅读 多人点赞 2018-01-31 11:08:04
    其实数学模型也是模型的一种,是我们用来研究问题、做实验的工具之一,只不过它比较“理论”、“摸不着”而已。但通常,数学模型有严谨的特点,而且我们可以根据建模实际需要改变模型,成本也比较低;同时数学模型...
  • 在这篇文章中,我们将介绍流行的ARIMA预测模型,以预测库存的回报,并演示使用R编程的ARIMA建模的逐步过程。 时间序列中的预测模型是什么? 预测涉及使用其历史数据点预测变量的值,或者还...
  • 计算上下游交叉口进口流向交叉谱的一致性和位相,确定上下游流向的关联性和统计滞后关系,得出流向的特征向量,并应用模糊识别方法将路径分级,确定交叉口群的关键路径。采用南京市广州路交叉口群实测交通数据验证模型的...

空空如也

空空如也

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

交叉滞后模型

友情链接: testFolder.rar