• 拓端tecdat|R语言有RStan的多维验证性因子分析(CFA)


    如果您已经熟悉RStan,那么您需要组合的基本概念是具有相关随机斜率和异方差误差的标准多级模型。

    我将R代码嵌入到演示中。所需的包是lavaanlme4RStan

    我喜欢将大多数统计方法理解为回归模型。这样,很容易理解大量技术背后的主张。这是一种适用于SEM和IRT模型的方法。在这里,我将重点关注验证性因子分析(CFA),因此我将首先从一个易于适用于任何多级回归软件的模型开发CFA:

    1. dat.l <- tidyr::gather(dat, item, score, x1:x9)
    2. dat.l$item.no <- as.integer(gsub("x", "", dat.l$item))
    3. library(lme4)
    4. lmer(score ~ 0 + factor(item.no) + (1 | ID), dat.l, REML = FALSE)
    5. # Random effects:
    6. # Groups Name Std.Dev.
    7. # ID (Intercept) 0.5758
    8. # Residual 0.9694
    9. # Number of obs: 2709, groups: ID, 301

    上面适用于ML而不是REML的模型与一维CFA相同,。 使用:

    λ = α √ α 2 + σ 2= 0.5758 √ 0.5758 2 + 0.9694 2= 0.5107λ=αα2+σ2=0.57580.57582+0.96942=0.5107

    请注意,在lavaan语法中,因子被标准化为使用的方差为1 std.lv = TRUE

    1. parameterEstimates(sem(
    2. "F1 =~ a * x1 + a * x2 + a * x3 + a * x4 + a * x5 + a * x6 + a * x7 + a * x8 + a * x9\n
    3. x5 ~~ f * x5\nx6 ~~ f * x6\nx7 ~~ f * x7\nx8 ~~ f * x8\nx9 ~~ f * x9",
    4. dat, std.lv = TRUE
    5. ), standardized = TRUE)[c(1:2, 10:11), c(1:5, 12)]
    6. # lhs op rhs label est std.all
    7. # 1 F1 =~ x1 a 0.576 0.511
    8. # 2 F1 =~ x2 a 0.576 0.511
    9. # 10 x1 ~~ x1 f 0.940 0.739
    10. # 11 x2 ~~ x2 f 0.940 0.739

    让我们扩展模型以包括多个因素。为了包括多个因子,我们以长格式创建一个指标列,用于唯一标识项目所属的因子。

    1. dat.l$Fs <- ((dat.l$item.no - 1) %/% 3) + 1
    2. lmer(score ~ 0 + factor(item) + (0 
  • 相关阅读:
    [Common c/c++] 生产者消费者模型 using mutex/cv/semaphore
    电子行业云MES解决方案
    ubuntu18.04下cmake的安装
    Tyvj p1013 找啊找啊找GF
    【python】defaultdict设置初始值
    上传图片和视频在JAVA上的运用
    基于SSH开发在线问卷调查系统
    C# 判断系统是32位还是64位
    【已解决】由于此设备上的安全设置已更改,你的pin不再可用,单击以重新设置Pin
    【笔试题】【day26】
  • 原文地址:https://blog.csdn.net/tecdat/article/details/127465681