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

Hiện tượng tự tương quan Autocorrelation

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 (349.42 KB, 9 trang )

9/15/21, 2:39 PM

Hiện tượng tự tương quan (autocorrelation) – How to STATA

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

Hiện tượng tự tương quan (autocorrelation)
Posted on June 22, 2020June 23, 2020 by Chung Mai
Chào các bạn,
Trong bài viết hơm nay, mình sẽ giới thiệu tiếp về một hiện tượng/lỗi nữa cũng rất hay xảy ra trong hồi quy
tuyến tính – đó là hiện tượng tự tương quan. Hiện tượng này thường xảy ra trong dữ liệu thời gian (time
series) hoặc dữ liệu bảng (panel data). Chúng ta sẽ đi từ định nghĩa, hậu quả, cách nhận biết và cách khắc
phục hiện tượng này nhé.
1. Định nghĩa:
Đây là hiện tượng mà sai số tại thời điểm t có mối quan hệ với sai số tại thời điểm t-1 hoặc tại bất kỳ thời
điểm nào khác trong quá khứ. Ta ký hiệu sai số trong mơ hình hồi quy là u nhé.
Đối với dữ liệu theo thời gian, hiện tượng này thường được gọi với tên trong tiếng Anh là “autocorrelation”.
Tự tương quan bậc 1 (sai số kỳ t có tương quan với sai số kỳ t – 1) dưới dạng công thức như sau:
autocorrelation1

Đối với dữ liệu bảng, hiện tượng này thường được gọi với tên trong tiếng Anh là “serial correlation” và tự
tương quan bậc 1 được diễn tả dưới dạng công thức như sau:
autocorrelation

Lưu ý: Đây là mối quan hệ trong sai số giữa các khoảng thời gian khác nhau, nhưng với cùng một ID quan
sát nhé.
Nếu có hiện tượng TTQ thì hệ số tương quan ρ sẽ khác 0, ngược lại nếu ρ = 0 thì chúng ta có thể n tâm rồi.
2. Hậu quả:


/>
1/9


9/15/21, 2:39 PM

Hiện tượng tự tương quan (autocorrelation) – How to STATA

Nếu mơ hình có hiện tượng TTQ thì ước lượng bằng phương pháp OLS vẫn không bị thiên lệch (unbiased)
và nhất quán (consistent). Tuy nhiên, các ước lượng này sẽ khơng cịn là ước lượng hiệu quả nữa. Lưu ý, có
thể có nhiều ước lượng cho một true beta, nhưng ước lượng hiệu quả nhất là ước lượng có sai số với true
beta là nhỏ nhất. Bên cạnh đó, hiện tượng tự tương quan sẽ khiến cho giá trị t-value lớn hơn (hoặc P-value
nhỏ hơn) so với giá trị mà nó nên có và làm cho hệ số hồi quy có xu hướng có ý nghĩa thống kê. Vơ tình,
chúng ta có thể kết luận một yếu tố nào đó của mơ hình có ảnh hưởng đến biến phụ thuộc của mơ hình,
nhưng thực ra điều này bị gây ra bởi hiện tượng TTQ mà thôi. Nếu hiện tượng này xảy ra đồng thời với
hiện tượng phương sai sai số thay đổi thì các ước lượng càng trở nên thiếu tin cậy thậm chí khi mẫu nghiên
cứu của bạn lớn.
3. Các nhận biết:
Chúng ta có thể nhận biết hiện tượng này bằng cách plot (minh hoạ dữ liệu bằng biểu đồ) dữ liệu hoặc sử
dụng các kiểm định nhé. Mình sẽ dùng bộ dữ liệu AIR2 của STATA để minh hoạ trong bài viết này. Bộ dữ
liệu này gồm 3 biến – Biến air thể hiện số hành khách quốc tế, biến time thể hiện cho thời gian (tháng) từ
năm 1949 đến năm 1960, biến t thể hiện cho các cột mốc thời gian. Bộ dữ liệu này có 144 quan sát nên t nhận
giá trị từ 1 đến 144 nhé. Trong bộ dữ liệu này chỉ có dữ liệu về biến phụ thuộc mà ko có dữ liệu về các biến
độc lập nào khác ngoài biến thời gian. Tuy nhiên, chúng ta hồn tồn có thể kiểm tra được hiện tượng TTQ
trong trường hợp này, bởi vì nếu biến phụ thuộc có hiện tượng TTQ thì sai số của mơ hình với biến phụ
thuộc đó (khả năng rất cao) là sẽ có hiện tượng TTQ. Để sử dụng bộ dữ liệu này thì chúng ta có thể gõ lệnh
sau:
use ( />Cách 1: Plot dữ liệu
Như trong hai công thức mình trình bày ở trên, nếu sai số ở thời điểm t có mối quan hệ tuyến tính với sai số
ở thời điểm t-1 thì nghĩa là có hiện tượng tự tương quan. Chúng ta sẽ lấy sai số này ra từ trong mơ hình và

sau đó thực hiện vẽ đồ thị để thể hiện mối quan hệ giữa sai số kỳ t và sai số kỳ t-1 nhé. Chúng ta có thể thực
hiện các bước này trong STATA như sau:
tsset t                     // Lệnh này báo STATA biết đây là dữ liệu theo chuỗi thời gian
reg air t                // Thực hiện hồi quy biến phụ thuộc trên biến chỉ thời gian
predict r, resid   // Sai số (phần dư) của mơ hình sẽ được lưu trong biến r nhé
twoway (scatter r l.r) (lfit r l.r)  // theo lệnh này, mình sẽ thể hiện hiện tượng TTQ trong sai số bằng đồ thị
scatter (các điểm dữ liệu của sai số sẽ được thể hiện bằng các dấu chấm trên khắp đồ thi) và bằng đường hồi
quy tuyến tính (lfit – viết tắt của linear fit)
Đồ thị sẽ có dạng như sau:

/>
2/9


9/15/21, 2:39 PM

Hiện tượng tự tương quan (autocorrelation) – How to STATA

autocorrelation2

Trên đồ thị này, trục X thể hiện cho sai số tại thời điểm t-1 và trục Y thể hiện cho sai số tại thời điểm t. Ta có
thể một cách rất rõ ràng rằng sai số giữa 2 thời kỳ có mối quan hệ tuyến tính với nhau. Chúng ta cũng có thể
dùng lệnh CORR để tìm hệ số tương quan trong sai số bằng cách dùng lệnh:
corr r l.r              // Kết quả là 0.7306
Như vậy, chúng ta có thể tự tin mà khẳng định rằng mơ hình có hiện tượng TTQ.
Ta có thể kiểm tra hiện tượng TTQ ở các bậc khác nữa nhé. Ví dụ như TTQ bậc 2 thì ta sẽ plot giữa sai số kỳ
t và sai số kỳ t-2 với câu lệnh sau:
twoway (scatter r l2.r) (lfit r l2.r) 
Cách 2: Dùng các kiểm định
Ta cũng có thể dùng các kiểm định để kiểm tra xem hiện tượng tự tượng quan này có tồn tại khơng. Các

kiểm định dùng cho time-series data và panel data có hơi khác một chút nha.
Đối với time-series data: Ta có thể dùng Durbin-Watson (DW) hoặc Breusch-Godfrey (BG)
Kiểm định DW chỉ có thể có ý nghĩa khi (1) mơ hình hồi quy có hệ số chặn, (2) sai số có hiện tượng tự tương
quan bậc 1 – nếu TTQ xuất hiện ở bậc khác thì kiểm định DW sẽ khơng phát hiện ra được đâu, (3) sai số
tuân theo phân phối chuẩn (Mình sẽ nói về vấn đề này trong một bài viết khác nhé), và cuối cùng (4) biến độc
lập trong mô hình khơng phải là biến lag của Y. Kiểm định DW sẽ cho ra hệ số thống kê d-statistic. Hệ số này
được tính bằng cơng thức sau:

Hệ số d sẽ có giá trị nằm trong khoảng (0, 4). Có một số trường hợp có thể xảy ra với d như sau:
Nếu d ≈ 0: Có TTQ dương
/>
3/9


9/15/21, 2:39 PM

Hiện tượng tự tương quan (autocorrelation) – How to STATA

Nếu d ≈ 4: Có TTQ âm
Nếu d ≈ 2: Khơng có hiện tượng TTQ
Câu lệnh trong STATA cho DW sẽ là:
estat dwatson
Chúng ta phải chạy lệnh hồi quy trước rồi sau đó mới chạy lệnh này nhé.
Tuy nhiên, kiểm định DW có quá nhiều ràng buộc và hạn chế đúng không? Để tránh bớt các hạn chế này,
chúng ta có thể dùng kiểm định BG để thay thế. Kiểm định BG có thể được thực hiện khi mơ hình có bao
gồm biến lag của biến phụ thuộc. Thơng thường, việc dùng biến lag của biến phụ thuộc sẽ giúp kiểm sốt
được hiện tượng TTQ, nhưng nếu đó hiện tượng TTQ bậc cao thì việc dùng biến lag bậc 1 cũng khơng giúp
ích được gì nhiều đâu. Thêm nữa, kiểm định BG cũng giúp kiểm tra được hiện tượng TTQ bậc cao.
Giả thuyết của kiểm định này là không có hiện tượng TTQ ở bất cứ bậc nào. Giả thuyết này có thể được viết
như sau:

H0: ρ1 = ρ2 = ρ3 = … = ρn = 0
Để kết luận mơ hình khơng có hiện tượng TTQ, chúng ta kỳ vọng không bác bỏ giả thuyết này, nghĩa là giá
trị P-value càng lớn càng tốt – ít nhất là cần phải lớn hơn 0.1 nhé. Kiểm định này được thực hiện trong
STATA bằng lệnh sau:
estat bgodfrey, lags(#)
Chúng ta kê khai giá trị lag mà chúng ta muốn kiểm định nhé. Ví dụ như lags(3) thì có nghĩa mơ hình sẽ
kiểm tra TTQ bậc 1, bậc 2 và bậc 3. Nếu chúng ta khơng kê khai thì mơ hình chỉ kiểm định TTQ bậc 1 thôi
nhé.

Đây là kết quả kiểm định DW và BG cho mơ hình ở trên. Ta có thể thấy là cả 2 kiểm định đều khẳng định
rằng mơ hình có hiện tượng TTQ và đây là TTQ dương.
Đối với panel data: Ta có thể dùng kiểm định Wooldridge. Kiểm định này cũng đặt ra giả thuyết tương tự
như kiểm định BG – đó là mơ hình khơng có hiện tượng tự tương quan. Vì vậy, chúng ta sẽ kỳ vọng thấy
được giá trị P-value lớn hơn 0.1.
Đây khơng phải là một lệnh có sẵn trong STATA, nên chúng ta cần cài đặt trước khi sử dụng nhé.
ssc install xtserial
/>
4/9


9/15/21, 2:39 PM

Hiện tượng tự tương quan (autocorrelation) – How to STATA

xtserial y x1 x2 x3
4. Cách khắc phục:
Chúng ta có thể biến đổi mơ hình để loại bỏ hiện tượng TTQ, sử dụng phương pháp Newey-West để chỉnh
sửa sai số ước lượng hoặc đưa biến trễ (lag) của biến phụ thuộc vào mơ hình. Mình sẽ làm rõ từng trường
hợp nhé.
Cách 1: Biến đổi theo sai phân bậc nhất (first-difference transformation)

Ta sẽ đưa tất cả dữ liệu về dạng sai phân bậc một – nghĩa là lấy hiệu số giữa quan sát kỳ t và quan sát kỳ t-1
cho từng biến trong mơ hình. Theo cách này, ta đang giả định hệ số tương quan ρ = 1. Thay vì ước lượng mơ
hình như bình thường (gọi là level form), ta sẽ ước lượng mơ hình với dữ liệu đã được biến đổi như sau:

Lúc này, sai số của mơ hình đã được biến đổi nên hiện tượng TTQ cũng bị loại bỏ. Khi ước lượng mơ hình
sai phân bậc nhất này, chúng ta cần lưu ý mơ hình khơng có hệ số chặn. Lệnh STATA ta có thể dùng như
sau:
reg d.Y d.X1 d.X2 dX3, noconstant
Bạn không cần phải tao biến lag, rồi lấy hiệu số để tính ra sai phân bậc 1 của các biến nha. Chỉ cần dùng d. ở
phía trước các biến thì STATA sẽ tự động tạo dữ liệu sai phân bậc 1 cho bạn nè.
Cách 2: Biến đổi theo hệ số tương quan ước lượng (generalized transformation)
Theo cách này, ta sẽ biến đổi dữ liệu theo ước lượng hệ số tương quan ρ. Trước tiên, ta sẽ chạy hồi quy với
dữ liệu ban đầu và lấy ra các sai số. Sau đó, ta sẽ chạy mơ hình hồi quy giữa sai số kỳ t và sai số kỳ t-1 để lấy
ra ước lượng của ρ. Và cuối cùng ta sẽ dùng hệ số ρ đó để biến đổi dữ liệu. Ví dụ, biến Y_new = Yt – ρ*Yt-1.
Mơ hình hồi quy bây giờ sẽ trở thành Y_new = X1_new X2_new…
Trong STATA, ta có thể thực hiện các bước này như sau:
regress Y X1 X2 X3
predict r, resid         // sai số được lưu trong biến r
reg r l.r, nocons       // ρ sẽ là hệ số hồi quy đứng trước biến lag của r. Giả sử ρ = 0.7
gen Y_new = Y – 0.7*l.Y           // ký hiệu l.Y nghĩa là lag bậc 1 của biến Y
gen X1_new = X1 – 0.7*l.X1
gen X2_new = X2 – 0.7*l.X2
reg Y_new X1_new X2_new
/>
5/9


9/15/21, 2:39 PM

Hiện tượng tự tương quan (autocorrelation) – How to STATA


Ngồi ra, ta cũng có thể sử dụng thống kê d-statistic có được từ kiểm định Durbin-Watson để tính ra hệ số ρ
này: ρ ≈ 1 – d/2
Cả 2 cách mà mình giới thiệu ở trên chỉ sử dụng khi dữ liệu chỉ có hiện tượng tự tương quan bậc 1. Nếu dữ
liệu có hiện tượng TTQ bậc cao hơn, chúng ta cần phải biến đổi dữ liệu theo các hệ số tương quan ở bậc cao
hơn. Lúc này, sai số tại kỳ t sẽ khơng chỉ có mối quan hệ với sai số kỳ t-1 mà cịn có mối quan hệ với sai số kỳ
t-2 hoặc các kỳ trước đó nữa. Ví dụ:

Ta cần phải ước lượng cả ρ1 và ρ2 và dùng nó đểu biến đổi dữ liệu nhé. Trong trường hợp có hiện tượng
TTQ bậc cao, ta cũng có thể sử dụng mơ hình ARIMA để ước lượng.
Cách 3: Sử dụng phương pháp Newey-West để chỉnh sửa sai số ước lượng
Theo cách này, hệ số hồi quy beta vẫn được tính như bình thường, nhưng sai số sẽ được điều chỉnh theo cả
hai hiện tượng phương sai sai số thay đổi và tự tương quan. Tuy nhiên, cách này chỉ nên được sử dụng khi
mẫu dữ liệu lớn nhé. Trong STATA, ta có thể thực hiện phương pháp này bằng cách dùng một trong hai lệnh
sau:
reg Y X1 X2 X3, vce(robust)
newey Y X1 X2 X3, lag(#)
Nếu dùng câu lệnh newey, chúng ta phải kê khai bậc cho biến lag nhé – giá trị nhỏ nhất là 1 thể hiện dự
đốn trong dữ liệu chỉ có hiện tượng TTQ bậc 1.
Cách 4: Đưa biến trễ (lag) của biến phụ thuộc vào mơ hình
Một trong những ngun nhân của hiện tượng TTQ là do biến phụ thuộc có hiện tượng TTQ – quan sát biến
Y kỳ t có mối quan hệ với quan sát biến Y kỳ t-1. Vậy nên, ta cũng có thể đưa biến trễ của biến Y vào trong
mơ hình để kiểm sốt hiện tượng này.
reg Y  l.Y  X1  X2  X3               // Nếu chỉ muốn đưa biến lag bậc 1 của Y vào mơ hình
reg Y  l(1/2).Y  X1  X2  X3      // Nếu muốn đưa cả lag bậc 1 và bậc 2 của biến Y vào mơ hình
Sau khi sửa lỗi thì chúng ta nhớ dùng các kiểm định DW, BG hoặc Wooldrige mà mình trình bày ở trên để
kiểm tra lại nhé. Lưu ý, các kiểm định này sẽ khơng có hiệu quả khi mình đã sửa lỗi bằng cách thứ 3 và
kiểm định DW cũng sẽ không thực hiện được khi chúng ta đã sửa lỗi theo cách thứ 4.
Tóm lại, nếu dữ liệu của bạn là dữ liệu có yếu tố thời gian, bạn cần phải hết sức lưu ý đến hiện tượng TTQ.
Khi hiện tượng này xảy ra, các sai số ước lượng của mơ hình hầu hết sẽ bị “thồi phồng” lên, làm cho giá trị tvalue lớn hơn cũng như P-value nhỏ hơn. Theo đó, bạn sẽ có xu hướng kết luận một hệ số hồi quy nào đó có

ý nghĩa thống kê, nhưng thực ra kết quả này bị gây ra do hiện tượng TTQ mà thôi.
Thêm một lưu ý nhỏ nữa mình muốn đề cập trước khi kết thúc bài viết này – liên quan đến cách sửa lỗi thứ
4. Nếu sau khi đưa biến trễ của Y vào mô hình và dùng kiểm định BG để kiểm tra lại mà hiện tượng TTQ
vẫn còn tồn tại, các hệ số hồi quy lúc này có thể bị thiên lệch (biased) và không nhất quán (inconsistent). Như

/>
6/9


9/15/21, 2:39 PM

Hiện tượng tự tương quan (autocorrelation) – How to STATA

vậy, hiện tượng TTQ đã bị gây ra vì các nguyên nhân khác như là sai dạng hàm. Lúc này, ta cần phải sử
dụng các phương pháp khác như là phương pháp biến công cụ (instrument variable) để xử lý vấn đề này vì
phương pháp OLS sẽ khơng cịn hiệu quả nữa.
Vậy nên, các cách kiểm tra và sửa lỗi hiện tượng TTQ trên đây chỉ có tác dụng khi giả định mơ hình nghiên
cứu là hợp lý (correctly specified model) được thỏa mãn. Đây cũng là một trong những vấn đề của mơ hình
hồi quy khó xử lý nhất. Mình sẽ giới thiệu với các bạn vấn đề này trong bài viết lần sau.
Hy vọng những chia sẻ trên đây sẽ giúp các bạn xử lý được hiện tượng tự tương quan trong quá trình
nghiên cứu. Hãy comment dưới bài viết cho mình để chúng ta có thể thảo luận thêm về vấn đề này nhé.
 
Nguồn tham khảo:
Gujarati (2012), Econometrics by example, chapter 6
Click to access Panel101.pdf ( /> 
 
 
 
 
 



Posted in Kinh tế lượng căn bản, STATA for estimationsTagged autocorrelation, Breusch-Godfrey,
Durbin-Watson, tự tương quan, Wooldridge

8 thoughts on “Hiện tượng tự tương quan (autocorrelation)”
1. hntien says:March 19, 2021 at 8:02 am
Chào Ad:Mình dùng Stata 14 và kiểm định tự tương quan, theo hướng dẫn thì mình làm và kết quả:
. ssc install xtserial
ssc install: “xtserial” not found at SSC, type -findit xtserial(To find all packages at SSC that start with x, type -ssc describe x-)
r(601);
Theo hươ1ng dẫn tiếp
. findit xtserial
/>
7/9


9/15/21, 2:39 PM

Hiện tượng tự tương quan (autocorrelation) – How to STATA

sau đó install package
Tuy nhiên dùng lại lệnh này thì khơng được
. xtserial mmHg1 mmHg2 Pulse Exercise D1 D2 D3
command xtserial is unrecognized
r(199);
(Trước đó kiểm định đa cộng tuyến và phương sai sai số là OK rồi).
Xin lỗi mình hỏi hơn nhiều (vì tự học).
Reply
Chung Mai says:March 19, 2021 at 12:21 pm

Bạn nên vơ tính năng help/search trong stata và gõ xtserial để nó hiện ra các đường link dẫn tới
package mà mình có thể sử dụng để cài đặt. Cài đặt từ các đường link này sẽ dễ thành công hơn.
Reply
2. phungdayne says:March 31, 2021 at 3:47 am
Chào ad, mình có một vài thắc mắc mong ad giải đáp giúp mình với. Mình dùng Stata 13, sau khi kiểm
định và đưa ra được mơ hình phù hợp nhất là FEM và mình tiến hành kiểm định các khuyết tật của mơ
hình. Mơ hình FEM này vừa bị phương sai sai số thay đổi và tự tương quan. PSSS thay đổi mình đã
khắc phục bằng robust, vậy tự tương quan mình có thể khắc phục như thế nào vậy ạ? Mình mong được
giải đáp thắc mắc. Cảm ơn ad rất nhiều.
Reply
Chung Mai says:June 2, 2021 at 2:33 pm
Xin lỗi bạn vì mình bị nhỡ mất comment của bạn. Khi bạn dùng FEM thì có vẻ như bộ dữ liệu bạn
đang dùng là panel hen. Nếu vậy thì mình nghĩ phương pháp hồi quy FEM đã có thể giúp bạn xử lý
hiện tượng TTQ rồi. Để chắc chắn hơn thì bạn có thể cài đặt và dùng kiểm định wooldridge mà mình
có nói trong bài để kiểm tra. Tuy nhiên, nhớ là ko dùng robust trong mơ hình khi thực hiện kiểm định
này nha.
Reply
3. Moonie says:June 2, 2021 at 11:46 am
Cho mình hỏi, sau khi sử dụng cách 4 (đưa biến trễ vào mơ hình), thì mơ hình hồi quy cuối cùng của
mình sẽ là Y= l.Y + X1 + X2 +x3… đúng ko ạ?
Reply
Chung Mai says:June 2, 2021 at 2:21 pm
Đúng rồi bạn ơi. Tuy nhiên cách này chỉ hiệu quả khi nguyên nhân gây ra hiện tượng TTQ là do quan
sát của biến phụ thuộc kỳ t có mối quan hệ với quan sát 1 hoặc nhiều kỳ trước. Vậy nên, sau khi dùng
cách này, bạn cần phải test lại để xem hiện tượng TTQ còn tồn tại ko? Nếu vẫn cịn thì bạn cần phải
tìm xem ngun nhân thực sự là gì nha.
Reply
4. nguyễn thảo says:August 26, 2021 at 12:23 pm
Ad ơi,em có câu hỏi khơng biết ad có thể giải quyết giúp em được khơng ạ.
Hiện em đang chạy mơ hình theo một paper nước ngồi và mơ hình em sử dụng là GEE, sử dụng dữ liệu

bảng. Và theo em được biết là dữ liệu phải được chạy trong cùng 1 đơn vị thời gian. Tuy nhiên các biến

/>
8/9


9/15/21, 2:39 PM

Hiện tượng tự tương quan (autocorrelation) – How to STATA

độc lập trong mơ hình em sử dụng chỉ có thể đo theo q, cịn biến phụ thuộc thì được đo theo tuần nên
em không biết cách sắp xếp dữ liệu như thế nào cho đúng. Ad có thể giúp em khắc phục tình trạng này
khơng ạ? EM cảm ơn ad nhiều ạ!
Reply
Chung Mai says:August 29, 2021 at 3:25 pm
Hi em, trong trường hợp này thì em có thể thay đổi frequency của biến phụ thuộc từ tuần thành quý,
hoặc thay đổi frequency của biến độc lập từ quý thành tuần. Tuỳ theo bản chất của biến mà em chọn
cách biến đổi cho phù hợp. Thơng thường thì giá trị mới có thể là giá trị trung bình hoặc tổng của giá
trị cũ.
Reply

Website Powered by WordPress.com.

/>
9/9



×