主要包括两个过程:数据的预处理和建立模型
1 假设数据现在是以sav的格式保存在你E盘的某个文件夹里的。这时需要在C盘建立一个文件夹存放将要分析的sav数据。数据应该事先做整理,这个数据文件应该只包括需要分析的变量,而不应该包括其他无关的变量,以方便到后面使用。(根据经验,prelis生成的协方差矩阵只有放在C盘,需要时才能被找得到)
2 file-import externaldata in other formats.根据对话框,在文件类型里选择你刚刚保存数据的文件类型,点击文件名,打开。为即将产生的prelis data(后缀名为.psf)命名,比如test.psf。保存,出现prelis data的数据表。
3 data-definevariables先对变量进行定义,比如定义变量的类型、缺失值、重命名变量,如果是分类变量,还可以定义类型标签等。根据需要,我们以定义连续型数据为例:选中一个变量,点击variable type,选中continues,如果所有的变量都定义为连续变量,选中apply to all,OK,所有的变量将都是连续型数据。返回到define variable对话框,继续定义缺失值:点击missing values,进入对话框,选中missing values。导入后数据表中缺失值以-999999.00表示,在定义缺失值对话框中选中missing values,在填入框中填入所指定的值即可(如果要定义某个数值范围为缺失,填入最低最高的值即可)点击apply to all可以对所有的变量都定义同样的数值为缺失。一般来讲,到此处缺失值就定义完毕了,然而,根据经验如果globalmissing value中不做定义的话,个别功能不能识别出缺失值,因此,建议在此处也进行同样的设置。
定义完缺失值,还需要对缺失值进行处理,这里提供两种处理方式,即listwise(列删)pairwise(对删)。直接按照默认的列删即可。
4.1如果各变量的缺失值不多,删除带有缺失的样本很可惜,那么可以通过一些算法对缺失值进行填补即可。statistics-multipleimputation,出现对话框,选择带有缺失值的变量进入右边的框,选择EM算法或者MCMC算法(两种算法的区别可以阅读一些学术文献了解其优缺点,一般这里按照默认的EM算法即可)。其他选项默认。点击output variable,出现对话框,选择协方差矩阵,勾选save to file,并命以名字,命名以.cov为后缀,比如test.cov,勾选lisrel system data,勾选save the transformed data to file
并命名以dsf为后缀。OK之后,就会产生这些文件保存在C盘所建立的文件夹里了。在这里test.cov最关键,因为接下来马上需要用。这里等到一个填补缺失值后的prelis data,协方差矩阵也是根据这个数据表出来的。到此,数据的预处理工作算是完毕了。关闭prelis data。
4.2第三步只是对原始数据进行了处理,并没有计算协方差矩阵。如果没有4.1的情况,应该按照以下步骤得到协方差矩阵:statistics-output option,勾选save to file,并命以名字,命名以.cov为后缀,比如test.cov,勾选lisrel system data,勾选save the transformed data tofile并命名以dsf为后缀。OK之后这些文件都会在C盘建立的文件夹里。test.cov是很关键的,因为接下来马上需要用。到此,数据的预处理工作算是完毕了,关闭prelis data。
5 接下来,是建立模型。建立模型有两种途径:一是之间写syntax,二是通过path diagram建模型。这里主要记录使用path diagram的经验。file-new,在下拉框中选择path diagram,出现对话框,为path diagram命名,后缀名为.pth,例如:test.pth。保存之后就会出现绘图窗口。左边小框为观测变量和潜变量的窗口,右边为画布。菜单:setup-title and comments出现对话框,可以给个题目和注释,不填也可以,直接next,分组变量,没有不填直接next。接下来labels窗口,左边为观测变量,点击add/readvariables,出现对话框,read from file,可以选择lisrel system file或者prelis system file,两者的变量名都相同,file name,点击browse,出现对话框,如果前面选择了lisrel system file,则出现dsf文件,如果前面选择prelis system file,则出现psf文件。OK,观测变量名就加进来了。右边为潜变量,addlatentvariables,直接命名潜变量即可。next,进入data对话框,summary statistics-statistics,下拉框选择covariances,files下拉框,选择external ascii data,browse,选择C盘里建的文件夹,找到test.cov,选择、打开。number of填入实际的样本量。OK。
6 在右侧的变量窗口里,在观测变量里,点击Y列下的方块,显示打叉,表示相应的观测变量为内生潜变量的观测指标,下方的潜变量,在右侧的Eta列下打叉,表示相应的潜变量为内生潜变量。把观测变量拖到右边的画布上,外生变量指标放左边,内生变量指标放右边。先拖动内生潜变量到右边的画布,然后拖动外生潜变量(根据经验先拖动内生变量然后拖动外生变量不会出现问题)。
7 根据理论,点击单向箭头连接潜变量和测量指标,外生潜变量和内生潜变量,内生潜变量和内生潜变量(根据理论决定每个路径,同时注意:外生潜变量之间只能用双向箭头表示相关关系,不能用单向箭头表示因果关系,但是内生潜变量之间可以使用单向箭头表示因果关系)。最后建立好模型。
8 setup-built lisrelsyntax,生成程序语句,run lisrel,如果模型和协方差矩阵没有什么问题,潜变量间的路径系数、指标和潜变量间的载荷即可估计出来,并生成一个结果文件test.out。在test.out文件中也可以看到路径系数和载荷,另外还可以看到模型的拟合指数等结果信息。
9 简单提一下如何修订模型:在pathdiagram中,etimate的下拉窗口中选择T-values,如果系数过小,T- values将会小于1.96,并显示为红色,表示该路径没有统计学意义应该删除。选择modification indics将显示需要增加的路径,数值表示增加该路径后卡方值得下降量。可以根据理论增加路径,一般从下降量最大的一条加起,一条一条进行。注意每做一次修改后要把lisrel syntax文件重命名保存一次,方便选择相对理想的模型。
这里只是记录操作的经验步骤。其实,结构方程可分为3大类分析-纯粹验证、选择模型和产生模型。但是从应用上来看产生模型的类型是最多的。先提出一个或多个基本模型,检查这些模型是否拟合数据;基于理论或样本数据,分析找出模型中拟合欠佳的部分;修改模型,并通过同一数据或其他样本,检查修正模型的拟合度,整个分析过程的目的在于产生一个最佳模型(侯洁泰等,结构方程模型及其应用)。因此,第9点,模型的修正是最重要的一点,也是数据和理论结合最密切的一步,经验不足者在这一步可以感受到无比的纠结。