1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO CÁO BÀI TẬP LỚN MÔN HỌC XÁC SUẤT THỐNG KÊ ĐỀ TÀI: PHÂN TÍCH DỮ LIỆU KHOA ĐIỆN - ĐIỆN TỬ

34 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phân Tích Dữ Liệu Khoa Điện - Điện Tử
Tác giả Trần Kim Phát, Nguyễn Hồng Phong, Nguyễn Hồng Phúc, Nguyễn Lê Hoàng Phúc, Trần Thị Kim Phụng
Người hướng dẫn Nguyễn Bá Thi
Trường học Đại Học Quốc Gia Thành Phố Hồ Chí Minh
Chuyên ngành Xác Suất Thống Kê
Thể loại báo cáo bài tập lớn
Năm xuất bản 2023
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 34
Dung lượng 2,87 MB

Nội dung

Trong mua bán, giá trị quan trắc là các thông tin, số liệu và dữ liệu được thu thập và sử dụng để đo lường, đánh giá và theo dõi các hoạt động liên quan đến việc mua và bán hàng hóa hoặc

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

Trang 2

Danh sách thành viên

ST

Hoàn thành (%)

Chữ ký

2 Nguyền Hồng Phong 2212557 Thống kê suy

và kiến thức nền

100%

Trần Kim Phátphat.tran108isme@hcmut.edu.vn

SĐT: 0375285553

Trang 3

MỤC LỤC PHẦN MỞ ĐẦU tr.1PHẦN NỘI DUNG tr.2

7 Nguồn dữ liệu và code tr.30

8 Tài liệu tham khảo tr.31

Trang 4

Với đề tài phân tích dữ liệu của khoa Điện - Điện tử, chúng em đã có cơ hội đểtìm hiểu sâu hơn về các phương pháp thống kê đã được thầy giảng dạy và mở rộngthêm nhiều phương pháp mới Qua đó, hình thành được nhiều ứng dụng để tăng hiệusuất, giảm chi phí, hạn chế những hiệu ứng bất lợi và tận dụng những hiệu ứng có lợitrong quản lý và điển hình hơn là thống kê.

Trang 5

Mục tiêu thu thập dữ liệu : phân tích xu hướng mua sắm, dự đoán doanh số bán hàng, xây dựng mô hình dự đoán hoặc làm sạch dữ liệu

Các loại dữ liệu xuất hiện trong dữ liệu như:

+ Dữ liệu giao dịch: order_id, order_price, order_total, delivery_charges

+ Dữ liệu sản phẩm : shopping_cart

+ Dữ liệu khách hàng : customer_id

+ Dữ liệu thời gian : date; season

+ Dữ kiệu địa điểm : customer_lat, customer_long

1.2 Các giá trị quan trắc.

Trong mua bán, giá trị quan trắc là các thông tin, số liệu và dữ liệu được thu thập và sử dụng để đo lường, đánh giá và theo dõi các hoạt động liên quan đến việc mua và bán hàng hóa hoặc dịch vụ

Trong bảng dữ liệu có 8 giá trị quan trắc, bao gồm: order_id (mã đơn hàng); customer_id (mã khách hàng ); order_price ( giá đặt hàng ); delivery_charges ( phí vậnchuyển); coupon_discount ( mã giảm giá ); order_total ( tổng đơn đặt hàng ) ;

nearest_warehouse ( tên kho gần nơi khách hàng nhất ); is_happy_cusomer (đánh giá của khách hàng)

1.3 Các loại biến.

Biến định tính:

+ order_id: ID đặt hàng duy nhất, giá trị định danh cho mỗi đơn hàng

+ customer_id: ID khách hàng duy nhất, giá trị định danh cho mỗi khách hàng+ nearest_warehouse: tên kho hàng gần nhà khách hàng nhất

Trang 6

+ Date: ngày đặt hàng theo dạng YYYY-MM-DD

+ Season: mùa trong năm khi đơn hàng được đặt

+ Customer_long: kinh độ của vị trí khách hàng

+ Coupon_discount: tỷ lệ chiết khấu giảm giá cho đơn hàng

+ Order_total: tổng giá trị đơn hàng sau khi áp dụng chiết khấu và phí giao hàng

+ Distance_to_nearest_warehouse: khoảng cách từ vị trí của khách hàng đến kho hàng gần nhất

mà không cần đưa ra các phán đoán hay suy luận về mối quan hệ giữa các biến Các

phương pháp thống kê tả thường bao gồm các đại lượng thống kê như giá trị trung bình, phương sai, độ lệch chuẩn, phân vị, tỉ lệ phần trăm, đồ thị và biểu đồ Các đại

lượng này giúp chúng ta hiểu về trung tâm, phân tán và hình dạng của dữ liệu

Trang 7

2.2 Phân tích phương sai ANOVA: Anova là một mở rộng của phương pháp kiểm định t cho các mẫu độc lập khi so sánh trung bình của các nhóm gồm các quan

sát độc lập Anova có thể so sánh nhiều hơn hai nhóm

Ký hiệu I là số nhóm ( nghiệm thức ) mà ta cần so sánh, μ1, … , μ2 lần lượt là kì vọng của các quần thể 1, , I( tức là trung bình của tất cả các quan sát có thể có khi các nghiệm thức 1,…, I (được sử dụng) Ta kiểm định các giá thiết sau:

H0: μ1=μ2=…=μ I với H1 : có ít nhất hai giá trị μ1 và μ k khác nhau

Giả sử các mẫu có kích thước khác nhau và bằng j Ký hiệu X ijx ij lần lượt làbiến ngẫu nhiên và giá trị quan sát được thứ j từ quần thể thứ i

Để kiểm định giả thiết H0: μ1= =μI

Trang 8

Hàm hồi quy tuyến tính đơn là một phương trình toán học được sử dụng để mô hình hóa mối quan hệ giữa biến phụ thuộc và biến độc lập Phương trình hàm hồi quy

ε : sai số ngẫu nhiên.

Các giả định của mô hình bao gồm:

Tính tuyến tính: Mối quan hệ tuyến tính giữa XY

Các sai số ngẫu nhiên độc lập với nhau

Các sai số ngẫu nhiên có phân phối chuẩn N (0, σ2

)

2.4 Xử lý các khoảng cách trong dữ liệu.

Ở trong dữ liệu dirty_data và missing_data, trong quá trình xử lý, nhóm đã tìm

ra được công thức để tính toán lại khoảng cách gần nhất và xác định lại kho gần nhất trong dữ liệu bằng công thức Haversine

Haversine Formula là công thức tính khoảng cách địa lý giữa 2 điểm trên bề mặt một hình cầu, chẳng hạn như Trái Đất Bằng cách sử dụng hai giá trị kinh độ và vĩ

độ khác nhau của hai điểm khác nhau trên Trái Đất với công thức Haversine để tính khoảng cách vòng tròn lớn ( khoảng cách ngắn nhất giữa hai điểm trên về mặt hình cầu)

Trang 9

lat1 , long1 là vĩ độ và kinh độ điểm đầu tiên

lat2 , long2 là vĩ độ và kinh độ điểm thứ hai

lat = lat2 – lat1

∆long = long2 – long1

R là bán kính của Trái Đất

atan2 là hàm arctangent

d là khoảng cách giữa hai điểm

2.5 Xử lý các khoảng trống trong missing_data.

Có 3 cách để xử lý:

- Thay mean(thay giá trị trung bình)

- Thay median(thay giá trị trung vị)

- Imputation

Vậy Imputation được sử dụng làm sao?

Giả định : Dữ liệu bị khuyết ở dạng MAR ( Missing at random) Ta tiến hành

xử lý dữ liệu theo từng bước:

1 Lặp imputation từ 5-20 lần cho 1 dữ liệu

2 Dựa vào dữ liệu và các tham số đã lặp, lấy trung bình các tham số

3 Từ đó suy ra mức độ bất định của giá trị, xem xét phương sai giá trị đã lắp vào

Mô tả Imputation : tạo ra nhiều dữ liệu từ 1 dữ liệu gốc bằng cách lấy mẫu ngẫunhiên có hoàn lại, mỗi lần tạo ra 1 dữ liệu nó sẽ ước tính tham số của 1 mô hình và đưavào mẫu gốc rồi lấy mẫu ngẫu nhiên ra tiếp tục Sau khi có các mẫu, lấy số trung bình các ước số

Trang 10

Đầu tiên, chúng ta cần đưa dữ liệu dirty_data.csv được download về để nhập dữliệu vào RStudio Sau đó, ta kiểm tra sơ lược về số dòng và cột của dữ liệu và các tên của cột.

Kết quả xuất ra sẽ là:

Sau đó, ta khái quát dữ liệu dirty_data ban đầu bằng lệnh summary()

Sau khi quan sát bảng dữ liệu được đưa vào, nhóm nhận thấy có nhiều vấn đề

về định dạng chữ, số, ngày tháng Và cách xác định mùa theo ngày tháng cũng bị sai lệch

Trang 11

Hình 1: Bảng dữ liệu bị sai lệch những cột liên quan đến dữ liệu ngày và chữ.

Để xử lý dữ liệu liên quan đến ngày tháng trước, ta gọi 2 thư viện liên quan đến

dữ liệu ngày tháng đó là lubridate và dplyr Sau đó ta sử dụng lệnh table để kiểm tra

tần số của cột dữ liệu season chỉ ra được số các mùa được viết bằng định dạng khác nhau

Như vậy, ta thấy được các mùa trong cột dữ liệu season đang có sự tách biệt nhau bởi các định dạng khác nhau, điều này có thể làm nhiễu dữ liệu trong quá trình tính toán, vì thế ta chỉnh lại định dạng như sau:

Trong đó, parse_date_time dùng để định dạng lại ngày tháng chuẩn, sau đó ta

sử dụng mutate để tạo một cột date và season mới trong fix_dirty Và khi đó, ta xét điều kiện dựa vào định dạng theo 2 dòng mutate ở trên đó là %m/%d/%Y, nếu tháng

là 3, 4, 5 thì là “Autumn (mùa thu)”, tháng 6, 7, 8 là “Winter (mùa đông)”, tháng 9,

10, 11 là “Spring (mùa xuân)”, còn lại nếu không thuộc các điều kiện trên thì hàm sẽ

Trang 12

đưa ra đó là “Summer (mùa hè)” Ta sử dụng lệnh table lại để xem các dữ liệu ngày

tháng đã được sửa lại hay không

Vậy là ta đã sửa xong định dạng về mùa và đã làm sạch dữ liệu này, tiếp theo ta

sử dụng lệnh tolower để sửa lại định dạng chữ trong cột shopping_cart.

Dữ liệu quan trọng tiếp theo ta cần kiểm tra đó chính là dữ liệu liên quan đến chi phí trong cửa hàng này

Chi phí và sai lệch giữa tính toán và dữ liệu được tính theo công thức như sau:

chi phi=Tienmua hang∗(100−ma giam gia)/100+ phivan chuyen

sai lech=¿chi phi−chi phi dulieu∨¿

Thực hiện các dòng tính toán xong, ta sử dụng lệnh print(sai_lech) để kiểm tra

xem sự sai lệch trong dữ liệu được thể hiện như sau:

Hình 2: Dữ liệu sai lệch giữa tính toán và dữ liệu

Ta tính toán lại toàn bộ dữ liệu liên quan đến chi phí, tiền mua hàng, mã giảm giá và phí vận chuyển

Trang 13

Khi tính toán xong, ta tính lại tổng chi phí theo công thức và tìm độ sai lệch giữa dữ liệu đã được tính toán lại.

Trong quá trình xử lý dữ liệu dirty_data, nhóm đã thấy thêm dữ liệu bị nhập sai

đó là nearest_warehouse và distance_to_nearest_warehouse Và để xác định được

dữ liệu 2 cột trên, nhóm đã tìm ra một công thức tính khoảng cách khi có tọa độ trong mặt cầu đó là công thức Haversine

Để tính toán theo công thức Haversine, ta cần tạo một data.frame có chứa tọa

độ của ba nhà kho đó là Nickolson, Bakers và Thompson Và ta đưa dữ liệu

customer_lat và customer_lon của khách hàng để tính toán theo công thức Haversine Ngoài ra, ta còn phải biết bán kính Trái Đất là 6371(km) và phải chuyển đổi từ độ sangradian để thuận lợi trong việc tính toán

Ta lần lượt tính khoảng cách từ địa chỉ khách hàng đến từng kho đôi một và đưa

dữ liệu vào Bang_khoang_cach để thuận tiện trong việc xác định khoảng cách gần

nhất và kho gần nhất Trong quá trình thực hiện hàm Haversine được định nghĩa trong

R, ta cần phải đưa lat và lon của từng warehouse sau đó ta đổi từ độ sang radian và tính ∆lat và ∆lon rồi mới đưa vào công thức Haversine để tính toán khoảng cách.

Trang 14

Hình 3 Tính toán khoảng cách đến kho Nickolson.

Hình 4 Tính toán khoảng cách đến kho Bakers.

Hình 5 Tính toán khoảng cách đến kho Thompson.

Trang 15

Sau khi đã xác định được khoảng cách của từng kho tương ứng tới địa chỉ, ta

cần dựa vào Bang_khoang_cach và xác định lại các kho gần nhất Ngay sau đó, ta so

sánh dữ liệu kho gần nhất khi đã sử dụng công thức Haversine và so sánh dữ liệu ban đầu, ta sẽ thấy được số kho xác định sai và khoảng cách giữa các kho xác định sai đến kho gần nhất khi được áp dụng Haversine

_

Theo như kết quả ở trên, lệnh is_same dùng để so sánh dữ liệu kho gần nhất,

nếu hai dữ liệu giống nhau, thì sẽ được coi là đúng kho và ngược lại Và số kho đúng trong dữ liệu đó là 444 và có 56 kho đã bị xác định sai

3.2 Xử lý Missing_data.

Đầu tiên, chúng ta cần đưa dữ liệu missing_data.csv được download về để nhập

dữ liệu vào RStudio Sau đó, ta kiểm tra sơ lược về số dòng và cột của dữ liệu và các tên của cột

Trang 16

Qua kết quả trên, ta thấy có 80 ô dữ liệu bị khuyết và số ô có dữ liệu là 7920 ô Được thể hiện rõ hơn qua biểu đồ sau:

Tiếp ngay sau, ta sẽ sử dụng phương pháp Imputation để thực hiện điền khuyết

các dữ liệu như customer_lat, customer_long, is_happy_customer.

Sau đó, ta tiếp tục sử dụng công thức Haversine để tính toán khoảng cách từ nhà kho đến địa điểm của khách hàng tương tự giống như tính ở bên trên dirty_data.

Trang 17

Đưa dữ liệu vị trí của các nhà kho và lấy dữ liệu từ cột customer_lat và

customer_long của khách hàng để tính toán Ta cần phải đổi đơn vị độ sang radian và cho bán kính của Trái Đất là 6371 (km) Thực hiện các tính toán như sau:

Hình 6 Tính toán khoảng cách đến kho Nickolson.

Trang 18

Hình 7 Tính toán khoảng cách đến kho Bakers.

Hình 8 Tính toán khoảng cách đến kho Thompson.

Trang 19

Ở bảng dữ liệu missing_data, cột mùa cũng đang bị khuyết vì thế ta sẽ sử dụng thư viện lubridate và dplyr để xác định mùa theo định dạng có sẵn trong dữ liệu.

Trang 20

Hình 9 Tổng quan dữ liệu của fix_dirty.

Hình 10 Tổng quan dữ liệu của fix_missing.

Sau khi sử dụng lệnh summary(), ta nhận thấy ở fix_dirty có những giá trị bấtthường (được khoanh đỏ) Vẽ đồ thị để thể hiện rõ những giá trị đó

Trang 21

Biểu đồ 3 Biểu đồ phân phối tiền mua hàng có các điểm gây nhiễu.

Biểu đồ 4 Biểu đồ hộp thể hiện tiền mua hàng có các điểm gây nhiễu.

_

Nhìn bằng mắt thường, ta nhận ra các giá trị được khoanh đỏ có sự sai lệch rấtlớn, vì vậy, nhóm đã đưa ra một giải pháp đó dựa vào box plot, ngoài những đườngWhiskers, nhóm sẽ sử dụng công thức lấymedian ± 1.5× IQR để xác định giới hạn chophép, những điểm ngoài giới hạn đó nhóm sẽ bỏ giá trị đó đi Sau khi bỏ các giá trịgây nhiễu, vẽ lại biểu đồ, ta thu được đồ thị phân phối tiền mua hàng như sau:

Biểu đồ 5 Biểu đồ phân phối tiền mua hàng đã loại các giá trị gây nhiễu.

Trang 22

Biểu đồ 6 Biểu đồ hộp thể hiện tiền mua hàng đã loại các giá trị gây nhiễu.

_

Tương tự với order_total Ta vẽ các biểu đồ thể hiện trước khi lọc các giá trịgây nhiễu và sau khi lọc các giá trị gây nhiễu, đồng thời vẽ box plot

Biểu đồ 7 Biểu đồ phân phối chi phí cuối cùng.

Biểu đồ 8 Box Plot thể hiện chi phí cuối cùng.

_

Ngoài ra, nhóm còn sử dụng công thức Q1−1.5 × IQR và Q3+1.5 × IQR để xácđịnh giới hạn cho phép nhằm so sánh với công thức loại bỏ outlier dựa vào mediannhư ở trên Vẽ lại biểu đồ và box plot sau khi đã loại các yếu tố gây nhiễu

_

Trang 23

Biểu đồ 9 Biểu đồ thể hiện phân phối chi phí cuối cùng đã loại các giá trị gây nhiễu.

Biểu đồ 10 Box Plot thể hiện chi phí cuối cùng đã loại các giá trị gây nhiễu

_

Quan sát summary(fix_missing) ta thấy được rằng, fix_missing không có điểm

ngoại lai hoặc có nhưng mà không đáng kể Vẽ biểu đồ thể hiện order_price và order_total của fix_missing.

Biểu đồ 11 và 12 Biểu đồ thể hiện phân phối tiền mua hàng và chi phí cuối cùng.

Biểu đồ 13 và 14 Box Plot thể hiện tiền mua hàng và chi phí cuối cùng.

Ngày đăng: 15/04/2024, 23:59

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w