Ứng dụng ngôn ngữ R

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu ứng dụng kỹ thuật học máy để dự đoán chứng khoán bằng ngôn ngữ r (Trang 27 - 32)

Chương 3. NGÔN NGỮ R VÀ ỨNG DỤNG

3.2. Ứng dụng ngôn ngữ R

R có được các ưu điểm lớn của hệ thống phát triển trên nền tảng mã nguồn mở với nhiều gói thư viện có sẵn cung cấp nhiều hàm xử lý hữu ích cho các mục đích khai thác khác nhau. Người dùng có thể kế thừa từ các thư viện này để phát triển các hàm chức năng đáp ứng yêu cầu của bài toán cụ thể cần giải quyết. Để sử dụng thư viện đã cài đặt, người dùng chỉ cần dùng lệnh library với tham số là tên thư viện cần dùng. Ví dụ để sử dụng thư viện foreign, lệnh yêu cầu là:

> library(foreign)

Bảng 3.1 dưới đây là danh sách một số thư viện cơ bản và ứng dụng của chúng trong R:

Bảng 3.1: Một số thư viện và ứng dụng của chúng trong R

Thư viện Chức năng

Trellis Dùng để vẽ đồ thị

Hmisc Một số phương pháp mô hình dữ liệu của F.Harrell Design Một số mô hình thiết kế nghiên cứu của F.Harrell Epi Dùng cho các phân tích dịch tễ học

Foreign Dùng để nhập dữ liệu từ các phần mềm khác như SPSS, Stata, SAS, …

Rmeta Dùng cho phân tích tổng hợp (meta-analysis)

Zelig Package dùng cho các phân tích thống kê trong lĩnh vực xã hội học

Genetics Package dùng cho phân tích số liệu di truyền học

Với các tính toán phức tạp như nhân ma trận có thể thực hiện chỉ bằng một lệnh. Đoạn chương trình sau minh họa cho việc khởi tạo dữ liệu và thực hiện nhân ma trận:

> y <- c(1,2,3,4,5,6,7,8,9) #Tạo biến y có 9 giá trị

> A <- matrix(y, nrow=3) #Tạo ma trận A có 3 hàng với dữ liệu

# lấy từ y

> B <- t(A) # Tạo ma trận B là chuyển vị của ma trận A

# (hàm t(A) lấy chuyển vị của A)

> AB <- A%*%B #Thực hiện nhân ma trận A với ma trận B dùng toán

# tử (%*%) kết quả chứa trong ma trận AB

> AB #Hiển thị nội dung ma trận AB [,1] [,2] [,3]

[1,] 66 78 90 [2,] 78 93 108 [3,] 90 108 126

Để tìm nghịch đảo ma trận, người dùng có thể sử dụng hàm solve().

> X <- solve(A) #Tính chuyển vị của ma trận A, kết quả lưu vào X

R cũng cấp nhiều hàm đã được thiết kế sẵn ứng dụng tính toán xác suất. Ví dụ, để tính phân phối nhị phân (Binomial distribution), hàm dbinom() cho phép thực hiện một cách nhanh chóng với cú pháp sử dụng đơn giản. Đoạn chương trình sau minh họa việc sử dụng hàm dbinom():

> dbinom(2, 3, 0.60) [1] 0.432

Lời gọi hàm trên thực hiện tính toán theo công thức:

( | , ) = (1− ) trong đó k=0,1,2,..,n (3.1) Trong trường hợp cụ thể này k=2, n=3, p=0.60. Kết quả trả về là 0.432.

Ngoài ra có thể kể đến các hàm tiêu biểu khác như:

Hàm dpois(k,λ) tính mật độ Poisson theo công thức:

( = | ) = ! (3.2)

Hàm dnorm(x, mean, sd) tính mật độ phân phối chuẩn (Normal Density Probability Function) theo công thức:

( = | , ) = ( ) = √ −( ) (3.3)

Vớ dụ, với x=160, à=156, σ2=4.6, hàm được gọi tương ứng là dnorm(160, 156, 4.6), kết quả trả về là 0.05942343.

Vẽ biểu đồ cũng là một trong các điểm mạnh của R. Có nhiều cách để thực hiện vẽ biểu đồ trong R. Phần lớn các hàm vẽ biểu đồ đã có sẵn trong R. Một số biểu đồ phức tạp có thể được thực hiện bằng các hàm cung cấp thông qua các thư viện như lattice hay trellis.

Ví dụ, để vẽ biểu đồ xác suất phân phối mật độ cho biến age (độ tuổi) ta có thể sử dụng hàm plot(density) như đoạn chương trình minh họa dưới đây:

> #Nhập dữ liệu độ tuổi vào biến age

> age <- c(57, 64, 60, 65, 47, 65, 76, 61, 59, 57, 63, 51, 60, 42, 64, 49, 44, 45, 80, 48,

61, 45, 70, 51, 63, 54, 57, 70, 47, 60, 60, 50, 60, 55, 74, 48, 46, 49, 69, 72, 51, 58, 60, 45, 63, 52, 64, 45, 64, 62)

> plot(density(age),add=TRUE) #Thực hiện vẽ biểu đồ

Kết quả thực hiện các lệnh trên được thể hiện như tại Hình 3-2:

Hình 3-2: Xác xuất phân phối mật độ theo độ tuổi bằng hàm plot

Ngoài ra, hàm pie() cho phép vẽ biểu đồ hình tròn, hàm barplot() vẽ biểu đồ cột, hàm stripchart() vẽ biểu đồ strip, hàm boxplot() vẽ biểu đồ hộp,... Hình 3-3, Hình 3-4, Hình 3-5 dưới đây minh họa một số loại biểu đồ được vẽ bởi các hàm trong R.

Hình 3-4: Biểu đồ hộp

Hình 3-5: Biểu đồ cột

Với những ưu điểm và sự phù hợp của ngôn ngữ R cho bài toán khai phá dữ liệu, dự đoán chứng khoán, chúng tôi sử dụng ngôn ngữ R để cài đặt, thử nghiệm cho kết quả của nghiên cứu này.

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu ứng dụng kỹ thuật học máy để dự đoán chứng khoán bằng ngôn ngữ r (Trang 27 - 32)

Tải bản đầy đủ (PDF)

(44 trang)