Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

3/8/2023

CHƯƠNG 1: TỔNG QUAN VỀ TRỰC QUAN HÓA DỮ


TRỰC QUAN HÓA DỮ LIỆU VỚI PYTHON
LIỆU KẾ TOÁN VỚI
PYTHON Click to add text Trình bày: Phùng Anh Thư

1.1 Giới thiệu chung về trực quan hóa dữ liệu


1.1.1 Khái niệm trực quan hóa dữ liệu 1.1.1 Khái niệm trực quan hóa dữ liệu
1.1.1.1 Khái niệm 1.1.1.1 Khái niệm
• “The use of computer-supported, visual representations of abstract • Tầm quan trọng của trực quan hóa dữ liệu
data to amplify cognition.” [Card et al., 1999] • Hình ảnh được não người xử lý nhanh hơn
60.000 lần so với văn bản (chữ viết) và 90%
thông tin truyền đến não người là hình ảnh
• “The representation and presentation of data to facilitate
• Trực quan hóa dữ liệu làm cho người đọc hiểu
understanding." [Kirk, 2016] được bức tranh lớn về dữ liệu lớn bằng cách
sử dụng một hình ảnh trực quan thu nhỏ và ấn
tượng
• Trực quan giúp con người dễ dàng phát hiện
• Tóm lại, Trực quan hóa (Visualization) là kỹ thuật tạo ra những hình các xu hướng, mẫu, mối tương quan và ngoại
lệ trong một nhóm dữ liệu.
ảnh, biểu đồ, đồ thị để diễn tả thông điệp, thông tin đến người dùng. • Trực quan hóa dữ liệu đơn giản và mạnh mẽ
Trực quan hóa trình bày một cách trực quan khối dữ liệu trừu tượng để được xây dựng bằng dữ liệu đáng tin cậy với
mô hình phân tích tốt có thể giúp các doanh
tăng cường nhận thức của con người. nghiệp đưa ra quyết định kinh doanh nhanh
chóng.

3 4
3/8/2023

1.1.1.2 Lịch sử trực quan hóa dữ liệu 1.1.1.3 Phân loại


Phân loại trực quan hóa dữ liệu theo chức năng
• So sánh: Các phương pháp trực quan giúp hiển thị sự khác biệt hoặc tương đồng giữa
các giá trị.
Phân loại trực quan hóa
dữ liệu • Hiển thị dữ liệu theo thời gian: Phương pháp trực quan hiển thị dữ liệu trong một
khoảng thời gian để hiển thị như một cách để tìm xu hướng hoặc thay đổi theo thời
• Theo số lượng biến: đơn gian.
biến, nhị biến, đa biến
• Tỷ lệ: Phương pháp trực quan hóa sử dụng kích thước hoặc diện tích để hiển thị sự
• Theo hình thức thể hiện: khác biệt hoặc tương đồng giữa các giá trị hoặc cho các bộ phận với tổng thể.
Có trục tọa độ, không có
trục tọa độ • Thành phần: Các phương pháp trực quan hiển thị một phần (hoặc các bộ phận) của
một biến trong tổng số của nó. Thường được sử dụng để chỉ cách một tổng thể nào đó
• Theo chức năng: So được phân chia
sánh, tỷ lê, phân phối,
mối quan hệ • Phạm vi: Phương pháp trực quan hiển thị sự khác biệt giữa giới hạn và giới hạn dưới
trên thang điểm.
• Phân phối: Các phương pháp trực quan hiển thị tần suất, cách dữ liệu trải ra trong một
khoảng thời gian được nhóm lại.
• Mối quan hệ: Phương pháp trực quan thể hiện mối quan hệ và kết nối giữa hai hoặc
nhiều biến.

5 6

1.1.1.3 Phân loại 1.1.1.3 Phân loại


Biểu đồ thể hiện độ lớn của dữ liệu Biểu đồ thể hiện tỷ lệ của dữ liệu

7 8
3/8/2023

1.1.1.3 Phân loại 1.1.1.3 Phân loại


Biểu đồ thể hiện sự phân phối của dữ liệu Biểu đồ thể hiện sự tương quan của dữ liệu

9 10

1.1.1.3 Phân loại 1.1.1.3 Phân loại


Biểu đồ thể hiện xu thế và chuỗi thời gian trong tập dữ liệu Biểu đồ thể hiện sự không chắc chắn trong tập dữ liệu

Biểu đồ thể hiện dữ liệu không gian địa lý

11 12
3/8/2023

1.1.2 Các công cụ để thực hiện trực quan hóa dữ liệu

1.1.2 Các công cụ để


thực hiện trực quan hóa dữ liệu

Bảng các công cụ trực quan hóa dữ


liệu Python phổ biến

13 14

1.1.2 Các công cụ để thực hiện trực quan hóa dữ liệu


1.1.2.1 Nhóm các công cụ không sử dụng ngôn ngữ lập trình

1.1.2.2 Nhóm các công cụ sử dụng ngôn ngữ lập trình

Bảng các công cụ trực quan hóa dữ liệu không dựa trên Python
15 16
3/8/2023

1.1.3 Quy trình thực hiện trực quan hóa dữ liệu


1.1.3 Quy trình thực hiện trực quan hóa dữ liệu • Xác định yêu cầu: Bước đầu tiên là xác định yêu cầu cần giải quyết.
• Thu thập dữ liệu: Khi thu thập dữ liệu hoặc tích hợp dữ liệu đó là phải xác
định được định dạng dữ liệu cần thu thập. Nếu dữ liệu thu thập có định dạng
Xác định đối tượng người dùng và mục tiêu chưa phù hợp thì phải tiến hành chuyển đổi tương ứng.
Phác thảo bố cục, nội dung cơ bản cần trình bày • Phân tích dữ liệu: Có dữ liệu rồi thì cần phải phân tích để hiểu ý nghĩa của
Lựa chọn công cụ nó. Do đó, phân tích là bước chủ yếu nhất trong tạo trực quan hóa dữ liệu.
Chỉ có thông qua phân tích dữ liệu mới hiểu được dữ liệu, từ đó truyền đạt
Trình bày và format hình ảnh, biểu đồ thông tin của dữ liệu cho người khác.
Xác định cấu trúc dữ liệu, tổng hợp xử lý và tổ chức lại dữ liệu • Trực quan hóa dữ liệu: Chúng ta đã phân tích và hiểu dữ liệu (theo phân
Kiểm tra kết quả và chia sẻ báo cáo tích chi tiết) và hiểu thông tin cần truyền đạt cho người khác. Và trực quan
hóa dữ liệu là thực hiện việc truyền đạt thông tin đó.

17 18

1.1.3.2 Phác thảo bố cục, nội dung cơ bản cần 1.1.3.2 Phác thảo bố cục, nội dung cơ bản cần trình bày
trình bày

• Mỗi dạng biểu đồ được sử dụng để biểu diễn thông tin mà nó


mang lại.
• Với các loại dữ liệu khác nhau thì biểu đồ thể hiện cũng sẽ
khác nhau.
• Một số dạng biểu đồ thường gặp như: biểu đồ thanh (bar chart),
biểu đồ đường (line chart), biểu đồ tròn (pie chart), biểu đồ
bong bóng (bubble chart), biểu đồ đám mây (wordcloud), biểu
đồ nhiệt (heat map),

19 20
3/8/2023

1.1.3.3 Lựa chọn công cụ


1.1.3.4 Trình bày và format hình ảnh, biểu đồ
• Tính thẩm mỹ trong trực quan hóa
• Mô tả mọi khía cạnh của một phần tử đồ họa nhất định, thường được sử dụng trong
trực quan hóa dữ liệu nhằm thể hiện vị trí (position), hình dạng (shape), kích thước
(size), màu sắc (color), độ rộng đường (line width), kiểu đường (line type)

21 22
Tính thẩm mỹ (aesthetics) trong trực quan hóa dữ liệu

1.1.3.5 Tổ chức dữ liệu 1.1.3.6 Kiểm tra kết quả và chia sẻ báo cáo
• Có 3 kiểu thiết kế biểu đồ cần tránh:
• Xấu (Ugly): rõ ràng, đủ thông tin nhưng thiếu tính thẩm mỹ;
• Tệ (Bad): đạt tính thẩm mỹ nhưng nhận thức không đúng, cấu trúc biểu đồ
không rõ ràng, gây khó hiểu cho người xem;
• Sai (Wrong): đạt tính thẩm mỹ nhưng thiếu thông tin số liệu hoặc sai về mặt
toán học.

23 24
3/8/2023

1.2.1 Giới thiệu về ngôn ngữ python


1.2.1.1 Khái niệm
1.2 Trực quan hóa dữ liệu với python
1.2.1 Giới thiệu về ngôn ngữ python • Python là một ngôn ngữ lập trình mã nguồn mở, dễ đọc.
1.2.1.1 Khái niệm • Python cho phép tích hợp các thư viện hỗ trợ thực hiện đa
1.2.1.2 Yêu cầu sử dụng lập trình python dạng, hiệu quả cho mục tiêu trực quan hóa dữ liệu.
1.2.1.3 Tính chất dữ liệu sử dụng trong lập trình • Các thư viện sử dụng phổ biến để trực quan: matplotlib;
python seaborn, plotly.

25 26

1.2.1 Giới thiệu về ngôn ngữ python


1.2.1.1 Khái niệm Một số ứng dụng trong Kế toán
• Tại sao sử dụng Python được sử dụng cho kế
toán?
• Sinh viên thảo luận các câu hỏi sau • Phân tích chung tình hình BCTC đơn vi, phân tích chiều ngang, chiều
• 1. Nếu kế toán thực hiện các thao tác thông qua dọc, xu hướng,…
excel, các dữ liệu có số dòng trên 1 triệu dòng,
thể hiện khối lượng lớn các giao dịch, file dữ liệu • Ước tính Giá vốn hàng bán, Chi phí sản xuất chung theo pp cực đại
nặng. Hướng xử lý và giải quyết như thế nào? cực tiểu vs bình phương bé nhất.
• 2. Khi kế toán tiến hành sửa chữa các lỗi đánh • Ước tính Doanh thu, Chi phí, Số dư đảm phí,…
máy, lỗi điền ký tự số và chữ, ký tự ngày tháng
năm…thông qua excel bằng cách nào? Ước tính • Phân tích Điểm hòa vốn.
thời gian bỏ ra như thế nào?
• 3. Khi tiến hành gộp dữ liệu các tháng, quý, năm, • Thủ tục phân tích sơ bộ.
thực hiện báo cáo, kế toán xử lý theo hướng nào?
Công việc này có đòi hỏi tính lặp đi lặp lại qua
các kỳ kế toán hay linh động tùy nhu cầu quản
lý?
27 28
3/8/2023

Thảo luận Thảo luận

29 30

1.1.1.3 Phân loại


1.2.1.2 Yêu cầu sử dụng lập trình python
Dữ liệu định tính Dữ liệu định lượng
So sánh: Xác định ngoại lai
Bar chart ( biểu đồ thanh) Box and whisker plot
Pie chart (biểu đồ tròn)
Stacked bar chart (biểu đồ thanh chồng
nhau)
Tree map Mối quan hệ của hai biến
Heat map (biểu đồ nhiệt) Scatter plot (biểu đồ phân tán)

Dữ liệu địa lý Xu hướng biến động theo thời gian


Symbol map Line chart (biểu đồ đường)

Dữ liệu chuỗi Dữ liệu địa lý


31 Word cloud 32 Filled map
3/8/2023

Những biểu đồ thường được dùng khi


sử sụng phân tích dữ liệu

Những
biểu đồ
thường
được
dùng khi
sử sụng
phân
tích dữ
liệu

33 34

1.2.2 Trực quan hóa dữ liệu với python


BÀI TẬP
Vai trò thư viện Pandas
• Mối quan hệ giữa Doanh thu và khoản phải
thu thì minh họa biểu đồ nào là phù hợp? • Các thư viện phân tích dữ liệu Python chính mà bạn sẽ sử để thực hiện phân
tích, xử lý dữ liệu kế toán trước khi tiến hành trực quan hóa.
Tại sao? • Trực quan hóa pandas là thư viện phân tích dữ liệu cho Python. Nó được
• Biểu thị doanh thu của 1 công ty đa lĩnh thiết kế để thao tác dữ liệu dạng bảng và là công cụ chính mà bạn sẽ sử
dụng để làm việc với bảng tính Excel bằng Python. Thư viện pandas nhằm
vực thì biểu đồ nào phù hợp? Tại sao? mục đích “trở thành công cụ phân tích dữ liệu mạnh mẽ và khả thi nhất có
• Biểu thị doanh thu của 1 công ty đa lĩnh sẵn bằng bất kỳ ngôn ngữ (lập trình) nào”; được áp dụng rộng rãi, nó đã
(được cho là) đã đạt được mục tiêu này. pandas cung cấp mã độc lập để đọc,
vực qua các năm thì biểu đồ nào phù hợp? làm sạch và chuyển đổi dữ liệu từ nhiều nguồn khác nhau và cực kỳ nhanh
Tại sao? chóng ngay cả trên các tập dữ liệu lớn (tức là bất kỳ thứ gì trên 1 000 000
hàng). Do vậy việc sử dụng pandas và các thư viện Python khác cho các tác
vụ kế toán là cần thiết và hợp lý.

35 36
3/8/2023

1.2.2.1 Pandas 1.2.2.1 Pandas


• Pandas là 1 package Python được thiết kế để làm việc với dữ liệu đơn giản, trực quan, được “gắn nhãn” và
có liên hệ với nhau. Pandas là công cụ hoàn hảo để tinh chỉnh và làm sạch dữ liệu. Pandas được thiết kế hỗ
trợ cho các thao tác, tập hợp và trực quan hóa dữ liệu.
• Cài đăt: pip install pandas
Một số
• Tham khảo cách sử dụng pandas
hàm để vẽ
https://pandas.pydata.org/docs/user_guide/visualization.html đồ thị từ
dataframe

37 38

1.2.2.2 Matplotlib Các thành phần của biểu đồ trực quan


Giới thiệu
Cấu trúc biểu đồ
Matplotlib là một thư viện vẽ biểu đồ 2D của Python, tạo ra các dạng biểu đồ khác nhau có chất lượng
tốt.
Lý do chọn
Bạn có thể tạo các biểu đồ dạng plot,histogram, power spectra, bar chart, errorchart, scatterplot… với
chỉ vài dòng code. (theo https://matplotlib.org/)
Cài đặt pip install matplotlib

39 40
3/8/2023

1.2.2.2 Matplotlib 1.2.2.2 Matplotlib


• Các bước thực hiện vẽ biểu đồ sử dụng thư viện matplotlib
• Khai báo sử dụng các thư viện:
• Numpy/pandas/matplotlib.pyplot
• Tạo biến và xử lý dữ liệu cần vẽ biểu đồ:
• List/Array(numpy) một chiều/cột hoặc dòng của Dataframe(pansdas)
• Tạo đối tượng khung biểu đồ:
• Figure/Axes
• Vẽ biểu đồ thích hợp trong khung đã tạo:
• Plot/Bar/Barh/Pie/Boxplot/Violinplot/Hist/Scarter/Stackplot…
• Tùy chỉnh chi tiết cho biểu đồ:
• Title/Legend/Xlabel/Ylabel/Spines/Xlim/Ylim
• Hiển thị/lưu trữ biểu đồ:
• Show/save
41 42

1.2.2.2 Matplotlib
Line plot, area plot và một số tùy chỉnh
1.2.2.2 Matplotlib
Các kiểu marker

43 44
3/8/2023

1.2.2.2 Matplotlib
1.2.2.3 Searbon
Thực hành
Vẽ với dữ liệu x,y tùy ý
Vẽ line plot với line style plt.plot(x,y, '--')
Minh họa với marker, line style plt.plot(x,y, 'v:')
Thêm labels: plt.xlabel('Entries'); plt.ylabel('Values')
Thêm legend plt.legend(['first', 'Second'], loc=4)
set_titile; set_xticks; set_yticks
ax.set_title('sine')
ax.set_xticks([0,2,4,6])
ax.set_xticklabels(['zero', 'two', 'four', 'six'])
ax.set_yticks([-1,0,1])
Set_xlim; Set_ylim:
ax.set_xlim([0,11])
ax.set_ylim([-1,11])
Thêm lưới tọa độ ax.grid()

45 46

1.2.2.3 Searbon 1.2.2.3 Searbon

Các theme ( chủ đề) Các màu sắc Tiện ích của bảng màu
• set_theme(), axes_style(), • set_palette(), color_palette(), husl_palette(),
• hls_palette(), • choose_color_brewer_palette(),
• set_style(),
• cubehelix_palette(), • choose_cubehelix_palette(),
• plotting_context(), • dark_palette(), • choose_light_palette(),
• set_context(), • light_palette(),
• set_color_codes(), • diverging_palette(),
• reset_defaults(), • blend_palette(),
• xkcd_palette(),
• reset_orig(), set()
• crayon_palette(),
• choose_diverging_palette(), • mpl_palette()

47 48
3/8/2023

1.2.2.3 Searbon
Thực hành
Một số đồ thị Danh mục các biểu đồ Với dữ liệu như file excel CPV.xlsx
1, Tiến hành tao dataframe
Đồ thị thể hiện mối quan hệ 2,Vẽ biểu đồ doanh thu, biến phí, định phí
• relplot(*params[]) barplot(*params[]) 3, Xác định điểm hòa vốn
• scatterplot(*params[]) boxenplot(*params[]) Dữ liệu dưới dạng ma trận
boxplot(*params[]) clustermap (*params[])
• relplot(*params[]) heatmap(* params[]) Gợi ý:
• Đồ thị thể hiện sự phân bố của dữ liệu catplot(*params[]) Tính toán các hàm biến phí, định phí, tổng chi phí, tính
countplot(*params[]) điểm hòa vốn, sản lượng hòa vốn….
• displot(*params[])
1, Tạo df thông qua câu lệnh
• ecdfplot(*params[]) stripplot(*params[]) df=pd.read_excel('CPV.xlsx')
• histplot(*params[]) swarmplot(*params[]) 2,Vẽ biểu đồ doanh thu, biến phí y = ax + b
swarmplot(*params[]) line = plt.plot(df['x'],df['y'])
• kdeplot(*params[])
2,Vẽ biểu đồ định phí
• rugplot(*params[]) violinplot (*params[]) line = plt.axhline(…)
Đồ thị thể hiện kết quả hồi quy 3, Xác định điểm hòa vốn và vẽ line tương ứng
Nhận xét biểu đồ
• lmplot(*params[])
• regplot(*params[])
49 50
• residplot(*params[])

51

You might also like