Ứng dụng của phần mềm R trong Kinh tế lượng
Bạn đang xem tài liệu "Ứng dụng của phần mềm R trong Kinh tế lượng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- ung_dung_cua_phan_mem_r_trong_kinh_te_luong.pdf
Nội dung text: Ứng dụng của phần mềm R trong Kinh tế lượng
- Huỳnh Vũ Ngọc Ánh, Hoàng Nhật Quy và Huỳnh Thị Oanh Triều 247 Ứng dụng của phần mềm R trong Kinh tế lượng Huỳnh Vũ Ngọc Ánh, Hoàng Nhật Quy và Huỳnh Thị Oanh Triều 1 Khoa Toán, Trường ĐH Sư phạm - ĐHĐN nhuynhanh41@gmail.com, hoangnhatquy@gmail.com, oanhtrieuhuynh@gmail.com Tóm tắt. R là một phần mềm dùng cho phân tích thống kê và vẽ biểu đồ được khởi xướng bởi R. Ihaka và R. Gentleman năm 1996 [1]. Ý tưởng này được giới thống kê học ủng hộ và tập trung phát triển R thành một ngôn ngữ máy tính đa năng và hoàn toàn miễn phí [3]. Đặc điểm này cùng với công năng tốt nên R ngày càng được sử dụng phổ biến trong nhiều lĩnh vực. Bài báo này nhằm giới thiệu ứng dụng của R để ước lượng và phân tích bài toán hồi quy trong kinh tế lượng – một lĩnh vực cũng đang rất thời sự trong kinh tế học. Từ khóa: phần mềm R, hồi quy, kinh tế lượng, kinh tế vi mô, kinh tế vĩ mô. 1 Đặt vấn đề Về các phần mềm ứng dụng trong kinh tế lượng, trong phân tích và xử lý số liệu, trong vẽ biểu đồ thì có lẽ những cái tên như Eviews, Stata, SPSS, S-plus, Mathlab đã khá quen thuộc. Một mặt, đây là những phần mềm thương mại nên việc sử dụng chúng đòi hỏi phải có chi phí về bản quyền. Đây là vấn đề rất quan trọng, đặc biệt trong bối cảnh hội nhập quốc tế ngày càng sâu rộng theo thời gian. Mặt khác, chúng là những phần mềm chuyên dụng, chỉ phù hợp với một số lĩnh vực. Chẳng hạn, nếu công việc là phân tích dữ liệu mảng thì nên chọn Stata, dùng trong kinh tế lượng thì dùng Eviews, còn nếu là phân tích thống kê đa biến như phân tích EFA, CFA thì nên chọn SPSS. Ngược lại, phần mềm R hoàn toàn khắc phục được 2 vấn đề trên đây. Một mặt, nó là phần mềm mã nguồn mở [3], mặt khác R có thể thực hiện được tất cả các phân tích mà các phần mềm thương mại nói trên có thể làm và làm tốt hơn. Với những lợi thế như vậy, mà R đã được sử dụng khá phổ biến trong học tập, giảng dạy và nghiên cứu tại nhiều trường đại học trên thế giới. Ở Việt Nam, trong những năm gần đây R bắt đầu được sử dụng trong dạy học tại một số trường đại học lớn như trường ĐH Kinh tế quốc dân, ĐH Thương mại, ĐH Kinh tế TP. Hồ Chí Minh. Tại ĐH Đà Nẵng, R cũng bắt đầu được quan tâm và đưa vào ứng dụng. Tháng 10/2017, Khoa Y Dược – ĐHĐN đã khai mạc khóa học về “Phương pháp nghiên cứu khoa học và công bố quốc tế” của GS. Nguyễn Văn Tuấn, mà nội dung chính là sử dụng R trong thiết kế nghiên cứu và phân tích dữ liệu [5]. Trước đó, tại Hội thảo Cita lần thứ 2 (2013), Hoàng Nhật Quy cũng đã giới thiệu nghiên cứu ứng dụng R trong giải bài toán Quy hoạch tuyến tính [2]. Chúng tôi hy vọng rằng bài báo nghiên cứu ứng dụng của R trong Kinh tế lượng sẽ mang tới cho các bạn sinh viên và đồng nghiệp tại ĐH Đà Nẵng một công cụ mới và góp phần giới thiệu việc sử dụng rộng rãi R tại Việt Nam. 2 Kết quả nghiên cứu Nghiên cứu mối quan hệ giữa chi tiêu với lương và các nguồn thu nhập khác, người ta đã tiến hành khảo sát và thu được bảng số liệu sau đây:
- 248 KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA 2018 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC Bảng 1. Số liệu khảo sát (đơn vị: triệu đồng) Chi 24.4 31.2 29.2 23.6 36.0 31.4 32.6 36.8 32.8 29.8 30.2 26.8 tiêu Lương 20 30 28 24 32 36 32 34 24 22 28 30 TN 16 10 2 0 18 10 16 24 28 20 8 4 khác Việc sử dụng R để nghiên cứu định lượng mối quan hệ phụ thuộc của CHI TIÊU vào LƯƠNG và THU NHẬP (TN) KHÁC trong 2 trường hợp hồi quy đơn và hồi quy bội được trình bày như sau. 2.1 Hồi quy tuyến tính đơn Giả sử X, Y là 2 biến kinh tế (Y là biến phụ thuộc, X là biến giải thích). Mô hình hồi quy tuyến tính đơn có dạng Y = b + aX + ε Trong đó, a gọi là độ dốc (slope), b gọi là tung độ gốc (Intercept); a, b còn được gọi là các hệ số hồi quy. Đối với ví dụ trên, cần nghiên cứu mối quan hệ giữa CHI TIÊU và LƯƠNG. Dựa vào các số liệu ở bảng 1. và sử dụng phần mềm R , thực hiện việc ước lượng các hệ số a, b trong mô hình hồi quy, cũng như thực hiện một số phân tích và kiểm định khác cụ thể như sau. - Nhập số liệu vào R: sử dụng các lệnh sau > chitieu luong chitieu [1] 24.4 31.2 29.2 23.6 36.0 31.4 32.6 36.8 32.8 29.8 30.2 26.8 > luong [1] 20 30 28 24 32 36 32 34 24 22 28 30 - Lệnh để thực hiện hồi quy tuyến tính đơn là lm. Lệnh này có nhiều tùy chọn. Có thể sử dụng lệnh help(lm) để tìm hiểu thêm về lệnh lm [xem 3,4]. Sau khi ước lượng, mô hình hồi quy đơn giữa Chi tiêu và Lương có dạng sau: Chitieu = (Intercept) + (slope).luong > hoiquydon hoiquydon Call: lm(formula = chitieu ~ luong) Coefficients: (Intercept) luong 15.6192 0.5217 Như vậy sẽ có được mô hình: Chitieu = 15.6192 + 0.5217.luong - Để vẽ đường hồi quy, cách thực hiện như sau > plot(chitieu~luong) > abline(hoiquydon)
- Huỳnh Vũ Ngọc Ánh, Hoàng Nhật Quy và Huỳnh Thị Oanh Triều 249 Hình 1. Đường hồi quy chitieu~luong - Để hiển thị thông tin chi tiết của ước lượng mô hình hồi quy trên đây, cách làm như sau > summary(hoiquydon) Call: lm(formula = chitieu ~ luong) Residuals: Min 1Q Median 3Q Max -4.5394 -1.9894 -0.0478 2.8889 4.6606 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 15.6192 5.7370 2.723 0.0215 * luong 0.5217 0.1997 2.612 0.0259 * Signif. codes: 0 ‘ ’ 0.001 ‘ ’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 3.285 on 10 degrees of freedom Multiple R-squared: 0.4056, Adjusted R-squared: 0.3462 F-statistic: 6.824 on 1 and 10 DF, p-value: 0.02594 Từ bảng số liệu trên và căn cứ vào tiêu chuẩn thống kê, có thể nhận định mô hình hồi quy là không tốt lắm vì: R2 = 0.4056 khá nhỏ (so với 1) và F = 6.824 cũng khá nhỏ. Nhưng mô hình vẫn có ý nghĩa thông kế vì p=0.02594 phandu phandu 1 2 3 4 5 6 -1.65270936 -0.06945813 -1.02610837 -4.53940887 3.68719212 -2.99950739 7 8 9 10 11 12 0.28719212 3.44384236 4.66059113 2.70394089 -0.02610837 -4.46945813 Vẽ biểu đồ phần dư > hist(phandu)
- 250 KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA 2018 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC Hình 2. Biểu đồ về phần dư - Tìm khoảng ước lượng cho các hệ số hồi quy (mặc định với độ tin cậy 95%) > confint(hoiquydon) 2.5 % 97.5 % (Intercept) 2.83630060 28.4021230 luong 0.07672091 0.9666288 - Nếu muốn tìm khoảng ước lượng với độ tin cậy cho trước, chẳng hạn 90% thì cách làm như sau > confint(hoiquydon, level=0.9) 5 % 95 % (Intercept) 5.2210584 26.017365 luong 0.1597308 0.883619 - Phân tích thông tin hồi quy từ bảng ANOVA: > anova(hoiquydon) Analysis of Variance Table Response: chitieu Df Sum Sq Mean Sq F value Pr(>F) luong 1 73.66 73.660 6.8242 0.02594 * Residuals 10 107.94 10.794 Signif. codes: 0 ‘ ’ 0.001 ‘ ’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Ở đây RSS (với df2=12-2=10 bậc tự do) là 107.94 và ESS (với df1=1 bậc tự do) là 73.66. Và có TSS=RSS+ESS, có thể kiểm tra lại là R2=ESS/TSS=0.4056. Bảng anova này cũng hiển thị giá trị thống kê F = 6.8242 = (ESS/df1)/(RSS/df2). 2.2 Hồi quy tuyến tính bội Giả sử Y, X1, X2, , Xn là các biến kinh tế (Y: biến phụ thuộc, còn X1, X2, , Xn là các biến giải thích). Mô hình hồi quy tuyến tính bội có dạng Y = b + a1X1 + a2X2 + ⋯ + anXn + ε Trong ví dụ trên đây, cần nghiên cứu mối quan hệ phụ thuộc của Chi tiêu vào Lương và TN khác. - Nhập số liệu vào R > chitieu luong tnkhac<-c(16,10,2,0,18,10,16,24,28,20,8,4)
- Huỳnh Vũ Ngọc Ánh, Hoàng Nhật Quy và Huỳnh Thị Oanh Triều 251 - Lệnh thực hiện ước lượng trong mô hình hồi quy bội vẫn là lm. Sau khi thực hiện và hiển thị số liệu bằng R như sau > hoiquyboi summary(hoiquyboi) Call: lm(formula = chitieu ~ luong + tnkhac) Residuals: Min 1Q Median 3Q Max -2.34689 -0.98818 0.04292 0.98416 2.36009 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 10.85676 3.21030 3.382 0.008103 luong 0.54890 0.10703 5.129 0.000621 tnkhac 0.30701 0.06032 5.089 0.000654 Signif. codes: 0 ‘ ’ 0.001 ‘ ’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 1.759 on 9 degrees of freedom Multiple R-squared: 0.8467, Adjusted R-squared: 0.8127 F-statistic: 24.86 on 2 and 9 DF, p-value: 0.0002161 Từ bảng số liệu chi tiết trên đây, mô hình hồi quy bội ước lượng được là Chitieu = 10.85676+0.554890.luong + 0.30701.tnkhac Theo tiêu chuẩn thống kế thì mô hình hồi quy ước lượng được là khá tốt vì: R2 = 0.8467 khá gần với 1, F = 24.86 khá lớn và chỉ số thống kê p = 0.0002161 khá nhỏ. Từ bảng số liệu trên cũng có được các thông tin về phần dư (Residuals). Để hiển thị chi tiết hơn phần dư và lập biểu đồ của nó thì cách thực hiện tương tự mục hồi quy tuyến tính đơn ở trên. - Khoảng tin cậy của các hệ số hồi quy trong mô hình được ước lượng khoảng theo công thức â1 − t∝/2se(â1) ≤ a1 ≤ â1 + t∝/2se(â1) Trong R, việc tìm khoảng ước lượng của các hệ số hồi quy được thực hiện như sau (giả sử độ tin cậy là 99%) > confint(hoiquyboi, level=0.99) 0.5 % 99.5 % (Intercept) 0.4238061 21.2897085 luong 0.2010778 0.8967173
- 252 KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA 2018 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC tnkhac 0.1109680 0.5030544 - Hiển thị ma trận hệ số tương quan > vcov(hoiquyboi) (Intercept) luong tnkhac (Intercept) 10.30603427 -0.3287460712 -0.0564491727 luong -0.32874607 0.0114547543 0.0003226691 tnkhac -0.05644917 0.0003226691 0.0036389908 - Kiểm định Wald về sự ràng buộc của các hệ số hồi quy: Giả thiết H0: ma1 + na2 = p Đối thiết H1: ma1 + na2 ≠ p Chẳng hạn, hãy kiểm định mô hình hồi quy bội trên đây với giả thiết a1=2a2. Việc kiểm định được thực hiện bằng R như sau. Ở đây ta có: m=1, n= -2, p=0 > library(AER) > linearHypothesis(hoiquyboi,"luong=2*tnkhac") Linear hypothesis test Hypothesis: luong - 2 tnkhac = 0 Model 1: restricted model Model 2: chitieu ~ luong + tnkhac Res.Df RSS Df Sum of Sq F Pr(>F) 1 10 28.365 2 9 27.834 1 0.53061 0.1716 0.6884 Từ số liệu kiểm định ta có: Pr(>F) = 0.6884 > 5% từ đây có bằng chứng thống kê để chấp nhận giả thiết gốc. 2.3 Một số mô hình hồi quy phi tuyến Trong mục này, nội dung sẽ xét một mô hình đa thức và đưa ra định hướng để thực hiện hồi quy bằng R đối với một mô hình phi tuyến nói chung. Giả sử các biến kinh tế Y và X quan hệ với nhau theo mô hình hồi quy đa thức như sau 2 n Y = a0 + a1X + a2X + + anX Lệnh để thực hiện tìm các hệ số hồi quy trong R đối với mô hình đa thức như sau > hoiquydathuc <- lm(Y~X + I(X2) + + I(Xn)) Trở lại với bảng số liệu ban đầu, ở đây cần nghiên cứu mối quan hệ của CHITIEU và TN KHÁC theo mô hình đa thức bậc 2 như sau 2 chitieu = a0 + a1 . tnkhac + a2. (tnkhac) Cách thực hiện cụ thể trong R như sau.
- Huỳnh Vũ Ngọc Ánh, Hoàng Nhật Quy và Huỳnh Thị Oanh Triều 253 > hoiquydathuc2 summary(hoiquydathuc2) Call: lm(formula = chitieu ~ tnkhac + I(tnkhac^2)) Residuals: Min 1Q Median 3Q Max -7.3399 -1.2804 0.9104 1.6970 3.7785 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 25.819306 2.408111 10.722 2e-06 tnkhac 0.484940 0.402446 1.205 0.259 I(tnkhac^2) -0.007181 0.014291 -0.503 0.627 Signif. codes: 0 ‘ ’ 0.001 ‘ ’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 3.435 on 9 degrees of freedom Multiple R-squared: 0.4152, Adjusted R-squared: 0.2852 F-statistic: 3.195 on 2 and 9 DF, p-value: 0.08944 Từ bảng số liệu chi tiết trên đây sẽ có: Hàm hồi quy ước lượng được là chitieu = 25.819306 + 0.484940 . tnkhac -0.007181. (tnkhac)2 Theo quan điểm thống kế thì mô hình hồi quy bậc 2 ước lượng được trên đây là không tốt vì: hệ số tương quan R2 = 0.4152 khá nhỏ so với 1, F = 3.195 khá nhỏ và chỉ số p = 0.08944 khả lớn. Do p > 5% nên có thể nói mô hình trên không có ý nghĩa về mặt thống kê. Mô hình hồi quy phi tuyến của hai biến Y và X có dạng Y = F(X, β) + ɛ. Và lệnh trong R để thực hiện hồi quy phi tuyến là nls (cấu trúc của lệnh nls cũng giống lệnh lm, có thể dùng lệnh help(nls) để xem cấu trúc cụ thể của lệnh [xem 3,4]). Giả sử xét một mô hình phi tuyến là ε Y = 1 + eβ1X1+β2X2 Biến đổi mô hình trên về dạng tổng quát bằng cách lấy ln (lô ga rít tự nhiên) hai vế được được kết quả: lnY = − ln(1 + eβ1X1+β2X2) + ln ε Và trong R, ước lượng mô hình nói trên bằng lệnh sau đây 1. hoiquyphituyen <- nls(log(Y) ~ log(1+exp(a*X1+b*X2)), start=list(a=1,b=1), data=mydata). 3 Kết luận Bài báo đã giới thiệu một ứng dụng của phần mềm R để giải bài toán trong Kinh Tế Lượng, đây là ứng dụng chưa được khai thác ở Việt Nam. Chúng tôi hy vọng qua sự giới thiệu này, sẽ tăng thêm động lực, tình cảm cho những ai đã, đang và sẽ quan tâm tới những ứng dụng của R.
- 254 KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA 2018 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC Nhân đây, chúng tôi xin gửi lời cảm ơn tới Ban tổ chức hội thảo vì đã tạo ra một diễn đàn có ích cho những người quan tâm tới ứng dụng CNTT có thể chia sẻ những nghiên cứu của mình. Tài liệu tham khảo 1. Ross Ihaka, and Robert Gentleman, R: A language for data analysis and graphics, Journal of Computational and Graphical Statistics 5, No.3, 299 – 314 (1996). 2. Hoàng Nhật Quy: Ứng dụng phần mềm R để giải bài toán QHTT, Hội thảo Cita lần thứ 2, pp 61-73, (2013). 3. Website: Cài đặt phần mềm R và các gói lệnh: 4. Website: Tìm hiểu và khai thác các ứng dụng của phần mềm R: 5. Website: Nguyễn Văn Tuấn, Phương pháp nghiên cứu khoa học và công bố quốc tế: