Tôi xin cam đoan rằng số liệu và kết quả nghiên cứu trong khóa luận nàylà trung thực và không trùng lặp với các đề tài khác.. Trên cở sở đó, cùng với mong muốn tìm hiểu sâu sắc hơn về mô
Trang 3Trước khi trình bày nội dung chính của khóa luận tốt nghiệp, em xinbày tỏ lòng biết ơn sâu sắc tới Tiến sĩ Hà Bình Minh đã tận tình hướngdẫn để em có thể hoàn thành đề tài này.
Em cũng xin bày tỏ lòng biết ơn chân thành tới toàn thể các thầy côgiáo trong khoa Toán, Trường Đại học Sư phạm Hà Nội 2 đã dạy bảo emtận tình trong suốt quá trình học tập tại khoa
Nhân dịp này em cũng xin được gửi lời cảm ơn chân thành tới gia đình,bạn bè đã luôn bên em, động viên, giúp đỡ em trong suốt quá trình họctập và thực hiện đề tài thực tập này
Hà Nội, ngày 27 tháng 04 năm 2016
Sinh viênTrần Huyền Trang
Trang 4Tôi xin cam đoan rằng số liệu và kết quả nghiên cứu trong khóa luận này
là trung thực và không trùng lặp với các đề tài khác Tôi cũng xin camđoan rằng mọi sự giúp đỡ cho việc thực hiện khóa luận này đã được cảm
ơn và các thông tin thu trích dẫn trong khóa luận đã được chỉ rõ nguồngốc
Hà Nội, ngày 27 tháng 04 năm 2016
Sinh viênTrần Huyền Trang
Trang 5Lời mở đầu iii
1.1 Khái niệm hồi quy 1
1.1.1 Phân tích hồi quy 1
1.1.2 Biến phụ thuộc và biến độc lập 1
1.2 Mô hình hồi quy hai biến tuyến tính 2
1.2.1 Dạng của mô hình 2
1.2.2 Phương pháp phân tích mô hình 2
2 Giới thiệu ngôn ngữ R 4 2.1 Tổng quan về R 4
2.1.1 Khái niệm về R 4
2.1.2 Làm quen với R 5
2.1.3 Cách đặt tên trong R 7
2.1.4 Hỗ trợ trong R 8
2.2 Lập trình với R 9
Trang 62.2.3 Phân tích hồi quy tuyến tính 11
3 Các mô hình hồi quy hai biến 14 3.1 Mô hình hồi quy qua gốc tọa độ (Regression Through -Origin model) 14
3.2 Mô hình logarit kép (Log - Log) 17
3.2.1 Giới thiệu mô hình log-log 17
3.2.2 Cách chuyển về mô hình hồi quy tuyến tính 17
3.2.3 Ví dụ 19
3.3 Mô hình Log - Lin (Log-Linear model) hay mô hình tăng trưởng 25
3.3.1 Giới thiệu mô hình log - lin 25
3.3.2 Cách chuyển về mô hình hồi quy tuyến tính 25
3.3.3 Ví dụ 27
3.4 Mô hình tuyến tính - Logarit (Lin - Log model) 30
3.4.1 Giới thiệu mô hình lin - log 30
3.4.2 Ví dụ 33
3.5 Mô hình nghịch đảo (Reciprocal Model) hay mô hình Hy-perbol 36
3.5.1 Giới thiệu mô hình nghịch đảo 36
3.5.2 Ví dụ 40
3.6 So sánh R2 giữa các mô hình 45
3.7 Bảng tổng kết các dạng mô hình hồi quy hai biến 47
Trang 7Lời mở đầu
1 Lý do chọn đề tài
Trong thực tiễn nghiên cứu một số vấn đề kinh tế, xã hội như GDP,
tỷ lệ lạm phát người ta đi xây dựng các mô hình hồi quy tuyến tính
để thể hiện mối quan hệ giữa các biến, từ đó phản ánh được bản chấthiện tượng Để khảo sát các hiện tượng kinh tế này, người ta đã viết cácphần mềm giúp xử lý số liệu đơn giản hơn
Năm 1996, hai nhà thống kê học Ross Ihaka và Robert Gentleman[lúc đó] thuộc Trường đại học Auckland, New Zealand phát hoạ mộtngôn ngữ mới cho phân tích thống kê mà họ đặt tên là R R là mộtphần mềm tiện ích, không chỉ đa năng, dễ sử dụng mà việc cài đặt cũngkhá đơn giản và đặc biệt là hoàn toàn miễn phí
Trên cở sở đó, cùng với mong muốn tìm hiểu sâu sắc hơn về mô hìnhhồi quy và ứng dụng của phần mềm R trong đó như thế nào, em đã chọn
đề tài "Các mô hình hồi quy hai biến: Thực hành bằng ngôn ngữR" làm đề tài khóa luận tốt nghiệp đại học của mình
2 Mục đích nghiên cứu
Nghiên cứu các mô hình hồi quy hai biến và thực hiện hồi quy tuyếntính bằng việc sử dụng ngôn ngữ R
3 Nhiệm vụ nghiên cứu
Tìm hiểu các mô hình hồi quy hai biến và thực hành chúng bằng phầnmềm R
Trang 8quy hai biến và sử dụng ngôn ngữ R trong phân tích số liệu và vẽ biểu
đồ
Ngoài ra, khóa luận còn giới thiệu một cách tổng quát nhất về phầnmềm chuyên dụng R
5 Phương pháp nghiên cứu
Sưu tầm, đọc và nghiên cứu tài liệu, phân tích, tổng hợp kiến thức.Trao đổi, thảo luận với người hướng dẫn khoa học qua đó tổng hợpkiến thức và trình bày theo đề cương nghiên cứu, thực hiện theo kế hoạch
để hoàn thành khóa luận
6 Cấu trúc khóa luận
Ngoài phần mở đầu, kết luận, tài liệu tham khảo, khóa luận tốt nghiệpbao gồm ba chương:
• Chương 1: Kiến thức chuẩn bị
Chương này sẽ đi trình bày một số khái niệm cơ bản như biến độc lập,biến phụ thuộc, mô hình hồi quy hai biến tuyến tính và cách thủ công
để phân tích mô hình này
• Chương 2: Giới thiệu ngôn ngữ R
Chương này sẽ giới thiệu cơ bản về phần mềm R gồm làm quen bướcđầu với R, cách nhập dữ liệu, vẽ biểu đồ và phân tích hồi quy tuyếntính
• Chương 3: Các mô hình hồi quy hai biến
Chương này sẽ đi nghiên cứu các mô hình hồi quy hai biến, cách chuyểnchúng về dạng mô hình hồi quy tuyến tính và từ đó nêu ra các ví dụminh họa tương ứng về sử dụng phần mềm R để phân tích các số liệu
Trang 9và vẽ biểu đồ trong mô hình hồi quy.
Do thời gian thực hiện không nhiều, kiến thức còn hạn chế nên khóaluận không tránh khỏi những sai sót Tác giả mong nhận được sự góp ý
và những ý kiến phản biện của quý thầy cô và bạn đọc Xin chân thànhcảm ơn!
Hà Nội, ngày 27/04/2016Tác giả khóa luận
Trần Huyền Trang
Trang 10Kiến thức chuẩn bị
1.1.1 Phân tích hồi quy
Phân tích hồi quy là tìm mối quan hệ phụ thuộc của biến phụ thuộcvào một hoặc nhiều biến khác (được gọi là biến độc lập), nhằm mục đíchước lượng hoặc tiên đoán giá trị kỳ vọng của biến phụ thuộc khi biếttrước giá trị của biến độc lập
1.1.2 Biến phụ thuộc và biến độc lập
Biến phụ thuộc được ký hiệu là Y và nhận các giá trị xác định, biếnđộc lập là những biến ngẫu nhiên, ký hiệu X2, X3,
Trong mối quan hệ giữa hai biến này, biến phụ thuộc chịu tác độngcủa biến độc lập, biến độc lập là biến gây ra ảnh hưởng cho biến phụthuộc
Chẳng hạn, ta xét mối quan hệ giữa kết quả học tập với thời gian rènluyện Khi thời gian rèn luyện tăng lên, kết quả học tập sẽ cao và ngược
Trang 11lại Qua đó có thể thấy rằng thời gian rèn luyện gây ảnh hưởng lên kếtquả học tập Vậy thời gian đóng vai trò là biến độc lập, kết quả là biếnphụ thuộc.
1.2.1 Dạng của mô hình
Mô hình hồi quy hai biến là mô hình đơn giản nhất, còn được gọi là
mô hình hồi quy đơn, có dạng:
Yi = β1 + β2Xi + Ui
Trong đó, biến Y là biến phụ thuộc hay biến được giải thích; biến X làbiến độc lập hay biến giải thích
1.2.2 Phương pháp phân tích mô hình
Trong phương trình trên β1 và β2 là hệ số hồi quy, Ui là một biến sốtheo luật phân phối chuẩn với trung bình 0 và phương sai σ2
Các thông số β1, β2 và σ2 phải được ước tính từ dữ liệu Phươngpháp để ước tính các thông số này là phương pháp bình phương nhỏnhất (least squares method)
Như tên gọi, phương pháp bình phương nhỏ nhất tìm giá trị β1, β2sao cho (
Trang 12chứng minh dễ dàng rằng, ước số cho β1, β2 đáp ứng điều kiện đó là:
Trang 13Giới thiệu ngôn ngữ R
2.1.1 Khái niệm về R
R là một phần mềm sử dụng cho phân tích thống kê và vẽ biểu đồ.Thật ra, về bản chất, R là ngôn ngữ máy tính đa năng, có thể sử dụngcho nhiều mục tiêu khác nhau:
• Tính toán đơn giản
• Toán học giải trí (recreational mathematics)
Trang 142.1.2 Làm quen với R
Trước tiên để khởi động R, bạn kích đúp (hoặc đơn) vào biểu tượngfile R, trên màn hình xuất hiện cửa sổ sau:
Cú pháp chung của R là như sau:
>đối tượng <- hàm(thông số 1, thông số 2, , thông số n)
thì setwd là một hàm, còn “c:/works/stats” là thông số của hàm
Để biết một hàm cần có những thông số nào, chúng ta dùng lệnh
Trang 15args(x), (args viết tắt chữ arguments) mà trong đó x là một hàm chúng
Trang 16Với R, tất cả các câu chữ hay lệnh sau kí hiệu # đều không có hiệuứng, vì # là kí hiệu dành cho người sử dụng thêm vào các ghi chú, vídụ:
> # lệnh sau đây sẽ mô phỏng 5 giá trị normal
> x <- rnorm(5)
2.1.3 Cách đặt tên trong R
Đặt tên một đối tượng (object) hay một biến số (variable) trong Rkhá linh hoạt, vì R không có nhiều giới hạn như các phần mềm khác.Tên một object phải được viết liền nhau (tức không được cách rời bằngmột khoảng trống) Chẳng hạn như R chấp nhận myobject nhưng khôngchấp nhận my object
> myobject <- rnorm(5)
> my object <- rnorm(5)
Error: syntax error in "my object"
Nhưng đôi khi tên myobject khó đọc, cho nên chúng ta nên tác rờibằng “.” Như my.object
Trang 17Một vài điều cần lưu ý khi đặt tên trong R là:
• Không nên đặt tên một biến số hay variable bằng kí hiệu"_"(underscore)như my_object hay my-object
• Không nên đặt tên một object giống như một biến số trong một dữliệu Ví dụ, nếu chúng ta có một data.frame (dữ liệu hay dataset) vớibiến số year trong đó, thì không nên có một object trùng tên year, tức
là không nên viết: year <- year Tuy nhiên, nếu data.frame tên là datathì chúng ta có thể đề cập đến biến số year với một kí tự $ như sau:data$year (Tức là biến số year trong data.frame data), và trong trườnghợp đó, year <- data$year có thể chấp nhận được
2.1.4 Hỗ trợ trong R
Ngoài lệnh args() R còn cung cấp lệnh help() để người sử dụng có thểhiểu “văn phạm” của từng hàm Chẳng hạn như muốn biết hàm lm cónhững thông số (arguments) nào, chúng ta chỉ đơn giản lệnh:
Trang 18∗ Nhập dữ liệu đầu vào trong R như sau:
> Nam <- c(1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
2005, 2006, 2007, 2008)
> DanSo <- c(1221.2, 1223.9, 1236.3, 1247.6, 1257.9, 1267.4, 1276.3,1284.5, 1292.3, 1299.9, 1307.6, 1314.5, 1321.3, 1328.0)
•Lệnh thứ nhất cho R biết rằng chúng ta muốn tạo ra một cột dữliệu (từ nay tôi sẽ gọi là biến số, tức variable) có tên là Nam, và lệnhthứ hai là tạo ra một cột khác có tên là DanSo
•Chúng ta dùng function c (viết tắt của chữ concatenation – có nghĩa
là “móc nối vào nhau”) để nhập dữ liệu Chú ý rằng mỗi số liệu đượccách nhau bằng một dấu phẩy
•Kí hiệu DanSo <- (cũng có thể viết là DanSo =) có nghĩa là các sốliệu theo sau sẽ có nằm trong biến số DanSo Chúng ta sẽ gặp kí hiệu
1 Nguồn: Tổng cục thống kê Việt Nam
Trang 19này rất nhiều lần trong khi sử dụng R.
•DanSo và Nam là hai đối tượng riêng lẻ Bây giờ chúng ta cần phảinhập hai đối tượng này thành một data.frame để R có thể xử lí sau này
→Để làm việc này chúng ta cần đến function data.frame:
> data <- data.frame(DanSo, Nam)
Ngoài cách nhập số liệu trực tiếp như ở ví dụ trên, R còn chophép chúng ta:
- Nhập số liệu từ một text file: read.table
Trang 20Biểu đồ mô tả sự gia tăng dân số của Trung Quốc giai đoạn 1995 - 2008
R còn giúp chúng ta vẽ biểu đồ cho một biến số rời rạc, biểu đồ cho haibiến số rời rạc, biểu đồ hình tròn
2.2.3 Phân tích hồi quy tuyến tính
Mô hình tuyến tính phát biểu rằng:
Yi = β1 + β2Xi + Ui
Hàm lm (viết tắt từ linear model) trong R có thể tính toán các giátrị của bβ1, bβ2, cũng như s2 một cách nhanh gọn Nhưng chúng ta phảiđưa các thông tin của hàm lm vào một object Gọi object đó là reg thì
Trang 21lệnh như sau Tiếp tục với ví dụ trên bằng R:
> reg <- lm(danso ∼ t)
> summary(reg)
Lệnh thứ hai, summary(reg), yêu cầu R liệt kê các thông tin tính toántrong reg Phần kết quả chia làm 3 phần:
(a) Phần 1 mô tả phần dư (residuals) của mô hình hồi qui
(b) Phần 2 trình bày ước số của β1 và β2 cùng với sai số chuẩn và giátrị của kiểm định t
(c) Phần 3 của kết quả cho chúng ta thông tin về phương sai của phần
dư (residual mean square) Trong kết quả này còn có kiểm định F, cũngchỉ là một kiểm định xem có quả thật β2 bằng 0, tức có ý nghĩa tương
tự như kiểm định t trong phần trên Nói chung, trong trường hợp phântích hồi qui tuyến tính đơn giản (với một yếu tố) chúng ta không cầnphải quan tâm đến kiểm định F
Ngoài ra, phần 3 còn cho chúng ta một thông tin quan trọng, đó làtrị số R2 hay hệ số xác định bội (coefficient of determination) Tức làbằng tổng bình phương giữa số ước tính và trung bình chia cho tổngbình phương số quan sát và trung bình Giá trị R2 càng cao là một dấuhiệu cho thấy mối liên hệ giữa hai biến số càng chặt chẽ
Một hệ số cũng cần đề cập ở đây là hệ số điều chỉnh xác định bội(mà trong kết quả trên R gọi là “Adjusted R-squared”) Đây là hệ số chochúng ta biết mức độ cải tiến của phương sai phần dư (residual variance)
do yếu tố độ tuổi có mặt trong mô hình tuyến tính Nói chung, hệ số
Trang 22cần chú tâm quá mức.
Trên đây là một số những vấn đề cơ bản của R và cách sử dụng Rtrong phân tích mô hình hồi quy hai biến tuyến tính Ngoài ra, R cònrất nhiều những ứng dụng khác, nhưng vì điều kiện thời gian không chophép, em xin phép sẽ được trình bày cụ thể hơn trong một đề tài khác
Trang 23Các mô hình hồi quy hai biến
Chúng ta sẽ xem xét các mô hình hồi quy hai biến và thực hành chúngbằng ngôn ngữ R
-Through - Origin model)
Dạng tổng quát của hàm hồi quy qua gốc tọa độ:
Yi = bβ2Xi + bUi (3.1)
Yi : Biến phụ thuộc
Xi : Biến độc lậpb
β2 : Hệ số hồi quyb
Ui : Thành phần nhiễu
Trang 24Bài toán: Biết các quan sát (Xi, Yi), ta phải tìm hệ số β2 sao chotổng bình phương của sai số nhỏ nhất.
U 2 i
n−1 = RSSn−1.+ Đối với mô hình hồi quy qua tốc độ, R2 = 1 - RSST SS có thể < 0 làm cho
R2 không có ý nghĩa, kiểm định F không thể thực hiện
Lý do: Với TSS =P(Yi − Y )2 ; ESS = P(Ybi− Y )2 ; RSS = P(Yi − bYi)2Đẳng thức: TSS = ESS + RSS có thể không được thỏa mãn; ESS,RSS có thể lớn hơn TSS
Trang 25lý thuyết kinh tế hoặc có trước kinh nghiệm tốt Thông thường ta nêndùng mô hình hồi quy đơn biến bình thường (hồi quy không qua gốc tọađộ), sau đó kiểm định β1, xét một trong hai trường hợp xảy ra:
* Nếu hệ số chặn ước lượng khác không, không có ý nghĩa thống kê, ta
có thể sử dụng mô hình hồi quy qua gốc tọa độ
* Nếu hệ số chặn có ý nghĩa thống kê, ta dùng mô hình bình thường.+ Nên nhớ, nếu mô hình đúng phải có hệ số tự do bβ1, trong khi ta lại
sử dụng mô hình hồi quy qua gốc tọa độ, nghĩa là đã phạm sai số đặctrưng Điều này có thể dẫn đến vi phạm các giả thiết mô hình hồi quytuyến tính cổ điển
Ví dụ: Giả sử đối với một hàm sản xuất công nghiệp, biến phụ thuộc
Y là sản lượng sản xuất, biến độc lập X là nguyên vật liệu Rõ ràng khikhông có nguyên vật liệu (X=0), tất yếu sẽ ngưng sản xuất Ta chọn
mô hình qua gốc tọa độ sẽ phù hợp hơn mô hình có tung độ góc Nếukhông, không có nguyên vật liệu mà vẫn có sản phẩm được làm ra (Y
= β1)
Trang 263.2 Mô hình logarit kép (Log - Log)
3.2.1 Giới thiệu mô hình log-log
Mô hình logarit kép phù hợp với dữ liệu ở nhiều lĩnh vực khác nhau Ví
dụ đường cầu với độ co dãn không đổi hoặc hàm sản xuất Cobb-Douglas
Mô hình đường cầu:
Yi = β1Xiβ2eUi (3.2)
3.2.2 Cách chuyển về mô hình hồi quy tuyến tính
Không thể ước lượng mô hình (3.2) theo phương pháp OLS vì nó phituyến tính đối với tham số (và cũng phi tuyến tính đối với biến số) Tuynhiên, nếu ta thực hiện biến đổi đại số bằng cách lấy logarit hai vế thìđược mô hình như sau:
ln(Yi) = ln(β1) + β2lnXi+ Ui (3.3)
Đặt β1∗ = ln(β1), phương trình trở thành:
ln(Yi) = β1∗ + β2lnXi + Ui → Đây là mô hình tuyến tính theo tham số
β1∗ và β2 nên có thể ước lượng các tham số theo OLS:
Đặt Y∗ = ln(Yi) ; Xi∗ = lnXi ta được mô hình:
Y∗ = β1∗ + β2X + Ui (3.4)
Trang 27Ta sẽ chứng minh đặc tính đáng lưu ý của mô hình này là độ co giãncầu theo giá không đổi Lấy vi phân hai vế của (3.4) ta có:
Y
X = β2
YX
X
Y = β2.Vậy độ co dãn của cầu theo giá không đổi (vì luôn = β2)
Hình 3.1: Chuyển dạng Log - log
Tổng quát, đối với mô hình logarit kép, hệ số ứng với ln của một biến
số độc lập là độ co giãn của biến phụ thuộc vào biến độc lập đó
Lưu ý: Ta quy ước tất cả các mô hình logarit ở chương này đều sử dụnglogarit nesespeer (logarit tự nhiên) thay vì logarit thập phân bởi vì sựdiễn dịch và phân tích kết quả sẽ thuận tiện hơn
Trang 283.2.3 Ví dụ
Quan sát mẫu số liệu chuỗi thời gian theo quý sau đây, trong đó:
* EXPSERVICES (Expenditure on services - Chi tiêu cho dịch vụ Đơnvị: tỷ USD)
* PCEXP (Total personal consumption expenditure - Tổng chi tiêu dùng
cá nhân Đơn vị: tỷ USD)1
1 Source: Economic Report of the President, 1999 USA.
Trích: Damoda N Gujarati, Basic econometrics, Fourth Edition, page 178
Trang 29Năm - quý EXPSERVICES PCEXP