因此,我們的模型是“錯誤”的。隻是它的方差協方差矩陣,與我們真實的模型剛好一樣而已。當然,這是一個極端的例子。我們的目的隻是要點出,就算是擬合指數等於1(“估計的方差協方差”與“觀察的方差協方差”完全吻合),也不代表我們的模型一定是對的。因此,我們可以把擬合指數看成是一個“可能推翻假設的機製”。
當擬合指數低時,就表示我們的模型很有可能是錯誤的。當擬合指數高時,就表示根據我們的數據,沒有足夠的證據推翻我們的理論模型。但是事實上,擬合指數是不可能等於1的。那什麼樣的“模型擬合度”才代表模型可以接受呢?我們知道“模型擬合度”是用“擬合函數的最小值”(簡稱F)來代表的。一般結構方程模擬程序的第一個指標(fitindices)都是F或者是類似的概念。詳細討論擬合函數的數學公式、意義、區別和優劣已經超出了本章的範圍。在這裏隻能介紹一些一般常見的“擬合指標”和它的接受標準。有興趣詳細了解的讀者,請看結構方程的其他文獻。①χ2/df(卡方自由度比)。“結構方程建模”裏的卡方(χ2)就是(N-1)F,也就是“擬合函數的最小值”除樣本大小減1。一般“卡方自由度比”小於2較好,也有學者建議小於5也可以接受。②GFI(GoodnessoffitIndex)要大於0.9。③NNFI(NonNormedFitIndex)或稱TLI(TuckerLewisIndex)要大於0.9。④CFI(ComparativeFitIndex)要大於0.9。⑤RMSEA(RootMeanSquareErrorofApproximation)一般建議小於0.05,也有學者建議小於0.08也可以接受。⑥SRMR(StandardizedRootMeanSquareResidual)一般建議小於0.05,也有學者建議小於0.08也可以接受。例子一以下是“結構方程建模”以流行的LISREL軟件編寫的程序。我們用最簡單的驗證性因子分析作為第一個例子。
Title:FactorAnalysis(WithDimensions)ObservedVariables:x1x2x3x4x5x6Latentvariables:M1M2Correlationmatrix1.461.42.401.25.15.271.11.17.24.401.07.18.19.40.551Samplesize:196Relationships:x1x2x3=M1x4x5x6=M2Endofproblem首先,我們有6個變量,分別是x1,x2,x3,x4,x5和x6。這6個變量的背後有兩個因子,分別是M1和M2。然後,我們輸入的是相關係數矩陣(自然,用方差協方差矩陣會更好,因為有一些研究說,用相關矩陣來估計可能導致參數的偏差)。樣本數是196。再下去是變量的關係。我們要記住,因果關係在LISREL中是從右到左的。因此,M1指向x1,x2和x3,M2指向x4,x5和x6。這就完成了我們的驗證性因子分析的模型。這個程序的結果和它的解說在附錄1裏,讓讀者參考。如果我們用另外一個也非常流行的結構方程建模的程序Mplus,那編程就更簡單了。TITLE:FactorAnalysis(WithDimensions)DATA:FILEISmydata.dat;VARIABLE:NAMESAREx1-x6;MODEL:M1BYx1-x3;
M2Byx4-x6;第二句是數據的檔案名字,叫mydata.dat。第三句是變量為x1到x6。第四、五句為x1,x2,x3背後的因子為M1,x4,x5和x6背後的因子為M2。例子二現在我們再講一個路徑分析的例子。
用LISREL軟件,變量模型的關係就是:Relationships:x1x2x3=M1x4x5x6=M2x7x8x9=M3x10x11x12=M4M2=M1M3=M1M4=M1M2M3用Mplus軟件,變量模型的關係就是:MODEL:M1BYx1-x3;M2BYx4-x6;M3BYx7-x9;M4BYx10-x12;M2ONM1;M3ONM1;M4ONM1M2M3;11.5關於“結構方程建模”使用上的一些問題
11.5.1“自由度”和“識別”的問題
人的“不自由度”就是你原來可以做的事情,現在不讓你做了。因此,“自由度(degreeoffreedom)”可以定義為原來你擁有的,減去我不讓你擁有的。在“結構方程建模”裏,我們原來有的就是變量的“方差協方差矩陣(variancecovariancematrix)”,(簡稱“方差矩陣”)。因此,在“結構方程建模”裏,“自由度(degreeoffreedom)”是“方差”與“協方差”的總數減去要估計的參數的數目。用以下的“驗證性因子分析”來說明。
在這個CFA裏,因為有9個觀察項目(x1到x9),所以應該有36個協方差加上9個方差=n(n+1)2=9×102=45個“方差協方差”數值。那在方程建模裏要估計多少參數呢?我們要估計9個因子權數(λ),9個隨機誤差的方差(σ2ε),再加上3個因子相關()(注意:因為因子的方差都定為1,所以才要估計9個因子權數)。一共是9+9+3=21參數。因此,這個模型的“自由度”是45-21=24。那如果我們的模型變為隻有兩個潛變量,而每個潛變量隻有兩個測量項目,自由度會是多少呢?
現在我們一共有4個項目,即是n(n+1)2=4×52=10個“方差協方差”數值。那我們在方程建模裏要估計多少參數呢?我們要估計4個因子權數(λ),4個隨機誤差的方差(σ2ε),再加上1個因子相關(),一共是4+4+1=9參數。因此,這個模型的“自由度”是1。現在,讓我們再減少一個測量項目。如果潛變量2隻有一個測量項目。
現在我們隻剩下3個項目,即是6個方差協方差數值。但是我們要估計3個因子權數、3個隨機誤差的方差、再加上1個因子相關,一共是7個參數。因此,這個模型的“自由度”是負數。負的自由度代表什麼呢?它代表這個“結構方程模型”中已知的信息,即所有的方差數,根本不足夠估計出我們要的參數。意思是說,根據這個模型,我們根本不可能估計出一組合理的參數。這樣的模型在“結構方程建模”裏稱為“不可識別的模型(underidentifiedmodel)”。
一個“不可識別的模型”是不可能估計一組有意思的參數的。解決“不足確認的模型”的方法就是多增加測量項目,讓我們的“方差矩陣”內的方差、協方差數目增加。但是讀者需要注意,不是所有的“不足確認的模型”都是因為自由度是負數。有時候,就算自由度是正數,一個錯誤的模型(也就是理論的模型與數據完全不符合)也有可能會不能確認的。11.5.2階層模式、嵌套模型如果一個“結構方程模型”(模型A)與另外一個“結構方程模型”(模型B)是完全相同的,隻是其中一個模型中的一些估計參數是不需要估計的(fixed)。那麼我們會說,有些參數固定不變的參數模型是“嵌套於”“內屬於”或“巢套於(nestedwithin)”沒有固定參數的模型內。用一個不完全,但是易於理解的例子說明。如果模型一是x+y=5,模型二是x+3=5。模型一有兩個變量,模型二與模型一完全相同,隻是y不用估計了,我們知道它是3.0,在這種情形下,我們會說模型二嵌套於模型一之內。又如,如果模型三是x+y=5,模型四是x+y=5並x=y。模型三有兩個變量,模型四也有兩個變量,但是我們隻需要估計一個(因為x=y)。我們也會說模型四嵌套於模型三之內。在“結構方程模型”的應用上,假設我們有以下模型。
上麵“模型一”和“模型二”是完全相同的,隻是在模型二裏,有兩條路徑(變革型領導→下屬工作表現和主管下屬交換→下屬工作表現)都是等於0。因此,我們說“模型二嵌套於模型一”。
現在讓我們考慮另外兩個模型。
“模型四”是不是“嵌套”於“模型三”呢?我們可不可以說模型四跟模型三唯一的區別是除了“下屬工作滿意度→公民行為”這條路徑為0以外,其他都一樣呢?答案是不可以。因為在“模型四”中根本就沒有“組織公民行為”這個變量。我們在建立模型的時候沒有定義“組織公民行為”跟其他變量的關係,這不等於把這些關係定義為0。因此,“模型四”和“模型三”沒有“嵌套”的關係。那麼,“模型五”和“模型六”是不是嵌套呢?表麵上看來“模型五”和“模型六”好像沒有關係,因為兩個因子的數目都不一樣。但是如果我們細心想一下,“模型六”是可以寫成與模型五一樣的。隻是12=1而已。從這個角度來看,模型五和模型六是嵌套的。
在弄清楚什麼是“嵌套”的模型以後,讓我們來討論為什麼要研究“嵌套”的問題?兩個模型“嵌套”又如何呢?根據前麵的原理,你會發現整套“結構方程模型”都是沒有比較精確的統計驗證的。我們上麵講的模型的“模型擬合度”都是用一些約定俗成的指標(如TLI大於0.95或RMSEA小於0.05等)。同時我們知道,模型擬合度的另外一個指標是標準模型的卡方除以模型的自由度。如果兩個模型是“嵌套”的話,它們的模型卡方(modelchisquare)的差額也是一個卡方分布(chisquaredistribution)。這是卡方分布的特點。這個由兩個卡方的差所組成的新卡方分布的自由度是兩個嵌套模型的自由度的差額。
右邊的模型(模型B)是嵌套於左邊的模型(模型A)的,因為兩個模型隻是相差由ξ1指向ξ2的一條橫的路徑。模型A有55個“方差協方差”數值,要估計的參數有23個,所以自由度是32。模型B與模型A隻相差一條路徑沒有估計,所以自由度是33。如果模型A的模型卡方是40.27,而模型B的模型卡方是49.38的話,兩個模型的“模型卡方差”是9.11,而“自由度相差”是1。根據上麵所說,兩個卡方的差也是一個卡方分布,自由度是1。我們查卡方表發現自由度=1時,χ2=9.11的機會少於0.01。因此,我們的結論是加了ξ1→ξ2這條途徑以後,模型的“擬合度”(用χ2作為代表,因為模型的χ2越少,擬合度越高)“顯著”增加(p