Tải R và cài đặt R
Để sử dụng R, bước đầu tiên là cài đặt R trên máy tính Để thực hiện điều này, bạn cần truy cập internet và vào trang web "Comprehensive".
R Archive Network” (CRAN) sau đây http://cran.r-project.org/
Tài liệu cần tải về thường có tên bắt đầu bằng chữ cái R và số phiên bản, ví dụ như phiên bản tôi đang sử dụng là Ri386 3.0.2.
Sau khi tải Rxuống máy tính, bước tiếp theo là cài đặt phần mềm Để thực hiện điều này, chỉ cần nhấp chuột vào tệp tải về và làm theo hướng dẫn cài đặt hiển thị trên màn hình.
R cung cấp ngôn ngữ lập trình máy tính cùng với các hàm để thực hiện các phân tích cơ bản Để thực hiện các phân tích phức tạp hơn, người dùng cần tải về các gói lệnh (package) bổ sung Các package này là phần mềm nhỏ được phát triển bởi các nhà thống kê nhằm giải quyết các vấn đề cụ thể Địa chỉ tải các package là http://cran.r-project.org/.
Các package này có thể cài đặt trực tiếp bằng cách chọn Install packages trong phần packages củaR.
Sau khi cài đặt hoàn tất, biểu tượng R sẽ xuất hiện trên màn hình máy tính Bây giờ, bạn đã sẵn sàng để sử dụng R Chỉ cần nhấp chuột vào biểu tượng này để mở cửa sổ làm việc.
Khi sử dụng R, người dùng cần nhập lệnh sau dấu nhắc ">" Nếu lệnh đúng, R sẽ phản hồi bằng cách hiển thị một dấu nhắc mới hoặc cung cấp kết quả tương ứng Ngược lại, nếu lệnh sai, R sẽ thông báo lỗi bằng một thông điệp ngắn gọn.
> x+7*sqrt(10) thì R sẽ hiểu và làm theo lệnh này, rồi cho chúng ta một cái dấu nhắc > khác. Nhưng nếu chúng ta gõ
> x=3-a thì R sẽ không đồng ý với lệnh này và một thông báo sau đây sẽ xuất hiện
Trong R, các lệnh được phân tách bằng dấu chấm phẩy (;) hoặc bằng cách xuống dòng Bạn có thể nhóm các lệnh lại với nhau bằng dấu ngoặc nhọn { } Nếu một lệnh chưa hoàn thành ở cuối dòng, R sẽ hiển thị dấu nhắc tiếp theo, mặc định là dấu cộng (+), cho đến khi lệnh đó được hoàn tất.
Khi muốn rời khỏi R, chúng ta có thể đơn giản nút chéo (x) bên góc phải của cửa sổ hiện hành hay gõ lệnh q().
R là một ngôn ngữ lập trình tương tác, cho phép người dùng nhận kết quả ngay lập tức khi nhập lệnh đúng "văn phạm" Sự tương tác này kéo dài cho đến khi yêu cầu được hoàn thành Cấu trúc cơ bản của R bao gồm một lệnh hoặc hàm, với cú pháp chung là tên đối tượng = hàm(thông số 1, ,thông số n).
> ys(x) thìylà một đối tượng, cònabslà một hàm vàxlà thông số của hàm.
R là một ngôn ngữ lập trình hướng đối tượng, trong đó dữ liệu được lưu trữ trong các đối tượng hay biến Ví dụ, khi ta gán giá trị x=5 (hoặc x # lệnh sau đây là để tìm tổ hợp chập 2 của 5
Cách đặt tên biến trong R
Trong R, việc đặt tên cho đối tượng hoặc biến rất linh hoạt, không bị giới hạn như một số phần mềm khác Tên biến phải được viết liền mà không có khoảng trống, ví dụ như R chấp nhận "sanpham" nhưng không chấp nhận "san pham".
Error: unexpected symbol in "san pham"
Nhưng đôi khi tên biến viết liền như vậy khó đọc, cho nên chúng ta nên tách rời bằng dấu chấm".", chẳng hạn như san.pham.
Một điều quan trọng cần lưu ý là Rphân biệt chữ viết hoa và viết thường Do đó, biến có tên làSan.phamkhác với biến có tên làsan.pham.
Môi trường vận hành R
Trước khi sử dụng R, chúng ta cần tạo một thư mục trên máy tính để chứa dữ liệu, ví dụ như thư mục "D:\R thuc hanh" Để thực hiện việc này, chúng ta sử dụng lệnh thích hợp.
> setwd("D:/R thuc hanh") Để biết hiện nayRđang làm việc ở thư mục nào, chúng ta cần lệnh
Hỗ trợ trong R
Trước khi sử dụng R, bạn nên tham khảo phần chỉ dẫn có sẵn bằng cách vào mục Help và chọn Html help để tìm hiểu chi tiết và cách vận hành của R.
Khi cần một sự hướng dẫn nào để hiểu về R, các lệnh của nó hay các văn phạm của nó, ta dùng lệnh
Để hiểu cú pháp của từng hàm, bạn chỉ cần gõ tên hàm sau lệnh help Ví dụ, để tìm hiểu về hàm t.test, hãy gõ tên hàm vào lệnh này.
> help(t.test) ta sẽ có một cửa sổ mới với sự hướng dẫn và ví dụ chi tiết.
Cách nhập dữ liệu trong R
Để phân tích dữ liệu bằng R, cần có dữ liệu ở dạng mà R có thể xử lý, cụ thể là trong một data.frame Có nhiều phương pháp để nhập dữ liệu vào data.frame trong R, nhưng trong phần này, chúng tôi sẽ chỉ hướng dẫn cách nhập dữ liệu trực tiếp bằng lệnh c() Lệnh này cho phép tạo cột dữ liệu (hay biến) với cú pháp: tên biến = c(phần tử 1, , phần tử n).
Chẳng hạn ta muốn nhập vào Rsố liệu về kết quả số ô tô bán được trong 1 tuần của 45 đại lý cho ở bảng
Số đại lý 15 12 9 5 3 1 Đầu tiên, ta sử dụng lệnhc()để tạo hai biến có tên làso.o.tovàso.dai.ly.
Để R có thể xử lý hai biến riêng lẻ so.o.to và so.dai.ly, chúng ta cần kết hợp chúng thành một data.frame Giả sử chúng ta muốn gán hai biến này vào một biến mới có tên là vi.du, chúng ta thực hiện lệnh tương ứng.
Chúng ta đã tạo ra một biến hoàn chỉnh với cú pháp vi.du = data.frame(so.o.to, so.dai.ly) Để kiểm tra nội dung của biến vi.du, chúng ta chỉ cần gõ lệnh tương ứng.
> vi.du vàRsẽ báo cáo so.o.to so.dai.ly
Nếu chúng ta muốn lưu lại các số liệu này trong một file theo dạngR, chúng ta cần dùng lệnhsave Chẳng hạn
Lệnh `save(vi.du, file="vidu.rda")` cho R biết rằng chúng ta muốn lưu trữ dữ liệu từ biến `vi.du` vào file có tên `vidu.rda` trong thư mục "D:\R thuc hanh" Sau khi thực hiện lệnh này, file `vidu.rda` sẽ được tạo ra trong thư mục đã chỉ định.
Ngoài việc nhập số liệu thành một data.frame, trong các bài toán thống kê, để thuận lợi cho việc tính toán các đặc trưng mẫu và giải quyết các bài toán ước lượng tham số cũng như kiểm định giả thuyết, ta có thể sử dụng lệnh c() kết hợp với lệnh rep() để nhập số liệu Lệnh rep(x, n) cho phép tạo ra n số x Ví dụ, với số liệu về số ô tô bán được trong 1 tuần của 45 đại lý, ta có thể nhập vào R như sau.
> vi.du=c(rep(1,15),rep(2,12),rep(3,9),rep(4,5), rep(5,3),rep(6,1))
Khi đóRsẽ cho kết quả là một dãy gồm 45 số
Cách tạo lệnh trong R
Trong R, người dùng có khả năng tạo ra các lệnh riêng để thực hiện tính toán và giải quyết các bài toán Cú pháp chung để định nghĩa một lệnh là: tên lệnh = function(thông số 1, , thông số n) biểu thức.
Biểu thức trong R là một tập hợp các biểu thức được đặt trong dấu ngoặc nhọn { } và sử dụng các tham số từ 1 đến n để tính toán giá trị Giá trị của biểu thức chính là kết quả trả về cho lệnh đó Ví dụ, để tính phương sai mẫu, ta có thể sử dụng công thức s² = 1/n * Σ (x_i - x̄)².
Chọn tên lệnh làphuong.sai.mau, với thông số làx, ta thực hiện như sau
Bây giờ vớixlà một mẫu gồm các giá trị 2, 7, 10, 3, 2, 8, ta tính được
Một số ứng dụng của R trong Xác suất
Các phân phối xác suất
Phân phối nhị thức
Phân phối nhị thức B(n,p) là một loại phân phối xác suất rời rạc, mô tả số lần thành công trong n phép thử độc lập, mỗi phép thử chỉ có hai kết quả: thành công hoặc thất bại Xác suất thành công của mỗi phép thử được ký hiệu là p, và xác suất có k lần thành công trong dãy phép thử này được tính theo công thức Bernoulli.
Trong một phân xưởng với 10 máy hoạt động độc lập, xác suất mỗi máy hỏng trong một ngày là 0,1 Để tính xác suất có đúng 2 máy bị hỏng trong một ngày, ta áp dụng công thức xác suất nhị thức Kết quả cho thấy xác suất này là một phần quan trọng trong việc quản lý và duy trì hoạt động hiệu quả của máy móc trong sản xuất.
Trong ví dụ này, số máy hỏng trong ngày của phân xưởng được ký hiệu là X, với phân phối nhị thức B(10; 0,1) Để tìm xác suất P(X = 2), ta áp dụng công thức Bernoulli, và kết quả là P(X = 2) = 0,1937102.
TrongR, ta sẽ sử dụng lệnhdbinom(k,n,p)để tìm giá trị xác suất này.
Con số 2 sau tên lệnh dbinom biểu thị giá trị X = 2 mà chúng ta cần tìm xác suất Hai tham số tiếp theo là n và p, trong đó n và p = 0,1 Kết quả trong R cho giá trị 0,1937102, đúng như tính toán bằng công thức Bernoulli Đồ thị phân phối xác suất của X được thể hiện với các lệnh tương ứng.
> plot(x,y,xlab="Số máy hỏng",ylab="Xác suất tương ứng", main="Phân phối xác suất của số máy hỏng trong ngày")
Trong một cuộc bầu cử Tổng thống, tỉ lệ cử tri ủng hộ ứng cử viên A là 60% Để tính xác suất có tối đa 10 trong số 20 cử tri được chọn ngẫu nhiên bỏ phiếu cho ứng cử viên này, ta cần áp dụng các phương pháp thống kê phù hợp Việc xác định xác suất này sẽ giúp hiểu rõ hơn về sự ủng hộ của cử tri đối với ứng cử viên A trong bối cảnh bầu cử.
Biến ngẫu nhiên Y đại diện cho số người bỏ phiếu cho ứng cử viên A trong tổng số 20 người và tuân theo phân phối nhị thức B(20; 0,6) Để tính xác suất P(Y ≤ 10), chúng ta cần cộng tổng 11 giá trị xác suất từ 0 đến 10, vì Y là biến ngẫu nhiên rời rạc có thể nhận các giá trị từ 0 đến 20.
Sử dụng công thức Bernoulli có thể cho kết quả chính xác, nhưng quá trình tính toán sẽ tốn nhiều thời gian Thay vào đó, việc sử dụng lệnh pbinom(k, n, p) trong R giúp chúng ta nhanh chóng có được kết quả mong muốn.
Phân phối Poisson
Phân phối Poisson là một loại phân phối xác suất rời rạc, dùng để mô tả xác suất xảy ra của một số lượng biến cố độc lập trong một khoảng thời gian hoặc không gian xác định Nếu λ đại diện cho tốc độ xảy ra trung bình của các biến cố trong khoảng đó, thì xác suất để có k biến cố xảy ra được tính toán dựa trên λ.
Trong một tổng đài điện thoại, các cuộc gọi đến diễn ra ngẫu nhiên và độc lập, với trung bình 2 cuộc gọi mỗi phút Để tính xác suất, ta cần tìm xác suất tổng đài nhận được 5 cuộc gọi trong 2 phút và xác suất có ít nhất 2 cuộc gọi trong vòng 10 giây.
GọiX là số cuộc gọi đến tổng đài trong 2 phút thìX có phân phối PoissonP(4) và ta cần tìmP(X =5) Sử dụng lệnhdpois(k,lambda) ta có kết quả là
Gọi Y là số cuộc gọi đến tổng đài trong 10 giây, thì Y có phân phối Poisson P(1/3)và xác suất ta cần tìm là P(Y ≥2).
Trong R, để tính xác suất bên trái điểm k, sử dụng lệnh ppois(k, lambda) để tìm P(Y ≤ k) Để xác định xác suất bên phải điểm k, tức là P(Y > k), ta có thể sử dụng công thức 1 - P(Y ≤ k) hoặc thêm tham số lower.tail = FALSE vào lệnh ppois Cần lưu ý rằng, do phân phối Poisson là phân phối xác suất rời rạc, P(Y ≥ k) không bằng P(Y > k) mà P(Y ≥ k) = P(Y > k - 1).
Phân phối chuẩn
Phân phối chuẩn là một trong những phân phối xác suất liên tục quan trọng nhất trong lĩnh vực Xác suất Thống kê Nếu biến ngẫu nhiên liên tục X tuân theo phân phối chuẩn N(μ, σ²), thì hàm mật độ xác suất của X được xác định bởi công thức p(x) = (1 / (σ√(2π))) * e^(-(x-μ)² / (2σ²)).
Chỳ ý rằng à =EX và σ 2 =DX. Đặc biệt, trong trường hợp à = 0 và σ = 1 thỡ phõn phối chuẩn N(0,1) cũn được gọi là phân phối chuẩn tắc Sử dụng các lệnh
Đồ thị hàm mật độ xác suất của phân phối chuẩn tắc được thể hiện qua lệnh plot(x, y, xlab="x", ylab="p(x)", type="l", main="Hàm mật độ xác suất của phân phối chuẩn tắc").
Trọng lượng của một loại sản phẩm được mô tả bằng biến ngẫu nhiên phân phối chuẩn N(5;0,01) Để tính tỉ lệ sản phẩm có trọng lượng không vượt quá 4,7 kg, chúng ta áp dụng các công thức xác suất liên quan đến phân phối chuẩn Tương tự, tỉ lệ sản phẩm có trọng lượng từ 5,05 kg trở lên cũng được xác định thông qua các giá trị z Đối với tỉ lệ sản phẩm có trọng lượng nằm trong khoảng từ 4,9 kg đến 5,2 kg, chúng ta sẽ tính toán bằng cách lấy hiệu giữa hai tỉ lệ tương ứng Cuối cùng, để tìm trọng lượng mà tỉ lệ sản phẩm có trọng lượng thấp hơn giá trị đó đạt 97%, ta cần xác định giá trị z tương ứng và tính toán trọng lượng từ đó.
Trong ví dụ này, chúng ta sẽ sử dụng hai lệnh trong R là pnorm(x, mean, sd) và qnorm(p, mean, sd) để giải quyết bài toán Lưu ý rằng trong hai lệnh này, tham số thứ hai là trung bình (μ) và tham số thứ ba là độ lệch chuẩn (σ).
Gọi X là trọng lượng của sản phẩm thì X có phân phối chuẩn với các tham số là à =5và σ 2 =0,01. a) Vì ta cần tìmP(X ≤4,7)nên lệnh trongRlà
Có 0,135% sản phẩm có trọng lượng không vượt quá 4,7 kg Xác suất cần tìm là P(X ≥ 5,05) Vì phân phối chuẩn là phân phối xác suất liên tục, nên P(X = x) = 0 với mọi x ∈ R.
Vậy có 30,854% sản phẩm có trọng lượng từ 5,05 kg trở lên. c) Vì ta cần tìm
P(4,9≤X ≤5,2) =P(4,9 psm=(length(mau)-1)/length(mau)*pshcm
Cơ quan quản lý thị trường đã thu thập số liệu về giá thành bán lẻ (đơn vị: ngàn) của một loại sản phẩm tại 40 đại lý và đã ghi nhận kết quả đáng chú ý.
Số đại lý 8 16 6 10 Tính trung bình mẫu, phương sai mẫu và phương sai hiệu chỉnh mẫu. Đầu tiên, ta nhập dữ liệu vào choR
> mau=c(rep(19,8),rep(20,16),rep(21,6),rep(22,10))
Phương sai mẫu hiệu chỉnh mẫu là
> psm=(length(mau)-1)/length(mau)*pshcm
Ví dụ 2.2.3 Thống kê chiều cao của 30 sinh viên ta thu được kết quả sau
Để tính toán trung bình mẫu, phương sai mẫu và phương sai hiệu chỉnh mẫu, trước tiên cần chuyển đổi bảng ghép lớp thành bảng tần số.
Sau đó, ta nhập dữ liệu vào choR
> mau=c(rep(152.5,4),rep(157.5,7),rep(162.5,6), rep(167.5,10),rep(172.5,3))
Phương sai mẫu hiệu chỉnh mẫu là
> psm=(length(mau)-1)/length(mau)*pshcm
Ước lượng tham số
Ước lượng khoảng của kì vọng
Trong R, lệnh t.test cho phép chúng ta xác định khoảng tin cậy cho kỳ vọng của biến ngẫu nhiên có phân phối chuẩn và phương sai chưa biết Ví dụ dưới đây sẽ minh họa cho việc áp dụng lệnh này.
Ví dụ 2.3.1 Theo dõi mức hao phí khi đi từ A đến B của một loại ô tô, ta thu được kết quả sau
Mức xăng hao phí ( lít) 19 - 19,5 19,5 - 20 20 - 20,5 20,5 - 21
Với độ tin cậy 95%, chúng ta cần xác định khoảng tin cậy đối xứng cho mức xăng hao phí trung bình khi di chuyển từ A đến B của loại ô tô cụ thể Biết rằng mức xăng hao phí là một biến ngẫu nhiên có phân phối chuẩn, bước đầu tiên trong quá trình giải bài toán này là nhập dữ liệu cần thiết.
> muc.xang.hao.phi=c(rep(19.25,2),rep(19.75,10), rep(20.25,8),rep(20.75,5))
Sau đó ta dùng lệnht.test bằng cách nêu tên dữ liệu sau tên lệnh
> t.test(muc.xang.hao.phi)
Khi đó,Rcho ta kết quả sau
One Sample t-test data: muc.xang.hao.phi t = 221.187, df = 24, p-value < 2.2e-16 alternative hypothesis: true mean is not equal to 0
20.07 Ở đây, ta chỉ quan tâm đến kết quả
Tức là với độ tin cậy 95%, khoảng tin cậy đối xứng của mức xăng hao phí trung bình khi đi từ A đến B của loại ô tô đang xét là(19,88273; 20,25727)(lít).
Chúng ta có thể sử dụng lệnh t.test để xác định khoảng tin cậy với độ tin cậy tùy chỉnh bằng cách chỉ định mức độ tin cậy trong tham số conf.level Ví dụ, để tìm khoảng tin cậy đối xứng 90% cho mức xăng hao phí trong ví dụ 2.3.1, ta thực hiện lệnh t.test tương ứng.
> t.test(muc.xang.hao.phi,conf.level=0.9)
Và ta thu được kết quả là
One Sample t-test data: muc.xang.hao.phi t = 221.187, df = 24, p-value < 2.2e-16 alternative hypothesis: true mean is not equal to 0
R không cung cấp lệnh trực tiếp để tính khoảng tin cậy cho kỳ vọng của biến ngẫu nhiên khi phương sai đã biết Do đó, người dùng cần tự tạo các lệnh để giải quyết bài toán này Khoảng tin cậy trong trường hợp này được tính bằng công thức xưu(α/2) σ.
, nên ta tạo lệnh như sau
> ktc.kv=function(mau,dlc,dtc){
Trong bài viết này, chúng ta sẽ tìm hiểu về việc ước lượng kỳ vọng của biến ngẫu nhiên, độ lệch chuẩn (dlc) và độ tin cậy (dtc) của ước lượng Để minh họa, chúng ta sẽ xem xét một ví dụ cụ thể.
Trọng lượng của một loại sản phẩm được coi là biến ngẫu nhiên với phân phối chuẩn và độ lệch chuẩn là 1 gam Khi tiến hành cân thử 25 sản phẩm thuộc loại này, chúng ta thu được các kết quả cụ thể.
Hãy ước lượng trọng lượng trung bình của loại sản phẩm trên với độ tin cậy 95%. Để giải bài toán này, đầu tiên ta nhập dữ liệu vào choR
> trong.luong=c(rep(18,3),rep(19,5),rep(20,15),rep(21,2)) Sau đó ta thực hiện lệnh
Khi phương sai của biến ngẫu nhiên chưa được biết, nếu kích thước mẫu lớn hơn hoặc bằng 30, khoảng tin cậy cho kỳ vọng của biến ngẫu nhiên có thể được tính bằng công thức x̄ ± z(α/2) * (s/√n).
, trong đó s 0 là độ lệch chuẩn hiệu chỉnh mẫu Với bài toán dạng này, ta cũng tạo lệnh tương tự như trên, nhưng bỏ đi thông sốdlc.
> ktc.kv=function(mau,dtc){
+ dcx=u*sqrt(var(mau))/sqrt(ktm)
Ví dụ 2.3.3 Đo chiều cao của 35 cây bạch đàn trong một khu rừng trồng bạch đàn, ta thu được số liệu sau
Bằng khoảng tin cậy đối xứng, hãy ước lượng chiều cao trung bình của cậy bạch đàn đối với độ tin cậy 99%.
BằngR, các thao tác sẽ như sau
> chieu.cao=c(rep(6.75,2),rep(7.25,4),rep(7.75,10), rep(8.25,11),rep(8.75,5),rep(9.25,3))
Ước lượng khoảng của phương sai
Để xác định khoảng tin cậy cho tỉ lệ p của phần tử có tính chất A trong tổng thể, cần tự xây dựng lệnh tính toán Khoảng tin cậy của p với độ tin cậy β = 1 - α được tính bằng công thức: fưu(α/2) rf(1 - f) n; f + u(α/2) rf(1 - f) n.
Để ước lượng tỉ lệ phế phẩm trong kho hàng, một cuộc kiểm tra ngẫu nhiên 100 sản phẩm đã chỉ ra rằng có 20 sản phẩm bị loại Với độ tin cậy 95%, chúng ta sẽ tính toán khoảng tỉ lệ phế phẩm cho kho hàng này.
Ước lượng khoảng của tỉ lệ
Trị số p và kiểm định giả thuyết
Trị số p
Trong nghiên cứu khoa học, trị số p, hay p-value, là một khái niệm quan trọng thường liên quan đến kiểm định giả thuyết Đây là giá trị xác suất phản ánh xác suất có điều kiện dựa trên giả thuyết cơ bản H là đúng Tuy nhiên, cần lưu ý rằng trị số p không phải là xác suất cho việc giả thuyết H đúng, cũng như không phải là xác suất cho đối thuyết K đúng.
Trị số p chỉ có thể xác định xem liệu thí nghiệm có đủ bằng chứng để bác bỏ giả thuyết H hay không, tức là nó đo lường mức độ mạnh yếu của bằng chứng chống lại H Theo quy ước khoa học, các trị số p nhỏ hơn 0,05 được coi là có ý nghĩa thống kê, nghĩa là nếu p−u(α) nên ta chấp nhận H Nghĩa là với mức ý nghĩa 0,05, ta chưa có cơ sở để kết luận trọng lượng mì chính bị đóng thiếu.
Thay vì áp dụng quy tắc kiểm định truyền thống, chúng ta có thể sử dụng lệnh pnorm trong R để tính giá trị p Kết quả cho thấy p > 0,05, do đó chúng ta chấp nhận giả thuyết H rằng E3.
Trong các bài toán kiểm định giả thuyết liên quan đến kỳ vọng của biến ngẫu nhiên với phương sai chưa biết và kích thước mẫu lớn hơn hoặc bằng 30, việc thực hiện thao tác kiểm định vẫn cần phải tiến hành một cách thủ công tương tự như đã nêu.
Một nhà máy cung cấp nước sạch cho rằng khối lượng trung bình của một loại chất độc hại trong một lít nước là 14 mg, nhưng có nghi ngờ rằng số liệu này có thể thấp hơn thực tế Sau khi kiểm tra ngẫu nhiên 64 mẫu nước, kết quả cho thấy trung bình là x̄ = 2 và độ lệch chuẩn s₀ = 0,24 Với mức ý nghĩa 8%, cần đưa ra kết luận về nghi ngờ này.
Gọi X là khối lượng của một loại chất độc hại trong một lít nước của nhà máy (mg) thỡEX =à là khối lượng trung bỡnh Xột bài toỏn kiểm định giả thuyết
Nếu sử dụng quy tắc kiểm định thì các lệnh trong Rđể giải ví dụ này là
Vìtqs>u(α)nên ta bác bỏH, chấp nhậnK Nghĩa là với mức ý nghĩa 8%, ta chấp nhận nghi ngờ nói trên.
Còn nếu sử dụng trị số p thì vì kết quả p thoi.gian=c(rep(11,1),rep(13,5),rep(15,9),rep(17,3), rep(19,2))
Sau đó sử dụng lệnht.test như sau
One Sample t-test data: thoi.gian t = 2.1794, df = 19, p-value = 0.04209 alternative hypothesis: true mean is not equal to 14
Trong lệnh trên, thoi.gian là mẫu dữ liệu cần kiểm định và mu là giả thuyết H Kết quả cho thấy trị số p = 0,04209 < 0,05, do đó chúng ta bác bỏ giả thuyết H và chấp nhận giả thuyết K Điều này có nghĩa là với mức ý nghĩa 0,05, định mức hoàn thành một sản phẩm không phải là 14 phút.
Kết quả từ R cho giá trị quan sát t qs = 2,1794 với 19 bậc tự do So sánh với t n−1 (α/2) = t 19 (0,025) = 2,093, ta nhận thấy |t qs| > t n−1 (α/2) Do đó, theo quy tắc kiểm định, ta bác bỏ giả thuyết H và chấp nhận giả thuyết K.
R cho biết khoảng tin cậy 95% cho thời gian hoàn thành sản phẩm là từ 14,03965 phút đến 15,96035 phút Do đó, có thể kết luận rằng thời gian hoàn thành 1 sản phẩm không phải là 14 phút với mức ý nghĩa 0,05.
Kiểm định giả thuyết về tỉ lệ
Đối với các bài toán kiểm định giả thuyết về tỉ lệ, trongRta sử dụng lệnh prop.test(m,n,p) Ta xét ví dụ cụ thể sau đây
Một trung tâm đào tạo cho biết tỉ lệ người học có việc làm ngay sau khi tốt nghiệp đạt 70% Tuy nhiên, một khảo sát ngẫu nhiên trên 200 cựu sinh viên chỉ ra rằng 130 người tìm được việc làm Với mức ý nghĩa 5%, cần kiểm định xem liệu tỉ lệ thực tế có thấp hơn so với báo cáo của trung tâm hay không.
Gọi p là tỉ lệ người học tại trung tâm kiếm được việc làm ngay sau khi tốt nghiệp Xét bài toán kiểm định giả thuyết
Ta sử dụng lệnhprop.testnhư sau
> prop.test(130,200,0.7,alternative="less",correctSE)
1-sample proportions test without continuity correction data: 130 out of 200, null probability 0.7
X-squared = 2.381, df = 1, p-value = 0.06141 alternative hypothesis: true p is less than 0.7
Trong bài toán kiểm định giả thuyết với đối thuyết K là p < 0,7, cần sử dụng lệnh prop.test với thông số alternative="less" và correctSE do phân phối xác suất là phân phối nhị thức Kết quả từ R cho thấy trị số p = 0,064141, cho phép ta chấp nhận giả thuyết H Điều này có nghĩa là với mức ý nghĩa 0,05, báo cáo của trung tâm được xác nhận là đúng thực tế.
Ngoài ra, với kết quả p=0,064141, ta có thể tính được giá trị quan sát như sau
Với mức ý nghĩaα =0,05ta có
Vìt qs >−u(α), nên theo quy tắc kiểm định thì ta chấp nhận H, giống như kết quả ở trên.
2.4.4 So sánh hai giá trị trung bình
Trong mục này, chúng tôi sử dụng R để giải một vài ví dụ về so sánh kì vọng của hai biến ngẫu nhiên.
Khi so sánh kỳ vọng của hai biến ngẫu nhiên có phân phối chuẩn với phương sai chưa biết nhưng giả định bằng nhau và kích thước mẫu n1 < 30, n2 < 30, chúng ta sử dụng lệnh t.test(mau1, mau2) Do lệnh này mặc định giả định phương sai của hai biến khác nhau, nên cần thêm thông số var.equal=TRUE Nếu bài toán yêu cầu kiểm định một phía, ta bổ sung thông số alternative="less" hoặc alternative="greater" Ngoài ra, có thể chỉ định độ tin cậy thông qua thông số conf.level để thực hiện kiểm định với bất kỳ độ tin cậy nào.
Một phương pháp tổ chức lao động mới đã được đề xuất trong quy trình lắp ráp chi tiết Để đánh giá hiệu quả của phương pháp này, một kỹ thuật viên đã thực hiện lắp ráp 10 chi tiết theo phương pháp cũ và 10 chi tiết theo phương pháp mới, ghi lại thời gian lắp ráp từng chi tiết (tính bằng phút).
Với mức ý nghĩa 0,01, phương pháp mới có thể được coi là đã tăng tốc độ lắp ráp chi tiết Thời gian lắp ráp các chi tiết theo hai phương pháp được xem như các biến ngẫu nhiên có phân phối chuẩn với cùng phương sai.
Gọi X 1 ,X 2 là thời gian lắp ráp các chi tiết theo phương pháp cũ và mới Khi đó,
EX 1 =à1vàEX 2 =à2là thời gian trung bỡnh Ta xột bài toỏn kiểm định giả thuyết
H :à 1 = à 2 ; K:à 1 >à 2 Đầu tiên, nhập dữ liệu vào choR
Và sử dụng lệnht.test như sau
> t.test(cu,moi,var.equal=TRUE,alternative="greater", conf.level=0.99)
Two Sample t-test data: cu and moi t = 5.4019, df = 18, p-value = 1.962e-05 alternative hypothesis: true difference in means is greater than 0
0.2901248 Inf sample estimates: mean of x mean of y
Kết quả nghiên cứu cho thấy trị số p là 1,962.10 −5, nhỏ hơn 0,05, do đó chúng ta chấp nhận giả thuyết K Với mức ý nghĩa 0,01, có thể khẳng định rằng phương pháp mới đã thực sự tăng tốc độ lắp ráp chi tiết.
Khi bài toán cung cấp phương sai của hai biến ngẫu nhiên, chúng ta không thể sử dụng lệnh t.test nữa mà cần thực hiện các bước thủ công để tính giá trị quan sát Sau đó, áp dụng quy tắc kiểm định hoặc tìm trị số p để đưa ra kết luận Lưu ý rằng giá trị quan sát được tính theo công thức t qs = (x1 - x2) / √(σ1²/n1 + σ2²/n2).
Ví dụ 2.4.6 Giải ví dụ 2.4.5 nếu giả thiết bài toán cho biếtDX 1 =0,05vàDX 2 0,03.
Ta tính giá trị quan sátt qs
> t.qs=(mean(cu)-mean(moi))/sqrt(ps.cu/length(cu))+ ps.moi/length(moi))
Với mức ý nghĩa 0,01, chúng ta có thể bác bỏ giả thuyết H và chấp nhận giả thuyết K, cho thấy rằng phương pháp mới đã thực sự cải thiện đáng kể tốc độ lắp ráp chi tiết.
Còn nếu sử dụng phương pháp tìm trị số p, thì vì p=3,894.10 −10 cor(doanh.thu,tien.qc)
Với hệ số r = 0,9803061 gần bằng 1, cho thấy mối quan hệ tuyến tính mạnh mẽ giữa doanh thu và chi phí quảng cáo Để xác thực hơn, chúng ta có thể áp dụng lệnh cor.test để kiểm tra giả thuyết rằng hệ số tương quan bằng 0.
> cor.test(doanh.thu,tien.qc)
Pearson’s product-moment correlation data: doanh.thu and tien.qc t = 8.5979, df = 3, p-value = 0.003308 alternative hypothesis: true correlation is not equal to 0
Kết quả phân tích cho thấy p=0,003308, từ đó chúng ta có đủ bằng chứng để khẳng định rằng mối liên hệ giữa doanh thu và số tiền quảng cáo là có ý nghĩa thống kê Ngoài ra, lệnh cor.test cũng cung cấp giá trị hệ số tương quan là 0,9803061, cho thấy sự tương quan mạnh mẽ giữa hai biến này.
Đường hồi quy bình phương trung bình tuyến tính
Mô hình hồi quy tuyến tính đơn giản thể hiện mối quan hệ giữa hai biến x và y qua phương trình y = α + βx + ε Trong đó, α và β là các tham số quan trọng, còn ε đại diện cho sai số trong mô hình.
Nếu ta chọn các tham số α, β sao cho tổng bình phương của sai số ε là nhỏ nhất, tức n
[yi−(α+βx i )] 2 nhỏ nhất, thì ta tìm đượcyˆ=αˆ +βˆxtrong đó βˆ n
Đường hồi quy bình phương trung bình tuyến tính của y theo x được biểu diễn bằng phương trình yˆ = αˆ + βˆx Để tính toán các giá trị của αˆ và βˆ trong R, chúng ta có thể sử dụng lệnh lm.
Trong ví dụ 2.5.2, dựa trên giả thiết từ ví dụ 2.5.1, chúng ta cần tìm phương trình hồi quy tuyến tính cho biến chi phí quảng cáo (y) dựa trên doanh thu (x) Ngoài ra, nếu doanh thu trong một tháng đạt 10 tỷ đồng, chúng ta sẽ dự đoán chi phí quảng cáo của công ty trong tháng đó là bao nhiêu.
Ta giải ví dụ này như sau
> lm(tien.qc ~ doanh.thu)
Call: lm(formula = tien.qc ~ doanh.thu)
Do đó phương trình hồi quy tuyến tính củaytheox lày=7,75x+8.
Chúng ta có thể vẽ đường biểu diễn của mối liên hệ giữa doanh thu và tiền quảng cáo bằng lệnhabline như sau
> reg=lm(tien.qc ~ doanh.thu)
> plot(tien.qc ~ doanh.thu,pch,xlab="Doanh thu",ylab
="Tiền quảng cáo",main="Đường biểu diễn mối liên hệ giữa doanh thu và tiền quảng cáo")
Nếu doanh thu của một tháng nào đó là 10 tỉ đồng, tức x = 10 thì chi phí quảng cáo của công ty tháng đó là
Khóa luận đã thực hiện được những kết quả sau đây:
1 Trình bày, giới thiệu về phần mềmR.
2 Trình bày một số ứng dụng của phần mềm R trong giải các bài toán cơ bản của Xác suất Thống kê: Tính xác suất của các phân phối nhị thức, phân phối Poisson, phân phối chuẩn, phân phối đều và phân phối mũ; tính các đặc trưng mẫu; ước lượng kì vọng và ước lượng tỉ lệ; kiểm định giả thuyết về kì vọng và về tỉ lệ; so sánh hai kì vọng và hai tỉ lệ; tính hệ số tương quan và tìm phương trình hồi quy tuyến tính Với mỗi dạng, khóa luận trình bày cách giải trên những ví dụ cụ thể.
Khóa luận sẽ tiếp tục nghiên cứu các ứng dụng của phần mềm R trong các bài toán cơ bản của Xác suất Thống kê Việc tìm hiểu sâu hơn về phần mềm R sẽ giúp khai thác tối đa tiềm năng của nó trong phân tích dữ liệu và giải quyết các vấn đề thống kê.