Một hướng dẫn thực tế phân tích hồi quy tuyến tính với Stata.Hướng dẫn cho ví dụ rõ ràng, cụ thể từng trường hợp hồi quy tuyến tính vì vậy người đọc dễ hiểu, có thể thực hành ngay.Hướng dẫn luôn có bản cập nhật dành cho người tải. Các bản cập nhật sẽ bổ sung các câu lệnh mới dành cho hồi quy tuyến tính.Một hướng dẫn mà bất kỳ người đọc nào cho dù có trình độ thống kê hay không đều có thể thực hành dễ dàng.
Trang 1HỒI QUY TUYẾN TÍNH VỚI 01 BIẾN ĐỘC LẬP ĐỊNH LƯỢNG 2 HỒI QUY TUYẾN TÍNH VỚI 01 BIẾN ĐỊNH TÍNH 10 HỒI QUY TUYẾN TÍNH ĐA BIẾN VỚI NHIỀU BIẾN ĐỘC LẬP ĐỊNH LƯỢNG 12 HỒI QUY TUYẾN TÍNH VỚI BIẾN ĐỘC LẬP CÓ BIẾN ĐỊNH TÍNH HAI GIÁ TRỊ (MÔ HÌNH ANCOVA) 19 HỒI QUY TUYẾN TÍNH VỚI BIẾN ĐỘC LẬP CÓ BIẾN ĐỊNH TÍNH TRÊN HAI GIÁ TRỊ (MÔ HÌNH ANCOVA) 27 CHỌN COVARIATE ĐƯA VÀO MÔ HÌNH 34
Trang 2HỒI QUY TUYẾN TÍNH VỚI 01 BIẾN ĐỘC LẬP
“xác suất F lớn hơn” nếu chúng ta rút ra một mẫu ngẫu nhiên từ dân số mà giả thuyết H0 là đúng.
Ở góc trên phải, chúng ta có R2 = 0,2174 Chi phí giải thích cho 22% sự thay đổi trong chỉ số SAT của bang Adjusted R2 = 0,205 liên quan đến độ phức tạp của
mô hình.
Bảng dưới cho phương trình dự đoán SAT:
csat = 1060.732 – 0.0222758 x expense
Cột thứ hai liệt kê sai số chuẩn ước lượng của hệ số Các số này dùng để tính
t test (cột 3-4) và khoảng tin cậy (cột 5-6) cho từng hệ số hồi quy Giá trị t (hệ
Trang 3số/sai số chuẩn) test giả thuyết H0 tương ứng hệ số của dân số bằng 0 Với alpha = 0,05 thì cả hai giả thuyết cho hệ số và điểm chặn đều bị bác
Đồ thị giữa các giá trị quan sát (yi, xi) và đường thẳng nối các điểm tiên đoán từ mô hình.
Đồ thị cho thấy đường thẳng có vẻ phù hợp tốt và giả định phương sai hằng định không bị vi phạm.
Có sự phân tán đáng kể xung quanh đường hồi quy với chỉ có 16.6% (R-squared trong kết quả hồi quy) sự biến thiên trong salaries là được giải thích bởi marketbility.
Trang 4Chúng ta cũng có thể tạo biến mới là hệ số dư của mô hình bằng lệnh predict với option resid.
graph twoway mspline yhat percent,band(50) || scatter csat percent ||, ytitle(mean
% HS graduates taking SAT
Vừa vẽ đồ thị phân tán đồ giữa biến csat và percent và đường hồi quy tuyến tính giữa giá trị tiên đoán và biến percent.
mspline: là vẽ đường cong bậc ba ứng với 50 trung vị cắt ngang Trong trường hợp tuyến tính thì chỉ vẽ một đường thẳng còn trong trường hợp giá trị tiên đoán không tuyến tính thì sẽ là một đường cong.
rvfplot, yline(0)
Trang 6graph twoway lfitci csat percent,stdp || scatter csat percent,msymbol(0) ||,
ytitle(mean of sat) legend(off)
(note: named style 0 not found in class symbol, default attributes used)
% HS graduates taking SAT
Vẽ khoảng tin cậy 95% cho trung bình có điều kiện (nghĩa là giá trị trung bình với một giá trị x ước lượng trước) Khoảng tin cậy 95% trong trường hợp này diễn tả sự không chắc chắn trong ước lượng trung bình có điều kiện của y tại một giá x cho trước (hay là kết hợp nhiều x trong hồi quy tuyến tính) Khoảng tin cậy
có hình thu nhỏ lại ở trung tâm chính là trung bình của x.
Trang 7gen percent2 = percent^2
regress csat percent percent2
Source | SS df MS Number of obs = 51
(option xb assumed; fitted values)
graph twoway mspline yhat2 percent, bands(50)|| scatter csat percent||, legend (off)ytitle(mean sat)
Trang 8% HS graduates taking SAT
quietly regress csat percent percent2
rvfplot, yline(0)
Trang 9Mô hình lũy thừa có R2 tốt hơn mô hình tuyến tính (0,86 so với 0,83) Đồ thị
hệ số dư cũng cho thấy mối quan hệ đã hầu như trở thành đường thẳng
Trang 10HỒI QUY TUYẾN TÍNH VỚI 01 BIẾN ĐỊNH TÍNH
regress salary male
Source | SS df MS Number of obs = 514
-+ - F(1, 512) = 76.96
Model | 1.0765e+10 1 1.0765e+10 Prob > F = 0.0000
Residual | 7.1622e+10 512 139887048 R-squared = 0.1307
Trang 11regress salary male, vce(robust)
Linear regression Number of obs = 514
Option vce(robust) (vce là “variance–covariance matrix of estimates) sẽ chạy mô hình với sandwich estimator.
Số t hầu như giống với t trong phép kiểm t-test với phương sai không bằng nhau.
Trang 12HỒI QUY TUYẾN TÍNH ĐA BIẾN VỚI NHIỀU
BIẾN ĐỘC LẬP ĐỊNH LƯỢNG
Chạy mô hình hồi quy tuyến tính ước lượng expense tiên đoán cho csat, hiệu chỉnh theo các biến percent, income, high và college.
Phương trình hồi quy có dạng
Chỉ có hệ số của percent là có ý nghĩa thống kê Phương trình này gọi là “ hệ
số hồi quy từng phần bậc 4” vì hiệu chỉnh theo 4 biến (percent, income, high và college)
Phương trình giải thích như sau: chỉ có điểm SAT sẽ giảm -2,618 điểm cho mỗi phần trăm số người tốt nghiệp trung học thi SAT tăng lên, nếu high, expense, income, high và college không thay đổi
Cả 5 biến trong mô hình này giải thích cho 80% các thay đổi trong điểm SAT trung bình (R2 = 0,8048) Ngược lại mô hình ban đầu chỉ giải thích cho 20%
sự thay đổi mà thôi
Trang 13Sau khi chạy lệnh regress chúng ta có thể tạo giá trị tiên đoán bằng lệnh predict.
Chúng ta cũng có thể tạo biến mới là hệ số dư của mô hình bằng lệnh predict với option resid Hệ số dư tính bằng cách lấy giá trị quan sát được trừ cho giá trị tiên đoán từ mô hình Nếu hệ số dư âm nghĩa là mô hình đã tiên đoán quá lố các giá trị quan sát Nghĩa là tại các bang này, điểm trung bình SAT thấp hơn so với chúng ta mong đợi Nếu hệ số dư dương thì có nghĩa giá trị quan sát lớn hơn giá trị tiên đoán.
histogram res, normal
Vẽ phân phố của hệ số dư tiên đoán từ mô hình Phân phối hệ số dư có vẽ bị lệch
do đó biến phụ thuộc là salary cần phải log tranform.
Trang 15graph matrix percent percent2 high csat, half msymbol(+)
Mean composite SAT score
ovtest
Ramsey RESET test using powers of the fitted values of csat
Ho: model has no omitted variables
F(3, 44) = 1.48
Prob > F = 0.2319
Phép kiểm biến loại bỏ (omitted-variable test) chủ yếu hồi quy y theo các biến x, và cũng là sức mạnh hai, ba và 4 của biến tiên đoán y (sau khi chuẩn hóa giá trị tiên đoán với trung bình 0 và phương sai 1) Phép kiểm thực hiện F test với giả thuyết H0 rằng tất cả 3 hệ số trên sức mạnh của giá trị tiên đoán = 0 Nếu chúng ta bác bỏ H0 các bậc lũy thữa cao hơn sẽ cải thiện mô hình Với mô hình này, chúng ta không cần bác bỏ giả thuyết H0
Trang 16hettest
Breusch-Pagan / Cook-Weisberg test for heteroskedasticity
Ho: Constant variance
Variables: fitted values of csat
chi2(1) = 4.86
Prob > chi2 = 0.0274
Phép kiểm đồng nhất lệch (heeroskedasticity test) kiểm tra giả định phương sai sai lệch hằng định bằng cách kiểm tra hệ số dư chuẩn bình phương có tuyến tính với giá trị tiên đoán hay không Kết quả mô hình cho thấy rằng chúng ta bác
bỏ giả thuyết H0 về phương sai hằng định.
Trang 17lý do mà phép kiểm hettest trước đó bác bỏ giả thuyết phương sai hằng định
Trang 18Đồ thị giúp khám phá các quan sát gây ra ảnh hưởng bất đồng lên mô hình hồi quy Đồ thị cho thấy giữa biến high và csat có một số số ngoại lai.
Trang 19regress salary i.male c.marketc##c.yearsdg i.rank
Source | SS df MS Number of obs = 514
-+ - F(6, 507) = 247.16
Model | 6.1397e+10 6 1.0233e+10 Prob > F = 0.0000
Residual | 2.0990e+10 507 41401072 R-squared = 0.7452
-+ - Adj R-squared = 0.7422
Total | 8.2387e+10 513 160599133 Root MSE = 6434.4
salary | Coef Std Err t P>|t| [95% Conf Interval] -+ - male |
Men | 926.1298 712.2859 1.30 0.194 -473.2657 2325.525 marketc | 46905.65 3455.747 13.57 0.000 40116.31 53695 yearsdg | 540.73 51.40369 10.52 0.000 439.7395 641.7205 |
c.marketc#c.yearsdg | -750.415 214.1251 -3.50 0.000 -1171.097 -329.7334 |
rank |
Associate | 3303.134 859.6452 3.84 0.000 1614.229 4992.04 Full | 11573.46 1165.936 9.93 0.000 9282.799 13864.12 |
_cons | 36044.19 711.6195 50.65 0.000 34646.1 37442.28Chạy mô hình hồi quy với tương tác giữa hai biến liên tục là marketc và yearsdg
Trang 20HỒI QUY TUYẾN TÍNH VỚI BIẾN ĐỘC LẬP CÓ BIẾN ĐỊNH TÍNH HAI GIÁ TRỊ (MÔ HÌNH
ANCOVA)
regress salary i.male marketc yearsdg
Source | SS df MS Number of obs = 514
-+ - F(3, 510) = 367.56
Model | 5.6333e+10 3 1.8778e+10 Prob > F = 0.0000
Residual | 2.6054e+10 510 51087083.4 R-squared = 0.6838
Trang 21margins male, at(marketc=0 yearsdg=10)
Adjusted predictions Number of obs = 514
Model VCE : OLS
Expression : Linear prediction, predict()
Sự khác biệt trong trung bình hiệu chỉnh tương đương hệ số ước lượng của biến giả giới tính.
Trang 22margins male
Predictive margins Number of obs = 514
Model VCE : OLS
Expression : Linear prediction, predict()
Trang 23generate male_years = male*yearsdg
regress salary male marketc yearsdg male_years
Source | SS df MS Number of obs = 514
-+ - F(4, 509) = 279.95
Model | 5.6641e+10 4 1.4160e+10 Prob > F = 0.0000
Residual | 2.5746e+10 509 50581607.4 R-squared = 0.6875
về lương của hai giới gần như bằng 0 Sau 10 năm kinh nghiệm thì mức lương của nam cao hơn nữ là -$593.31+$227.15×10 = $1,678 Sau 20 năm thì mức lương của nam cao hơn nữ là -$593.31+$227.15×20 = $3,949 Sau 30 năm thì mức lương của nam cao hơn nữ là -$593.31 + $227.15×30 = $6,221
Trang 24Mặc dù khoảng cách lương giới tính ước lượng khi mức kinh nghiệm sau tốt nghiệp bằng 0 không có ý nghĩa thống kê ở mức 5% (t=-0,45, df=509, p=0,65), sự thay đổi về lương theo giới tính khi số năm kinh nghiệm tăng lên lại có ý nghĩa thống kê (t=2,47, df=509, p=0,01).
lincom male + male_years*10
sử dụng lệnh lincom (linear combination) để chạy test thống kê H0: β2 + β5 × 10 =
0 Kết quả cho thấy sự khác biệt có ý nghĩa thống kê (p=0,035).
twoway (function Women =_b[_cons] + _b[yearsdg]*x, range(0 41) lpatt(dash))(functionMen =_b[_cons] + _b[male] + (_b[yearsdg] +_b[male_years])*x,range(0 41) lpatt(solid)),xtitle(Time since degree (years)) ytitle(Mean salary)
Trang 25Sau khi chạy mô hình chúng ta cũng có thể vẽ đường tiên đoán lương của hai giới nam và nữ theo thời gian kinh nghiệm Để vẽ được đồ thị này chúng ta phải giả định trong mô hình các covariate khác có giá trị =0 ở đây có biến marketc thì biến marketc sẽ có giá trị = 0 Khi đó đồ thị sẽ biểu diễn hàm tuyến tính lương của hai giới theo số năm có kinh nghiệm.
regress salary male marketc yearsdg i.male#c.yearsdg
Source | SS df MS Number of obs = 514
-+ - F(4, 509) = 279.95
Model | 5.6641e+10 4 1.4160e+10 Prob > F = 0.0000
Residual | 2.5746e+10 509 50581607.4 R-squared = 0.6875
Trang 26regress salary marketc i.male##c.yearsdg
Source | SS df MS Number of obs = 514 -+ - F(4, 509) = 279.95 Model | 5.6641e+10 4 1.4160e+10 Prob > F = 0.0000 Residual | 2.5746e+10 509 50581607.4 R-squared = 0.6875 -+ - Adj R-squared = 0.6850 Total | 8.2387e+10 513 160599133 Root MSE = 7112.1
salary | Coef Std Err t P>|t| [95% Conf Interval] -+ - marketc | 38436.65 2160.963 17.79 0.000 34191.14 42682.15 |
male |
Men | -593.3088 1320.911 -0.45 0.654 -3188.418 2001.8 yearsdg | 763.1896 83.4169 9.15 0.000 599.3057 927.0734 |
male#c.yearsdg |
Men | 227.1532 91.99749 2.47 0.014 46.41164 407.8947 |
_cons | 36773.64 1072.395 34.29 0.000 34666.78 38880.51Chúng ta cũng có thể dùng hai dấu ## để vừa chỉ tương tác vừa chỉ hai biến đó trong mô hình.
Trang 27lincom 1.male + 1.male#c.yearsdg*10
( 1) 1.male + 10*1.male#c.yearsdg = 0
salary | Coef Std Err t P>|t| [95% Conf Interval] -+ - (1) | 1678.223 792.9094 2.12 0.035 120.4449 3236.001Tiên đoán mức lương của một người đàn ông có 10 năm kinh nghiệm bằng lệnh lincom.
Trang 28-HỒI QUY TUYẾN TÍNH VỚI BIẾN ĐỘC LẬP CÓ BIẾN ĐỊNH TÍNH TRÊN HAI GIÁ TRỊ (MÔ HÌNH
ANCOVA)
tabulate rank, generate(r)
rank | Freq Percent Cum
Trang 29regress salary associate full
Source | SS df MS Number of obs = 514 -+ - F(2, 511) = 262.54 Model | 4.1753e+10 2 2.0877e+10 Prob > F = 0.0000 Residual | 4.0634e+10 511 79518710.1 R-squared = 0.5068 -+ - Adj R-squared = 0.5049 Total | 8.2387e+10 513 160599133 Root MSE = 8917.3
salary | Coef Std Err t P>|t| [95% Conf Interval] -+ -
associate | 7285.121 1026.19 7.10 0.000 5269.049 9301.192 full | 21267.11 965.8886 22.02 0.000 19369.51 23164.71 _cons | 39865.86 745.7043 53.46 0.000 38400.84 41330.88Chạy mô hình với hai biến dummy là associate và full Mô hình này sẽ so sánh trung bình của 3 nhóm là assistant làm nền với associate và full.
Trang 30regress salary i.rank
Source | SS df MS Number of obs = 514
-+ - F(2, 511) = 262.54
Model | 4.1753e+10 2 2.0877e+10 Prob > F = 0.0000
Residual | 4.0634e+10 511 79518710.1 R-squared = 0.5068
2 sẽ so với nhóm 1 và trung bình nhóm 3 sẽ so với nhóm 1.
Trang 31regress salary marketc yearsdg i.male##i.rank
Source | SS df MS Number of obs = 514
-+ - F(7, 506) = 205.77
Model | 6.0969e+10 7 8.7099e+09 Prob > F = 0.0000
Residual | 2.1418e+10 506 42328437.6 R-squared = 0.7400
Trang 32areg csat percent, absorb(region)
Linear regression, absorbing indicators Number of obs = 50
mô hình quá lớn.
Trang 33xi: regress gpa drink i.year
i.year _Iyear_1-4 (naturally coded; _Iyear_1 omitted)
Source | SS df MS Number of obs = 218
Trang 34xi: regress gpa drink i.year*drink
i.year _Iyear_1-4 (naturally coded; _Iyear_1 omitted)i.year*drink _IyeaXdrink_# (coded as above)
note: drink omitted because of collinearity
Source | SS df MS Number of obs = 218 -+ - F(7, 210) = 3.75 Model | 5.08865901 7 726951288 Prob > F = 0.0007 Residual | 40.6630801 210 193633715 R-squared = 0.1112 -+ - Adj R-squared = 0.0816 Total | 45.7517391 217 210837507 Root MSE = .44004
gpa | Coef Std Err t P>|t| [95% Conf Interval] -+ - drink | -.0285369 .0140402 -2.03 0.043 -.0562146 -.0008591 _Iyear_2 | -.5839268 .314782 -1.86 0.065 -1.204464 .0366107 _Iyear_3 | -.2859424 .3044178 -0.94 0.349 -.8860487 .3141639 _Iyear_4 | -.2203783 .2939595 -0.75 0.454 -.799868 .3591114 drink | 0 (omitted)
-_IyeaXdrink_2 | .0199977 .0164436 1.22 0.225 -.0124179 .0524133_IyeaXdrink_3 | .0108977 .016348 0.67 0.506 -.0213297 043125_IyeaXdrink_4 | .0104239 .016369 0.64 0.525 -.0218446 .0426925 _cons | 3.432132 .2523984 13.60 0.000 2.934572 3.929691
Lệnh xi cũng trực tiếp tạo ra các biến dummy tương tác
i.year*drink sẽ tạo ra 3 dummy var cho biến year và 3 biến tương tác year*drink.