BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI --------BÀI BÁO CÁO THỰC HÀNH GIẢI BÀI TOÁN THỐNG KÊ TRÊN PHẦN MỀM R Đề tài : Phân tích tỷ lệ số giờ làm / ngày của sinh viê
THỐNG KÊ MÔ TẢ
Tiến hành nhập dữ liệu
tiến hành thống kê
1.2.1 Bảng phân phối tần số , tần suất
Vẽ đa giác tần số :
Vẽ đa giác tần số theo khoảng 0,5 : + Sinh viên năm 1 :
- Biểu đồ cột của tần số:
-Sinh viên năm nhất: barplot(table(bangtanso1),col="blue", border="red", main="Bieu do ty le so gio lam trong ngay", slab="Ty le gio lam", ylab="tan so")
-Sinh viên năm hai: barplot(table(bangtanso2),col="blue", border="red", main="Bieu do ty le so gio lam trong ngay", slab="Ty le gio lam", ylab="tan so")
-Tính số khoảng chia K theo công thức Sturge:
● so_gia_tri hist(Svien2, breaks, col = "lightblue", main = "bieu do histogram
+ ty le so gio lam cua sinh vien nam 2", xlab= " gia tri", ylab= "tan so")
*Svien2 : Dữ liệu bạn muốn vẽ histogram, trong trường hợp này số giờ làm/ngày cảu sinh viên năm hai
* col = "lightblue": Màu sắc của các cột trong histogram, ở đây là màu xanh
* main = "Biểu đồ Histogram số giờ làm/ngày của sv năm hai": Tiêu đề của biểu đồ, giải thích nội dung của biểu đồ
* xlab = "Thoi gian": Nhãn trục hoành, giải thích ý nghĩa của trục hoành, trong trường hợp này là giá trị của dữ liệu
* ylab = "Tan so": Nhãn trục tung, giải thích ý nghĩa của trục tung, trong trường hợp này là tần số (số lần xuất hiện của mỗi giá trị)
*breaks = ceq(0,9,1) : 0 là giá trị đầu, 9 là giá trị cuối, 1 là khoảng cách giữa các giá trị.
*sogio là các giá trị
* Tile tính toán tỷ lệ phần trăm của mỗi giá trị
*pie(bangtanso1, ) tạo biểu đồ tròn với các thông số sau:
* labels = paste(sogio, ":", Tile, "%") thiết lập nhãn cho các phần, nó sẽ hiển thị tên của giá trị cùng với tỷ lệ phần trăm
* col = rainbow(8) sử dụng bảng màu cầu vồng với 8 màu để màu sắc của các phần.
* lty = 1 thiết lập kiểu đường là liền
* main = "Số giờ làm/ngày của sv năm nhất " là tiêu đề của biểu đồ
* sub = "Sinh viên năm nhất" là phụ chú của biểu đồ
* cex = 1 là kích thước của các nhãn, trong đây 1 là kích thước mặc định.
> Tile pie(bangtanso2,labels = paste(sogio, ":", Tile, "%") , col = rainbow(8), lty = 1, main "Số giờ làm/ngày của sv năm hai", sub = "Sinh viên năm hai", cex = 1)
*sogio là các giá trị
Tile tính toán tỷ lệ phần trăm của mỗi giá trị
*pie(bangtanso2, ) tạo biểu đồ tròn với các thông số sau:
labels = paste(sogio, ":", Tile, "%") thiết lập nhãn cho các phần, nó sẽ hiển thị tên của giá trị cùng với tỷ lệ phần trăm
col = rainbow(8) sử dụng bảng màu cầu vồng với 8 màu để màu sắc của các phần
lty = 1 thiết lập kiểu đường là liền
main = "Số giờ làm/ngày của sv năm hai " là tiêu đề của biểu đồ
sub = "Sinh viên năm hai" là phụ chú của biểu đồ
cex = 1 là kích thước của các nhãn, trong đây 1 là kích thước mặc định.
Biểu đồ hộp và râu:
> boxplot(Svien1, main = "So gio lam moi ngay cua sinh vien nam nhat", border =
"blue1", col = "red", horiz = F, xlab = "", ylab = "so gio lam", ylim = c(0,8))
Svien1: dữ liệu cần được biểu diễn o main = “So gio lam moi ngay cua sinh vien nam nhat”: tiêu đề của biểu đồ o border = “blue1”: màu của đường viền hộp o col = “red:”: màu của hộp o horiz = FALSE: Xác định xem biểu đồ có nằm ngang (TRUE) hay dọc
(FALSE) Trong trường hợp này, biểu đồ được vẽ dọc o xlab = “”: nhãn trục x o ylab = “so gio lam”: nhãn trục y o ylim = c(0,8): phạm vi của trục y từ 0 đến 8
> boxplot(Svien2, main = "So gio lam moi ngay cua sinh vien nam hai", border =
"blue1", col = "yellow", horiz = F, xlab = "", ylab = "so gio lam", ylim = c(0,8))
Svien2: dữ liệu cần được biểu diễn o main = “So gio lam moi ngay cua sinh vien nam hai”: tiêu đề của biểu đồ o border = “blue1”: màu của đường viền hộp o col = “yellow”: màu của hộp o horiz = FALSE: Xác định xem biểu đồ có nằm ngang (TRUE) hay dọc (FALSE)
Trong trường hợp này, biểu đồ được vẽ dọc o xlab = “”: nhãn trục x o ylab = “so gio lam”: nhãn trục y o ylim = c(0,8): phạm vi của trục y từ 0 đến 8
- Biểu đồ so sánh số giờ làm việc mỗi ngày của sinh viên năm nhất và sinh viên năm hai:
> boxplot(Svien1, Svien2, main = "Bieu do so gio lam trong ngay sinh vien nam nhat va sinh vien nam hai", border = "blue1", col = c("red","yellow"), horiz = F, ylab = "so gio lam", ylim = c(0,8), names = c("sinh vien nam nhat", "sinh vien nam hai"), col.main = "blue")
Svien1, Svien2: dữ liệu cần được biểu diễn
main = “Bieu do so gio lam trong ngay sinh vien nam nhat va sinh vien nam hai”: tiêu đề của biểu đồ
border = “blue1”: màu của đường viền hộp
col = c(“red”,“yellow”): màu của hộp cho sinh viên từng năm, màu đỏ cho sinh viên năm nhất và màu vàng cho sinh viên năm hai
horiz = FALSE: Xác định xem biểu đồ có nằm ngang (TRUE) hay dọc
(FALSE) Trong trường hợp này, biểu đồ được vẽ dọc
ylab = “so gio lam”: nhãn trục y
ylim = c(0,8): phạm vi của trục y từ 0 đến 8
names = c("sinh vien nam nhat", "sinh vien nam hai"): tên của hai hình hộp
col.main = “blue”: màu của tiêu đề
1.2.4 Các giá trị đặc trưng của biến
● Trung vị của các giá trị:
● Các giá trị mode và vị trí của các giá trị mode này trong table(x):
> which(table(Svien1) == max(table(Svien1)))
● Giá trị nhỏ nhất, lớn nhất của các giá trị:
● Phương sai của các giá trị:
● Giá trị nhỏ nhất, giá trị lớn nhất, giá trị trung bình, các tứ phân vị của các giá trị:
● Trung vị = 4 ; Mode = 4,317; Min = 0; Max = 8
● Trung bình mẫu: mean(Svien2)
● Trung vị của các giá trị:
● Các giá trị mode và vị trí của các giá trị mode này trong table(x):
> which(table(Svien2) == max(table(Svien2)))
● Giá trị nhỏ nhất, lớn nhất của các giá trị:
● Phương sai của các giá trị:
● Giá trị nhỏ nhất, giá trị lớn nhất, giá trị trung bình, các tứ phân vị của các giá trị:
● Trung vị = 5 ; Mode = 4,733; Min = 0; Max =8
ƯỚC LƯỢNG KHOẢNG CHO GIÁ TRỊ TRUNG BÌNH VÀ TỈ LỆ
Ước lượng trung bình
BT1: Số giờ làm / ngày của một sinh viên năm nhất(Svien1) được giả sử là tuân theo phân phối chuẩn với độ lệch tiêu chuẩn là 2h Người ta thống kê số giờ làm / ngày của 60 sinh viên năm nhất và thu được dữ liệu:
Tìm khoảng tin cậy 95% cho số giờ làm / ngày của 60 sinh viên năm nhất.
*Thực hiện kiểm định trên R
> t.test(Svien1, sigma.Svien1 = 2, conf.level = 0.95)
- Svien1 : là mẫu dữ liệu cần ước lượng
- sigma.Svien1 = 2: là giả định về độ lệch chuẩn của mẫu Trong trường hợp này, giả định rằng độ lệch chuẩn của mẫu là 2.
- conf.level = 0.95: số thuộc [0,1] chỉ độ tin cậy của khoảng ước lượng, mặc định là
Kết quả trên cho ta biết về số giờ làm trung bình / ngày của 60 sinh viên năm nhất là: x̅ = 4.316667
-Kết quả về khoảng tin cậy:
→Vậy ta có khoảng tin cậy 95% cho số giờ làm trung bình / ngày của 60 sinh viên năm nhất là
BT2: số giờ làm trung bình / ngày của sinh viên năm hai tại thời điểm hiện tại được cho là tuân theo phân phối chuẩn với độ lệch chuẩn là 2h Người ta chọn ngẫu nhiên ra 60 sinh viên năm hai và thấy số giờ làm trung bình / ngày của nhóm là 4.8h Hãy xác định khoảng tin cậy 95% cho số giờ làm trung bình / ngày của sinh viên năm hai.
*Thực hiện kiểm định trên R
-mean.x = 4.8 : bình mẫu quan sát
-sigma.x = 2 : độ lệch chuẩn của mẫu quan sát
-n.x = 60 : kích thước mẫu quan sát
Vậy ta có khoảng tin cậy 95% cho số giờ làm trung bình / ngày của sinh viên năm hai là : [4.293939; 5.306061].
BT1: Số giờ làm / ngày của một sinh viên năm hai(Svien2) được giả sử là tuân theo phân phối Người ta thống kê số giờ làm / ngày của 60 sinh viên năm hai và thu được dữ liệu:
Tìm khoảng tin cậy 95% cho số giờ làm / ngày của 60 sinh viên năm hai.
*Thực hiện kiểm định trên R
-Svien2: là mẫu dữ liệu cần ước lượng
- conf.level = 0.95: số thuộc [0,1] chỉ độ tin cậy của khoảng ước lượng, mặc định là 0.95
Kết quả trên cho ta biết về số giờ làm trung bình / ngày của 60 sinh viên năm hai là: x̅ = 4.733333
-Kết quả về khoảng tin cậy:
→Vậy ta có khoảng tin cậy 95% cho số giờ làm trung bình / ngày của 60 sinh viên năm nhất là
BT2: Trong một cuộc khảo sát số giờ làm / ngày của một sinh viên năm nhất ở một trường đại học, người ta lấy một mẫu gồm 60 học sinh, cho trả lời các câu hỏi và tính được số giờ làm trung bình / ngày là 4.2h và độ lệch chuẩn của mẫu là 2h Hãy tìm khoảng tin cậy cho số giờ làm trung bình / ngày với độ tin cậy 98% của sinh viên năm nhất ở trường đại học đó.
*Thực hiện kiểm định trên R
> tsum.test(mean.x = 4.2, s.x = 2, n.x = 60, conf.level = 0.98)
-mean.x = 4.2 : trung bình mẫu quan sát.
-sigma.x = 2 : độ lệch chuẩn của mẫu quan sát.
-n.x = 60 : kích thước mẫu quan sát.
-conf.level : 0.98 : số thuộc [0,1] chỉ độ tin cậy của khoảng ước lượng, trong bài này là
Vậy ta có khoảng tin cậy 98% cho số giờ làm trung bình / ngày của sinh viên năm nhất trong trường đại học là [3.582587; 4.817413].
Ước lượng tỷ lệ
Bài toán : Người ta thống kê số giờ làm them của sinh viên năm 1(Svien1) và sinh viên năm 2 (Svien2) và thu được dữ liệu:
Số giờ làm thêm Sinh viên năm 1:
Nhận thấy có 28 sinh viên năm 1 đi làm thêm trên 4 giờ / ngày Hãy ước lượng khoảng tin cậy 95% cho tỷ lệ sinh viên đi làm thêm trên 4 giờ / ngày.
Thực hiện kiểm định trên R: prop.test(x(, n`,conf.level = 0.95, correct = FALSE)
-Vì n.f > 10 và n.(1-f) > 10 nên tham số correct = FALSE
Vậy khoảng tin cậy 95% cho tỷ lệ sinh viên năm 1 đi làm thêm trên 4 giờ / ngày là [0.3462791, 0.5910657]
ĐỊNH GIẢ THUYẾT THỐNG KÊ
Kiểm định về giá trị trung bình
Trước khi tiến hành kiểm định cần thực hiện khai báo sau:
BT1: Số giờ làm / ngày của một sinh viên năm nhất(Svien1) được giả sử là tuân theo phân phối chuẩn với độ lệch tiêu chuẩn là 2h Người ta thống kê số giờ làm / ngày của 60 sinh viên năm nhất và thu được dữ liệu:
Có thể kết luận rằng tỷ lệ số giờ làm / ngày của 1 sinh viên năm nhất (Svien1) lớn hơn 5% với mức ý nghĩa 5% hay không?
Làm Bài toán kiểm định:
* Thực hiện kiểm định trên R:
31 t.test(Svien1, alternative = "greater", mu = 5, sigma.x=2, conf.level = 0.95)
+alternative: chuỗi kí tự chỉ đối thuyết; là một trong ba chuỗi: “two.sided”,
“less”,“greater”, tương ứng chỉ đối thuyết là hai phía, trái, phải; mặc địnhlà “two.sided”
Ta có thể dùng kí tự đầu của chuỗi kí tự để thay cho chuỗi đó
-Phân tích kết quả và kết luận:
One Sample t-test data: Svien1 t = -2.9116, df = 59, p-value = 0.9975 alternative hypothesis: true mean is greater than 5
3.924476 Inf sample estimates: mean of x
-KẾT QUẢ TRÊN CHO TA 1 SỐ THÔNG TIN SAU:
+trị số -p của bài toán là: p-value =0,9975
+tỉ lệ số giờ làm trung bình/ ngày của sv năm nhất trong mẫu: = 4.316667
→Kết luận: Vì p-value >⍺ nên ta không bác bỏ H0 thay bằng H1 Do đó, không thể cho rằng tỉ lệ số giờ làm trung bình/ ngày của sv năm nhất lớn hơn 5% với mức ý nghĩa 5%.
BT2: Số giờ làm / ngày của một sinh viên năm nhất(Svien1) được giả sử là tuân theo phân phối chuẩn với độ lệch tiêu chuẩn là 2h Người ta thống kê số giờ làm / ngày của 60 sinh viên năm nhất và thu được dữ liệu:
Có thể kết luận rằng tỷ lệ số giờ làm / ngày của 1 sinh viên năm nhất (Svien1) bằng 2% với mức ý nghĩa 5% hay không?
Bài toán kiểm định: - Giả thuyết
* Thực hiện kiểm định trên R: t.test(Svien1, alternative = "two.sided", mu = 2, sigma.x=2, conf.level 0.95)
+alternative: chuỗi kí tự chỉ đối thuyết; là một trong ba chuỗi: “two.sided”,
“less”,“greater”, tương ứng chỉ đối thuyết là hai phía, trái, phải; mặc địnhlà “two.sided”
Ta có thể dùng kí tự đầu của chuỗi kí tự để thay cho chuỗi đó
One Sample t-test data: Svien1 t = 9.8711, df = 59, p-value = 4.171e-14 alternative hypothesis: true mean is not equal to 2
- Kết quả trên cho ta một số thông tin sau:
+trị số p- của bài: p-value=4.171e-14
+tỉ lệ số giờ làm /ngày của sv năm nhất là: = 4.316667
Kết luận: Vì p-value < ⍺ nên ta bác bỏ H0 thay bằng H1 Do đó, không thể kết luận rằng tỷ lệ số giờ làm / ngày của 1 sinh viên năm nhất (Svien1) bằng 2%.
Kiểm định về tỷ lệ
Bài toán: Có ý kiến cho rằng tỷ lệ làm thêm trên 4 giờ / ngày của sinh viên năm 2 là 70%.
Theo khảo sát, ta thu được dữ liệu:
Nhận thấy có 34 sinh viên năm 2 đi làm thêm trên 4 giờ / ngày Có thể kết luận rằng tỷ lệ sinh viên năm 2 đi làm thêm trên 4 giờ / ngày nhỏ hơn 70% hay không với mức ý nghĩa 5%.
Bài làm Bài toán kiểm định:
Thực hiện kiểm định trên R:
-Vì n.f > 10 và n.(1-f) > 10 nên ta thêm tham số correct = FALSE
Phân tích kết quả và kết luận:
- Kết quả cho thấy giá trị p-value< 0.05 nên ta bác bỏ H0 thay bằng H1
→ Vậy tỷ lệ sinh viên năm 2 đi làm thêm trên 4 giờ / ngày nhỏ hơn 70%
Kiểm định về 2 giá trị trung bình
Bài toán kiểm định về 2 giá trị trung bình
Một nghiên cứu được thực hiện để so sánh số giờ làm thêm trung bình mỗi ngày của sinh viên năm 1 và sinh viên năm 2 Dữ liệu thu thập được từ một nhóm sinh viên như sau:
Số giờ làm thêm mỗi ngày của sinh viên năm 1:
Số giờ làm thêm mỗi ngày của sinh viên năm 2:
Hãy thực hiện kiểm định t để kiểm tra xem liệu có sự khác biệt có ý nghĩa thống kê giữa số giờ làm thêm trung bình của sinh viên năm 1 và sinh viên năm 2 hay không Sử dụng mức ý nghĩa𝛼=0.05
* Thực hiện kiểm định trên R:
> t_test_result 10 và n.(1-f)>10 nên ta có correct = FALSE prop.test(c(14, 22), c(60, 60), alternative = "two.sided",correct = FALSE)
Phân tích kết quả và kết luận :
2-sample test for equality of proportions without continuity correction data: c(14, 22) out of c(60, 60)
X-squared = 2.5397, df = 1, p-value = 0.111 alternative hypothesis: two.sided
Ta có p – value >0,05 lớn hơn mức ý nghĩa 𝛼=0,05 không đủ bằng chứng để bác bỏ giả thuyết không Do đó, không có đủ bằng chứng để kết luận rằng tỷ lệ thành công trong nhóm thứ hai lớn hơn tỷ lệ trong nhóm thứ nhất Đề Bài Một nghiên cứu được thực hiện đ
HỒI QUY VÀ TƯƠNG QUAN
Bài toán: Sử dụng(dữ liệu phía trên) số liệu về số giờ làm trong một ngày của sinh viên năm nhất(Svien1, giờ) và sinh viên năm hai(Svien2, giờ) và tìm: a, Tìm hệ số tương quan giữa Svien1 và Svien2 b, Tìm hàm hồi quy tuyến tính của Svien2 theo Svien1 c, Tìm khoảng tin cậy 95% cho Svien2 với Svien1 = 4 giờ d, Vẽ biểu đồ phân tán và đường hồi quy.
Giải: a, Tìm hệ số tương quan giữa Svien1 và Svien2
- Ta dùng hàm để tìm:
-Giải thích: cor: đây là hàm trong R để tìm hệ số tương quan b, Tìm hàm hồi quy tuyến tính của Svien2 theo Svien1( dùng hàm reg)
-Ta dùng hàm để tìm:
+ lm: Đây là hàm trong R để thực hiện mô hình hồi quy tuyến tính (linear regression)
+ Svien2~Svien1: Đây là cách diễn đạt mối quan hệ giữa biến phụ thuộc (dependent variable) và biến độc lập (independent variable) Trong trường hợp này, Svien1 được sử dụng làm biến độc lập để dự đoán Svien2 Dấu ~ chỉ ra mối quan hệ giữa các biến
+ reg plot(Svien2 ~ Svien1, pch=2, col ='blue')
>abline(reg,col='red',lwd=9)
(>plot(Svien2 ~ Svien1, pch=2, col ='blue') + abline(reg,col='red',lwd=9)) -Kết quả hiển thị:
-Trong các câu lệnh trên: