Tải bản đầy đủ (.pdf) (41 trang)

ĐỒ án môn học CHUYÊN đề PHÂN TÍCH dữ LIỆU với r

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.55 MB, 41 trang )

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ
TRUYỀN THÔNG VIỆT - HÀN

ĐỒ ÁN MÔN HỌC
CHUYÊN ĐỀ PHÂN TÍCH DỮ LIỆU VỚI R

Sinh viên thực hiện

:

HỒ HÀ GIANG

Giảng viên hướng dẫn

:

TS. NGUYỄN THANH

Lớp

:

17IT2

Đà nẵng, tháng 12 năm 2020

Tieu luan



ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN
THÔNG VIỆT - HÀN

ĐỒ ÁN MÔN HỌC
CHUYÊN ĐỀ PHÂN TÍCH DỮ LIỆU VỚI R

Đà Nẵng, tháng 12 năm 2020

Tieu luan


MỞ ĐẦU
Hơn một thập kỷ qua có rất nhiều cơng trình nghiên cứu về phân tích dữ
liệu. Trong đó phân tích dữ liệu bằng ngơn ngữ đang được rất nhiều người lựa
chọn, bới những tính năng ưu việt của nó.Mục tiêu của đồ án mơn học là thực
hiện chương trình phân tích nhiều loại dữ liệu bằng ngơn ngữ R . Do tài liệu tham
khảo hạn chế, trình độ có hạn và kinh nghiệm trong thực tiễn còn non kém, nên
đề tài khơng tránh khỏi những thiếu sót. Rất mong được nhận những ý kiến đóng
góp, giúp đỡ chân tình, quý báu của thầy.
Sinh viên thực hiện
Hồ Hà Giang

1

Tieu luan


NHẬN XÉT

(Của giáo viên hướng dẫn)

……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………

……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………

2

Tieu luan


MỤC LỤC
MỞ ĐẦU

1

MỤC LỤC HÌNH ẢNH

5

CHƯƠNG 1. GIỚI THIỆU NGƠN NGỮ R

7

1.1. Tổng Quan về ngôn ngữ R

7

1.2. Các lệnh và hàm trong R

8


1.3. Các dạng biểu đồ trong R

12

1.3.1. Phương pháp scatterplot 2 chiều trong R

12

1.3.2. Phương pháp hiển thị khác trong R

14

1.3.3. Hồi quy tuyến tính

15

CHƯƠNG 2. PHÂN TÍCH DỮ LIỆU

19

2.1. Tổng quan

19

2.2. Các phương pháp phân tích dữ liệu

19

2.2.1. Phân tích thống kê, mơ tả (Descriptive analytics)


19

2.2.2. Phân tích hồi quy tuyến tính (Regression analysis)

20

2.2.3. Phân tích phương sai (Variance analysis)

21

2.2.4. Phân tích hậu cần (Logistic analysis)

21

2.2.5. Phân tích văn bản (Text analysis)

21

2.3. Các mơ hình phân tích

22

2.3.1. Mơ hình hồi quy tuyến tính đơn giản

22

2.3.2 Mơ hình hồi quy tuyến tính đa biến

23


2.3.3 Mơ hình hồi quy Logistic

24

CHƯƠNG 3. PHÂN TÍCH DỮ LIỆU

25

3.1. Mơ tả dữ liệu

25

3.2. Làm sạch dữ liệu (Tiền xử lý dữ liệu)

26

3.3. Phân tích thống kê

26

3.3.1. Phân tích thống kê mơ tả (descriptive statistics summary)

27

3.3.2. Thống kê mơ tả theo từng nhóm

28

3.3.3 Phân tích hồi quy tuyến tính


29

3.3.4. Phân tích phương sai

30

3.4. Trích xuất dữ liệu

31

3.5. Biến đổi dữ liệu (tạo biến mới theo công thức phù hợp)

33

3

Tieu luan


3.5.1. Tách rời dữ liệu

33

3.5.2. Chiết số liệu từ data.fram

33

3.6. Các loại biểu đồ

34


3.7. Xây dựng các mơ hình

37

TÀI LIỆU THAM KHẢO

40

MỤC LỤC HÌNH ẢNH
4

Tieu luan


Hình 1. 1. Mơi trường lập trình ngơn ngữ R..........................................................7
Hình 1. 2. Đồ thị hộp và tổ chức đồ của thuộc tính Petal Length dữ liệu iris......11
Hình 1. 3. Ma trận scatterplot 2 chiều của dữ liệu iris.........................................12
Hình 1. 4. Hiển thị dữ liệu iris với 4 phương pháp hiển thị.................................14
Hình 1. 5. Đồ thị về chiều cao trung bình của trẻ theo tháng tuổi.......................16
Hình 1. 6. Đồ thị của phương trình hồi quy về chiều cao trung bình của trẻ theo
tháng tuổi.............................................................................................................17
Hình 2. 1. Phân bố tần số được biểu diễn dưới dạng bảng và đồ thị...................19
Hình 2. 2. Hệ số biến thiên..................................................................................20
Hình 2. 3. Bảng cân nặng của 6 trẻ từ 1-6 tuổi....................................................21
Hình 2. 4. Biểu đồ mơ hình hồi quy tuyến tính của cân nặng 6 trẻ......................22
Hình 2. 5. Phương trình tuyến tính đa biến..........................................................23
YY
Hình 3. 1. Tên của biến số trong dữ liệu.............................................................25
Hình 3. 2. Dữ liệu sau khi được tóm tắt...............................................................27

Hình 3. 3. Dữ liệu được thống kê lại...................................................................27
Hình 3. 4. Chỉ số PAY_AMT được phân tích bằng biểu đồ................................28
Hình 3. 5, Dữ liệu được thống kê theo nhóm giới tính........................................29
Hình 3. 6. Kết quả được biểu diễn bằng biểu đồ tán xạ.......................................29
Hình 3. 7. Kết quả được biểu diễn bằng biểu đồ BoxPlot....................................30
Hình 3. 8. Biểu đồ histogram của biến EDUCATION........................................31
Hình 3. 9. Kết quả sau khi kiểm tra.....................................................................31
Hình 3. 10. Kết quả sau khi trích xuất.................................................................32
Hình 3. 11. Kết quả trích xuất cột 1 và 3 từ hàng 1 đến 20.................................32
Hình 3. 12. Dữ liệu được xuất theo chiều ngang.................................................33
Hình 3. 13. Kết quả sau khi tách giới tính trong dữ liệu......................................33
Hình 3. 14. Số liệu của 3 biến được tách ra từ data.............................................34
Hình 3. 15. Chọn 10 dịng số liệu đầu tiên..........................................................34
Hình 3. 16. Biểu đồ vẽ được với các biến số SEX, AGE, MARRIAGE,
BILL_AMT, PAY_2............................................................................................35
Hình 3. 17. Biểu đồ histogram với biến EDUCATION.......................................35
Hình 3. 18. Biểu đồ Barplot................................................................................36
Hình 3. 19. Biểu đồ thanh với biến AGE và EDUCATION................................36
Hình 3. 20. Biểu đồ đường..................................................................................37
5

Tieu luan


Hình 3. 21. Kết quả 30000 biến...........................................................................37
Hình 3. 22. Kết quả của 2 mẫu Train và Test......................................................38
Hình 3. 23. Các yếu tố ảnh hưởng đến dự đốn...................................................38
Hình 3. 24. Xây dựng bộ mẫu xây dựng..............................................................38
Hình 3. 25. Kết quả và các giá trị của Dự Báo Kiểm Định..................................38


6

Tieu luan


CHƯƠNG 1. GIỚI THIỆU NGÔN NGỮ R
1.1. Tổng Quan về ngơn ngữ R
R là một ngơn ngữ lập trình hàm cấp cao vừa là một mơi trường dành cho
tính tốn thống kê. R hỗ trợ rất nhiều công cụ cho phân tích dữ liệu, khám phá
tri thức và khai mỏ dữ liệu nhưng lại là phần mềm miễn phí mã nguồn mở. Hơn
nữa R rất dễ học và có thể phát triển nhanh các ứng dụng tính tốn xác suất thống
kê, phân tích dữ liệu
R là một cơng cụ rất mạnh cho học máy, thống kê và phân tích dữ liệu. Nó
là một ngơn ngữ lập trình. Ngơn ngữ R là một platform-independent do đó chúng
ta có thể sử dụng nó cho bất kỳ hệ điều hành nào. Việc cài đặt R cũng miễn phì vì
thế chúng ta có thể sử dụng mà không cần phải mua bản quyền.
Ngôn ngữ R là mã nguồn mở nên ai trong chúng ta cũng có thể phân tích source
code để hiểu được chính xác cách R vận hành. Bất kỳ ai cũng có thể thêm tính
năng và fix bug mà khơng cần chờ nhà phát hành ra bản vá. Đồng thời, R có thể
tích hợp được với ngơn ngữ khác (C,C++). Nó cũng cho phép chúng ta tương tác
với nhiều nguồn dữ liệu và các gói thống kê (SAS, SPSS). R có một cộng đồng
phát triển mạnh mẽ.
R là một ngôn ngữ lập trình mà nhiều nhà phân tích dữ liệu, nhà khoa học
dữ liệu, nhà thống kê sử dụng cho mục đích phân tích dữ liệu và thực hiện phân
thích thống kê bằng biểu đồ và các công cụ trực quan khác. Qua việc sử dụng R,
người ta có thể phân tích các bộ dữ liệu lớn(big data). R đang nổi lên như là một
ngôn ngữ mang nhiều tiềm năng và ngày càng mở rộng với hàng ngàn gói
(packages) cung cấp cho nhiều ứng dụng.

1.2. Các lệnh và hàm trong R


Hình 1. . Mơi trường lập trình ngơn ngữ R

7

Tieu luan


Trước hết, chúng ta có thể tải về một phiên bản của R và các gói thư viện
từ địa chỉ của trang web . Tiến hành cài đặt, và gọi thực
thi mơi trường R như hình 1.1. Để thêm các gói thư viện vào mơi trường lập
trình R, chúng ta sử dụng các chức năng được cung cấp từ menu Packages.
R là ngơn ngữ lập trình hàm cấp cao. Tất cả các cơng việc được làm thơng
qua hàm. Ta có thể truyền các thông số cho hàm. Giá trị trả về của hàm có thể
được lưu vào một đối tượng biến nhờ vào phép gán = hoặc <-,.
Ví dụ như ta ghi giá trị trung bình của vectơ x vào biến mx, sử dụng lệnh: mx =
mean(x) hoặc mx <- mean(x).
Giá trị trả về của hàm được lưu vào biến mặc định tên .Last.value, lệnh
print() hay cat() dùng để hiển thị đối tượng.
R cung cấp trợ giúp trực tuyến thông qua hàm help() hay ?tên_hàm.
Lệnh help.start() cũng cung cấp trợ giúp với giao diện Web.
R hỗ trợ nhiều kiểu dữ liệu như: luận lý (true, false), số nguyên, số thực,
số phức, ký tự, chuỗi ký tự, vectơ, danh sách, ma trận, khung dữ liệu (data
frame) và các phép toán như: +, -, *, /, %% (chia lấy phần dư), %/% (chia lấy
phần nguyên), ! (nghịch đảo), ^ (luỹ thừa), %*% (nhân ma trận), <, >, ==, >=,
<=, & (và), &&, | (hoặc), ||, <- (gán), ->.
Một đối tượng khi tạo ra sẽ được lưu trong bộ nhớ cho đến khi ta thốt
khỏi mơi trường R bằng hàm q(), lúc này đối tượng có thể được lưu lại cho lần
làm việc sau hoặc biến mất đi trong trường hợp người sử dụng khơng cần đến.
Nhóm các hàm được bắt đầu bởi { và kết thúc bởi }.

Hàm library() sẽ liệt kê tất cả các thư viện sẵn dùng trong môi trường R,
nếu muốn sử dụng thư việc nào chỉ cần gọi hàm library(tên_thư_viện), ngoài
ra library(help=tên_thư_viện) sẽ liệt kê các hàm sẵn có trong thư viện.
Để bắt đầu làm việc với R, từ dấu nhắc hệ thống ta gõ R chương trình sẽ
vào môi trường làm việc ở chế độ gõ giao tiếp với dấu nhắc >. Nếu muốn nạp
tập tin chương trình, ta có thể dùng hàm source(“tập_tin_chương_trình”).
Hàm q() dùng để thốt khỏi mơi trường R.
Hàm c() có thể được dùng để tạo ra vectơ và gán trực tiếp đến đối tượng
trong R, chẳng hạn như lệnh cho phép tạo vectơ x chứa 5 phần tử như sau:
x <- c(12, 54, 13, 10, 5)
Hàm seq() cho phép tạo ra dãy số trong R, ví dụ như lệnh sau cho phép
8

Tieu luan


tạo dãy số từ 6 đến 20 với khoảng cách là 0.5:
x <- seq(6, 20, by = 0.5)
Hàm rep() cho phép tạo ra véctơ trong R bằng cách lặp lại giá trị của
phần tử, ví dụ như lệnh sau cho phép tạo dãy 10 số 1:
x <- rep(1, 10)
Các phép tốn có thể được áp dụng trực tiếp lên kiểu véctơ. Ví dụ sau cho
phép tính tổng bình phương của dãy số 1, 2, 3, 4, 5:
x <- c(1, 2, 3, 4, 5)
sq <- sum(x^2)
Nếu muốn đọc dữ liệu vectơ từ tập tin, ta có thể sử dụng hàm scan, ví dụ
lệnh đọc dữ liệu từ tập tin data_file (giá trị các phần tử cách nhau bởi khoảng
trắng) vào biến x như sau:
x <- scan(“data_file”)
Hàm scan() không tham số cho phép nhập dữ liệu từ bàn phím kết thúc

bằng dịng trống. Ngồi ra, hàm matrix cịn cho phép chuyển dữ liệu vectơ
thành ma trận, ví dụ lệnh đọc dữ liệu từ tập tin mat_file (ma trận có 5 cột và giá
trị các phần tử được lưu theo dòng) vào biến mat như sau:
mat <- matrix(scan("mat_file"), ncol = 5, byrow = T)
Để đọc một khung dữ liệu từ tập tin, ta có thể sử dụng hàm read.table().
R cũng hỗ trợ các hàm cho phép ghi lại các biến vào tập tin dữ liệu như save(),
write(), write.table().
Việc truy cập nội dung các phần tử của vectơ, ma trận, khung dữ liệu
được thực hiện thông qua chỉ số được đặt trong cặp dấu []. Để truy xuất đến tồn
bộ cột hay dịng của một ma trận ta có thể đặc tả chỉ số của cột hay dịng đó, ví
dụ như x[,3] để truy xuất đến cột thứ 3 của ma trận x.
Nếu muốn gán tên cho cột hay dòng của ma trận ta có thể sử dụng hàm
dimnames(), ví dụ như lệnh sau cho phép gán tên X cho cột một, tên Y cho cột
hai và tên Z cho cột ba của ma trận mat, vậy mat[,2] và mat[,"Y"] là như nhau.
dimnames(mat) <- list(NULL, c("X", "Y", "Z"))
Đối với khung dữ liệu, ta có thể dùng tên của biến để truy cập đến nội
dung, chẳng hạn ta có khung dữ liệu tên soil có các biến Ca, K và pH, ta có thể
truy cập nội dung biến pH với biểu thức soil$pH.
Ngoài ra, ta cũng có thể truy cập nội dung các biến của khung dữ liệu trực
9

Tieu luan


tiếp bằng tên biến nhờ vào hàm attach, ví dụ attach(soil).
R cũng hỗ trợ các cho các tính tốn thống kê như: summary(), sample(),
dnorm(), pnorm(), qnorm(), rnorm(), dunif(), punif(), qunif(), runif(),
mean(), var(), sd(), cov(), cor(), lm(), ...
Ví dụ sau đây minh họa cách sử dụng hàm sample() để lấy mẫu ngẫu
nhiên có hồn lại 10 số ngun có giá trị từ 0 đến 9. Sau đó tính giá trị trung bình

và độ lệch chuẩn của dãy số.
x <- sample(0:9, 10, replace = TRUE)
mx <- mean(x)
sx <- sd(x)
Nếu muốn sử dụng hàm mô phỏng phân phối chuẩn rnorm() để sinh dãy
số ngẫu nhiên gồm 10 số với các tham số giá trị trung bình là 5 và độ lệch chuẩn
bằng 1.5, ta có thể làm như sau:
x <- rnorm(10, mean = 5, sd = 1.5)
Ví dụ minh họa cách sử dụng hàm tính mật độ phân phối chuẩn dnorm()
để ước tính xác suất của học sinh có điểm là 16.5, biết rằng điểm của học sinh
tuân theo phân phối chuẩn với giá trị trung bình là 15, độ lệch chuẩn là 2.5, ta có
thể sử dụng lệnh sau:
p <- dnorm(16.5, mean = 15, sd = 2.5)
Đối với các tính tốn trên ma trận, ngồi phép tốn nhân ma trận, R cung
cấp các hàm như: t(), det(), diag(), solve(), svd(), lower.tri(), upper.tri(),
eigen().
Đầu tiên ta tạo ma trận A[3x2], và ma trận B là ma trận chuyển vị của A
có dạng như trên, trong R thực hiện cơng việc đó như sau:
A <- matrix(seq(1, 6, by = 1), nrow = 3)
B <- t(A)
Tạo ma trận đường chéo I[3x3] có giá trị 1:
I <- matrix(0, 3, 3)
diag(I) <- 1
Để nhân ma trận A và B lưu vào ma trận C, tiếp theo ta lấy định thức
của C bằng hàm det() và giá trị riêng ma trận bằng hàm eigen(). Ta thực hiện
lệnh sau:
C <- A%*%B
10

Tieu luan



det(C)
eigen(C)
R cho phép đọc dữ liệu từ tập tin vào trong bộ nhớ để xử lý. Ngoài ra, R
cũng cung cấp các gói thư viện tiện ích cho phép người sử dụng dễ dàng truy
cập vào các cơ sở dữ liệu quan hệ khác như mySQL (RMySQL), PostgreSQL
(RPgSQL), các cơ sở dữ liệu có thể truy cập qua trình điều khiển ODBC
(RODBC).
Nếu chúng ta muốn truy cập vào dữ liệu chứa trong hệ quản trị cơ sở dữ
liệu MySQL. Trước tiên ta cần:
- Nạp gói thư viện RMySQL bằng lệnh library(RMySQL),
- Sau đó sử dụng hàm dbConnect() để nối kết đến cơ sở dữ liệu và
- Thực hiện các câu truy vấn với hàm dbSendQuery(),
- Lấy kết quả trả về với hàm fetch(), dbGetInfo(), dbNextResult(),
dbMoreResults(),
- Cuối cùng kết thúc bằng việc giải phóng các kết quả sử dụng hàm
dbClearResult().

1.3. Các dạng biểu đồ trong R
Trong ngơn ngữ R có rất nhiều cách để thiết kế một biểu đồ gọn và đẹp.
Phần lớn những hàm để thiết kế biểu đồ có sẵn trong R, Nếu biểu đồ được trình
bày dễ hiểu, hợp lý, là phương tiện hiệu quả cung cấp cho nhà phân tích về thơng
tin quan trọng của dữ liệu cần phân tích. Phương pháp hiển thị dữ liệu thường
dùng trong thống kê có thể kể đến là đồ thị hộp (box plot) và tổ chức đồ
(histogram). Đồ thị hộp của 1 thuộc tính hiển thị giá trị nhỏ nhất, trung vị, lớn
nhất, bách phân 25% và 75%. Tổ chức đồ hiển thị thông tin về phân bố dữ liệu
của một thuộc tính.
Bảng 1.3.1. Ví dụ minh họa vẽ đồ thị hộp và tổ chức đồ thị
# doc du lieu, thuoc tinh thu 3 la Petal Length

data(iris)
# ve do thi to chuc do
hist(iris[,3], main = "Petal Length", ylab = "Density", prob = T)
# ve do thi hop
boxplot(iris[,3], main = "Petal Length")

11

Tieu luan


Hình 1. . Đồ thị hộp và tổ chức đồ của thuộc tính Petal Length dữ liệu iris

Ví dụ trong hình 1.2 là đồ thị hộp và tổ chức đồ của thuộc tính Petal
Length dữ liệu iris. Đoạn mã trong ngơn ngữ R cho phép thực hiện vẽ đồ thị
hình 1.2 như bảng 1.3.1. Trong đó dịng lệnh 4 thực hiện vẽ tổ chức đồ. Dòng
lệnh 6 vẽ đồ thị hộp.
1.3.1. Phương pháp scatterplot 2 chiều trong R
Tập dữ liệu có n thuộc tính được hiển thị trong ma trận scatterplot 2
chiều, ở đó mỗi scatterplot 2 chiều trình bày dữ liệu của cặp thuộc tính Ai, Aj,
mỗi phần tử được vẽ thành 1 điểm trong không gian 2 chiều của scatterplot.
Bảng 1.3.2: Ví dụ minh họa vẽ ma trận scatterplot 2 chiều
# doc du lieu
data(iris)
ncol <- length(iris[1,])
# ve ma tran scatterplot 2 chieu
pairs(iris[,-ncol], main = "IRIS DATA", pch = c(1, 2, 3)[iris[,ncol]],
col = c("red", "green", "blue")[iris[,ncol]])

12


Tieu luan


Hình 1. . Ma trận scatterplot 2 chiều của dữ liệu iris

Ví dụ như ma trận scatterplot 2 chiều hiển thị tập dữ liệu iris (150 phần
tử, 4 thuộc tính, 3 lớp tương ứng với màu của điểm dữ liệu) như hình 1.3. Để
vẽ ma trận scatterplot 2 chiều cho ví dụ này, ta có thể viết đoạn mã trong R với
hàm pairs() như bảng 1.3.2. Dòng lệnh 5 thực hiện vẽ ma trận scatterplot 2
chiều.
Phương pháp ma trận scatterplot 2 chiều dễ hiểu, hỗ trợ cho phát hiện mối
tương quan của dữ liệu theo từng cặp thuộc tính, có thể phát hiện được nhóm dữ
liệu, hiểu sơ lược về dữ liệu phức tạp hay không. Tuy nhiên khi số thuộc tính dữ
liệu lớn lên, ma trận scatterplot có kích thước tăng nhanh (n2 scatterplots với n
là số thuộc tính dữ liệu). Phương pháp cũng chỉ hiển thị khoảng vài ngàn phần tử
dữ liệu.
1.3.2. Phương pháp hiển thị khác trong R
R cịn cung cấp nhiều hàm tiện ích khác cho việc hiển thị dữ liệu. Thông
13

Tieu luan


thường R hỗ trợ hai loại hàm vẽ đồ họa:
- Mức cao (vẽ toàn bộ đồ thị bằng 1 lời gọi hàm duy nhất) bao gồm:
barplot(), boxplot(), contour(), coplot(), hist(), pairs(), persp(), plot(), pie(),
- Mức thấp (được sử dụng để thêm các thông tin vào đồ thị đã vẽ trước)
bao gồm: abline(), axis(), legend(), lines(), points(), polygon(), symbols()
và text().

Ngoài ra ta cịn có các hàm phụ trợ khác như tạm dừng với par(ask=T),
màn hình đồ họa có thể được chia thành dạng lưới cho phép trình bày nhiều đồ
thị trên cùng màn hình thơng qua hàm par(mfrow=c(số_dịng, số_cột)).
Ví dụ tiếp đây sẽ chia màn hình hiển thị thành 4 phần, phần 1 dùng để
hiển thị tổ chức đồ cho thuộc tính Petal Length, phần 2 vẽ đồ thị hộp của thuộc
tính Petal Length, phần 3 dùng để vẽ đồ thị của 2 thuộc tính Petal Length, Petal
Width và đồ thị pie được vẽ trên phần cịn lại như hình 1.4. Đoạn mã chương
trình trong bảng 1.3.3 cho phép thực hiện cơng việc trên. Dịng lệnh 4 cho phép
chia màn hình thành lưới 2x2.
Bảng 1.3.3 Ví dụ minh họa hiển thị dữ liệu iris với 4 phương pháp
# nap du lieu
data(iris)
# chia man hinh 2x2
op <- par(mfrow = c(2, 2))
# ve to chuc do thuoc tinh thu 3 la Petal Length
hist(iris[,3], main = "Petal Length", ylab = "Density", prob = T)
# ve do thi hop cua Petal Length
boxplot(iris[,3], main = "Petal Length")
# ve scatterplot 2 chieu cua p.length-width
plot(iris[,3:4], main = "P.Length-Width of IRIS DATA",
xlab = "Petal Length", ylab = "Petal Width",
pch = c(1, 2, 3)[iris[,ncol]],
col = c("red", "green", "blue")[iris$Species])
# ve duong hoi quy
lines(lowess(iris[,3:4]))
# ve do thi pie
nb1 <- sum(c(1, 0, 0)[iris$Species])
nb2 <- sum(c(0, 1, 0)[iris$Species])
nb3 <- sum(c(0, 0, 1)[iris$Species])
pie(c(nb1, nb2, nb3), labels = c("setosa", "versicolor", "virginica"),

density = c(10, 20, 30), col = c("red", "green", "blue"))

14

Tieu luan


Hình 1. . Hiển thị dữ liệu iris với 4 phương pháp hiển thị

1.3.3. Hồi quy tuyến tính
Hồi quy là phương pháp toán học được áp dụng thường xuyên trong thống
kê để phân tích mối liên hệ giữa các hiện tượng kinh tế xã hội. Để minh họa cho
vấn đề này, chúng ta xét một ví dụ rất đơn giản hồi quy tuyến tính đơn mà ở đó
người ta cần nghiên cứu để biết chiều cao trung bình của trẻ dựa theo tháng tuổi.
Bảng số liệu thu thập được trình bày trong bảng sau đây:
Bảng 1.3.4. Chiều cao trung bình của trẻ theo tháng tuổi
STT
1
2
3
4
5
6

Tháng tuổi
18
19
20
21
22

23

Chiều cao (cm)
76.1
77
78.1
78.2
78.8
19.7
15

Tieu luan


7
8
9
10
11
12

24
79.9
25
81.1
26
81.2
27
81.8
28

82.8
29
83.5
Một cách trực quan, chúng ta có thể hiển thị bảng dữ liệu với scatterplot 2

chiều trong R như sau:
age=18:29
height=c(76.1,77,78.1,78.2,78.8,79.7,79.9,81.1,81.2,81.8,82.8,83.5)
plot(age,height)

Đồ thị scatterplot 2 chiều thu được đồ thị về chiều cao trung bình của trẻ
theo tháng tuổi như hình 1.5.

Hình 1. . Đồ thị về chiều cao trung bình của trẻ theo tháng tuổi

Nhìn vào đồ thị, chúng ta có thể thấy được mối liên quan giữa chiều cao
và tuổi của trẻ có dạng tương tự như đường thẳng (tuyến tính). Mơ hình hồi quy
tuyến tính có dạng:
16

Tieu luan


y=α + βx

với α là chặn (intercept), β là độ dốc (slope).
Hai tham số α, β được ước tính từ bảng dữ liệu bằng phương pháp bình
phương bé nhất (least squares):
n


Min ∑ −( α + β x i )
i−1

Trong ví dụ ở đây chiều cao height chính là y và độ tuổi age là x. Để thực
hiện phân tích hồi quy tuyến tính cho vấn đề này, R cung cấp hàm lm cho phép
tìm nhanh giá trị tham số α, β như sau:
res=lm(height ~ age)

Kết quả trả về ta thu được giá trị chặn (intercept) α = 64.928 và độ dốc
β = 0.635, phương trình hồi quy là : height = 0.635 age + 64.928.
Chúng ta có thể dùng hàm abline() để vẽ lên đồ thị phương trình hồi quy
tuyến tính (hình 1.6).
abline(res)

Khi muốn dự đốn chiều cao của trẻ có tuổi là 23.5 tháng, chúng ta sử
dụng phương trình hồi quy tìm được (height = 0.635 age + 64.928) để tính
chiều cao là 79.85 cm. Việc này được thực hiện trong R bằng lệnh sau đây:
new <- data.frame(age = 23.5)
pred <- predict(res, new)

17

Tieu luan


Hình 1. . Đồ thị của phương trình hồi quy về chiều cao trung bình của trẻ theo tháng
tuổi

CHƯƠNG 2. PHÂN TÍCH DỮ LIỆU
2.1. Tổng quan

Phân tích dữ liệu là q trình đánh giá dữ liệu bằng các cơng cụ phân tích
hoặc thống kê để khám phá thơng tin hữu ích. Một vài công cụ trong số này là các
ngôn ngữ lập trình như R hoặc Python. Microsoft Excel cũng phổ biến trong thế
giới phân tích dữ liệu.
Khi dữ liệu được thu thập và sắp xếp bằng các công cụ này, kết quả sẽ
được diễn giải để đưa ra quyết định. Kết quả cuối cùng có thể được phân phối
dưới dạng tóm tắt hoặc dưới dạng trực quan như biểu đồ hoặc đồ thị.
18

Tieu luan


Có một số phương pháp phân tích dữ liệu bao gồm khai phá dữ liệu (data
mining), phân tích văn bản (text analytics) và kinh doanh thơng minh/trí tuệ
doanh nghiệp (business intelligence)
Phân tích dữ liệu phù hợp là rất quan trọng cho sự thành cơng của dự án
phân tích. Hầu hết thời gian, dữ liệu từ các hệ thống giao dịch hoặc các nguồn dữ
liệu khác như khảo sát, phương tiện truyền thông xã hội và cảm biến không sẵn
sàng để được phân tích trực tiếp. Dữ liệu phải được trộn và kết hợp, tạo khối và
xử lý trước để chuyển đổi nó thành một dạng thích hợp có thể được phân tích.
Khơng có điều này, dữ liệu được phân tích và báo cáo trở nên vô nghĩa. Và những
khác biệt nhỏ này có thể tạo ra sự khác biệt đáng kể trong kết quả có thể ảnh
hưởng đến hiệu suất hoạt động của tổ chức.

2.2. Các phương pháp phân tích dữ liệu
-

Phân tích mơ tả (Descriptive analytics)
Phân tích hồi quy (Regression analysis)
Phân tích phương sai (Variance analysis)

Phân tích hậu cần (Logistic analysis)
Phân tích văn bản (Text analysis)

2.2.1. Phân tích thống kê, mơ tả (Descriptive analytics)
-

Phân tích mơ tả là q trình sử dụng các kỹ thuật thống kê để mơ tả hoặc
tóm tắt một tập dữ liệu.
Phân tích mơ tả khơng cố gắng đưa ra dự đốn về tương lai. Nó chỉ thu
thập thơng tin chi tiết từ dữ liệu trong q khứ.
Mơ tả các tính năng cơ bản của dữ liệu
Tóm tắt về mẫu và các biện pháp.
Cơ sở của hầu như mọi phân tích định lượng dữ liệu.

A. Các loại phân tích mơ tả
-

Các phép đo tần suất, phân phối
Biện pháp của xu hướng trung ương,
Các biện pháp phân tán hoặc biến thể,
Chức vụ.

a. Các phép đo tần suất, phân phối
Phân phối là một bản tóm tắt về tần suất của các giá trị riêng lẻ hoặc
phạm vi giá trị cho một biến.
-

Đếm, Phần trăm, Tần suất
Cho biết tần suất một điều gì đó xảy ra
Sử dụng điều này khi bạn muốn hiển thị tần suất phản hồi được đưa ra.


19

Tieu luan


-

Phân bố tần số có thể được mơ tả theo hai cách, dưới dạng bảng hoặc như
một đồ thị.

Hình 2. . Phân bố tần số được biểu diễn dưới dạng bảng và đồ thị

b. Các biện pháp của Xu hướng Trung tâm
-

Trung bình, Trung vị và Chế độ
Xác định vị trí phân phối theo nhiều điểm
Sử dụng điều này khi bạn muốn hiển thị mức trung bình hoặc hầu
hết phản hồi thường được chỉ định

c. Các biện pháp phân tán hoặc biến đổi
-

Phạm vi, Phương sai, Độ lệch chuẩn
Xác định sự chênh lệch điểm số bằng cách nêu các khoảng
Phạm vi = Điểm cao / điểm thấp
Phương sai hoặc Độ lệch chuẩn = sự khác biệt giữa các điểm và ý
nghĩa


2.2.2. Phân tích hồi quy tuyến tính (Regression analysis)
Phân tích hồi quy tuyến tính là nghiên cứu mối liên hệ phụ thuộc của 1
biến (gọi là biến phụ thuộc) vào một hay nhiều biến khác(gọi là các biến độc lập),
với ý tưởng ước lượng hoặc/và dự đoán giá trị trung bình(tổng thể) của các biến
phụ thuộc trên cơ sở các biến độc lập.
 Hệ số tương quan.
 Mơ hình hồi quy tuyến tính.
Hệ số tương quan
Hệ số tương quan (r) là một chỉ số thống kê đo lường mối liên hệ tương quan
giữa hai biến số, như giữa độ tuổi (x) và cholesterol (y). Hệ số tương quan có giá
trị từ -1 đến1. Hệ số tương quan bằng 0 (hay gần 0) có nghĩa là hai biến số khơng
có liên hệ gì với nhau; ngược lại nếu hệ số bằng -1 hay 1 có nghĩa là hai biến số
20

Tieu luan


có một mối liên hệ tuyệt đối. Nếu giá trị của hệ số tương quan là âm (r <0) có
nghĩa là khi x tăng cao thì y giảm (và ngược lại, khi x giảm thì y tăng); nếu giá trị
hệ số tương quan là dương (r > 0) có nghĩa là khi x tăng cao thì y cũng tăng, và
khi x tăng cao thì y cũng giảm theo.
-

Hệ số biến thiên so sánh độ phân tán của hai phân bố.

Hình 2. . Hệ số biến thiên

-

Hệ số biến thiên đôi khi được gọi là hệ số của độ phân tán tương đối.


2.2.3. Phân tích phương sai (Variance analysis)
Phân tích phương sai là phuông pháp thống kê dùng để kiểm tra sự khác
biệt giữa hai hay nhiều giá trị trung bình
Phân tích phương sai thơng qua kiểm định giả thuyết thống kê để kết luận
về sự thăng bằng của các số trung bình này.
Trong nghiên cứu, phân tích phương sai được dùng như là một công cụ để
xem xét ảnh hưởng của một hay một số yếu tố nguyên nhân
đến một yếu tố kết quả(định lượng).
2.2.4. Phân tích hậu cần (Logistic analysis)
Phân tích Logistic bao gồm: biến kết quả (phụ thuộc): biến nhị phân, biến
dự báo (độc lập): nhị phân | tiếp diễn.
Mô tả mối quan hệ giữa các biến kết quả và tiên lượng biến. Điều khiển để
tìm ra các yếu tố gây nhiễu. Phát triển mơ hình tiên lượng.
2.2.5. Phân tích văn bản (Text analysis)
Đây là phương pháp để khai phá mẫu trong dữ liệu lớn bằng cơ sở dữ liệu
hoặc công cụ khai thác dữ liệu. Phương pháp này được sử dụng để chuyển đổi dữ
liệu thô thành các thông tin kinh doanh. Các công cụ Business Intelligence có mặt
trên thị trường được sử dụng để đưa ra các quyết định kinh doanh chiến lược.
Nhìn chung, nó cung cấp một cách để trích xuất và kiểm tra dữ liệu và các mẫu
xuất phát và cuối cùng là giải thích dữ liệu.
-

Lệnh xử lý văn bản
Văn bản dọn dẹp
Mã hóa từ
Xây dựng ma trận tài liệu thuật ngữ.

21


Tieu luan


2.3. Các mơ hình phân tích
2.3.1. Mơ hình hồi quy tuyến tính đơn giản
Phân tích hồi qui tuyến tích đơn giản (Simple Linear Regression Analysis)
là tìm sự liên hệ giữa 2 biến số liên tục: biến độc lập (biến dự đốn) trên trục
hồnh x với biến phụ thuộc (biến kết cục) trên trục tung y. Sau đó vẽ một đường
thẳng hồi qui và từ phương trình đường thẳng này ta có thể dự đốn được biến y
(ví dụ: cân nặng) khi đã có x (ví dụ: tuổi)
Ví dụ 1: Ta có 1 mẫu gồm 6 trẻ từ 1-6 tuổi, có cân nặng như bảng sau:

Hình 2. . Bảng cân nặng của 6 trẻ từ 1-6 tuổi

Hình 2. . Biểu đồ mơ hình hồi quy tuyến tính của cân nặng 6 trẻ

22

Tieu luan


Khi vẽ đường thẳng hồi qui, ta thấy các trị số quan sát y3, y4, y5, y6 nằm
trên đường thẳng, cịn y1 và y2 khơng nằm trên đường thẳng này và sự liên hệ
giữa xi và yi khơng cịn là 100% mà chỉ cịn 97% vì có sự sai lệch tại y1 và y2.
Sự sai lệch này trong thống kê gọi là phần dư (residual) hoặc errors.
Gọi y1, y2, y3, y4, y5, y6 là trị số quan sát và y’1, y’2, y’3, y’4, y’5, y’6 là
trị số ước đoán nằm trên đường hồi qui,ε 1 ,ε 2, ε 3 ,ε 4 ,ε 5 ,ε 6 là phần dư.
Như vậy:
ε 1 = y 1− y '1
ε 2 = y 2− y '2

ε 3 = y 3− y '3
ε 4 = y 4 − y '4
ε 5 = y 5− y '5
ε 6 = y 6− y '6

Khi đó phương trình hồi qui tuyến tính được viết dưới dạng tổng quát như sau:
y’= β X i+ α i + ε i
Như vậy nếu phần dư ε i càng nhỏ sự liên hệ giữa x,y càng lớn và ngược lại. Phần
liên hệ còn đượi gọi là phần hồi qui. Mơ hình hồi qui tuyến tích được mơ tả như
sau:
Dữ liệu= Hồi qui (Regression) + Phần dư (Residual)

2.3.2 Mơ hình hồi quy tuyến tính đa biến
Mơ hình được diễn đạt qua phương trình yi =α +β xi +ε i có một yếu tố duy nhất
(đó là x), và vì thế thường được gọi là mơ hình hồi qui tuyến tính đơn giản
(simple linear regression model). Trong thực tế, chúng ta có thể phát triển mơ
hình này thành nhiềubiến, chứ khơng chỉ giới hạn một biến như trên, chẳng hạn
như:
Mơ hình hồi qui tuyến tính đa biến có dạng:

Hình 2. . Phương trình tuyến tính đa biến

Chú ý trong phương trình trên, chúng ta có nhiều biến x (x1, x2, … đến xk), và
mỗi biến có một thơng số βj (j = 1, 2, …, k) cần phải ước tính. Vì thế mơ hình
này cịn được gọi là mơ hình hồi qui tuyến tính đa biến.
2.3.3 Mơ hình hồi quy Logistic
-

Gọi X là biến tiên lượng
Gọi P là xác suất của một biến cố (outcome)

Mô hình hồi qui logistic phát biểu rằng:
23

Tieu luan


×