Trong phân tích khoa học dữ liệu, việc ước lượng tham số mô hình là một bước quan trọng, nhưng việc đảm bảo mô hình được chỉ định chính xác còn thiết yếu hơn. Bài viết này sẽ đi sâu vào cách kiểm định thông số kỹ thuật mô hình bằng phương pháp momen tổng quát (GMM) trong Stata, đặc biệt khi làm việc với các mô hình nhận dạng thừa. Chúng ta sẽ khám phá cách sử dụng phiên bản chương trình của lệnh GMM, vốn rất hữu ích cho các mô hình phức tạp, và cách kiểm định các ràng buộc nhận dạng thừa bằng thống kê J của Hansen.
Mô Hình Poisson Với Biến Giải Thích Nội Sinh
Chúng ta sẽ sử dụng GMM để ước lượng các tham số của một mô hình Poisson có biến giải thích nội sinh. Biến giải thích nội sinh là những biến có thể tương quan với thành phần sai số của mô hình, dẫn đến ước lượng không nhất quán nếu không được xử lý đúng cách.
Mô hình hồi quy Poisson của biến phụ thuộc y_i trên các biến ngoại sinh x_i và biến nội sinh y_{2,i} có dạng kỳ vọng của y_i với điều kiện các biến x_i, y_{2,i} và biến nhiễu epsilon_i được biểu thị qua hàm mũ của tổng beta_1 nhân x_i cộng beta_2 nhân y_{2,i}, rồi cộng thêm biến nhiễu epsilon_i. Biến nhiễu epsilon_i có giá trị trung bình bằng 0. Các biến giải thích y_{2,i} có thể tương quan với epsilon_i. Công thức này tương tự như công thức của lệnh ivpoisson với các sai số cộng gộp.
Các điều kiện momen là các kỳ vọng xác định tham số mô hình dựa trên các momen thực. GMM tìm các giá trị tham số gần nhất với việc thỏa mãn điều kiện momen mẫu tương ứng. Trong mô hình này, chúng ta định nghĩa một hàm sai số u_i là hiệu số giữa biến phụ thuộc y_i và phần dự báo mũ exp(beta_1 x_i + beta_2 y_{2,i}).
Giả sử chúng ta có thêm các biến ngoại sinh x_{2,i} không tương quan với epsilon_i nhưng lại tương quan với y_{2,i}. Kết hợp chúng với x_i, chúng ta có tập hợp các công cụ z_i bao gồm x_i và x_{2,i}. Khi đó, các điều kiện momen sẽ là kỳ vọng của tích các công cụ z_i và hàm sai số u_i bằng 0.
Nếu có k tham số trong mô hình và q công cụ, và q lớn hơn k, thì có nhiều điều kiện momen hơn số tham số. Mô hình này được gọi là mô hình nhận dạng thừa. Trong trường hợp này, GMM tìm các ước lượng tham số bằng cách cực tiểu hóa một hàm mục tiêu Q, trong đó hàm này bao gồm các điều kiện momen mẫu được nhân với một ma trận trọng số W có kích thước q nhân q.
Kiểm Định Điều Kiện Nhận Dạng Thừa
Khi mô hình được chỉ định chính xác, kỳ vọng của tích các công cụ z_i và hàm sai số u_i sẽ bằng 0. Trong trường hợp này, nếu W là một ma trận trọng số tối ưu, nó sẽ bằng nghịch đảo của ma trận hiệp phương sai của các điều kiện momen.
Kiểm định của Hansen đánh giá giả thuyết không rằng một mô hình nhận dạng thừa được chỉ định chính xác. Thống kê kiểm định J được sử dụng, được tính bằng số lượng quan sát N nhân với giá trị hàm mục tiêu Q tại các ước lượng tham số. Nếu W là ma trận trọng số tối ưu, dưới giả thuyết không, thống kê J của Hansen có phân phối chi bình phương với q trừ k bậc tự do.
Các ước lượng hai bước và ước lượng lặp được sử dụng bởi lệnh gmm cung cấp các ước lượng của ma trận W tối ưu. Đối với các mô hình nhận dạng thừa, lệnh estat overid sẽ tính toán thống kê J của Hansen sau khi các ước lượng này được sử dụng.
Chương Trình Đánh Giá Momen
Đối với các mô hình phức tạp hơn, việc sử dụng phiên bản chương trình của gmm có thể dễ dàng hơn so với phiên bản tương tác. Chúng ta sẽ định nghĩa một chương trình mà gmm có thể gọi để tính toán các điều kiện momen cho mô hình Poisson với các biến giải thích nội sinh. Chương trình này tính toán hàm sai số u_i, và gmm sẽ tạo ra các điều kiện momen bằng cách nhân hàm sai số với các công cụ z_i.
Để giải các điều kiện momen có trọng số, gmm phải tính đạo hàm của các điều kiện momen theo các tham số. Người dùng có thể tự chỉ định các đạo hàm này hoặc gmm sẽ tính toán chúng bằng số. Việc tự chỉ định các đạo hàm có thể cải thiện tốc độ và tính ổn định số học.
Khi ước lượng các dạng tuyến tính của tham số, người dùng có thể chỉ định đạo hàm cho gmm dưới dạng tuyến tính (dự báo). gmm sau đó sẽ sử dụng quy tắc chuỗi để xác định đạo hàm của hàm sai số u_i theo các tham số. Hàm sai số u_i của chúng ta là một hàm của dự báo tuyến tính beta_1 x_i cộng beta_2 y_{2,i}.
Chương trình gmm_ivpois tính toán hàm sai số u_i và đạo hàm của u_i theo dự báo tuyến tính beta_1 x_i cộng beta_2 y_{2,i}.
1program gmm_ivpois
2 version 14.1
3 syntax varlist [if], at(name) depvar(varlist) rhs(varlist) ///
4 [derivatives(varlist)]
5 tempvar m
6 quietly gen double `m' = 0 `if'
7 local i = 1
8 foreach var of varlist `rhs' {
9 quietly replace `m' = `m' + `var'*`at'[1,`i'] `if'
10 local i = `i' + 1
11 }
12 quietly replace `m' = `m' + `at'[1,`i'] `if'
13 quietly replace `varlist' = `depvar' - exp(`m') `if'
14 if "`derivatives'" == "" {
15 exit
16 }
17 replace `derivatives' = -exp(`m')end
Các dòng 3–4 của gmm_ivpois chứa câu lệnh syntax để phân tích cú pháp các đối số của chương trình. Tất cả các chương trình đánh giá momen phải chấp nhận một varlist, điều kiện if, và tùy chọn at(). varlist tương ứng với các biến lưu trữ giá trị của các hàm sai số. Chương trình gmm_ivpois sẽ tính toán hàm sai số và lưu trữ nó vào varlist được chỉ định. Tùy chọn at() được chỉ định với tên của một ma trận chứa các tham số mô hình. Điều kiện if chỉ định các quan sát mà việc ước lượng được thực hiện.
Chương trình cũng yêu cầu các tùy chọn depvar() và rhs(). Tên của biến phụ thuộc được chỉ định trong tùy chọn depvar(). Các biến giải thích được chỉ định trong tùy chọn rhs().
Tại dòng 4, derivatives() là tùy chọn. Tên biến được chỉ định ở đây tương ứng với đạo hàm của hàm sai số theo dự báo tuyến tính.
Dự báo tuyến tính của các biến giải thích được lưu trữ trong biến tạm thời m qua các dòng 6–12. Tại dòng 13, chúng ta gán giá trị của hàm sai số cho varlist được chỉ định. Các dòng 14–16 cho phép chương trình thoát nếu derivatives() không được chỉ định. Ngược lại, tại dòng 17, chúng ta lưu trữ giá trị đạo hàm của hàm sai số theo dự báo tuyến tính vào biến được chỉ định trong derivatives().
Dữ Liệu Thực Nghiệm
Chúng ta sẽ mô phỏng dữ liệu từ một hồi quy Poisson với một biến hiệp phương sai nội sinh, sau đó sử dụng gmm và chương trình gmm_ivpois để ước lượng các tham số hồi quy. Cuối cùng, chúng ta sẽ sử dụng estat overid để kiểm tra thông số kỹ thuật của mô hình. Chúng ta mô phỏng một mẫu ngẫu nhiên gồm 3.000 quan sát.
1. set seed 45
2. set obs 3000
3number of observations (_N) was 0, now 3,000
4. generate x = rnormal()*.8 + .5
5. generate z = rchi2(1)
6. generate w = rnormal()*.5
7. matrix cm = (1, .9 \ .9, 1)
8. matrix sd = (.5,.8)
9. drawnorm e u, corr(cm) sd(sd)Chúng ta tạo các biến hiệp phương sai ngoại sinh x, z, và w. Biến x sẽ là một biến giải thích, trong khi z và w sẽ là các công cụ bổ sung. Sau đó, chúng ta sử dụng lệnh drawnorm để rút các sai số e và u. Các sai số này có tương quan dương với nhau.
1. generate y2 = exp(.2*x + .1*z + .3*w -1 + u)
2. generate y = exp(.5*x + .2*y2+1) + eChúng ta tạo biến giải thích nội sinh y2 dưới dạng hồi quy lognormal trên các công cụ. Biến kết quả y có giá trị trung bình mũ trên x và y2, với e là sai số cộng gộp. Vì e có tương quan với u, nên y2 có tương quan với e, khiến nó trở thành biến nội sinh.
Ước Lượng Tham Số Mô Hình
Bây giờ, chúng ta sử dụng gmm để ước lượng các tham số của hồi quy Poisson với các biến hiệp phương sai nội sinh. Tên của chương trình đánh giá momen của chúng ta được liệt kê ngay sau gmm. Các công cụ mà gmm sẽ sử dụng để hình thành các điều kiện momen được liệt kê trong tùy chọn instruments(). Chúng ta chỉ định các tùy chọn depvar() và rhs() với các biến phù hợp; chúng sẽ được chuyển đến gmm_ivpois.
Các tham số được chỉ định dưới dạng tuyến tính y trong tùy chọn parameters(), đồng thời chúng ta chỉ định haslfderivatives để thông báo cho gmm rằng gmm_ivpois cung cấp các đạo hàm của dạng tuyến tính này. Tùy chọn nequations() cho gmm biết có bao nhiêu hàm sai số cần được mong đợi.
1. gmm gmm_ivpois, depvar(y) rhs(x y2) ///
2> haslfderivatives instruments(x z w) ///
3> parameters({y: x y2 _cons}) nequations(1)
4Step 1
5Iteration 0: GMM criterion Q(b) = 14.960972
6Iteration 1: GMM criterion Q(b) = 3.3038486
7Iteration 2: GMM criterion Q(b) = .59045217
8Iteration 3: GMM criterion Q(b) = .00079862
9Iteration 4: GMM criterion Q(b) = .00001419
10Iteration 5: GMM criterion Q(b) = .00001418
11Step 2
12Iteration 0: GMM criterion Q(b) = .0000567
13Iteration 1: GMM criterion Q(b) = .00005648
14Iteration 2: GMM criterion Q(b) = .00005648
15GMM estimation
16Number of parameters = 3
17Number of moments = 4
18Initial weight matrix: Unadjusted Number of obs = 3,000
19GMM weight matrix: Robust
20------------------------------------------------------------------------------
21 | Robust
22 | Coef. Std. Err. z P>|z| [95% Conf. Interval]
23-------------+----------------------------------------------------------------
24 x | .5006366 .0033273 150.46 0.000 .4941151 .507158
25 y2 | .2007893 .0075153 26.72 0.000 .1860597 .2155189
26 _cons | 1.000717 .0063414 157.81 0.000 .988288 1.013146
27------------------------------------------------------------------------------
28Instruments for equation 1: x z w _consCác hệ số ước lượng của chúng ta đều có ý nghĩa thống kê (giá trị p rất nhỏ). Các giá trị ước lượng cho x là 0.50, cho y2 là 0.20 và hằng số là 1.00, rất gần với các giá trị tham số thực trong mô phỏng dữ liệu (0.5, 0.2, 1.0). Tuy nhiên, mô hình vẫn có thể bị chỉ định sai.
Kiểm Định Điều Kiện Nhận Dạng Thừa
Chúng ta sử dụng estat overid để tính thống kê J của Hansen.
1. estat overid
2 Test of overidentifying restriction:
3 Hansen's J chi2(1) = .169449 (p = 0.6806)Thống kê J bằng 0.17. Ngoài việc tính J của Hansen, estat overid còn cung cấp một kiểm định chống lại việc chỉ định sai mô hình. Trong trường hợp này, chúng ta có nhiều hơn một công cụ so với biến giải thích, vì vậy thống kê J có phân phối chi bình phương với một bậc tự do. Xác suất nhận được giá trị chi bình phương (1) lớn hơn 0.17 được đưa ra trong dấu ngoặc đơn. Xác suất này—giá trị p của kiểm định—là lớn (0.6806), do đó chúng ta không bác bỏ giả thuyết không rằng mô hình được chỉ định đúng cách. Điều này cho thấy các ràng buộc nhận dạng thừa của mô hình là hợp lệ.
Kết luận
Chúng ta đã trình bày cách ước lượng các tham số của một hồi quy Poisson với biến giải thích nội sinh bằng cách sử dụng phiên bản chương trình đánh giá momen của gmm. Chúng ta cũng đã minh họa cách sử dụng estat overid để kiểm định việc chỉ định sai mô hình sau khi ước lượng một mô hình nhận dạng thừa trong gmm.
✨ Giá trị đắt giá
Việc hiểu rõ và áp dụng phiên bản chương trình của lệnh gmm không chỉ nâng cao hiệu quả ước lượng cho các mô hình phức tạp mà còn cho phép kiểm soát tốt hơn các đạo hàm, từ đó cải thiện tốc độ tính toán và sự ổn định số học, là yếu tố then chốt trong các dự án khoa học dữ liệu quy mô lớn.
Câu hỏi tư duy hoặc bài tập ứng dụng
Giả sử bạn cần mở rộng mô hình Poisson với biến nội sinh này để bao gồm thêm nhiều biến giải thích và công cụ. Bạn sẽ điều chỉnh chương trình gmm_ivpois và lệnh gmm như thế nào để xử lý sự phức tạp gia tăng này, và những thách thức nào có thể phát sinh trong việc đảm bảo tính đúng đắn của các điều kiện momen và kiểm định nhận dạng thừa?


