正文 第11章結構方程建模(2 / 3)

11.3測量模型(MeasurementModel)與結構模型(StructuralModel)

現在讓我們回到原來的例子。

我們已經談過,對應的是以下的3個回歸分析:主管認同=β1企業認同+ε1

同事認同=β2企業認同+ε2

公民行為=β3企業認同+β4主管認同+β5同事認同+ε3這一組回歸分析中的參數是可以估計出來的。這個分析在統計上稱為“路徑分析(PathAnalysis)”,也可稱為結構方程建模中的“結構模型(StructuralModel)”。

可是如前所述,其實我們測量“主管認同”“同事認同”“企業認同”和“公民行為”時,它們各自都有一個“測量模型(MeasurementModel)”。

為了簡化討論起見,我們假設每一個構念都由兩個測量項目來測量。

我們可以看到三點:①幾個構念的測量項目沒有交叉載荷。②它們的隨機誤差也沒有任何相關。③4個構念上麵的6個弧形的雙箭頭代表這4個構念是互相相關的。在結構方程建模的術語中,箭頭是前因後果關係的表達。箭頭的尾巴是前因,箭頭的頭是後果。因此,X→Y在“結構方程建模”裏代表了X是前因,Y是後果。而“弧形的雙箭頭”則是代表我們不知道哪一個是因,哪一個是果,我們知道的隻是他們相關而已。把“結構模型(StructuralModel)”和“測量模型(MeasurementModel)”加起來就是整個“結構方程模型(StructuralEquationModel)”。

11.4結構方程建模的基本知識

11.4.1一些“結構方程建模”的詞彙

在“結構方程”中,有一些特有的名詞和符號讓不熟悉的學習者望而卻步。為了方便以後的溝通,我們首先解釋以下用詞:①一般的結構方程模型都是從左到右來讀的。例如,上麵的模型裏是“主管認同”和“同事認同”影響“公民行為”,因此,“主管認同”和“同事認同”都會在“公民行為”的左手邊。我們很少會反過來,從右到左寫的。②上麵已經談過了,結構方程模型中的因果(或是自變量與因變量)關係是用箭頭來表示的。箭尾是因,箭頭是果。因此,“企業認同”影響“主管認同”和“同事認同”。

③看不見的構念在結構方程模型中是用圓圈來表示的,它們對應的可見測量項目用方格來表現。因此,“企業認同”是不可見的構念,而x1和x2是用來代表“企業認同”的測量項目。④結構方程模型中的測量模型是xk=λkξ+εk,因為測量項目xk是構念ξ的具體反映和表現,因此,構念是因,測量項目是果。箭頭是從構念指向項目的。同樣,測量項目也受隨機誤差影響,因此,箭頭是從誤差(εk)指向項目(xk)的。⑤凡是一個“結構方程模型”裏沒有解釋它的前因的關係的變量就稱為“外因性變量”或稱“外生變量(exogenousvariables)”。

一般來說,模型中在最左麵的變量就是外因性變量。這裏“企業認同”就是“外因性變量”。

⑥除了外因性變量外,其他的變量都稱為內因性變量或稱“內生變量(endogenousvariables)”。

這裏“主管認同”“同事認同”“公民行為”就是“內生變量”。

“內因性變量”的前因應該包含在結構方程中。例如,在我們的模型中,主管認同隻有一個原因,就是企業認同。公民行為有3個原因,分別是企業認同、主管認同和同事認同。因為主管認同和公民行為的前因我們在模型中已經包含了,所以主管認同和公民行為,在上麵的模型中都是內生變量。⑦一般外生變量對內生變量的影響都用γ(希臘字母gamma)來表示;一個內生變量對另外一個內生變量的影響都用β(希臘字母beta)來表示。一般外生變量的構念都用ξ(希臘字母ksi)來表示;內生變量的構念都用η(希臘字母eta)來表示。11.4.2“結構方程建模”的估計方法一般“結構方程建模”的參數估計用的是模擬估計(computersimulation)。一個特定的“結構方程”裏,變量之間有一定的關係。故變量之間的“方差協方差矩陣”(或稱“變異共變異矩陣(variancecovariancematrix)”(以下簡稱“方差矩陣”)也應該有一定的特色。舉例來說,如果有3個變量A,B和C,而它們的關係是A→B→C的話,A與C的相關係數(rAC)一定會小於A與B的相關係數(rAB)和B與C的相關係數(rBC)。因為rAC在數學上應該等於rABrBC,而rAB與rBC都小於1。如果我們的觀察數據是rAC比rAB與rBC都大的話,A→B→C這個模型就與我們的數據不吻合了。因此,當我們定下“結構方程模型”後,我們就可以模擬模型中的參數,並根據模型計算理論上應得的“方差矩陣”。

把這個根據參數估計模擬算出來的理論“方差矩陣”與真實觀察的“方差矩陣”比較,就知道估計參數是否可以接受。模擬的程序會一直改變估計的參數,一直到估計的“方差矩陣”與真實的“方差矩陣”最接近為止。這時得到的參數就是最後的參數估計。看到這裏,讀者大概會問為什麼我們在談調查研究的數據時,常常強調變量間的方差與協方差。難道一組數據中,隻有變量間的方差與協方差才是重要的嗎?其他的統計量,如均值、中位數等就不重要嗎?難道變量的方差與協方差就可以代表整組數據的關鍵嗎?當然不是!我們在使用回歸分析、因子分析、結構方程等工具時,常常都強調變量間的方差與協方差,我猜有兩個原因:①因為管理研究中,在我們建立理論模型時,往往是什麼變量影響什麼變量;或者是一個變量的改變如何受另外一個變量影響。在這種情形下,相關係數(或者是用來計算相關係數的方差與協方差)就成了問題的中心。其實,結構方程建模可以用於均值的估計,隻是在管理學的研究中不常見而已。②管理研究常常用的是李克特式量表(1,2,3,4,5五點,從非常同意到非常不同意)。這些量表的均值本身就沒有絕對的意思。例如,員工的滿意度是3.45,那是什麼意思呢?是高還是低呢?這個不好說。我們更有興趣的是,滿意度受什麼因素影響。因此,方差與協方差(或是相關係數)就成為我們關注的焦點了。現在言歸正傳,讓我們用例子一的簡化模型來顯示這個“結構方程建模”估計過程的大致情況。

為了方便起見,讓我們用A,B,C,D來分別代表“企業認同”“主管認同”“同事認同”和“公民行為”。

首先我們假設觀察到的“方差矩陣”如下:rabracrbdrcdrad0.450.360.440.330.21注:假設所有的變量都是標準化,平均數為0,方差為1。根據以上模型,我們得到結構方程組為B=rabA+ε1

C=racA+ε2

D=rbdB+rcdC+ε3把B與C的方程代入D的方程,則D=rbd(rabA+ε1)+rcd(racA+ε2)+ε3

=rabrbdA+rbdε1+racrcdA+rcdε2+ε3

=(rabrbd+racrcd)A+(rbdε1+rcdε2+ε3)

rad=rabrbd+racrcd根據上式rab,rac,rbd,rcd都要模擬估計,但是rad就不需要模擬估計,因為我們的結構方程rad和前4個相關係數有一個函數的關係,即rad=rabrbd+racrcd在以下的模擬中,我們首先隨意估計rab,rac,rbd,rcd(起始值全是r=0.50)。rad是用函數公式計算出來的。然後我們用估計出來的“方差矩陣”(也就是這5個相關係數)與觀察到的“方差矩陣”比較,看看估計的“誤差”是多少?為了方便起見,我們用一個簡單明白的“誤差”公式,即誤差=(rab∧-rab)2+(rac∧-rac)2+(rbc∧-rbc)2+(rbd∧-rbd)2+(rad∧-rad)2誤差越少,代表用我們的“結構方程模型”估計出來的“方差矩陣”和觀察到的“方差矩陣”很像。也就是說,用我們理論假設的“結構方程模型”,利用我們模擬估計出來的參數,可以很大程度複製(reproduce)我們觀察到的“方差矩陣”。

在這個“誤差”的公式中,我們把隨意估計的rab,rac,rbd,rcd起始值放在結構方程組估計出來的相關,與我們觀察到的相關相減。為了避免正和負的誤差抵消,我們計算了差數的平方,然後把所有的誤差加起來。rabracrbdrcdrad真實相關0.450.360.440.330.21估計相關模擬rab∧rac∧rbd∧rcd∧rad∧誤差10.500.500.500.500.500.372420.500.400.500.500.450.306930.500.300.500.500.400.273340.500.200.500.500.350.283250.500.300.400.500.350.237160.500.300.300.500.300.250470.500.300.400.400.320.157280.500.300.400.300.290.122590.500.300.400.200.260.1646100.400.300.400.300.250.1010110.450.300.400.300.270.0985120.450.350.400.300.290.0907130.450.350.350.300.260.1089140.450.350.400.250.270.1068150.450.350.400.350.300.1032160.450.350.350.350.280.1162在上麵的例子中,我們觀察到的“方差矩陣”中的5個相關係數是0.45,0.36,0.44,0.33和0.21。根據我們的模型,rab,rac,rbd,rcd都要模擬估計,rad=rabrbd+racrcd。因此,我們首先從一組起始值(startvalue)開始,也就是rab∧,rac∧,rbd∧,rcd∧都等於0.50。根據這4個相關係數計算出來的rad∧是0.50。把這5個估計的相關與我們觀察到的5個相關比較,根據誤差公式,求出來的誤差是0.3724。現在我們嚐試把rac∧稍微改變一下,從0.50改到0.40(模擬2),即rad=rabrbd+racrcd

=0.50×0.50+0.40×0.50

=0.45所以新的一組估計為rab∧=0.50;rac∧=0.40;rbd∧=0.50;rcd∧=0.50;rad∧=0.45用誤差公式為誤差=(rab∧-rab)2+(rac∧-rac)2+(rbc∧-rbc)2+(rbd∧-rbd)2+(rad∧-rad)2計算出來的誤差是0.3069。因為0.3069這個誤差比原來的0.3724小,所以我們的估計方向應該是正確的。我們還可能把rac∧從0.40再降為0.30(模擬3),結果誤差進一步降低為0.2733。我們再把rac∧從0.30再降為0.20(模擬4),結果誤差反而提高為0.2832。因此,我們把rac∧回升到0.30,再降rbd∧從0.50再降為0.40(模擬5)。電腦程序就是通過類似的一個一個模擬嚐試,最後找到一組最接近觀察到的“方差矩陣”的rab,rac,rbd,rcd,rad估計。在上麵的例子中,這一組估計是在模擬12中找到的,最小的結果誤差是0.0907。

實際“結構方程模型”的計算機模擬當然比上麵的模擬例子要複雜得多,也準確得多。不過,所用的原理還是和這個例子差不多。模擬會產生一組的參數估計結果。利用估計出來的參數,我們就可以計算出一個估計出來的“方差矩陣”(統計上用Σ∧來代表)。把這個估計出來的“方差矩陣”與觀察到的“方差矩陣”(統計上用Σ來代表)比較,我們就知道估計的“誤差”(統計上稱為擬合函數(fitfunction))。這個誤差的大小就反映了基於我們觀察的“方差矩陣”和我們的“理論結構方程”,能否找到一組參數(或者是參數對應的一個估計的方差矩陣,Σ∧)來複製觀察到的方差矩陣(Σ)。因此,“擬合函數”(或誤差)的最小值(theminimumvalueofthefitfunction)越小,“估計出來的方差矩陣”跟“觀察到的方差矩陣”的“模型擬合度”(或稱模型契合度、模型擬合度(modelfit))就越高。換句話說,我們的“理論結構方程”就越可能是正確的。因此,“模型擬合度”就是驗證“結構方程模型”是否正確的最重要指標。在完成“結構方程模型”估計後,我們第一件要看的事就是“模型擬合度”是否很高。如果“擬合度”很低的話,就代表我們的理論模型有問題,需要重新建構新的結構方程模型。但是,讀者需要注意一點,“模型擬合度”低,就代表我們的模型應該是錯誤的(前提是我們的測量誤差、抽樣誤差不高)。但是反過來說,“模型擬合度”高,卻不代表模型一定是對的。它隻是代表我們“可以找到一組的參數,能較為準確地複製我們觀察到的方差協方差矩陣”而已。既然參數估計值可以讓我們複製觀察到的方差協方差矩陣,為什麼還說不能“證明”我們的模型是對的呢?舉一個最簡單例子:為了方便起見,我們假設A,B,C都是標準化的,方差都是1。因此,它們的協方差就等於它們的相關係數。假設觀察的rAB=0.5,rAC=0.3,rBC=0.15。那讀者可以看見,我們隻要估計A→B的路徑是0.5,A→C的路徑是0.3,那麼我們的估計方差協方差矩陣,就會與觀察的完全一致,擬合指數是1(那就是百分之百準確)。可是,這是不是代表我們的模型完全“正確”呢?那可不一定。其實,我們真正的模型是下麵這個才對。A與B其實不是因果關係,而是同時受一個“不在模型內的”變量的影響。