【问题标题】:Estimating covariances of observed variables with lavaan用 lavaan 估计观测变量的协方差
【发布时间】:2020-10-15 14:26:34
【问题描述】:

我对 R 的 lavaan 包的行为感到困惑。我正在尝试估计两个观察到的变量的方差和协方差。

这是数据:

bd <- data.frame(
          Group = c(1L,1L,1L,1L,1L,1L,1L,1L,1L,1L,1L,
                 3L,3L,3L,3L,3L,3L,3L,3L,3L,3L,3L,3L,3L,3L,3L,2L,
                 2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,
                 2L),
          HIP_D = c(2763,3241.5,2740.5,3318,3501,3634.5,
                 4324.5,2970,3168,3307.5,3145.5,3639,3325.5,3295.5,3066,
                 3711,2488.5,3333,3138,2752.5,3096,2785.5,3204,3781.5,
                 3207,2742,3082.5,2665.5,2737.5,2664,2743.5,2695.5,3244.5,
                 3024,2422.5,1605,2943,2314.5,2971.5,3187,2673,3024,
                 2992.5),
          HIP_E = c(2505,3292.5,2646.7,3457.5,3505.5,
                 3628.5,4152,2686.5,2943,2913,3283.5,3546,3172.5,3090,3211.5,
                 3880.5,1725,3147,3055.5,2776.5,2904,2785.5,3159,
                 3418.5,3240,2334,2634,2370,2736,2503.5,2325,2409,3057,
                 2692.5,2443.5,1645.5,2922,1818,2679,2742,2465.5,2911.5,
                 2890.5)
)

我的代码如下:

modVL <- '
HIP_D ~~ HIP_D
HIP_E ~~ HIP_E
HIP_D ~~ HIP_E
'
library(lavaan)
fitVL <- sem(modVL, data=bd, likelihood = "wishart",  orthogonal = FALSE)
summary(fitVL, standardize=T)

输出是:

lavaan 0.6-7 ended normally after 8 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of free parameters                          3
                                                      
  Number of observations                            43
                                                      
Model Test User Model:
                                                      
  Test statistic                                81.564
  Degrees of freedom                                 0

Parameter Estimates:

  Standard errors                             Standard
  Information                                 Expected
  Information saturated (h1) model          Structured

Covariances:
                   Estimate    Std.Err   z-value  P(>|z|)   Std.lv    Std.all
  HIP_D ~~                                                                   
    HIP_E               0.000 36570.317    0.000    1.000      0.000    0.000

Variances:
                   Estimate    Std.Err   z-value  P(>|z|)   Std.lv    Std.all
    HIP_D          203990.618 44514.402    4.583    0.000 203990.618    1.000
    HIP_E          275357.264 60087.881    4.583    0.000 275357.264    1.000

现在,两个变量(HIP_D 和 HIP_E)的相关性非常强:

correlation::correlation(bd)

Parameter1 | Parameter2 |    r |       95% CI |     t | df |      p |  Method | n_Obs
-------------------------------------------------------------------------------------
HIP_D      |      HIP_E | 0.93 | [0.87, 0.96] | 15.65 | 41 | < .001 | Pearson |    43

所以,协方差不可能为零!...我对 lavaan 如何将协方差强制为零感到困惑?

有什么想法吗?

谢谢!

【问题讨论】:

    标签: r covariance


    【解决方案1】:

    所以,这是一个缩放问题。协方差估计太大。将变量除以 10 可得出协方差结果(重新缩放)。

    【讨论】:

      猜你喜欢
      • 2022-06-10
      • 2021-01-11
      • 2017-11-21
      • 2021-05-21
      • 1970-01-01
      • 2018-11-10
      • 2017-10-25
      • 2013-07-28
      • 1970-01-01
      相关资源
      最近更新 更多