Professional Documents
Culture Documents
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.
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<-c(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<-c(20,30,28,24,32,36,32,34,24,22,28,30)
- Có thể hiển thị dữ liệu về chitieu và luong lên giao diện phần mềm R
> 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<-lm(chitieu~luong)
> 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 3
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
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 < 0.05.
- Về thông số Phần dư (Residuals): Ở bảng chi tiết trên đây cho các giá trị nhỏ nhất (Min),
giá trị lớn nhất (Max) và trung vị (Median) của phần dư. Để hiển thị thông tin cụ thể hơn về
phần dư, cách làm như sau
> phandu<-residuals(hoiquydon)
> 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)
4 KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA 2018 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH
- 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 df 1=1 bậc tự do) là 73.66. Và
có TSS=RSS+ESS, có thể kiểm tra lại là R 2=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<-c(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<-c(20,30,28,24,32,36,32,34,24,22,28,30)
> 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 5
- 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<-lm(chitieu~luong+tnkhac)
> 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
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
chitieu = a0 + a1 . tnkhac + a2. (tnkhac)2
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 7
> hoiquydathuc2<-lm(chitieu~tnkhac+I(tnkhac^2))
> 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
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.
8 KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA 2018 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH
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.