Tracks
Mô hình phương trình cấu trúc (SEM) cho phép chúng ta khảo sát các mối quan hệ nhân quả giữa các biến và hiểu mỗi biến đóng góp như thế nào vào hiệu suất tổng thể. SEM là một công cụ mạnh mẽ kết hợp phân tích nhân tố và hồi quy bội để phân tích mối quan hệ giữa nhiều biến. Điều này phần nào giống với cách trong đời sống hằng ngày, chúng ta cân nhắc các yếu tố như tư thế, sự tự tin và kỹ năng giao tiếp cùng nhau ảnh hưởng đến điều gì đó như hiệu suất phỏng vấn.
Giờ hãy cùng khám phá SEM, các ứng dụng của nó và ví dụ thực tế bằng Python. Nếu bạn mới làm quen với một số ý tưởng cốt lõi, chẳng hạn như khái niệm biến ẩn, bạn cũng có thể học khóa Phân tích Nhân tố của chúng tôi.
Mô hình Phương trình Cấu trúc là gì?
Mô hình phương trình cấu trúc thể hiện các mối quan hệ nhân quả giữa các biến ẩn và biến quan sát được. Biến quan sát được là những gì chúng ta có thể đo lường trực tiếp. Các cấu trúc ẩn được suy luận và không đo lường trực tiếp.
Để nắm bắt hiệu quả các mối quan hệ này, SEM được chia thành hai thành phần chính: mô hình đo lường và mô hình cấu trúc. Mô hình đo lường chỉ rõ mối quan hệ giữa các biến quan sát và các biến ẩn tương ứng, trong khi mô hình cấu trúc chỉ rõ mối quan hệ giữa các biến ẩn.
Tại sao các nhà nghiên cứu sử dụng mô hình phương trình cấu trúc?
Các kỹ thuật thống kê như tương quan và hồi quy kém hiệu quả trong việc nghiên cứu các mối quan hệ đa biến phức tạp. SEM phù hợp để mô hình hóa các cấu trúc phức hợp, đa diện được đo lường có sai số. Nó cũng hữu ích vì giúp chỉ định một hệ thống các mối quan hệ. Các phương pháp truyền thống giúp chúng ta nghiên cứu một biến phụ thuộc và một tập biến dự báo. Dù tương quan không phải là nhân quả, SEM giúp chúng ta hiểu mối quan hệ nhân quả giữa biến quan sát được và các cấu trúc ẩn.
Một số ứng dụng của SEM bao gồm:
- Khoa học Xã hội: SEM có thể được dùng để nghiên cứu ảnh hưởng của các giá trị văn hóa đến hành vi con người ở các xã hội khác nhau.
- Giáo dục: SEM có thể được dùng để khảo sát trải nghiệm của sinh viên sau đại học. Ví dụ, để mô hình hóa tỷ lệ bỏ học của nghiên cứu sinh tiến sĩ tại Mỹ.
- Mô hình hóa rủi ro bệnh tật: SEM có thể áp dụng vào mô hình hóa rủi ro bệnh để xác định nguy cơ mắc các bệnh như tiểu đường hoặc tim mạch.
Các khái niệm cốt lõi của mô hình phương trình cấu trúc
Dưới đây là một số khái niệm cốt lõi trong mô hình phương trình cấu trúc:
- Biến quan sát: Là các biến được đo lường trực tiếp từ nghiên cứu. Ví dụ là các câu trả lời cho các mục trong bảng hỏi.
- Biến ẩn: Là các biến được suy ra từ các biến quan sát trong nghiên cứu. Ví dụ, mức độ thông minh trong đánh giá thành tích học tập của một học sinh.
- Biến nội sinh: Còn được gọi là biến phụ thuộc. Ví dụ, trong y = x1 + x2 + x3, y là biến nội sinh vì nó phụ thuộc vào giá trị của x1, x2, …, xn.
- Biến ngoại sinh: Là các biến độc lập. Ví dụ, thời gian ngủ của một vận động viên độc lập với loại xe đạp đua.
- Mô hình đo lường: đo lường mối quan hệ giữa các cấu trúc ẩn và các biến quan sát. Khung phân tích nhân tố khẳng định dùng để kiểm định giả thuyết nền tảng của mô hình đo lường.
- Mô hình cấu trúc: Mô hình này khảo sát các mối quan hệ nhân quả giữa các cấu trúc ẩn. Nó được biểu diễn bằng sơ đồ đường dẫn.
Các giả định thống kê của mô hình phương trình cấu trúc
Dù SEM rất phù hợp để mô hình hóa các mối quan hệ nhân quả, nó có một số giả định nền tảng về dữ liệu. Các giả định gồm:
- Tính tuyến tính: SEM giả định mối quan hệ tuyến tính giữa các cấu trúc ẩn và các biến quan sát. Nó không phù hợp với các bộ dữ liệu phi tuyến vì có thể cho kết quả sai.
- Đa cộng tuyến: SEM giả định mức đa cộng tuyến tối thiểu giữa các biến quan sát. Ví dụ, thời gian ngủ và chế độ dinh dưỡng của một vận động viên có thể tương quan cao. SEM giả định mối tương quan nhỏ giữa các biến này.
- Giả định lấy mẫu: Với các bài toán SEM, bạn cần cỡ mẫu đủ lớn, ít nhất 200, để có kết quả tốt. Dù bạn không cần các bộ dữ liệu rất lớn như LLM, cỡ mẫu quá nhỏ có thể cho kết quả thiếu chính xác.
- Phân phối chuẩn đa biến: SEM giả định dữ liệu tuân theo phân phối chuẩn đa biến. Nó không phù hợp với dữ liệu không chuẩn. Bạn có thể thực hiện các kiểm định để kiểm tra tính chuẩn.
- Dữ liệu khuyết: SEM giả định dữ liệu là đầy đủ. Một cách SEM xử lý dữ liệu khuyết là giả định dữ liệu thiếu vắng ngẫu nhiên. Dữ liệu khuyết có thể làm sai lệch ước lượng của mô hình.
- Lỗi quy định mô hình: SEM giả định mô hình được xác định đúng. Nó giả định rằng mô hình đo lường và mô hình cấu trúc bao hàm ít nhất tất cả các biến liên quan.
Các loại mô hình phương trình cấu trúc
Có nhiều loại mô hình phương trình cấu trúc. Không theo thứ tự cụ thể, gồm có:
- Phân tích đường dẫn (Path Analysis): Là một dạng của SEM và là phần mở rộng của các mô hình hồi quy, chỉ xử lý các biến quan sát (còn gọi là biến dự báo). Sơ đồ đường dẫn biểu diễn trực quan các mối quan hệ này bằng các mũi tên để chỉ hướng tác động.
- Phân tích nhân tố khẳng định (CFA): Là một dạng SEM dùng để kiểm định tính hợp lệ của các mô hình đo lường. Nó xác minh liệu dữ liệu quan sát có phù hợp với mô hình được chỉ định trước hay không.
- Mô hình cấu trúc biến ẩn (LVSM): Mô hình hóa mối quan hệ giữa các cấu trúc ẩn và các biến quan sát. Nó cũng mô hình hóa mối quan hệ giữa chính các cấu trúc ẩn.
- Mô hình tăng trưởng ẩn (Latent Growth Models): Là dạng chuyên biệt của SEM tập trung vào mô hình hóa sự thay đổi theo thời gian. Chúng được dùng để nghiên cứu quỹ đạo của các biến ẩn (ví dụ, đặc điểm hoặc hành vi tâm lý) và cách chúng phát triển, xét đến thay đổi ở cấp cá nhân và nhóm.
Ví dụ Mô hình Phương trình Cấu trúc trong Python
Phát triển một mô hình SEM trong Python chỉ cần vài bước; chúng ta có thể dùng thư viện semopy để đơn giản hóa. Hướng dẫn sau giả định rằng bạn đã quen với cú pháp Python.
Cài đặt các thư viện cần thiết
pip install semopy
Lưu ý: Dành cho người dùng macOS. Nếu bạn gặp lỗi này khi cài đặt gói:
ExecutableNotFound: failed to execute PosixPath('dot'), make sure the Graphviz executables are on your systems' PATH
Cài đặt graphviz thông qua homebrew trong terminal của bạn
brew install graphviz
Xác định các cấu trúc
Trước khi tải bộ dữ liệu và tạo mô hình, hãy dành chút thời gian để xác định các cấu trúc của chúng ta. Tức là, chúng ta sẽ cần xác định các biến ẩn và biến quan sát. Trong trường hợp bộ dữ liệu của chúng ta, các biến quan sát đã được cung cấp dưới dạng đặc trưng có nhãn và chúng là x1 đến x3 và y1 đến y8. Các biến ẩn chúng ta muốn nghiên cứu có các tên sau, sẽ được giải thích: ind60, dem60, dem65.
Biến quan sát
-
y1: tự do báo chí, 1960 -
y2: tự do đối lập chính trị, 1960 -
y3: tính công bằng của bầu cử, 1960 -
y4: hiệu quả của cơ quan lập pháp được bầu, 1960 -
y5-y8: là các biến giống vớiy1-y4tương ứng, đo lường năm 1965 -
x1: GNP bình quân đầu người, 1960 -
x2: mức tiêu thụ năng lượng bình quân đầu người, 1960 -
x3: tỷ lệ lực lượng lao động trong công nghiệp, 1960
Biến ẩn
-
ind60: biến ẩn ngoại sinh về công nghiệp hóa. -
dem60: biến ẩn nội sinh về dân chủ năm 1960. -
dem65: biến ẩn nội sinh về dân chủ năm 1965.
Phát triển mô hình đo lường
Mục tiêu là xác định một mô hình lý thuyết để chỉ rõ mối quan hệ giữa các cấu trúc ẩn và các biến quan sát.
# Measurement model
ind60 =~ x1 + x2 + x3
demo60 =~ y1 + y2 + y3 + y4
dem65 =~ y5 + y6 + y7 + y8
Chỉ định mô hình cấu trúc
Tại đây, chúng ta sẽ chỉ định các mối quan hệ giữa chính các cấu trúc ẩn.
# regressions
dem60 ~ ind60
dem65 ~ ind60 + dem60
Chỉ định các tương quan
Tại đây, chúng ta muốn chỉ định các biến có tương quan cao với nhau.
# Correlations
y1 ~~ y5
y2 ~~ y4
y2 ~~ y6
y3 ~~ y7
y4 ~~ y8
y6 ~~ y5
Chuẩn bị bộ dữ liệu
Trong hướng dẫn này, chúng ta sẽ dùng bộ dữ liệu PoliticalDemocracy.csv do semopy cung cấp. Bạn có thể tải xuống bằng cách truy cập kho GitHub này.
Import pandas as pd
data = pd.read_csv('PoliticalDemocracy.csv')
Xác định mô hình SEM
Chúng ta cần kết hợp phần định nghĩa cấu trúc và đo lường vào đặc tả mô hình.
# Define the SEM model specification
model_spec = """
# Measurement model
ind60 =~ x1 + x2 + x3
dem60 =~ y1 + y2 + y3 + y4
dem65 =~ y5 + y6 + y7 + y8
# regressions
dem60 ~ ind60
dem65 ~ ind60 + dem60
# Correlations
y1 ~~ y5
y2 ~~ y4
y2 ~~ y6
y3 ~~ y7
y4 ~~ y8
y6 ~~ y5
"""
Tiếp theo, chúng ta định nghĩa mô hình và fit dữ liệu
import semopy
# Define the model
model = semopy.Model(model_spec)
#Fit the model
model.fit(data)
# Inspect the results
print(model.inspect())
Diễn giải kết quả
Chúng ta sẽ vẽ kết quả của mô hình để hiểu biểu diễn đường dẫn. Biểu đồ sẽ được lưu dưới tên political_sem_model.png.
semopy.semplot(model, 'political_sem_model.png')
print("SEM Model diagram saved as 'political_sem_model.png'.")
img = plt.imread('political_sem_model.png')
plt.imshow(img)
plt.axis('off')
plt.show()

Sơ đồ đường dẫn SEM cho bộ dữ liệu dân chủ chính trị. Nguồn: Hình do Tác giả tạo
Sơ đồ cho thấy cách đường dẫn liên hệ các cấu trúc ẩn (trong hình tròn) và các biến quan sát. Hệ số đường dẫn gần 1 hoặc -1 cho thấy mối quan hệ mạnh giữa các biến, còn các giá trị gần 0 cho thấy mối quan hệ yếu.
Độ lệch chuẩn trong bảng nằm trong phạm vi chấp nhận được. Giá trị lớn có thể cho thấy đa cộng tuyến hoặc mô hình được chỉ định sai. Giá trị p xác định ý nghĩa thống kê của các hệ số đường dẫn. Giá trị p nhỏ hơn 0,05 thường cho thấy đường dẫn có ý nghĩa thống kê. Chúng ta thấy 2 trường hợp giá trị p lớn hơn 0,05.
Tổng thể, kết quả cho thấy ind60 ảnh hưởng đáng kể đến dem60, và đến lượt nó, dem60 ảnh hưởng đáng kể đến dem65.
Đánh giá độ phù hợp của mô hình
Để đánh giá độ phù hợp mô hình SEM, mô hình giả thuyết nên khớp với các mối quan hệ quan sát được. Nhiều chỉ số độ phù hợp được dùng để đánh giá mức độ mô hình khớp với dữ liệu. Dưới đây là các chỉ số thường dùng:
- Kiểm định Chi-bình phương: So sánh ma trận hiệp phương sai quan sát với ma trận hiệp phương sai do mô hình ngụ ý. Chi-bình phương không có ý nghĩa thống kê cho thấy mô hình phù hợp tốt.
- Sai số xấp xỉ trung bình bình phương căn (RMSEA): Đánh giá mức độ mô hình xấp xỉ dữ liệu, có điều chỉnh cho độ phức tạp của mô hình. Giá trị dưới 0,05 và đến 0,08 là chấp nhận được.
Thách thức thường gặp và cách giải quyết trong SEM
Một số thách thức thường gặp của kỹ thuật mô hình phương trình cấu trúc bao gồm:
- Dữ liệu không chuẩn: SEM thường giả định dữ liệu tuân theo phân phối chuẩn. Sử dụng dữ liệu không chuẩn có thể ảnh hưởng đến sai số chuẩn, giá trị p và các chỉ số độ phù hợp, dẫn đến ước lượng không đáng tin cậy. Có thể áp dụng các kỹ thuật biến đổi dữ liệu để chuẩn hóa dữ liệu.
- Dữ liệu khuyết: SEM cần dữ liệu đầy đủ. Dữ liệu khuyết có thể dẫn đến kết quả sai lệch. Bạn có thể tận dụng các phương pháp ước lượng hợp lý như cực đại hợp lý thông tin đầy đủ (FIML) để xử lý.
- Độ phù hợp mô hình: Khi mô hình giả thuyết không khớp với dữ liệu quan sát, điều đó dẫn đến diễn giải sai lệch về mối quan hệ giữa các biến. Bạn có thể thực hiện điều chỉnh dựa trên lý thuyết cho mô hình hoặc dùng các chỉ số sửa đổi.
Kết luận
Trong bài viết này, chúng ta đã xem xét sâu về SEM, bao gồm ứng dụng, triển khai, ưu điểm và hạn chế. SEM là công cụ mạnh mẽ để khảo sát các mối quan hệ phức tạp và tương tác nhân quả giữa biến quan sát và biến ẩn. Bạn nên thử áp dụng trong Python hoặc R cho dự án phân tích tiếp theo của mình.
Nếu bạn quan tâm đến ý tưởng mô hình phương trình cấu trúc nhưng thích R hơn, bạn có thể học khóa Structural Equation Modeling với lavaan trong R, có hướng dẫn chi tiết từng bước. Bạn cũng có thể bắt đầu lộ trình nghề nghiệp Statistician in R. Nếu bạn gắn bó với Python, hãy đọc tài liệu semopy để biết thêm các trường hợp sử dụng SEM trong Python. Cuối cùng, nếu bạn quan tâm đến các mô hình Python nâng cao vừa dự đoán vừa giải thích, và muốn khám phá ý tưởng về kiến trúc mô hình và chọn đặc trưng, hãy thử lộ trình nghề nghiệp Machine Learning Scientist in Python của chúng tôi.
Câu hỏi thường gặp về Mô hình Phương trình Cấu trúc
Mô hình phương trình cấu trúc (SEM) là gì và hoạt động như thế nào?
Mô hình phương trình cấu trúc là kỹ thuật thống kê đa biến dùng để phân tích các mối quan hệ phức tạp giữa biến ẩn và biến quan sát được.
Sự khác nhau giữa phân tích nhân tố khẳng định (CFA) và mô hình phương trình cấu trúc (SEM) là gì?
Phân tích nhân tố khẳng định (CFA) là một dạng của SEM tập trung vào mối quan hệ giữa các biến ẩn và các biến quan sát liên quan. SEM, mặt khác, mở rộng vượt ra ngoài các mô hình đo lường để bao gồm cả thành phần cấu trúc và đo lường, cho phép phân tích các mối quan hệ nhân quả phức tạp giữa biến ẩn và biến quan sát.
Các bước chính để thực hiện phân tích SEM là gì?
Các bước chính trong phân tích SEM gồm: (1) Xác định các mối quan hệ lý thuyết giữa các biến; (2) Nhận dạng mô hình, đảm bảo số điểm dữ liệu vượt quá số tham số; (3) Fit mô hình với dữ liệu; (4) Đánh giá độ phù hợp mô hình bằng các chỉ số như Chi-bình phương, hoặc RMSEA; và (5) Diễn giải kết quả, xem xét các hệ số đường dẫn và chỉ số độ phù hợp mô hình.
Những thách thức nào khi sử dụng SEM?
Một số thách thức phổ biến gồm chọn mô hình - khi mô hình có thể không có đủ điểm dữ liệu để ước lượng tham số, đa cộng tuyến giữa các biến, độ phù hợp mô hình kém - khi dữ liệu không khớp tốt với mô hình giả thuyết, và cỡ mẫu, vì mẫu nhỏ có thể dẫn đến kết quả không đáng tin cậy.
Tôi có thể dùng gói Python nào cho SEM?
semopy là một gói Python hỗ trợ các thao tác mô hình phương trình cấu trúc.
