Tải bản đầy đủ (.pdf) (4 trang)

Hiện tượng đa cộng tuyến (multicollinearity) – how to STATA

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (199.35 KB, 4 trang )

9/15/21, 2:38 PM

Hiện tượng đa cộng tuyến (Multicollinearity) – How to STATA

How to STATA
A set of guides and tutorials for beginners on using Stata
effectively

Hiện tượng đa cộng tuyến (Multicollinearity)
Posted on April 30, 2020May 10, 2020 by Chung Mai
Chào các bạn,
Bài viết này sẽ mở đầu cho series các bài viết giới thiệu về từng bệnh/lỗi của mơ hình. Mình sẽ đi từ định nghĩa
của bệnh, hậu quả của bệnh đối với ước lượng của mơ hình, cách nhận biết và cách xử lý các bệnh này. Bệnh
đầu tiên và cũng là một bệnh khá phổ biến trong mơ hình hồi quy tuyến tính là đa cộng tuyến. Chúng ta cùng
tìm hiểu nhé.
1. Định nghĩa hiện tượng đa cộng tuyến: Đây là hiện tượng mà các biến độc lập trong mô hình có mối quan
hệ tuyến tính với nhau.
2. Có 2 trường hợp đa cộng tuyến: Hoàn hảo (perfect multicollinearity) và khơng hồn hảo (imperfect
multicollinearity).
Ví dụ: 1 = 2X2 + 3X3. Trường hợp này là đa cộng tuyến hoàn hảo. Chúng ta sẽ không thể nào thực hiện ước
lượng cho cả 2 biến này cùng một lúc được. Các phần mềm phân tích dữ liệu sẽ tự động loại bỏ đi một biến và
chỉ ước lượng hệ số hồi quy cho biến cịn lại mà thơi.
Cịn nếu như chúng ta có: 1 = 2X2 + 3X3 + Vi với Vi là một sai số ngẫu nhiên thì đây là hiện tượng đa cộng
tuyến khơng hồn hảo. Thơng thường chúng ta sẽ gặp hiện tượng này khi thực hiện ước lượng.
3. Hậu quả của hiện tượng đa cộng tuyến:
Ước lượng OLS vẫn là ước lượng tốt nhất và không bị thiên lệch (gọi là BLUE – Best Linear Unbiased
Estimator), nhưng các hệ số ước lượng này sẽ có sai số khá lớn, dẫn đến khơng có ý nghĩa thống kê. Vậy
nên, chúng ta không thể bác bỏ được giả thuyết: beta = 0.
Hệ số R2 sẽ có giá trị khá cao mặc dù các hệ số hồi quy thì khơng có ý nghĩa thống kê. Đây cũng là một
trong những dấu hiệu bạn sử dụng để nhận biết hiện tượng này. Nếu như mơ hình của bạn có R2 rất cao,
nhưng chỉ có một, hai biến độc lập có ý nghĩa thống kê thơi, thì khả năng cao là các biến độc lập trong mơ


hình có hiện tượng đa cộng tuyến.
Các hệ số ước lượng cũng sẽ trở nên rất nhạy cảm với sự thay đổi của dữ liệu. Khi chúng ta đưa thêm biến
vào mơ hình mà gây ra hiện tượng đa cộng tuyến thì sẽ dẫn đến làm thay đổi giá trị của các hệ số ước
lượng khác.
4. Cách nhận biết hiện tượng đa cộng tuyến: Chúng ta có thể sử dụng 5 cách sau.
/>
1/4


9/15/21, 2:38 PM

Hiện tượng đa cộng tuyến (Multicollinearity) – How to STATA

Cách 1: Như đã nói ở trên, nếu kết quả ước lượng có giá trị R2 rất cao nhưng rất ít biến độc lập có ý nghĩa
thống kê thì khả năng cao là các biến độc lập đã bị ảnh hưởng bởi đa cộng tuyến. Bởi vì, R2 thể hiện cho
khả năng giải thích của biến độc lập đến biến động trong biến phụ thuộc. Vậy nên, nếu biến độc lập khơng
có ý nghĩa thống kê thì điều này cũng có nghĩa biến độc lập cũng khơng có đóng góp gì vào hệ số R2.
Cách 2: Kiểm tra hệ số tương quan giữa các cặp biến (pairwise correlations)
Đây là hệ số tương quan giữa các cặp biến với nhau. Nếu hệ số này cao hơn 0.5 thì đó đã là điều đáng lo ngại
rồi. Tuy nhiên, chúng ta ko nên bỏ biến ra khỏi mơ hình khi chỉ căn cứ vào hệ số này. Lý do là bởi vì khi hệ số
này được ước tính, các biến khác khơng được giữ nguyên (hold constant) nên có thể ảnh hưởng đến kết quả
ước lượng.
Trong STATA, chúng ta có thể dùng lệnh pwcorr để có thể ước lượng được các hệ số tương quan này nhé.
Công thức lệnh này như sau:
pwcorr biendoclap1 biendoclap2 … biendoclapn, star(95)
Chúng ta có thể bổ sung thêm lựa chọn star(95) ở phía sau câu lệnh như trên để STATA báo cho chúng ta biết
các hệ số tương quan đó có ý nghĩa thống kê hay khơng.
Cách 3: Kiểm tra hệ số  tương quan từng phần (Partial correlation)
Hệ số tương quan này thực chất cũng được tính toán giữa các cặp biến, tuy nhiên các biến khác đã được giữ
nguyên. Để dễ phân biệt thì mình so sánh giữa hệ số tương quan pairwise và partial nhé. Giả sử chúng ta có 3

biến X1, X2, X3. Chúng ta sẽ có 3 hệ số tương quan pairwise đó là r12, r13, r23. Chúng ta sẽ có 3 hệ số tương
quan partial: r12.3, r13.2 và r23.1 Nếu biến X1 có quan hệ tuyến tính với cả 2 biến X2 và X3 thì có khả năng hệ
số tương quan pairwise r23 đã bị ảnh hưởng bởi X1 rồi. Vậy nên, nếu chúng ta giữ X1 khơng đổi thì hệ số r23.1
sẽ phản ảnh tốt hơn mối tương quan giữa X2 và X3. Tuy nhiên, kết quả này cũng ko phải là căn cứ để chúng ta
loại bỏ biến đâu nhé.
Trong STATA, chúng ta có thể dùng lệnh pcorr để ước lượng hệ số tương quan từng phần này nhé. Công thức
câu lệnh này như sau:
pcorr biendoclap1 biendoclap2 biendoclap3
Cách 4: Hồi quy phụ trợ/hỗ trợ (Auxiliary regressions)
Chúng ta có thể hồi quy lần lượt từng biến độc lập lên các biến độc lập khác và kiểm tra kiểm định F của các
mơ hình hồi quy phụ trợ này. Nếu như kiểm định F có ý nghĩa thống kê (P-value < 0.1 hoặc 0.05), kết quả này
hàm ý là có hiện tượng đa cộng tuyến giữa các biến độc lập. Ngược lại, nếu P-value của F lớn hơn 0.1 thì chúng
ta có thể an tâm rằng khơng có hiện tượng đa cộng tuyến trong mơ hình. Có điều cách này hơi tốn thời gian
của các bạn xíu đó.
Cách 5: Dùng hệ số VIF (Variance Inflation Factor – hệ số phóng đại phương sai) hoặc TOF (Tolerance Factor
– hệ số dung sai)
TOF thực chất chỉ là nghịch đảo của VIF mà thôi, nên các bạn dùng hệ số nào cũng được nhé. Đối với VIF, hệ
số càng lớn thì có nghĩa là biến đó có nguy cơ cao gây ra hiện tượng đa cộng tuyến. Ngược lại, hệ số TOF càng
nhỏ thì càng nguy hiểm. Có rất nhiều tiêu chuẩn để lựa chọn hệ số VIF hay TOF này, nhưng ad thì theo tác giả
Gujarati nhé. Hệ số VIF của các biến nên nhỏ hơn 2 hoặc là hệ số TOF nên lớn hơn 0.5.
Trong STATA, để có được hệ số VIF hoặc TOF, chúng ta có thể dùng lệnh estat vif.
/>
2/4


9/15/21, 2:38 PM

Hiện tượng đa cộng tuyến (Multicollinearity) – How to STATA

estat vif, uncentered

Sau khi chạy hồi quy xong và gõ lệnh này thì STATA sẽ báo kết quả của hệ số VIF và 1/VIF (chính là TOF) cho
các bạn nhé. Nếu mơ hình của bạn chạy khơng có hệ số chặn (alpha) thì chúng ta nên dùng thêm lựa chọn
uncentered ở phía sau câu lệnh nhé.
5. Cách xử lý
Nếu như bạn chắc chắn rằng các biến đưa vào mô hình đều là những biến cần thiết và quan trọng, được đảm
bảo trên một nền tảng lý thuyết chắc chắn thì chúng ta khơng cần phải làm gì cả trong trường hợp này. Bởi vì
hệ số ước lượng OLS vẫn không bị thiên lệch và nhất quán.
Trong trường hợp, biến là khơng cần thiết và có hệ số tương quan rất cao với các biến khác, ta có thể bỏ biến đó
ra khỏi mơ hình (tất nhiên là ko cần xố hẳn biến đó ra khỏi bộ dữ liệu nha, chỉ cần chạy lại mơ hình hồi quy
khác và khơng đưa biến đó vào thơi). Tuy nhiên, cách làm này thường được gọi là data-mining, nghĩa là chúng
ta ko thực sự phát triển mơ hình dựa trên một nền tảng lý thuyết, mà đang cố gắng khai thác từ dữ liệu để cố
tìm ra mối quan hệ định lượng nào đó. Vậy nên, mình vẫn muốn nhắc lại: Bạn tìm hiểu thật kỹ về lý thuyết và
chọn lựa những biến cần thiết nhất để đưa vào mơ hình. Nếu các biến đó khơng có ý nghĩa thống kê đi chăng
nữa thì cứ let it be vậy thơi.
Chúng ta cũng có thể dùng phương pháp Principal Component Analysis – PCA (Phân tích thành phần chính).
Theo cách này, chúng ta sẽ tạo ra các principal components để thay thế cho các biến độc lập. Cái hay của
phương pháp này là nó sẽ giúp loại bỏ hoàn toàn hiện tượng đa cộng tuyến vì các principal component được
đảm bảo khơng có mối quan hệ với nhau. Tuy nhiên, phương pháp này mình thường thấy được sử dụng trong
trường hợp dữ liệu được thu thập từ các bảng câu hỏi điều tra thơi. Ví dụ, trong bảng hỏi thường có các nhóm
câu hỏi để làm rõ các khía cạnh khác nhau. Tất cả các câu hỏi đó đều là các biến đó các bạn. Nếu đưa hết các
câu hỏi vào trong mơ hình thì quá nhiều, hiện tượng đa cộng tuyến là chắc chắn ln, nên là chúng ta có thể
thực hiện PCA để lấy được thành phần chính đại diện cho từng nhóm câu hỏi. Trong các trường hợp khác, việc
dùng mơ hình với PCA sẽ dẫn đến việc rất khó giải thích ý nghĩa kinh tế của mơ hình. Vậy nên, chúng ta chỉ
nên dùng PCA trong những trường hợp nghiên cứu cần thiết thơi nhé.
Trong STATA, chúng ta có thể dùng lệnh pca  để trích xuất các thành phần này  nhé. Câu lệnh này như sau:
pca biendoclap1 biendoclap2 … biendoclapn, com(#)
Chúng ta nên dùng thêm lựa chọn com() ở phía sau câu lệnh để nêu rõ số lượng thành phần mình muốn trích
xuất nhé. Nhưng nếu chúng ta khơng muốn tự lựa chọn cũng không sao. Sau khi STATA chạy pca thì sẽ cho
chúng ta các kết quả về eigenvalue. Thơng thường thành phần 1 sẽ có hệ số eigenvalue lớn nhất, và giảm dần về
sau. Chúng ta nên chọn đến thành phần có eigenvalue vẫn lớn hơn 1 là được nhé.

Okay, đây là tất tần tật những vấn đề liên quan đến hiện tượng đa cộng tuyến. Ad sẽ tiếp tục với các bệnh khác
trong những bài viết sau nhé.
Nguồn tham khảo:
Gujarati (2012), Econometrics by example


Posted in Kinh tế lượng căn bản, STATA for estimationsTagged multicollinearity, pairwise correlation,
partial correlation, đa cộng tuyến

/>
3/4


9/15/21, 2:38 PM

Hiện tượng đa cộng tuyến (Multicollinearity) – How to STATA

2 thoughts on “Hiện tượng đa cộng tuyến (Multicollinearity)”
1. hntien says:March 19, 2021 at 7:40 am
Xin hỏi AD làm rõ nội dung này :”Hệ số VIF của các biến nên nhỏ hơn 2 hoặc là hệ số TOF nên lớn hơn 0.5.”
Tuy nhiên, Tôi đọc nhiều tài liệu và đề tài nghiên cứu ở Việt nam thì hệ số VIF nhỏ hơn 10 là chấp nhận
được?
Reply
Chung Mai says:March 19, 2021 at 12:18 pm
Vấn đề này tuỳ thuộc khá nhiều vào quyết định của nhà nghiên cứu. Họ có thể theo một quy chuẩn nào
đó như là VIF nhỏ hơn 2 hoặc 4 hoặc 10. Chọn tiêu chuẩn càng nới lỏng thì khả năng hiện tượng đa
cộng tuyến dễ tồn tại hơn. Tiêu chuẩn mà ad trình bày trong bài viết thì theo tác giả Gujarati nhé. Và ad
nghĩ chúng ta nên kết hợp nhiều tiêu chuẩn với nhau để đưa ra quyết định có nên loại biến hay khơng,
chứ đừng chỉ dựa vào hệ số VIF mà vội đưa ra quyết định.
Reply


Website Powered by WordPress.com.

/>
4/4



×