楼主: wrjerry
15587 13

[程序分享] 关于用mplus进行CFA分析的数据问题 [推广有奖]

  • 0关注
  • 1粉丝

初中生

52%

还不是VIP/贵宾

-

威望
0
论坛币
16 个
通用积分
0.3698
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
307 点
帖子
3
精华
0
在线时间
17 小时
注册时间
2014-11-2
最后登录
2015-12-19

楼主
wrjerry 发表于 2015-2-20 01:36:53 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
楼主想要做一个调查问卷的数据分析,也是刚接触IRT和mplus,都是看论坛现学现用的,好多都不太懂。mplus是7的版本,模型用的CFA with continuous factor indicators,如下:

TITLE:        this is an example of a CFA with
        continuous factor indicators
DATA:        FILE IS ex5.13.dat;
VARIABLE:        NAMES ARE y1-y60;
MODEL:        f1 BY y1-y10;
        f2 BY y11-y22;
        f3 BY y23-y30;
        f4 BY y31-y45;
        f5 BY y46-y54;
        f6 BY y55-y60;

然后数据分析出来却是这样的,每项第一个都是1.000、0.000、999.000、999.000的数值,不明白为什么会这样,但我觉得这数据肯定有问题,难道是变成了一个参照了吗?要得到正常的数据,我应该怎么办?

                    Estimate       S.E.       Est./S.E.   Two-TailedP-Value
F1       BY
    Y1                 1.000      0.000    999.000    999.000
    Y2                 0.064      0.057      1.120      0.263
……


F2       BY
    Y11                1.000      0.000    999.000    999.000
    Y12                0.379      0.081      4.685      0.000
……

F3       BY
    Y23                1.000      0.000    999.000    999.000
    Y24                1.255      0.149      8.415      0.000

……



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Mplus PLUS MPL CFA Plu continuous example 调查问卷 factor 模型

沙发
frick521314 学生认证  发表于 2015-2-20 14:02:39
估计是缺失数据没有定义....应该是数据格式上的定义问题....查查吧

藤椅
wrjerry 发表于 2015-2-20 15:11:04
frick521314 发表于 2015-2-20 14:02
估计是缺失数据没有定义....应该是数据格式上的定义问题....查查吧
谢谢你的回复。我的数据里面的确有不少的缺失数据的,我都是用空格表示的,也许原因就再此。可是缺失数据怎么定义呢?我的数据是放在txt里面导入mplus的。

板凳
frick521314 学生认证  发表于 2015-2-20 20:06:03
wrjerry 发表于 2015-2-20 15:11
谢谢你的回复。我的数据里面的确有不少的缺失数据的,我都是用空格表示的,也许原因就再此。可是缺失数据 ...
看一下软件手册吧..有一章命令中专门讲如何定义Missing Data的

报纸
noblesavage 发表于 2015-2-21 00:18:52
每个潜变量的第一个参数变成1是因为为了参数估计,这是进行标定的一种方式,另外一种方式就是把某个潜变量的方差设定成1 (用 f1@1),这样就可以得到你所的“正常”数值,而不是1 了。

第二,用空格表示缺失数据确实不太好,可以统一改成-99,在语句里加missing = all(-99);

地板
wrjerry 发表于 2015-2-23 02:05:29
noblesavage 发表于 2015-2-21 00:18
每个潜变量的第一个参数变成1是因为为了参数估计,这是进行标定的一种方式,另外一种方式就是把某个潜变量的 ...
非常感谢大神的解答。不过我尝试了加“f1@1”的语句,还是一样每个f第一个值都是1.000      0.000    999.000    999.000。倒是看了你的解答,我自己有点想明白了,应该说每组变量都是需要一个参数估计的,所以肯定都是这个结果。
其实我要的是标准化估计的结果,只要最后加句“output: standardized(all);”就是我要的数据了。
还是谢谢大神,我把缺失数据给替换成其他数字了,不用空格了,这样数据更精确些。

7
calsunny 发表于 2015-2-23 07:41:52
f1 BY y1-y10

改成:
f1 BY y1* y2--y10;

unstandardized and standardized 是你想要的结果

8
noblesavage 发表于 2015-2-23 23:47:23
wrjerry 发表于 2015-2-23 02:05
非常感谢大神的解答。不过我尝试了加“f1@1”的语句,还是一样每个f第一个值都是1.000      0.000    999 ...
虽然我对SEM很熟悉,但是我对Mplus不是很熟悉,那个语句是我查来的,如果不对,你应该仔细读一下manual.

请尝试一下:

f1-f6@1;

所有潜变量的方差都要固定,否则还是不能identified.

不进行这些限制,直接看standardized那个结果应该是正确的。
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
1357666888 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

9
addfa 发表于 2015-3-17 11:01:02
学习了   

10
chen_bin 发表于 2015-3-26 16:41:16
如果用f1 BY y1-y10,Mplus会默认把“BY”后面第一个观察指标的截荷设成1,如果不想用这种方式,就要写成f1 BY y1* y2-y10; 这样就把第一个观察指标的截荷为1的限制解除了,但是需要把f1的方差设成1(写多一条f1@1)。f2-f6以此类推。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-9 21:17