You are on page 1of 12

ĐẠI HỌC UEH

TRƯỜNG KINH DOANH UEH


🙞🕮🙜

BÀI THI KẾT THÚC HỌC PHẦN


MÔN HỌC: PHÂN TÍCH DỮ LIỆU VÀ DỰ BÁO KINH TẾ

Giảng viên hướng dẫn: Võ Đức Hoàng Vũ


MHP: 21C1ECO50101106
Lớp: FT002
Thành viên nhóm:
Họ và tên MSSV
Nguyễn Thị Quyên 31201021741
Lê Trương Quỳnh Như 31201027344
Danh Thị Thu Vân 31201025665
BÀI 1

library(wooldridge)
data(ceosal2,package="wooldridge")
Z = ceosal2
a. Chạy hồi qui và báo cáo kết quả cho ba mô hình sau:

ols1 = lm(lsalary ~ lsales, data=Z)


summary(ols1)
Báo cáo kết quả:
Biến Hệ số Giá trị Std. Error Thống kê p-value
t
Intercept β0 4.96108 0.19996 24.810 <2e-16
lsales β1 0.22428 0.02713 8.267 3.32e-14
Số lượng mẫu quan sát: 177
Multiple R-squared : 0.2809

ols2 = lm(lsalary ~ lsales + lmktval + profmarg , data=Z)


summary(ols2)
Báo cáo kết quả:
Biến Hệ số Giá trị Std. Error Thống kê t p-value
Intercept β0 4.620690 0.2543344 18.167 <2e-16
lsales β1 0.158483 0.039814 3.981 0.000101
lmktval β2 0.112261 0.05393 2.228 0.027190
profmarg β3 -0.002259 0.002165 -1.043 0.298346
Số lượng mẫu quan sát: 177
Multiple R-squared : 0.3035

ols3 = lm(lsalary ~ lsales + lmktval + profmarg + ceoten + comten , data=Z)


summary(ols3)
Báo cáo kết quả:
Biến Hệ số Giá trị Std. Error Thống kê t p-value
Intercept β0 4.571977 0.253466 18.038 <2e-16
lsales β1 0.187787 0.040003 4.694 5.46e-06
mktval β2 0.099872 0.049214 2.029 0.04397
profmarg β3 -0.002211 0.002105 -1.050 0.29514
ceoten β4 0.017104 0.005540 3.087 0.00236
comten β5 -0.009238 0.003337 -2.768 0.00626
Số lượng mẫu quan sát: 177
Multiple R-squared : 0.3525

b. Bình luận lên tác động của profmarg lên tiền lương của CEO.

Ta thấy giá trị p-value của profmarg ở cả 2 mô hình hồi quy (2) và (3) đều lớn
hơn mức ý nghĩa α = 5% nên profmarg không tác động lên tiền lương của CEO .
Với mô hình hồi quy (2) khi profmarg tăng lên 1 đơn vị thì tiền lương của CEO
giảm xuống 0.2259%.
Với mô hình hồi quy (3) khi profmarg tăng lên 1 đơn vị thì tiền lương của CEO
giảm xuống 0.2211%.
Điều này có vẻ mâu thuẫn. Bởi vì ở thực tế khi lợi nhuận tính theo phần trăm
doanh thu tăng thì sẽ dẫn tới tiền lương của CEO cũng tăng theo.
c. Giá thị trường, mktval, có tác động vào tiền lương? Hãy giải thích.

Ta thấy mktval (giá thị trường) có tác động lên tiền lương CEO, bởi vì giá trị p-
value ở cả hai mô hình hồi quy đều nhỏ hơn mức ý nghĩa α =5%.
Với mô hình hồi quy (2) thì khi mktval tăng lên 1% đơn vị thì tiền lương của
CEO cũng tăng lên 0.112261%.
Với mô hình hồi quy (3) thì khi mktval tăng lên 1% đơn vị thì tiền lương của
CEO cũng tăng lên 0.099872%.
 Do đó, giá thị trường, mktval, có ảnh hưởng đáng kể đến tiền lương của
CEO và có ý nghĩa thống kê.
d. Giải thích ý nghĩa của các hệ số cho các biến, ceoten và comten. Các
biến này có tác động vào biến phụ thuộc không?
- Hệ số ceoten (số năm làm giám đốc điều hành) ở mô hình hồi quy (3) là
0.017104. Khi đó số năm làm giám đốc điều hành tăng lên thì sẽ làm tăng lương
của CEO vì hệ số ceoten lúc này có giá trị dương. Nếu số năm làm giám đốc
điều hành tăng lên 1 năm thì lương của CEO sẽ tăng lên 1.7104% và ngược lại.
- Hệ số comten (số năm làm việc ở công ty) ở mô hình hồi quy (3) là -0.009238.
Khi đó số năm làm việc ở công ty tăng lên thì sẽ làm giảm lương của CEO vì hệ
số comten lúc này có giá trị âm. Nếu số năm làm việc ở công ty tăng lên 1 năm
thì lương của CEO sẽ giảm lên 0.9238% và ngược lại.
- Các biến này (ceoten và comten) có tác động vào biến phụ thuộc, bởi vì giá trị
p-value của ceoten là 0.00236 và giá trị p-value của comten là 0.00626 nhỏ hơn
mức ý nghĩa α =5%.
e. Thực hiện kiểm định đồng thời giả thuyết: βceoten=βcomten=0 Trình
bày các bước thực hiện kiểm định của bạn.

Bước 1: Thiết lập giả thuyết:


H0: βceoten=βcomten=0 against H1: H0 is not true
Bước 2: Chạy hồi quy mô hình không giới hạn, gọi là URM và tính tổng bình
phương phần dư (SSR) của mô hình URM.
URM = lm(lsalary ~ lsales + lmktval + profmarg + ceoten + comten , data = Z)
summary(URM)
ssr.ur=deviance(URM)
Bước 3: Chạy hồi quy mô hình giới hạn, gọi là RM và tính tổng phần bình
phương phần dư (SSR) của mô hình RM.
RM = lm(lsalary ~ lsales + lmktval + profmarg , data = Z)
summary(RM)
ssr.r = deviance(RM)
Bước 4: Tính số ràng buộc q.
q = df.residual(RM) - df.residual(URM)
Bước 5: Tính F_cal và p_value.
Fcal = ((ssr.r - ssr.ur)/q)/(ssr.ur/df.residual(URM))
pf(Fcal,q, df.residual(URM), lower.tail = FALSE)
Bước 6: Biện luận.
Ta thấy p_value = 0.001944458 nhỏ hơn mức ý nghĩa α = 5%
 Chấp nhận H0
f.Xây dựng 95% khoảng tin cậy cho các hệ số đạt được trong mô hình (3).

ols3 = lm(lsalary ~ lsales + lmktval + profmarg + ceoten + comten , data=Z)


Z["constant"] = rep(1,nrow(Z))
y = as.matrix(Z$lsalary)
X=as.matrix(Z[,c("constant","lsales","lmktval","profmarg","ceoten","comten")]
)
b = solve(t(X)%*%X)%*%(t(X)%*%y)
u = y - X%*%b
s2 = sum(u^2)/(nrow(X)- ncol(X))
varb = s2*solve(t(X)%*%X)
seb = sqrt(diag(varb))
tcal = b/seb
df = nrow(X)- ncol(X)
tcr = qt(0.025,df, lower.tail = F)
pvalue = 2*pt(abs(tcal), df, lower.tail = F)
lbeta = b - tcr*seb
upbeta = b + tcr*seb
result = cbind(b, seb, tcal, lbeta, upbeta, pvalue)
colnames(result) <- c("Coeff.", "Std. Error", "t-value", "lower coef.", "upper
coef.","p-value")
Bảng báo cáo kết quả:
Coeff. Std.Error t-value Lower coef Upper p-value
coef.
Constant 4.5719773 0.2534663 18.037815 4.0716517 5.072303 2.0209e-41
lsales 0.1877860 0.0400028 4.694340 0.1088240 0.2667500 5.4614e-06
lmktval 0.0998717 0.0492137 2.029345 0.0027270 0.1970163 4.3974e-02
profmar -0.0022109 0.0021054 -1.050131 -0.006367 0.0019450 2.9514e-01
g
ceoten 0.0171035 0.0055399 3.087309 0.0061680 0.0280390 2.3571e-03
comten -0.0092377 0.0033373 -2.767982 -0.015825 -0.002650 6.2623e-03

g. Trong 3 mô hình thì mô hình nào cho kết quả tốt nhất? Hãy biện luận
những lập luận của anh/chị.
- hệ số tương quan:
cor(Z$lsales, Z$lmktval)
cor(Z$lsales, Z$profmarg)
cor(Z$lsales, Z$ceoten)
cor(Z$lsales, Z$comten)
cor(Z$lmktval, Z$profmarg)
cor(Z$lmktval, Z$ceoten)
cor(Z$mktval, Z$comten)
cor(Z$profmarg, Z$ceoten)
cor(Z$profmarg, Z$comten)
cor(Z$ceoten, Z$comten)
log(mktval) profmarg ceoten comten log(sales)
log(mktval 0.06077802 -0.04347 0.136096 0.7359232
)
profmarg 0.0607780 0.0488047 0.0471739 -0.014594
2
ceoten -0.04347 0.0488047 0.3151212 -0.376854
comten 0.136096 0.0471739 0.3151212 0.23782
log(sales) 0.7359232 -0.014594 -0.376854 0.23782

*Nhận xét:
Từ bảng tương quan có thể thấy, mức độ tương quan giữa các biến độc lập với
nhau không cao. Hệ số tương quan cao nhất là 0.7359232 giữa biến log(sales)
và log(mktval). Do không có hệ số tương quan nào vượt qua 0.8 nên có thể dự
đoán là cả 3 mô hình đều không xảy ra hiện tượng đa cộng tuyến khi hồi quy.
- Nhìn vào kết quả chạy hồi quy của 3 mô hình, ta thấy giá trị pvalue của β1, β2,
β4, β5 đều nhỏ hơn mức ý nghĩa α=5% nên các biến độc lập log(sales),
log(mktval), ceoten và comten có ý nghĩa thống kê, nghĩa là đều tác động vào
biến phụ thuộc log(salary). Chính vì vậy, mô hình 3 là mô hình giải thích tốt
nhất tác động của các biến độc lập lên biến phụ thuộc log(salary) là hiệu quả
nhất trong 3 mô hình trên.
- Ngoài ra, R2 của mô hình 3 có giá trị lớn nhất là 0.3525, điều này nghĩa là sự
biến động trong log(salary) được giải thích bởi các biến phụ thuộc là 35.25%
còn lại 64.75% được giải thích bởi các yếu tố khác.
 Vậy trong 3 mô hình hồi quy trên thì mô hình (3) cho kết quả tốt nhất.

BÀI 2
library(wooldridge)
data(hprice1,package="wooldridge")
Z = hprice1
a. Chạy hồi quy
ols = lm(lprice ~ llotsize + lsqrft + bdrms, data=Z)
summary(ols)
- Trình bày kết quả theo dạng thông thường:
log(price) = -1.29704 + 0.16797 log(lotsize) + 0.70023 log(sqrft) +
0.03696 bdrms.
b. Tìm giá trị dự đoán cho price khi lotsize = 20.000, sqrft = 2.500 và
bdrms = 4.
x0 = as.matrix(c(1,log(20000),log(2500),4))
lny0 = t(x0)%*%coef(ols)
exp(lny0)
alpha0 = mean(exp(resid(ols)))
Z["pricehat"] = exp(fitted(ols))
ols2 = lm(price ~ 0 + pricehat, data = Z)
summary(ols2)
alpha1 = coef(ols2)[1]
y1 = exp(t(x0)%*%coef(ols))*alpha0
y2 = exp(t(x0)%*%coef(ols))*alpha1
Gía trị dự đoán cho giá nhà (price) khi lotsize=20.000, sqrft=2500, bdrms=4:
- Nếu sử dụng mức ước tính alpha0 thì giá nhà(price) dự đoán khoảng
$407122.4
- Nếu sử dụng mức ước tính alpha1 thì giá nhà(price) dự đoán khoảng
$409752.1
Z["yhat0"]= exp(fitted(ols))*alpha0
Z["yhat1"]= exp(fitted(ols))*alpha1
A_0 = sum((Z$yhat0 - Z$price)^2)
A_1 = sum((Z$yhat1 - Z$price)^2)
A_0 = 244460
A_1 = 244119.9
Ta thấy, tổng bình phương chênh lệch của giá nhà (price) dự đoán theo alpha1
so với thực tế (A_1 = 244119.9) nhỏ hơn tổng bình phương chênh lệch của giá
nhà (price) dự đoán theo alphal0 so với thực tế (A_0 = 244460) nên ta chọn sử
dụng mức tính alpha1 để dự đoán cho giá nhà (price).
 Vậy theo mức tính alpha1 thì giá nhà (price) dự đoán khoảng $409752.1

c. Với mục tiêu là giải thích cho sự biến động trong price, bạn quyết
định chọn mô hình ở câu (a) hay mô hình price = β0 + β1 lotsize +
β2 sprft + β3 bdrms + u.
*Quan sát 2 mô hình trên đồ thị histogram:
library(psych)
psych::describe(Z[,c("price","lotsize","sqrft", "bdrms")], fast=T)
hist(Z$price)
hist(Z$lprice)
hist(Z$lotsize)
hist(Z$llotsize)
hist(Z$sqrft)
hist(Z$lsqrft)
Với price, lotsize, sqrft đồ thị histogram bị lệch phải sẽ dẫn đến tình trạng
outliers nên chúng ta nên sử dụng hàm log cho price, lotsize, sqrft.
Ngoài ra, price, lotsize và sqrft là các biến liên tục và giá trị min của
price, lotsize, sqrft lần lượt là là 111, 1000, 1171 ( không có giá trị nào
nhỏ hơn hoặc bằng 0) nên chúng ta có thể dùng log(price), log(lotsize),
log(sqrft).
* Kiểm tra hiện tượng phương sai bị thay đổi trên 2 mô hình:
ols1 <- lm(price~lotsize+sqrft+bdrms, data=Z)
library(lmtest)
bptest(ols)
bptest(ols1)
Đối với mô hình hồi quy price = β0 + β1 lotsize + β2 sprft + β3 bdrms +
u. Ta dùng lmtest thì có được pvalueLM= 0.002782 < α -> xảy ra hiện
tượng phương sai thay đổi.
Đối với mô hình ở câu a. log(price) = β0 + β1 log(lotsize) + β2 log(sprft)
+ β3 bdrms + u. Ta dùng lmtest có được pvalueLM=0.2383>α -> không
có hiện tượng phương sai thay đổi.
Ta đã giải quyết được vấn đề phương sai bị thay đổi đối với mô hình giá
nhà (price) bằng cách lấy log các biến (trừ biến bdmrs vì số phòng ngủ là
biến rời rạc).

 Vậy nên chúng ta nên sử dụng mô hình ở câu a là: log(price) = β0 + β1


log(lotsize) + β2 log(sqrft) + β3 bdrms + u để giải thích sự biến động của
price một cách hiệu quả nhất.
BÀI 3
a. Ước lượng mô hình và giải thích ý nghĩa của hệ số hồi quy:
library(wooldridge)
data(smoke,package="wooldridge")
Z = smoke
rm (smoke)
ols = lm(cigs ~ lincome + lcigpric + educ + age + agesq + restaurn , data=Z)
summary(ols)
* Giải thích ý nghĩa của các hệ số hồi quy:
- β0= -3.639841có nghĩa là trong điều kiện các yếu tố khác không đổi và giá trị
các biến độc lập bằng 0 thì số điếu thuốc hút trong một ngày là -3.639841
-β1 có pvalue= 0.22682 lớn hơn mức ý nghĩa α=5% nên không có ý nghĩa thống
kê, do đó thu nhập hằng năm không tác động đến số điếu thuốc hút trong 1
ngày.
-β2 có pvalue= 0.89655 lớn hơn mức ý nghĩa α=5% nên không có ý nghĩa thống
kê, do đó giá một điếu thuốc không tác động đến số điếu thuốc hút trong 1 ngày.
-β3 = -0.501498 và có pvalue= 0.002277 nhỏ hơn mức ý nghĩa α=5% nên có ý
nghĩa thống kê. Trong điều kiện các yếu tố khác không đổi, số năm đi học của
người hút thuốc tăng lên 1 năm thì số điếu thuốc hút trong 1 ngày giảm một
lượng 0.501498 và ngược lại.
-β4 = 0.770694 và có pvalue= 1.78e-06 nhỏ hơn mức ý nghĩa α=5% nên có ý
nghĩa thống kê. Trong điều kiện các yếu tố khác không đổi, số tuổi của người
hút thuốc tăng lên 1 năm thì số điếu thuốc hút trong 1 ngày tăng một lượng
0.770694 và ngược lại.
- β5= -0.009023 và có pvalue= 2.86e-07 nhỏ hơn mức ý nghĩa α=5% nên có ý
nghĩa thống kê. Trong điều kiện các yếu tố khác không đổi, số tuổi của người
hút thuốc tăng sẽ dẫn đến số điếu thuốc hút trong một ngày tăng nhưng khi số
tuổi tăng từ 42.71 tuổi trở lên thì số điếu thuốc hút trong một ngày sẽ giảm.
-β6= -2.825085 có pvalue= 0.01124 nhỏ hơn mức ý nghĩa α=5% nên có ý nghĩa
thống kê. Trong điều kiện các yếu tố khác không đổi, nếu nhà hàng người hút
thuốc đến quy định cấm hút thuốc thì số điếu thuốc được hút trong 1 ngày giảm
2.825085 và ngược lại.
b. Từ kết quả hồi qui ở câu (a), anh/chị ước lượng u và u2 và sau đó vẽ đồ
thị rãi điểm (scatterplot) giữa u và income, giữa u2 và income. Cho nhận
xét.
* Vẽ đồ thị rãi điểm:
u=resid(ols)
usq = resid(ols)^2
plot(Z$income , u)
plot(Z$income , usq)
*Nhận xét:
Khi thu nhập hằng năm (income) tăng thì u2 và u biến động rất lớn (“phình ra”).
Đây là một trong những dấu hiệu cho thấy phương sai bị thay đổi.
c. Kiểm tra nhận xét của mình ở câu b bằng kiểm định phương sai thay đổi
library(lmtest)
bptest(ols)
Sau khi chạy lmtest, ta có giá trị pvalueLM= 1.456e-05 nhỏ hơn nhiều so với
mức ý nghĩa α=5% nên có hiện tượng phương sai thay đổi.
d. Nếu mô hình ở câu (a) vi phạm giả thuyết phương sai không thay đổi,
anh/chị hay đề xuất cách chữa trị và trình bày các cách chữa trị này
library(lmtest)
library(car)
library(sandwich)
coeftest(ols,vcov=hccm)

*Báo cáo robust Standard error:


Biến Hệ số Giá trị Std. Error Thống kê p-value
t
Intercept β0 -3.6398415 25.8565271 -0.1408 0.888087
lincome β1 0.8802682 0.6014120 1.4637 0.143677
lcigpric β2 -0.7508586 6.0898859 -0.1233 0.901904
educ β3 -0.5014982 0.1631261 -3.0743 0.002182
age β4 0.7706936 0.1394893 5.5251 4.456e-08
agesq β5 -0.0090228 0.0014769 -6.1091 1.563e-09
restaurn β6 -2.8250848 1.0114249 -2.7932 0.005344

You might also like