Bài tập nhóm kho

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 20

2 .

PHÂN TÍCH VÀ THIẾT KẾ


1. Phân tích dữ liệu từng bảng
a. Tổng quan bộ dữ liệu

Bảng có nhiều hàng nhất là bảng tương tác của học viên, cũng có số lượng
lặp khá lớn.Còn tất cả các hàng còn lại không có dữ liệu lặp.

b. Bảng courses

Đề cập đến danh sách các học phần có sẵn và kỳ học tương ứng, các cột dữ liệu bao gồm:

 code_module: mã duy nhất của học phần.


 code_presentation: mã định danh kỳ học, bao gồm năm học và tháng bắt đầu (B cho
tháng 2 và J cho tháng 10). Ví dụ: 2013J cho biết khóa học bắt đầu vào tháng 10 năm
2013.
 module_presentation_length: số ngày kéo dài của học phần trong kỳ học, tính từ ngày
bắt đầu của kỳ đó.

c. Bảng assessments

Mô tả thông tin về các bài kiểm tra trong khóa học, bao gồm các cột sau:

 code_module: Mã học phần của bài kiểm tra.


 code_presentation: Mã định danh kỳ học của bài kiểm tra.
 id_assessment: Mã định danh của bài kiểm tra.
 assessment_type: Loại bài kiểm tra, bao gồm ba loại: TMA (bài kiểm tra giảng viên
chấm), CMA (bài kiểm tra máy tính chấm), Exam (bài thi cuối kỳ).
 date: Ngày cuối cùng để nộp bài kiểm tra, tính từ ngày bắt đầu của kỳ học (ngày 0). Ví
dụ: Đối với kỳ học 2013J, nếu ngày nộp là 19, thì ngày này tương đương với ngày
20/10/2013 nếu kỳ học bắt đầu vào ngày 1/10/2013.
 weight: Phần trăm trọng số của bài kiểm tra. Bài thi cuối kỳ thường có trọng số là 100%,
và tổng trọng số của tất cả các bài kiểm tra khác thường là 100%.

Lưu ý: Nếu ngày nộp cuối cùng của bài thi cuối kỳ là null, thì ngày cuối cùng của khóa học sẽ
được sử dụng mặc định.
d. Bảng vle

Danh sách các tài liệu có sẵn trong VLE (Virtual Learning Environment), bao gồm các thông tin
sau:

 id_site: Mã định danh của tài liệu.


 code_module: Mã học phần liên quan đến tài liệu.
 code_presentation: Mã định danh kỳ học của tài liệu.
 activity_type: Loại tài liệu, ví dụ: foruming (diễn đàn), homepage (trang chủ), quiz
(bài kiểm tra), ...
 week_from: Tuần bắt đầu dự kiến sử dụng tài liệu.
 week_to: Tuần kết thúc dự kiến sử dụng tài liệu.
e. Bảng student_info

Thông tin về học viên và kết quả học tập, bao gồm các chi tiết sau:

 code_module: Mã học phần.


 code_presentation: Mã định danh kỳ học.
 id_student: Mã định danh của học viên.
 gender: Giới tính của học viên.
 region: Khu vực sinh sống của học viên.
 highest_education: Trình độ học vấn cao nhất của học viên, ví dụ: A level (THPT),
HE Qualification (cao đẳng), ...
 imd_band: Dải chỉ số IMD đo mức độ nghèo của khu vực sinh sống, với chỉ số càng cao
thì mức độ nghèo càng cao.
 age_band: Dải độ tuổi của học viên.
 num_of_prev_attempts: Số lần học viên đã tham gia học phần này trước đó.
 studied_credits: Tổng số tín chỉ của tất cả các học phần mà học viên đã học.
 disability: Thông tin về khuyết tật của học viên (có hoặc không).
 final_result: Kết quả cuối cùng của học viên trong học phần tương ứng, ví dụ:
distinction (giỏi), pass (qua), fail (tạch), withdrawn (rút lui).

f. Bảng student_registration
gồm các chi tiết sau:

 code_module: Mã học phần.


 code_presentation: Mã định danh kỳ học.
 id_student: Mã định danh của học viên.
 date_registration: Ngày học viên đăng ký khoá học, tính bằng số ngày kể từ ngày bắt
đầu của kỳ học. Ví dụ: Nếu giá trị là -30, tức là học viên đăng ký khoá học trước 30 ngày
so với ngày bắt đầu của kỳ học.
 date_unregistration: Ngày học viên huỷ đăng ký khoá học. Nếu học viên hoàn thành
khoá học thì giá trị này là null. Nếu học viên huỷ đăng ký khoá học thì giá trị này được
xác định tương tự.

g. Bảng student_assessment

Thông tin về kết quả các bài kiểm tra của học viên được mô tả như sau:

 id_assessment: Mã định danh của bài kiểm tra.


 id_student: Mã định danh của học viên.
 date_submitted: Ngày học viên nộp bài kiểm tra, tính bằng số ngày kể từ ngày bắt đầu
của khoá học.
 is_banked: Đánh dấu xem kết quả của bài kiểm tra này có được chuyển từ kỳ học trước
sang hay không (có hoặc không).
 score: Điểm số của bài kiểm tra, trong khoảng từ 0 đến 100. Điểm dưới 40 được xem là
không đạt (tạch).
h. Bảng student_vle

Thông tin về tương tác của từng học viên với các tài liệu trên VLE được mô tả như sau:

 code_module: Mã học phần.


 code_presentation: Mã định danh kỳ học.
 id_student: Mã định danh của học viên.
 id_site: Mã định danh của tài liệu trên VLE.
 date: Ngày học viên tương tác với tài liệu, tính bằng số ngày kể từ ngày bắt đầu của kỳ
học.
 sum_click: Tổng số lần tương tác của học viên với tài liệu trong ngày đó.
2. Data Exploration
a, Biến động số lượng học viên theo từng kỳ

Có một xu hướng rõ rệt là số lượng học viên trong các kỳ học sau đang tăng lên so với các kỳ
học cùng thời điểm năm trước. Ví dụ, số lượng học viên trong kỳ học 2014B nhiều hơn khoảng
3000 học viên so với kỳ học 2013B. Tổng số học viên cho năm 2014 là khoảng 19000, vượt qua
con số 13000 học viên của năm 2013, tăng hơn 6000 học viên.

Điều này đặt nền tảng cho việc phân tích chi tiết hơn về xu hướng phát triển theo thời gian và các
yếu tố ảnh hưởng đến sự biến động của số lượng học viên.

b, Phân bố số lượng học viên theo khu vực


Biểu đồ TreeMap cho thấy rằng có 4 vùng lớn nhất với số lượng học viên cao nhất. Từ đó có thể
nhận thấy khu vực Anh và châu Âu có số lượng học viên tham gia nhiều hơn so với các vùng
khác. Phân bố này không đồng đều và có sự chênh lệch đáng kể giữa các vùng, với một số vùng
có số học viên lớn hơn đáng kể so với các vùng còn lại.

Những phát hiện này khuyến khích việc thực hiện các phân tích sâu hơn để hiểu rõ hơn về
nguyên nhân và các yếu tố tác động đến sự chênh lệch này.

c, Phân bố số lượng học viên của từng học phần theo nhóm tuổi

Biểu đồ cột thể hiện phân bố số lượng học viên của từng học phần theo nhóm tuổi, giúp so sánh
mức độ tương ứng giữa các học phần như sau:

Đối với nhóm tuổi 0-35, số lượng học viên nhiều nhất tập trung vào học phần F, đồng thời đây
cũng là học phần có số lượng học viên cao nhất trong tất cả các nhóm tuổi.

Trong nhóm tuổi 35-55, học phần B có số lượng học viên nhiều nhất. Điều đáng chú ý là trong
nhóm tuổi này, có sự giảm đột ngột về số lượng học viên, và sự giảm này càng mạnh hơn ở
nhóm tuổi trên 55.

Những biến động này giúp hiểu rõ hơn về đặc điểm của học viên và sự khác biệt giữa các học
phần.

d, Tỷ trọng học viên theo trình độ học vấn


Biểu đồ tròn giúp trực quan về sự phân bổ trình độ học vấn của học viên trong tập dữ liệu.
Có thể thấy học viên tham gia khóa học đa số là bậc THPT (A Level or Equivalent) và
chưa tốt nghiệp THPT (Lower Than A Level).
e, Data Analysis Tools
Dùng công cụ Data Analysis Tools tính toán các đại lượng thống kê: min, max, trung bình,
trung vị, độ lệch chuẩn. Dưới đây là giá trị các đại lượng này của tổng số tín chỉ đã học, điểm
kiểm tra và ngày nộp bài.

f, Phân phối điểm kiểm tra theo hình thức thi


Đầu tiên là biểu đồ phân phối điểm của hình thức thi TMA. Có thể thấy điểm tập trung chủ
yếu trong khoảng 65 - 85 điểm, với trung bình khoảng 75 và phần lớn sinh viên đạt điểm khoảng
80 trong loại bài thi này. Cũng có một số sinh viên đạt điểm cao (trên 90 điểm) và một số sinh
viên đạt điểm thấp (dưới 40 điểm).
Tiếp theo là biểu đồ phân phối điểm của bài thi Exam. Có thể thấy khoảng điểm tập trung
của bài Exam khá rộng, trải đều từ 40-100. Có vẻ phân phối điểm Exam đồng đều hơn so với
TMA.

Như đã tính toán các đại lượng thống kê ở trên, điểm kiểm tra theo mã học phần AAA có
trung bình và trung vị khá gần nhau (69.15 và 71.0). Điều này cho thấy phân phối điểm không
bị lệch nhiều. Độ lệch chuẩn khá thấp (khoảng 12) cho thấy điểm số của sinh viên trong học
phần AAA có sự ổn định hơn so với một số học phần khác.
g, Ma trận hệ số tương quan
Từ ma trận có thể thấy, số tín chỉ có hệ số tương quan lớn nhất với kết quả khoá học (0.16).
Điều này cho thấy những học viên đã hoặc đang học nhiều tín chỉ hơn có xu hướng bỏ học giữa
chừng nhiều hơn. Nguyên nhân có thể do người học ít tín chỉ đầu tư để hoàn thành khóa học
hơn, người đã học nhiều tín chỉ có kinh nghiệm hơn, họ biết khóa học nào phù hợp với mình
hơn nên sẽ bỏ giữa chừng nếu thấy không phù hợp.

3. Data Architecture

Kiến trúc Data Warehouse:


• Data source: Nguồn dữ liệu sẽ được lấy từ Kaggle và được lưu trữ dưới dạng .csv.
• Data staging: Khu vực tạm trữ giữa nguồn dữ liệu và Data warehouse chính. Ở vùng
này, dữ liệu được sao chép và lưu trữ tạm thời trong khu vực tạm trữ trước khi được xử
lý và chuyển vào Data warehouse. Công cụ được sử dụng chính ở đây là Python và
Sql server.
• Data Warehouse: Kho dữ liệu sẽ chứa 3 fact và 5 dim như trên hình. Công cụ lưu trữ
chính là Sql server.
• BI: Gồm 3 báo cáo có các tên như trên. Được trực quan hóa bằng công cụ Power BI.

4. ETL
Tiền xử lý dữ liệu là một bước quan trọng trong quá trình phân tích dữ liệu. Nó đảm bảo
rằng dữ liệu đang làm việc với đủ chất lượng và phù hợp để tạo ra kết quả phân tích hoặc dự
đoán chính xác.

a. Quy trình ETL


b, ETL dữ liệu từ data source sang staging
Ở bước này, nhóm em sẽ làm những đầu việc cụ thể như sau:
B1: Lấy dữ liệu từ csv lên dataframe bằng python
B2: Xử lý dữ liệu trên dataframe:
• Xoá dữ liệu trùng
• Chuẩn hoá lại dữ liệu
• Thay đổi kiểu dữ liệu
• Đổi tên cột cho dễ hiểu
• Xoá những dữ liệu không cần thiết.
B3: Load dữ liệu từ dataframe lên các table ở staging
Dưới đây là một số ví dụ của quá trình ETL
Sử dụng thư viện pandas để đọc file csv . Load dữ liệu lên dataframe

Thêm dữ liệu thời gian


Chuẩn hóa dữ liệu . Xóa những cột không cần thiết , thiết lập CSDL và đổ dữ liệu vào staging

Hình ảnh của các bảng trước và sau khi xử lý:


Bảng coures trước và sau khi được xử lý:
Bảng assessments trước và sau khi được xử lý:

Bảng student_info trước và sau khi xử lý:

Bảng student_assessment trước và sau khi xử lý:


Bảng student_registration trước và sau khi xử lý:

Bảng student_vle trước và sau khi xử lý:


Bảng vle trước và sau khi xử lý:

b. ETL dữ liệu từ staging sang Data Warehouse


Ở bước này, nhóm em sẽ làm những đầu việc cụ thể như sau:
B1: Lấy dữ liệu từ mysql bên staging
B2: Xử lý dữ liệu trên mysql bằng các procedure :
• Đánh id, index cho các trường cần thiết
• Tự sinh dữ liệu thời gian
B3: Load dữ liệu sang data warehouse

Hình ảnh các bảng trước và sau:


Đưa dữ liệu từ staging sang data warehouse:

5. Hệ thống chiều khái niệm


Sau quá trình tiền xử lý, từ mô hình dữ liệu OLTP ban đầu ta thu được 12 bảng dim là các
chiều mà ta sẽ dùng đến trong quá trình phân tích.
12 bảng dim gồm có:
- dim activity_type: chứa thông tin về các loại tài liệu mà học viên tương tác, có 20 giá
trị.
- dim region: chứa thông tin về khu vực sinh sống của học viên, có 13 giá trị.
- dim highest_education: chứa thông tin về học vấn của học viên, có 5 giá trị.
- dim age_band: chứa thông tin về độ tuổi của học viên theo từng dải, có 3 giá trị.
- dim gender: chứa thông tin về giới tính của học viên, có 2 giá trị.
- dim disability: chứa thông tin về việc học viên có khuyết tật hay không, có 2 giá trị.
- dim code_module: chứa thông tin về mã học phần, có 7 giá trị.
- dim assessment_type: chứa thông tin về các loại bài kiểm tra, có 3 giá trị.
- dim day: chứa thông tin ngày, có 31 giá trị.
- dim month: chứa thông tin tháng, có 2 giá trị.
- dim year: chứa thông tin năm, 4 giá trị.
- dim term: chứa thông tin kỳ học, 4 giá trị.
6. Logical Data Model

Dưới góc nhìn logic, ta cần tập trung vào 3 đối tượng chính:

 Kết quả học tập: Được đánh giá thông qua chỉ số chính là tỷ lệ điểm thi.
 Đăng ký khoá học: Được đo lường bằng chỉ số chính là số lượng học viên.
 Tương tác với hệ thống VLE: Được phản ánh qua chỉ số chính là số lượt click.

Với các đối tượng và chỉ số này, các khía cạnh cần xem xét bao gồm:

 Học viên: Bao gồm các đặc điểm như giới tính (gender), khu vực (region), dải độ tuổi
(age band), tình trạng khuyết tật (disability), và trình độ học vấn cao nhất (highest
education).
 Bài kiểm tra: Bao gồm loại bài kiểm tra (assessment_type) và mã bài kiểm tra
(assessment).
 Khoá học: Thông tin về học phần và kỳ học.
 Thời gian: Biến đổi theo ngày, tháng, năm và kỳ học.
 Tài liệu: Bao gồm mã tài liệu và loại tài liệu.

7. Physical Data Model


Từ mô hình logic, ta đưa dữ liệu về mô hình vật lý để lưu trữ trong cơ sở dữ liệu và sử dụng
để phân tích.

Mô hình dữ liệu gồm 5 bảng dim và 3 bảng fact. 5 bảng dim trong mô hình tương ứng với
5 dim đã nêu ở phần trước. 3 bảng fact gồm có:
• fact_student_result: chứa thông tin về kết quả học tập, gồm mã học viên, mã bài kiểm
tra, mã khoá học, mã đặc điểm học viên, ngày nộp bài, hạn nộp, điểm bài kiểm tra,
điểm khoá học, kết quả khóa học.
• fact_registration: chứa thông tin đăng ký khóa học của học viên, mã học viên, mã khoá
học, mã đặc điểm học viên, ngày đăng ký, ngày huỷ đăng ký khoá học.
• fact_student_vle: chứa thông tin tương tác với hệ thống của học viên, mã học viên, mã
khoá học, mã tài liệu, mã đặc điểm học viên, tổng số lượt click, ngày tương tác.
8. Mở Rộng
- Ứng dụng Microsoft Copilot vào việc xử lý dữ liệu
Microsoft Copilot, một chatbot được Microsoft phát triển và thay thế cho Cortana.
Điểm độc đáo của Microsoft Copilot: Có khả năng trích dẫn nguồn, làm thơ, viết bài hát, thiết kế đồ
họa.
Ngày phát hành lần đầu : Ngày 7 tháng 2 năm 2023

So sánh với các Chatbot khác (ChatGPT):

 Ưu điểm: Có thể tạo ra đa dạng các loại dữ liệu đầu ra hơn như thiết kế ảnh, trích dẫn
nguồn, duyệt web, v.v... Có khả năng lập trình trong đa số các trường hợp chính xác
hơn,...

 Nhược điểm: Bị giới hạn số câu chat khi sử dụng, không xem được lịch sử hỏi, ...

- Ứng dụng Copilot thực tế


Chúng ta có thể đặt các câu hỏi liên quan đến vấn để xử lý dữ liệu cũng như nhiều vấn đề khác và Copilot
sẽ cho chúng ta câu trả lời tốt nhất

You might also like