Lựa chọn đa thức và số lần xảy ra sự kiện
Giới thiệu về các mô hình lựa chọn đa phương và đếm sự kiện
Chào mừng các bạn sinh viên đến với một trong những chủ đề thú vị và có tính ứng dụng cao nhất trong kinh tế lượng vi mô! Trong các học phần trước, chúng ta đã làm quen với các mô hình lựa chọn nhị phân, nơi người ra quyết định chỉ có hai phương án (ví dụ: đi làm hoặc không, mua hoặc không mua). Tuy nhiên, thực tế cuộc sống phức tạp hơn nhiều. Chúng ta thường xuyên phải đối mặt với những lựa chọn có nhiều hơn hai khả năng: chọn trường đại học nào trong danh sách, đi làm bằng phương tiện gì, hay đánh giá mức độ hài lòng về một dịch vụ trên thang điểm 5. Loạt bài viết này sẽ trang bị cho các bạn những công cụ cần thiết để phân tích các loại quyết định phức tạp đó một cách khoa học.
Chúng ta sẽ cùng nhau khám phá ba nhóm mô hình chính, mỗi nhóm giải quyết một loại bài toán đặc thù trong kinh tế và khoa học xã hội. Việc hiểu rõ các mô hình này không chỉ giúp các bạn vượt qua các kỳ thi mà còn mở ra cánh cửa để phân tích dữ liệu trong các nghiên cứu thực tế, từ marketing, tài chính, y tế công cộng đến chính sách công. Đừng lo lắng về sự phức tạp của các công thức, mỗi khái niệm sẽ được giải thích cặn kẽ từng bước một.
- Lựa chọn đa phương (Multinomial Choice): Phân tích quyết định khi cá nhân phải chọn một trong nhiều phương án không có thứ tự, ví dụ như chọn một nhãn hiệu xe hơi hoặc một ứng cử viên chính trị.
- Lựa chọn có thứ tự (Ordered Choice): Mô hình hóa các kết quả có tính thứ bậc rõ ràng, chẳng hạn như xếp hạng tín dụng (AAA, AA, A), mức độ hài lòng (Rất tốt, Tốt, Trung bình), hoặc kết quả học tập (Giỏi, Khá, Trung bình).
- Đếm sự kiện (Event Counts): Phân tích các biến số là số lần một sự kiện xảy ra, ví dụ như số lần đi khám bác sĩ trong một năm, số bằng sáng chế một công ty đăng ký, hoặc số tai nạn tại một giao lộ.
Mục tiêu của chuỗi bài học này là giúp các bạn không chỉ “biết” về các mô hình, mà còn “hiểu sâu” và “vận dụng thành thạo” chúng trong các bối cảnh thực tế bằng công cụ Stata. Hãy cùng nhau bắt đầu hành trình khám phá này!
Cấu trúc chuỗi bài học
- Nền tảng về lựa chọn đa phương và mô hình Multinomial LogitChúng ta sẽ tìm hiểu cách xây dựng mô hình khi có nhiều hơn hai lựa chọn và nắm vững các khái niệm cốt lõi của mô hình MNL.
- Vấn đề IIA và các mô hình thay thế cho lựa chọn không có thứ tựBài học này giải quyết một hạn chế quan trọng của MNL và giới thiệu các mô hình thay thế mạnh mẽ như Nested Logit và Multinomial Probit.
- Mô hình hóa tính không đồng nhất và ước lượng Willingness-to-PayChúng ta sẽ học các kỹ thuật nâng cao như Mixed Logit để nắm bắt sở thích đa dạng của cá nhân và ứng dụng để ước lượng giá trị kinh tế.
- Mô hình lựa chọn có thứ tự (Ordered Choice Models)Bài học này tập trung vào cách phân tích dữ liệu có tính thứ bậc, một dạng dữ liệu rất phổ biến trong các cuộc khảo sát và xếp hạng.
- Giới thiệu mô hình đếm sự kiện (Event Count Models)Chúng ta sẽ khám phá các mô hình nền tảng cho dữ liệu dạng đếm như Poisson và Negative Binomial, cùng cách kiểm định các giả định của chúng.
- Các mô hình đếm nâng cao và ứng dụng dữ liệu bảngBài học này giải quyết các vấn đề thực tế như “quá nhiều số 0” trong dữ liệu và cách xử lý khi quan sát được lặp lại theo thời gian.
- Hướng dẫn thực hành tổng hợp với StataĐây là bài thực hành tổng hợp, nơi chúng ta sẽ áp dụng các mô hình đã học vào một bộ dữ liệu từ đầu đến cuối, có hướng dẫn chi tiết từng lệnh.
Kiến thức tiên quyết cần chuẩn bị
Để có thể theo dõi tốt nhất chuỗi bài học này, các bạn nên trang bị trước những kiến thức nền tảng sau:
- Toán và Thống kê: Nắm vững các khái niệm về xác suất có điều kiện, hàm mật độ xác suất (PDF), hàm phân phối tích lũy (CDF), và các phân phối phổ biến (Normal, Logistic).
- Kinh tế lượng cơ bản: Hiểu rõ về nguyên lý ước lượng hợp lý cực đại (MLE) và đã quen thuộc với các mô hình lựa chọn nhị phân (Logit và Probit).
- Stata cơ bản: Có khả năng nhập và quản lý dữ liệu, thực hiện các lệnh thống kê mô tả và chạy các mô hình hồi quy cơ bản như
regress,logit,probit.
Mục tiêu học tập của chuỗi bài viết
Sau khi hoàn thành chuỗi bài học này, các bạn sẽ có khả năng:
- Phân biệt và lựa chọn đúng mô hình: Nhận diện được loại dữ liệu lựa chọn rời rạc và chọn đúng mô hình phân tích phù hợp (MNL, Ordered Probit, Poisson, v.v.).
- Ước lượng và kiểm định: Sử dụng thành thạo Stata để ước lượng các mô hình lựa chọn phức tạp và thực hiện các kiểm định chẩn đoán quan trọng (ví dụ: kiểm định IIA, kiểm định quá phân tán).
- Diễn giải kết quả: Hiểu và diễn giải chính xác ý nghĩa của các hệ số, các tác động biên (partial effects), và các đại lượng kinh tế quan trọng như Tỷ lệ thay thế biên (MRS) hay Mức sẵn lòng chi trả (WTP).
- Tư duy phản biện: Nhận biết được các giả định và hạn chế của từng mô hình, từ đó đưa ra những phân tích sâu sắc và đáng tin cậy hơn.
Tài liệu tham khảo chính
- Sách giáo khoa chính: Greene, W. H. (2019). Econometric Analysis (8th ed.). Pearson. Đây là tài liệu gốc cho chuỗi bài viết này.
- Sách giáo khoa bổ sung: Wooldridge, J. M. (2019). Introductory Econometrics: A Modern Approach (7th ed.). Cengage Learning. Cung cấp cách tiếp cận trực quan và dễ hiểu hơn cho người mới bắt đầu.
- Sách thực hành: Cameron, A. C., & Trivedi, P. K. (2010). Microeconometrics Using Stata, Revised Edition. Stata Press. Là tài liệu tham khảo tuyệt vời cho việc thực hành trên Stata.
PHỤ LỤC: Dữ liệu mô phỏng cho chuỗi bài viết
Để giúp các bạn thực hành, chúng ta sẽ tạo và sử dụng một bộ dữ liệu mô phỏng đơn giản về quyết định lựa chọn phương tiện đi làm của sinh viên. Bộ dữ liệu này sẽ được sử dụng nhất quán trong các ví dụ thực hành của chuỗi bài viết.
Bối cảnh: Một trường đại học khảo sát 500 sinh viên về phương tiện chính họ sử dụng để đến trường. Các lựa chọn bao gồm: Xe buýt, Xe máy, Xe đạp, và Đi bộ.
Các biến số:
mode: Phương tiện được chọn (1=Xe buýt, 2=Xe máy, 3=Xe đạp, 4=Đi bộ).cost: Chi phí di chuyển hàng tháng (nghìn VNĐ).time: Thời gian di chuyển một chiều (phút).distance: Khoảng cách từ nhà đến trường (km).income: Thu nhập hàng tháng của gia đình (triệu VNĐ).
Các bạn có thể tạo bộ dữ liệu này bằng cách chạy đoạn code Stata dưới đây. Hãy lưu nó lại với tên “student_commute.dta” để sử dụng cho các bài học sau nhé!
* ==================================================
* TẠO DỮ LIỆU MÔ PHỎNG VỀ LỰA CHỌN PHƯƠNG TIỆN ĐI LÀM
* Mục đích: Tạo một bộ dữ liệu đơn giản, dễ hiểu cho sinh viên thực hành
* Tác giả: Giáo sư Kinh tế lượng
* ==================================================
* Xóa dữ liệu cũ và thiết lập số quan sát
clear
set obs 500
set seed 12345 // Để đảm bảo kết quả có thể lặp lại
* --- TẠO CÁC BIẾN ĐẶC ĐIỂM CÁ NHÂN ---
* Khoảng cách từ nhà đến trường (phân phối đều từ 1 đến 15 km)
gen distance = runiform() * 14 + 1
label var distance "Khoảng cách đến trường (km)"
* Thu nhập gia đình (phân phối log-normal, trung bình khoảng 15 triệu)
gen income = exp(rnormal(2.7, 0.5))
label var income "Thu nhập gia đình (triệu VNĐ)"
* --- TẠO CÁC THUỘC TÍNH CỦA TỪNG PHƯƠNG ÁN ---
* Chi phí và thời gian cho từng phương án
* Xe buýt (1): Chi phí cố định, thời gian phụ thuộc khoảng cách + chờ đợi
gen cost_bus = 150
gen time_bus = 15 + distance * 5 + rnormal(0, 5)
* Xe máy (2): Chi phí xăng phụ thuộc khoảng cách, thời gian nhanh hơn
gen cost_bike = 50 + distance * 10 + rnormal(0, 10)
gen time_bike = 5 + distance * 3 + rnormal(0, 3)
* Xe đạp (3): Chi phí không đáng kể, thời gian chậm hơn
gen cost_bicycle = 5
gen time_bicycle = 10 + distance * 8 + rnormal(0, 8)
* Đi bộ (4): Miễn phí, chỉ khả thi với khoảng cách gần, thời gian lâu nhất
gen cost_walk = 0
gen time_walk = distance * 15 + rnormal(0, 10)
* --- TẠO BIẾN TIỆN ÍCH VÀ LỰA CHỌN ---
* Giả định hàm tiện ích: U = beta_cost*cost + beta_time*time + epsilon
* Sinh viên nhạy cảm với chi phí (-0.02) và thời gian (-0.05)
* Thêm các yếu tố sở thích riêng cho từng phương tiện
gen u_bus = -0.02*cost_bus - 0.05*time_bus + rnormal(0,1)
gen u_bike = -0.02*cost_bike - 0.05*time_bike + 0.5 + rnormal(0,1) // Thích xe máy hơn một chút
gen u_bicycle = -0.02*cost_bicycle- 0.05*time_bicycle+ rnormal(0,1)
gen u_walk = -0.02*cost_walk - 0.05*time_walk - 2*distance + rnormal(0,1) // Tiện ích đi bộ giảm nhanh theo khoảng cách
* Tìm phương án có tiện ích cao nhất
egen u_max = rowmax(u_bus u_bike u_bicycle u_walk)
* Tạo biến lựa chọn cuối cùng
gen mode = 1 if u_max == u_bus
replace mode = 2 if u_max == u_bike
replace mode = 3 if u_max == u_bicycle
replace mode = 4 if u_max == u_walk
* Gán nhãn cho biến lựa chọn
label define modelab 1 "Xe buýt" 2 "Xe máy" 3 "Xe đạp" 4 "Đi bộ"
label values mode modelab
label var mode "Phương tiện đi làm được chọn"
* --- TẠO DỮ LIỆU CUỐI CÙNG Ở ĐỊNH DẠNG "WIDE" ---
* Tạo các biến chi phí và thời gian tương ứng với lựa chọn
gen cost = .
replace cost = cost_bus if mode == 1
replace cost = cost_bike if mode == 2
replace cost = cost_bicycle if mode == 3
replace cost = cost_walk if mode == 4
label var cost "Chi phí hàng tháng (nghìn VNĐ)"
gen time = .
replace time = time_bus if mode == 1
replace time = time_bike if mode == 2
replace time = time_bicycle if mode == 3
replace time = time_walk if mode == 4
label var time "Thời gian di chuyển (phút)"
* Giữ lại các biến cần thiết
keep mode cost time distance income
* Lưu dữ liệu
save "student_commute.dta", replace
compress
* Xem qua dữ liệu đã tạo
describe
summarize
tabulate mode
📚 Bài tiếp theo: Nền tảng về lựa chọn đa phương và mô hình Multinomial Logit
💡 Lưu ý: Hãy chạy đoạn code Stata trên để chuẩn bị sẵn bộ dữ liệu cho các bài học sắp tới. Việc tự tay tạo ra dữ liệu sẽ giúp các bạn hiểu sâu hơn về cấu trúc của nó!