1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Mô hình hồi quy nhiều biến thực hành bằng ngôn ngữ r

59 408 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 59
Dung lượng 0,96 MB

Nội dung

Sáng kiến này được rất nhiều nhàthống kê học trên thế giới tán thành và tham gia vào việc phát triển R.Qua chưa đầy 10 năm phát triển, càng ngày càng có nhiều nhà thống kêhọc, toán học,

Trang 2

Lời cám ơn 3

Lời cam đoan 4

Lời nói đầu 5

1 Giới thiệu ngôn ngữ R 7 1.1 Khái quát chung 7

1.1.1 Khái niệm R 8

1.1.2 Ưu điểm của R 8

1.2 Làm quen với R 9

1.2.1 Cài đặt và giao diện 9

1.2.2 Ngôn ngữ của R 9

1.2.3 Cách đặt tên trong R 12

1.2.4 Hỗ trợ trong R và môi trường vận hành 12

1.2.5 Nhập dữ liệu 13

1.2.6 Các lệnh hệ thống 20

2 Mô hình hồi quy nhiều biến 22 2.1 Mô hình hồi quy tuyến tính ba biến 22 2.1.1 Dạng hàm hồi quy và các giả định của mô hình 23

Trang 3

2.1.2 Ước lượng tham số hàm ba biến theo phương pháp

bình phương tối thiểu thông thường 23

2.1.3 Phương sai, sai số chuẩn 27

2.1.4 Hệ số xác định, hệ số xác định có hiệu chỉnh 30

2.1.5 Kiểm định sự phù hợp của mô hình 33

2.1.6 Ví dụ minh họa 34

2.2 Mô hình hồi quy k biến 40

2.2.1 Dạng ma trận và các giả định của mô hình 40

2.2.2 Ước lượng các tham số hồi quy 44

2.2.3 Hệ số xác định và hệ số xác định có hiệu chỉnh 46

2.2.4 Ma trận hệ số tương quan 47

2.2.5 Ma trận hiệp phương sai 48

2.2.6 Kiểm định sự phù hợp của mô hình 49

2.2.7 Dự báo 51

2.2.8 Ví dụ minh họa 52

Trang 4

Để hoàn thành khóa luận tốt nghiệp này, em xin bày tỏ lòng biết ơnchân thành tới các thầy giáo và cô giáo trong khoa Toán Học – TrườngĐại Học Sư Phạm Hà Nội 2, đã tận tình giúp đỡ chỉ bảo trong suốt thờigian em theo học tại khoa và trong thời gian làm khóa luận.

Đặc biệt em xin bày tỏ lòng biết ơn sâu sắc tới T.S Hà Bình Minh– Giảng viên Trường Đại học Bách Khoa Hà Nội, người trực tiếp hướngdẫn em, luôn tận tâm chỉ bảo và định hướng cho em trong suốt quá trìnhlàm khóa luận để em có được kết quả như ngày hôm nay

Cuối cùng em xin gửi lời cảm ơn đến gia đình, bạn bè, người thân

đã giúp đỡ động viên em rất nhiều trong quá trình học tập và làm khóaluận Tốt Nghiệp

Mặc dù đã có rất nhiều cố gắng, song thời gian và kinh nghiệm bảnthân còn nhiều hạn chế nên khóa luận không thể tránh khỏi những thiếusót rất mong được sự đóng góp ý kiến của các thầy cô giáo, các bạn sinhviên và bạn đọc

Em xin chân thành cảm ơn!

Hà Nội, ngày 02 tháng 05 năm 2016

Sinh viên

Vũ Thị Hoa

Trang 5

Khóa luận này là kết quả nghiên cứu của bản thân em dưới sự hướngdẫn tận tình của thầy giáo T.S Hà Bình Minh.

Trong khi nghiên cứu hoàn thành đề tài nghiên cứu này em đã thamkhảo một số tài liệu đã ghi trong phần tài liệu tham khảo

Em xin khẳng định kết quả của đề tài "Mô hình hồi quy nhiềubiến: thực hành bằng ngôn ngữ R" là kết quả của việc nghiên cứu,học tập và nỗ lực của bản thân, không có sự trùng lặp với kết quả củacác đề tài khác Nếu sai em xin chịu hoàn toàn trách nhiệm

Hà Nội,ngày 02 tháng 05 năm 2016

Sinh viên

Vũ Thị Hoa

Trang 6

1 Lí do chọn đề tài

Toán ứng dụng là bộ môn rất quan trọng và có nhiều ứng dụng trongthực tế, giúp con người rút ra thông tin từ dữ liệu quan sát nhằm giảiquyết các vấn đề trong cuộc sống

Trong thực tế thì một hiện tượng đơn giản thường chịu chi phối bởicác biến phụ thuộc và các biến độc lập Để thể hiện mối quan hệ giữacác biến đó thì người ta sử dụng mô hình hồi quy nhiều biến

2 Mục đích nghiên cứu

Nghiên cứu mô hình hồi quy nhiều biến: thực hành bằng ngôn ngữ R

3 Phương pháp nghiên cứu

Sử dụng R hỗ trợ, thực hành với các ví dụ, so sánh với các phương pháp

cổ điển

4 Phạm vi nghiên cứu

Do thời gian không nhiều nên bài báo cáo chỉ tìm hiểu được một số vấn

đề của mô hình hồi quy nhiều biến

5 Bố cục đề tài

Đề tài bao gồm hai chương:

• Chương 1: Giới thiệu ngôn ngữ R

Trang 7

Chương 1 giới thiệu phần mềm tính toán và lập trình, cách sử dụngR.

• Chương 2: Mô hình hồi quy nhiều biến

Chương 2 trình bày một số kiến thức về mô hình hồi quy nhiều biến

và ví dụ thực hành mô hình bằng ngôn ngữ R

Tuy đã có nhiều cố gắng nhưng do thời gian và khả năng có hạn nên cácvấn đề trong luận văn vẫn chưa được trình bày sâu sắc và không thể tránhkhỏi có những sai sót trong cách trình bày Tác giả mong nhận được sựgóp ý xây dựng của thầy cô và các bạn Tác giả xin chân thành cảm ơn!

Hà Nội, ngày 02 tháng 05 năm 2016

Vũ Thị Hoa

Trang 8

Giới thiệu ngôn ngữ R

1.1 Khái quát chung

Năm 1996, trong một bài báo quan trọng về tính toán thống kê, hainhà 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ột ngôn ngữ mới cho phântích thống kê mà họ đặt tên là R [1] Sáng kiến này được rất nhiều nhàthống kê học trên thế giới tán thành và tham gia vào việc phát triển R.Qua chưa đầy 10 năm phát triển, càng ngày càng có nhiều nhà thống kêhọc, toán học, nghiên cứu trong mọi lĩnh vực đã chuyển sang sử dụng R

để phân tích dữ liệu khoa học Trên toàn cầu, đã có một mạng lưới hơnmột triệu người sử dụng R, và con số này đang tăng rất nhanh

Trang 9

1.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 đồ R

là ngôn ngữ máy tính đa năng, có thể sử dụng cho nhiều mục tiêu khácnhau, từ tính toán đơn giản, toán học giải trí (recreational mathematics),tính toán ma trận (matrix), đến các phân tích thống kê phức tạp Vì làmột ngôn ngữ cho nên người ta có thể sử dụng R để phát triển thànhcác phần mềm chuyên môn cho một vấn đề tính toán cá biệt để phục vụcho nhiều mục đích khác nhau của người sử dụng

R cung cấp cho chúng ta một ngôn ngữ máy tính và một số hàm đểlàm các phân tích căn bản và đơn giản

1.1.2 Ưu điểm của R

• R có chứa nhiều loại kỹ thuật thống kê: mô hình hóa tuyến tính

và phi tuyến tính, kiểm thử thông kê cổ điểm, phân tích chuỗi thờigian, phân tích mô hình hôi quy, phân loại, phân nhóm, và đồhọa R

• R cũng có tính mở rộng cao bằng cách sử dụng các gói cho ngườidùng đưa lên cho một số chức năng trong lĩnh vực nghiên cứu cụthể

• Một điểm mạnh khác của R là nền tảng đồ họa có thể tạo ra những

đồ thị chất lượng cao cùng các biểu tượng toán học

Trang 10

• Ngôn ngữ R có nhiều ưu điểm hơn so với các ngôn ngữ lập trìnhbậc cao như C, C++, Java

• R có khả năng điều khiển dữ liệu và lưu trữ số liệu

• R cho phép sử dụng ma trận đại số

• Khả năng biểu diễn đồ thị phong phú

1.2 Làm quen với R

1.2.1 Cài đặt và giao diện

Để sử dụng R thì việc đầu tiên là phải cài đặt phần mềm R trongmáy tính của mình Sau khi hoàn tất việc cài đặt thì có một icon

sẽ xuất hiện trên desktop của máy tính Đến đây ta có thể sử dụng

R Nhấp chuột vào icon này chúng ta sẽ được một cửa sổ như sau:

1.2.2 Ngôn ngữ của R

R là một ngôn ngữ đối tượng nghĩa là các dữ liệu của R được chứatrong object R cũng là một ngôn ngữ tương tác, có nghĩa là khi chúng

ta ra lệnh và lệnh đúng theo văn phạm thì R sẽ đáp trả bằng một kết

Trang 11

sqrt căn bậc hai của a sqrt(a)

^hoặc ** luỹ thừa a^b a^b

Trang 12

Ngoài ra còn có một số kí hiệu thường dùng trong R là:

Trang 13

1.2.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ênmột đối tượng phải được viết liền nhau tức là không cách bởi khoảngtrống Chẳng hạn R chấp nhận batdauR nhưng không chấp nhận batdauR Nhưng đôi khi batdauR khó đọc thì người ta có thể tách rời bằngdấu ".", chẳng hạn như bat.dauR Ngoài ra thì trong R cũng phân biệtmẫu kí tự viết hoa và viết thường Ví dụ:

Trong R ngoài lệnh dùng để tính toán thì R còn cung cấp lệnh help()

để người sử dụng có thể hiểu thêm về văn phạm của từng hàm Chẳnghạn như ta muốn biết làm lm có những thông số nào thì chúng ta chỉcần nhập lệnh:

> help(lm)

hay

> ?lm

Trang 14

Khi đó một cửa sổ sẽ hiện ra bên phải của màn hình chỉ rõ cách sử dụng

ra sao, thậm chí có cả ví dụ để ta thực hành ngay trên R để biết cáchvận hành của nó

b, Môi trường vận hành

Dữ liệu phải được chứa trong một khu vực của máy tính Trước khi sửdụng R thì để thuận tiện cho việc làm việc với dữ liệu thì cách hay nhất làtạo ra một khu vực mới để chứ dữ liệu, chẳng hạn như c:\work\batdauR

Để R biết dữ liệu nằm ở đâu, chúng ta sử dụng lệnh sewt (set workingdierectory) như sau:

> setwd("c:/work/batdauR")

Để biết R đang làm việc ở thư mục nào thì chúng ta sử dụng lệnh:

> getwd()

1.2.5 Nhập dữ liệu

Muốn phân tích dữ liệu bằng R thì chúng ta phải có sẵn dữ liệu mà

R có thể hiểu được để xử lí Dữ liệu mà R hiểu được phải à dữ liệu trongmột data.frame(một văn phạm được đặt tên) trong R, từ nhập trực tiếpđến nhập từ các nguồn khác nhau Ta có 5 cách thông dụng nhất:

a, Nhập dữ liệu trực tiếp: c( )

Ví dụ 1: Chúng ta có số liệu về khối lượng chất xúc tác và thời gianphản ứng khi ta tiến hành 10 thí nghiệm hoá học như sau, và muốn nhập

Trang 15

< vi.du1 <- data.frame(weigh, time)

Trong lệnh này chúng ta muốn cho R biết rằng hai cột (đối tượng)weigh và time vào một đối tượng có tên là vi.du1

Để kiểm tra xem trong vi.du1 có gì thì đơn giản ta dùng lệnh:

< vi.du1

Trang 16

> save (vi.du1, file="vi.du1.rda")

b, Nhập dữ liệu trực tiếp: edit (data.frame () )

Cũng với ví dụ 1 như ở phần a thì ta nhập số liệu đó trực tiếp vàobảng thông qua lệnh sau:

> vi.du1 <- edit(data.frame())

Trang 17

Chúng ta sẽ có một cửa sổ như sau:

Nhấp chuột vào cột var1 và thay đổi bằng cách gõ vào đó weigh.Tương tự cho var2 ta cũng thay bằng time Như vậy là ta đã có mộtdata.frame với tên vi.du1 với hai biến số là weigh và time

c, Nhập dữ liệu từ một text file: read.table

Ví dụ 2: Chúng ta thu thập số liệu về gãy xương Các số liệu nàyđược lưu trong một file có tên là fracture.txt tại danh mục c: \ work Số liệu này như sau: cột 1 là mã số của bệnh nhân, cột 2 là giới tính,cột 3 là tuổi, cột 4 là cân nặng, cột 5 là chiều cao

Để nhập các dữ liệu này vào R để tiện cho việc phân tích thì chúng

ta sử dụng lệnh read.table như sau:

> setwd("c: / work")

> gay.xuong <- read.table("fracture.txt", header=TRUE)

Lệnh thứ nhất chúng ta cho phép R truy nhập đúng danh mục đang

Trang 18

được lưu trữ Lệnh thứ 2 yêu cầu R nhập số liệu từ một file có tên là

"fracture.txt" Trong lệnh này header=TRUE có nghĩa là yêu cầu R đọcdòng đầu tiên trong file đó như là tên của từng cột dữ kiện

Để kiểm tra xem R đã đọc được hết dữ liệu hay chưa thì ta dùng lệnh:

d, Nhập dữ liệu từ một Excel: read.csv

Nhập dữ liệu từ phần mềm Excel thì chúng ta cần tiến hành theo 2bước:

• Bước 1: Dùng lệnh "Save as" trong Excel lưu số liệu dưới dạng

"csv";

• Bước 2: Dùng lệnh read.csv để nhập dữ liệu dạng csv

Trang 19

Ví dụ 3: Ta có một dữ liệu bao gồm các cột sau đây đang được lưutrong Excel,

Việc đầu tiên chúng ta cần làm là lưu dữ liệu dưới dạng csv bằngcách:

• Vào Excel, chọn File → Save as

• Chọn Save as type"CSV (Comma delimited)"

Việc thứ 2 là vào R và ra lệnh:

> setwd("c: / work")

> vidu3 <- read.csv ("excel.csv", header=TRUE)

Trong đó: Lệnh thứ nhất ta muốn đảm bảo R truy nhập đúng danhmục mà số liệu đang được lưu trữ Lệnh thứ 2 yêu cầu R đọc số liệu từ

"excel.csv" và lưu dữ liệu này trong một đối tượng có tên là "vidu3" Để

Trang 20

lưu vidu3 dưới dạng R thì ta dùng lệnh:

> save(vidu3, file-"vidu3.rda")

e, Nhập dữ liệu từ một SPSS: read.spss

Phần mềm thống kê SPSS lưu dữ liệu dưới dạng "sav" Chẳng hạnnếu chúng ta có một dữ liệu có tên vidu4.sav trong danh mục c: \work

và muốn chuyển dữ liệu này sang dạng R ta làm như sau:

• Truy cập foreign bằng lệnh library:

Trang 21

• Lưu testo dưới dạng R để xử lí bằng lệnh:

> save(testo, file-"testo.rda")

1.2.6 Các lệnh hệ thống

Lệnh về môi trường vận hành của R

getwd() Cho biết thư mục hiện hành là gì

options(prompt="R>") Đổi promt thành R

options(width=100) Đổi chiều rộng cửa sổ thành 100 characteroptions(scipen=3) Đổi thành 3 số thập phân

options() Cho biết các thông số về môi trường của R

Lệnh cơ bản

ls() Liệt kê các đối tượng trong bộ nhớ

rm(đối tượng) Xóa đối tượng

seach() Tìm hướng

Các hàm thống kê và đồ thị

Các hàm số thống kê:

min(x) Số nhỏ nhất của biến số x

max(x) Số lớn nhất của biến số x

which min(x) Tìm dòng có giá trị nhỏ nhất của biến số x

which max(x) Tìm dòng có giá trị lớn nhất của biến số x

sum(x) Tồng của biến số x

range(x) Khác biệt giữa max(x) và min(x)

Trang 22

mean(x) Số trung bình của biến số x

median(x) Số trung vị của biến số x

sd(x) Độ lệch chuẩn của biến số x

var(x) Phương sai của biến số x

Để phân tích hồi quy tuyến tính thì ta dùng hàm lm(y ~ x).Một số hàm vẽ đồ thị

plot(y ~ x) Vẽ đồ thị y và x

plot(y ~ x|z) Vẽ đồ thị x và y theo từng nhóm của zabline(lm.object) Vẽ đồ thị theo mô hình tuyến tính

Trang 23

MÔ HÌNH HỒI QUY NHIỀU

BIẾN

2.1 Mô hình hồi quy tuyến tính ba biến

* Khái niệm về 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

- Biến phụ thuộc là những biến ngẫu nhiên và biến độc lập nhậnnhững giá trị xác định Biến phụ thuộc được kí hiệu là Y, biến độc lập

là X2, X3, X4, Trong mối quan hệ giữa hai biến này, biến phụ thuộcchịu tác động của biến độc lập, biến độc lập gây ảnh hưởng lên biến phụthuộc

Trang 24

- Tham số hồi quy là những hằng số được kí hiệu là β1, β2, β3 cóthể chưa biết và là đối tượng cần đi tìm Tham số hồi quy là đại lượng

mô tả mối quan hệ giữa các biến

* Mô hình hồi quy hai biến tuyến tí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à hồi quy đơn Trong đó chỉ gồm một biến phụ thuộc (Y) và một biếnđộc lập (X)

- Dạng phương trình hồi quy

β1, β2 là các tham số hồi quy

Mô hình hồi quy ba biến là dạng đơn giản nhất của mô hình hồi quybội, trong đó có một biến phụ thuộc và hai biến độc lập

2.1.1 Dạng phương trình và các giả định của mô hình

(1) Dạng phương trình hồi quy

Yi = β1 + β2X2i+ β3X3i+ Ui

Trang 25

(2) Các giả định của mô hình

1 E(X2i) = 0 = V ar(X2i); E(X3i) = 0 = V ar(X3i)

2 Giá trị trung bình của Ui = 0

Trang 26

7 Không có đa cộng tuyến hoàn hảo giữa các biến X2 và X3 trong môhình, tức là không tồn tại bộ số thực λ1, λ2, λ3 sao cho:

λ1 + λ2X2i+ λ3X3i = 0∀i

8 Số quan sát n phải lớn hơn số các tham số cần ước lượng

9 Biến độc lập Xi phải biến thiên từ quan sát này qua quan sát kháchay V ar(Xi) > 0

10 Dạng hàm của mô hình được xác định một cách đúng đắn

2.1.2 Ước lượng tham số hồi quy

Với mô hình hồi quy tuyến tính ba biến:

E(Y /X2i, X3i) = β1 + β2X2i+ β3X3i.Giả sử ta quan sát thứ i có 3 giá trị tương ướng: Y, X2, X3 Trongthực tế thì ta không biết được β1; β2; β3 Vì vậy chúng ta phải dùng dữliệu để ước lượng các tham số đó

Khảo sát mô hình thì chúng ta phải tiến hành các thí nghiệm, cácphép đo hay quan sát để có được các bộ số liệu (Xi, Yi) Với số liệu thuthập được từ việc khảo sát một mẫu, ta xây dựng biểu đồ phân tán Mỗiđiểm thể hiện tọa độ của một quan sát và tập hợp các điểm qua sát tọathành "đám mây tọa độ" Trong số các điểm này, một số điểm nằm trênđường hồi quy, một số khác thì nằm ngoài Những điểm nằm ngoài sẽtạo ra một khoảng cách khi chiếu thẳng đứng với đường hồi quy Khoảng

Trang 27

cách này được gọi là phân dư hay chính là chênh lệch giữa giá trị quansát với giá giá trị lý thuyết.

ˆ

βm là ước lượng không chệch của βm : E( ˆβm) = E(βm) , hơn nữaphải là một ước lượng hiệu quả Với một số giả định chặt chẽ như ở mục(2.1.1) ở trên thì phương pháp tổng bình phương bé nhất cho ước lượnghiệu quả cho βm

Hàm hồi quy mẫu có dạng:

ˆ

Yi = ˆβ1 + ˆβ2X2i+ ˆβ3X3i.Trong đó ˆβj là ước lượng điểm của βj với j = 1, 2, 3

Yi = ˆβ1 + ˆβ2X2i+ ˆβ3X3i+ ˆUiVới ˆUi là hiệu số của giá trị quan sát được với giá trị lý thuyết (phầndư)

ˆ

Ui = Yi − ˆYi = Yi− ˆβ1 − ˆβ2X2i− ˆβ3X3iKhi đó bài toán ước tính tham số hồi quy sẽ trở thành bài toán tìmgiá trị nhỏ nhất của tổng các phần dư

Bài toán: Tìm giá trị của ˆβ1, ˆβ2, ˆβ3 sao cho

Trang 28

Qua hữu hạn các bước tính toán, ta có các công thức tính các giá trịước lượng của tham số hồi quy trong hàm ba biến như sau:

ˆ

β1 = ¯Y − ˆβ2X¯2 − ˆβ3X¯3

ˆ

β2 =(

2.1.3 Phương sai, sai số chuẩn

(1) Phương sai, sai số chuẩn

- Phương sai của biến ngẫu nhiên X là một số không âm, kí hiệu là

DX hoặc var(X) Phương sai của biến ngẫu nhiên dùng để đo mức độphân tán của các giá trị của biến ngẫu nhiên X xung quanh kỳ vọng củanó

Ngày đăng: 04/04/2017, 16:05

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w