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

Hiện tượng phương sai sai số thay đổi Heteroskedasticity

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 (446.04 KB, 8 trang )

9/15/21, 2:39 PM

Hiện tượng phương sai sai số thay đổi (Heteroskedasticity) – How to STATA

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

Hiện tượng phương sai sai số thay đổi (Heteroskedasticity)
Posted on May 9, 2020May 9, 2020 by Chung Mai
Chào các bạn,
Một trong những giả định của mơ hình hồi quy tuyến tính ( là phương sai của sai số phải như nhau (gọi là homoskedasticity).
Việc vi phạm giả định này sẽ gây ra hiện tượng phương sai sai số thay đổi. Trong bài viết này, mình sẽ giới
thiệu với các bạn một cách chi tiết nhất về hiện tượng này nhé.
1. Định nghĩa:
Phương sai sai số thay đổi là hiện tượng mà phương sai của các sai số ước lượng không bằng nhau. Từ
heteroscedasticity nghĩa là unequal variance. Hiện tượng này thường hay xảy ra đối với dữ liệu cắt ngang
(cross-sectional data).
2. Nguyên nhân xuất hiện:
Nguyên nhân chính dẫn đến sự xuất hiện của hiện tượng này có lẽ là do sự tồn tại của các outliers trong biến.
Outliers là các quan sát của biến mà có giá trị quá khác biệt so với các quan sát còn lại. Hoặc là các quan sát
của cùng một biến nhưng lại được đo lường với những thang đo khác nhau. Ví dụ khi đo lường thu nhập,
bạn dùng đơn vị tỷ đồng cho những người có thu nhập cao, nhưng lại vơ tình dùng đơn vị triệu đồng cho
những người có thu nhập thấp hơn. Ngồi ra, hiện tượng này cũng có thể xảy ra trong trường hợp sai dạng
hàm hoặc sai sót trong q trình biến đổi dữ liệu.
3. Hậu quả:
Nếu như mơ hình chỉ xảy ra lỗi phương sai sai số thay đổi thơi thì ước lượng OLS vẫn là ước lượng ko bị
thiên lệch và nhất qn (unbiased and consistent), tuy nhiên nó khơng phải là ước lượng tốt nhất (hiệu quả
nhất) nữa. Bởi vì, phương sai của sai số trong trường hợp này không thể đạt được giá trị nhỏ nhất nữa. Khi
đó, các kiểm định hệ số hồi quy và kiểm định F của mơ hình trở nên khơng đáng tin cậy. Vì vậy, việc đưa ra
các kết luận dựa trên các kiểm định này sẽ khơng chính xác.


4. Cách phát hiện:

/>
1/8


9/15/21, 2:39 PM

Hiện tượng phương sai sai số thay đổi (Heteroskedasticity) – How to STATA

Mình sẽ sử dụng bộ dữ liệu auto có sẵn của STATA để minh hoạ nhé. Để sử dụng bộ dữ liệu này thì các bạn
chỉ cần gõ lệnh sysuse auto.dta là được.
Có hai cách phát hiện hiện tượng này: đó là dùng hình vẽ hoặc dùng các kiểm định.
Cách 1: Vẽ đồ thị giữa sai số và giá trị ước lượng của biến Y và quan sát
Đầu tiên mình sẽ chạy hồi quy mơ hình PRICE = alpha + beta1*MPG + beta2*WEIGHT
Mình đang kiểm tra xem mức độ hao xăng và trọng lượng của xe thì có ảnh hưởng ntn đến giá thành của
một chiếc xe.
hetero2

Sau đó, mình sẽ dùng lệnh rvfplot để có thể vẽ được đồ thị giữa sai số và giá trị ước lượng của biến phụ
thuộc trong mơ hình. Mình thêm một cái option trong câu lệnh là yline(0) để đồ thị hiện ra đường thẳng tại
mức sai số = 0. Giá trị 0 là giá trị trung bình của sai số. 
hetero1

 

/>
2/8



9/15/21, 2:39 PM

Hiện tượng phương sai sai số thay đổi (Heteroskedasticity) – How to STATA

Các chấm xanh trong hình vẽ thể hiện cho vị trí của các sai số đối với từng giá trị ước lượng của biến Y (fitted
values). Nếu khoảng cách của các chấm xanh này đến đường giá trị trung bình tương tự nhau thì chúng ta
có thể ngầm hiểu là khơng có hiện tượng phương sai sai số thay đổi xảy ra. Tuy nhiên, trong hình vẽ trên, ta
thấy càng về phía bên phải thì các chấm xanh càng cách xa đường giá trị trung bình hơn. Điều này ngầm
báo hiệu cho chúng ta rằng có hiện tượng phương sai sai số thay đổi xảy ra. Ta có thể dùng các kiểm định
chuyên dụng để kiểm tra lại lần nữa cho chắc.
Cách 2: Dùng các kiểm định chuyên dụng
Có 2 kiểm định mà chúng ta có thể sử dụng đó là kiểm định Breusch-Pagan và kiểm định White. Cả hai kiểm
định này đều có cùng một giả thuyết, đó là:
Ho: Phương sai sai số là bằng nhau/khơng đổi (Constant variance/Homoskedasticity)
H1: Phương sai sai số không bằng nhau/thay đổi (Unequal variance/Heteroskedasticity)
Nếu như chúng ta bác bỏ giả thuyết Ho thì nghĩa là mơ hình hồi quy có hiện tượng phương sai sai số thay
đổi. Ngược lại nếu chúng ta chấp nhận giả thuyết H0 thì nghĩa là khơng có hiện tượng PSSS thay đổi xảy
ra.
Cả hai kiểm định này đều sẽ cung cấp cho chúng ta một hệ số thống kê đi cùng với giá trị P-value tương
ứng. Như vậy, nếu P-value>=0.1 thì chúng ta có thể an tâm khơng thể bác bỏ giả thuyết H0 và vì vậy mơ
hình của chúng ta okay. Ngược lại, nếu P-value <0.1 thì điều đó có nghĩa là mơ hình gặp phải hiện tượng
PSSS thay đổi.
Mình xin phép bỏ qua phần giới thiệu về quá trình xây dựng nên hai kiểm định này nhé. Nếu bạn nào quan
tâm, mình có thể gửi tài liệu về vấn đề này cho các bạn qua email.
Trong bài viết này mình chỉ hướng dẫn cách thức thực hiện hai kiểm định này trong STATA thôi.
Đối với kiểm định Breusch-Pagan
Sau khi thực hiện lệnh hồi quy, bạn dùng câu lệnh estat hettest ngay sau đó thì STATA sẽ báo kết quả của
kiểm định này cho bạn.
hetero3


Ví dụ trong trường hợp này, P-value là 0.0001. Điều này có nghĩa là mơ hình có hiện tượng PSSS thay đổi.
Kết quả này phù hợp với cách kiểm tra bằng hình vẽ mà mình nói ở trên.
Đối với kiểm định White
Sau khi thực hiện lệnh hồi quy, chúng ta dùng câu lệnh estat imtest, white nhé. Kết quả của kiểm định White
như sau:
/>
3/8


9/15/21, 2:39 PM

Hiện tượng phương sai sai số thay đổi (Heteroskedasticity) – How to STATA

Chúng ta có thể thấy giá trị P-value = 0.0066, vẫn quá nhỏ so với 0.1. Vậy nên chúng ta phải bác bỏ giả
thuyết H0 và kết luận rằng mơ hình có hiện tượng PSSS thay đổi.
4*. Làm thế nào phát hiện hiện tượng PSSS thay đổi trong dữ liệu bảng?
Dữ liệu bảng là sự kết hợp giữa dữ liệu thời gian (time-series) và dữ liệu cắt ngang (cross-sectional) nên có
khả năng xảy ra hiện tượng PSSS thay đổi. Chúng ta có thể dùng lệnh xttest3 ngay sau khi chạy lệnh xtreg,
fe hoặc xtgls để biết được mơ hình có bị hiện tượng PSSS thay đổi hay không. Lệnh này được phát triển dựa
trên kiểm định Wald để kiểm tra sai số của mơ hình hồi quy ảnh hưởng cố định (fixed effect model) thôi. Ad
cũng chưa tìm hiểu được cách thức kiểm tra đối với mơ hình OLS.  Tuy nhiên, khi chạy hồi quy với dữ liệu
bảng thì thơng thường chúng ta nên chạy cả hai mơ hình OLS và mơ hình Fixed effect. Trên cơ sở đó, chúng
ta có thể dùng lệnh xttest3 này để kiểm tra nhé.
Lệnh xttest3 này cũng ko có sẵn trong STATA mà chúng ta cần phải cài đặt trước khi sử dụng nhé. Giả
thuyết H0 của kiểm định này tương tự như kiểm định BP hay White mà mình trình bày ở trên. Vậy nên,
chúng ta cũng sẽ bác bỏ giả thuyết nếu như P-value < 0.1, nghĩa là mơ hình có hiện tượng PSSS thay đổi.
5. Cách khắc phục
Vậy chúng ta sẽ khắc phục hiện tượng này như thế nào?
Cách 1: Chúng ta có thể dùng Weighted Least Squares (WLS). Về nguyên tắc, phương pháp hồi quy này
được thực hiện tương tự như OLS, nhưng các giá trị quan sát được điều chỉnh/biến đổi (transform) bởi

phương sai trước khi mơ hình được ước lượng. Cái khó của phương pháp này đó là chúng ta phải thực hiện
thử và sai nhiều lần để xác định được nên biến đổi các biến như thế nào. Các bạn có thể tham khảo thêm ở
đường link này nhé. ( />Cách 2: Biến đổi biến về dạng log. Khi đó, thang đo biến sẽ nhỏ bớt lại và giúp làm giảm hiện tượng PSSS
thay dổi. Ví dụ như khi 2 quan sát có giá trị là 8 và 80 được đưa về dạng log thì nó sẽ trở thành 2.0794 và
4.3280. Lúc này chênh lệch giữa các biến nhỏ hơn nhiều, nên hiện tượng PSSS thay đổi sẽ được hạn chế. Tuy
/>
4/8


9/15/21, 2:39 PM

Hiện tượng phương sai sai số thay đổi (Heteroskedasticity) – How to STATA

nhiên, có 2 vấn đề cầu lưu ý: dạng log chỉ có giá trị với các quan sát lớn hơn 0 và hệ số beta lúc này phải
được giải thích theo dạng thay đổi trong phần trăm. Các bạn có thể xem lại bài viết này
( để biết cách giải thích
hệ số beta khi biến được biến đổi ở dạng log nhé.
Cách 3: Chúng ta có thể thực hiện winsorize để loại bỏ đi các outliers (nghĩa là loại bỏ đi các biến có giá trị bất
thường). Để biết data của mình có outliers hay khơng thì các bạn có thể dùng lệnh summarize để truy xuất
thơng tin về giá trị trung bình, độ lệch chuẩn, giá trị lớn nhất và giá trị nhỏ nhất của biến nhé. Chúng ta có
thể xem xét giá trị độ lệch chuẩn. Nếu như giá trị độ lệch chuẩn quá lớn thì nguy cơ cao là có outlier. Lúc này
chúng ta có thể dùng lệnh winsor để loại bỏ đi các outlier này. Lệnh winsor khơng có sẵn trong STATA, nên
các bạn cần phải cài đặt nó trước khi sử dụng nhé. Lệnh winsor không làm thay đổi số lượng quan sát, mà
nó sẽ thay thế các giá trị outliers bằng các giá trị khác thơi. Ví dụ, mình muốn loại bỏ đi 1% giá trị nhỏ nhất
và 1% giá trị lớn nhất trong dãy dữ liệu, thì lệnh winsor sẽ thay thế các giá trị này bằng giá trị nhỏ thứ 2% và
lớn thứ 99%. Công thức sử dụng lệnh winsor như sau:
winsor bienA, gen(bienA_w) p(#) hoặc h(#)
Lệnh này giúp chúng ta winsor biến A và tạo ra biến A mới gọi là bienA_w, dựa trên việc kê khai giá trị p
hoặc h.
Khi dùng p thì chúng ta kê khai % dữ liệu mà chúng ta muốn winsor. Số này bắt buộc phải nhỏ hơn 0.5 nhé.

Nhưng 0.5 nghĩa là các bạn thực hiện winsor tới 50% số lượng quan sát rồi đó, như vậy là quá nhiều. Theo
kinh nghiệm của ad thì các bạn nên thử với % nhỏ nhất như là 0.01 (nghĩa là 1%) và kiểm tra lại các giá trị
thống kê mô tả. 
Khi dùng h thì chúng ta kê khai số lượng quan sát mà mình muốn thay đổi ở mỗi đầu dữ liệu. Vậy nên h
này nhận giá trị ít nhất là 1 quan sát và nhiều nhất là 1/2 quan sát trong bộ dữ liệu.
Nếu như bạn chỉ muốn điều chỉnh dữ liệu ở một trong hai đầu dữ liệu thì chúng ta có thể thêm lựa chọn
highonly (cho giá trị lớn) hoặc là lowonly (cho giá trị nhỏ). Ví dụ như chúng ta thấy giá trị lớn nhất hoặc giá
trị nhỏ nhất cách quá xa so với giá trị trung bình và vơ lý thì chúng ta có thể dùng lựa chọn này nhé.
Cách 4: Ước lượng với phương sai sai số chuẩn (standard errors or robust standard errors)
Đối với cách này thì hệ số hồi quy của chúng ta vẫn như cũ, nhưng sai số của các hệ số hồi quy bây giờ sẽ
được điều chỉnh để cho phép sự tồn tại của hiện tượng PSSS thay đổi và tất nhiên là đảm bảo giả định của
mơ hình hồi quy.
Để thực hiện thì khi chạy hồi quy, chúng ta chỉ cần thêm lựa chọn robust vào sau câu lệnh thôi.

/>
5/8


9/15/21, 2:39 PM

Hiện tượng phương sai sai số thay đổi (Heteroskedasticity) – How to STATA

Lúc này, nếu như mơ hình khơng cịn lỗi nào khác thì chúng ta có thể báo cáo kết quả này rồi. Tuy nhiên,
phương pháp này yêu cầu mẫu dữ liệu lớn để thực hiện nhé.
Okay, bài viết này thực sự là tất tần tật về hiện tượng phương sai sai số thay đổi rồi. Hy vọng sẽ giúp ích cho
các bạn. Nếu có vấn đề gì cần trao đổi thêm với mình về hiện tượng lỗi này, hãy comment/inbox cho mình
biết nhé.
 



Posted in Kinh tế lượng căn bản, STATA for estimationsTagged Breusch-Pagan test,
heteroskedasticity, phương sai sai số thay đổi, White test, winsorize

11 thoughts on “Hiện tượng phương sai sai số thay đổi
(Heteroskedasticity)”
1. Nguyen Linh says:December 2, 2020 at 10:20 am
Anh ơi cho em hỏi phương pháp Weighted Least Squares va phuong phap : Generalized Least Square
trong stata la giống nhau đúng không ạ
Reply
Chung Mai says:December 3, 2020 at 3:58 pm
Câu trả lời ngắn gọn là không nhé. WLS thường được sử dụng để giải quyết hiện tượng phương sai
sai số thay đổi (heteroskedasticity) và thường hay sử dụng cho dữ liệu cắt ngang (cross-sectional). Còn
GLS căn bản dựa trên giả định phương sai sai số không đổi (homoskedasticity), thường được sử dụng
cho dữ liệu bảng (panel data). Mặc dù các lựa chọn thêm vào phía sau câu lệnh có thể giúp “relax” giả
định này, nhưng nếu thêm vào thì bản chất của câu lệnh cũng thay đổi.
Reply
2. Kim says:December 13, 2020 at 3:02 pm
/>
6/8


9/15/21, 2:39 PM

Hiện tượng phương sai sai số thay đổi (Heteroskedasticity) – How to STATA

Ad ơi cho mình hỏi, sau khi khắc phục phương sai thay đổi bằng hàm robust thì có chạy lại kiểm định
white lại k ạ? Sao mình chạy lại thì kết quả vẫn bị phương sai thay đổi.
Reply
Chung Mai says:December 14, 2020 at 11:48 am
Hi bạn, sau khi dùng robust thì ko cần chạy lại kiểm định White nữa nhé. Khi dùng robust ko có

nghĩa là mơ hình sẽ khắc phục hiện tượng này, mà nó chỉ có nghĩa ước lượng của mơ hình sẽ được
điều chỉnh để phù hợp với hiện tượng này. Hệ số hồi quy sẽ KO thay đổi, nhưng sai số (standard
error) của nó sẽ thay đổi vì cách tính ra std.error lúc này đã dựa trên điều kiện là có hiện tượng
phương sai sai số thay đổi. Std error thay đổi sẽ làm cho P-value thay đổi, nên có khả năng hệ số hồi
quy khơng cịn có ý nghĩa thống kê nữa. Nếu như sau khi dùng robust, hệ số hồi quy của em vẫn có ý
nghĩa thống kê thì okay nhé.
Reply
3. Nguyễn Thị Yến Như says:January 4, 2021 at 3:51 pm
Hi admin, ad cho e hỏi e chạy xtgls bị lỗi này xử lý thế nào ạ:
YEAR is not regularly spaced or does not have intervals of delta — use
the force option to treat the intervals as though they were regular
Thank admin nhiều lắm ạ!
Reply
Chung Mai says:January 12, 2021 at 9:57 am
Có khả năng biến Year bị format ở dạng string nhé. Có thể dùng lệnh destring để chuyển về format
dạng số. Mình có một bài viết về cách sử dụng lệnh destring đó, bạn tham khảo thử nha. Với lại, bạn
search fanpage How to STATA để có thể dễ inbox cho mình hơn nè.
Reply
4. laluuuuuuuuuuuuuuuuuuuuuuuuuuuu says:May 25, 2021 at 3:21 pm
Uầy, đỉnh quá ạ. Nhưng mà em lại chạy bằng python qua google collab chứ không phải stata nên hơi
tiếc, nhưng mà đọc bài này xong em hiểu kĩ hơn về psss thay đổi ạ.
Reply
Chung Mai says:June 2, 2021 at 2:36 pm
Hi em, chạy bằng phần mềm nào thì kết quả cũng như nhau mà. Coding chỉ giúp mình có được kết
quả thơi, cịn quan trọng vẫn là hiểu bản chất của vấn đề là gì đúng ko? Nhưng em dùng python là
đỉnh rồi á. Ad cũng đang bập bẹ học đây.
Reply
1. laluuuuuuuuuuuuuuuuuuuuuuuuuuuu says:June 3, 2021 at 9:54 am
Dạ vâng! em đọc phần lý thuyết của anh cũng như trong giáo trình thì hiểu được vấn đề khá rõ
rồi ạ. Nhưng mà em khơng tìm được tài liệu coding bằng python bằng tiếng việt vì tiếng anh có

nhiều từ chun ngành mà em tìm mãi khơng ra được từ tiếng việt để hiểu nên khá khó ạ. Nhưng
mà mỗi cái đều có một cái hay riêng ạ.
5. Ngo Yen says:September 3, 2021 at 5:09 pm
mình chạy xtgls mà nó hiện “unknown egen function group” là sao v ạ, ad chỉ m cách khắc phục với
Reply
Chung Mai

says:September 3, 2021 at 6:27 pm

/>
7/8


9/15/21, 2:39 PM

Hiện tượng phương sai sai số thay đổi (Heteroskedasticity) – How to STATA

Theo ad tìm hiểu thơng tin thì lỗi này thường gặp trên bản crack của STATA. Nếu phần mềm bạn
dùng update được thì bạn update lên nha. Cịn nếu đang dùng bản crack thì chắc phải cài lại nhỉ
Reply

Website Powered by WordPress.com.

/>
8/8



×