Please enable JavaScript.
Coggle requires JavaScript to display documents.
:silhouettes:Data Analysis, 3. Phân tích tập dữ liệu (Exploratory Data…
:silhouettes:
Data Analysis
:warning:
EDA
Definition
Mục đích nhằm tìm hiểu và có được hiểu biết một cách sâu sắc về dữ liệu và từ đó có thể đưa ra những quyết định, hướng đi tiếp theo trong việc phân tích dữ liệu
Là bước đầu tiên quan trọng cần phải làm trước khi phân tích dữ liệu
Khám phá dữ liệu (Exploratory Data Analysis)
Basis steps
Xem kích thước dữ liệu
Xem ý nghĩa các cột
Kiểu dữ liệu của mỗi cột
Xem phân phối dữ liệu của từng cột
Biểu đồ boxplot
Xem những giá trị outlier
Xem dữ liệu bị lệch trái/phải
Xem tần suất của từng loại giá trị
Biểu đồ cột
Biểu đồ tròn
Biểu đồ Histogram
Loại bỏ giá trị không hợp lệ
Xem tương quan
Hệ số tương quan càng gần 1 hay -1 thì tương quan càng mạnh
Nếu sự tương quan mạnh có thể xem sự hồi quy
Hỗ trợ trong việc lựa chọn đặc trưng
Data cleansing
Missing data
Bỏ các cột, các dòng khuyết nhiều
Điền vào các giá trị mean/median/mode
Dự đoán giá trị khuyết
Deep learning
Hồi quy
Xử lý outlier
Duplicate data
:question:
Hypothesis
Thống kê suy dẫn
Là quá trình suy ra tham số của một tập nghiên cứu từ các chỉ số thống kê của 1 mẫu
Cách làm
Xác định tập nghiên cứu
Chọn mẫu
Phân tích các chỉ số thống kê của mẫu
Suy dẫn và kết luận
Cách đánh giá
Khoảng tin cậy
là khoảng giá trị mà giá trị thực của tham số sẽ rơi vào một độ tin cậy cho trước
Độ tin cậy
là mức độ tin cậy của khoảng tin cậy
Độ lỗi chuẩn
đo độ lỗi giữa ước lượng và giá trị thực
thường được tính là độ lệch
chuẩn của phân phối trung bình của các mẫu
kích thước mẫu càng lớn thì độ lỗi càng nhỏ
Công cụ
Kiểm định giả thiết
Hồi quy
Hypothesis testing
Cách làm
Phát biểu giả thuyết rỗng và khác rỗng
Giả thuyết rỗng là giả thuyết không có gì khác biệt, thay đổi so với mẫu
Giả thuyết không rỗng: ngược lại với giả thuyết rỗng
Chọn mẫu
Xác định mức ý nghĩa
Significant level
Mức độ tin cậy giả thuyết rỗng được chấp nhận
Thường là 0.05
P-value
chỉ số đo đô mạnh của việc chấp nhận giả thuyết rỗng
p-value <= a: chấp nhận giả thuyết rỗng
Phân tích các chỉ số thống kê
Kết luận
Chấp nhận hoặc loại bỏ giả thuyết
Sai lầm loại 1
giả thuyết đúng nhưng bị loại
Sai lầm loại 2
giả thuyết sai nhưng không bị loại
Phân loại
T-test
Kiểm chứng giá trị trung bình của 1 hoặc 2 nhóm
1-sample t-test
Trung bình của nhóm khác với giá trị giả thiết
2-sample t-test
trung bình của 2 nhóm là khác nhau
paired t-test
cặp trung bình của 2 tính chất cùng đối tượng là khác nhau
Vd: cân nặng trước và sau khi ăn kiêng
Có thể sử dụng t-value hay t-critical để bác bỏ giả thiết
ANOVA test
F-Test
Kiểm tra giá trị trung bình từ 3 biến trở lên
Chi square test
Sử dụng cho dữ liệu phân lớp
:pencil2:
Machine Learning
Definition
là một ứng dụng của trí tuệ nhân tạo
liên quan đến các thuật toán và dữ liệu tự động phân tích và ra quyết định mà không cần sự can thiệp của con người
Mô tả cho máy thực hiện các công việc dựa trên những kinh nghiệm trước đó
Phân loại
Supervised learning
có một tập dữ liệu học cho trước
Classification
Nhị phân
Multiclass
Các thuật toán
Logistic regression
Naive Bayes
Decision tree
Chọn nốt nào?
Sử dụng thuật toán tham lam
Quyết định dựa trên độ đa dạng của node được tách
Gini
Entropy
Misclassification error
Tách như thế nào?
Thuộc tính phân lớp
Tách nhiều nhánh
Tách nhị phân
Thuộc tính liên tục
Rời rạc hóa
Quyết định nhị phân
Điều kiện dừng
Dừng tách node khi tất cả mẫu tin đều cùng thuộc 1 lớp
Dừng tách 1 node khi tất cả các mẫu tin có cùng giá trị
Kết thúc sớm
Điểm mạnh
Chi phí thấp
Nhanh khi phân lớp mẫu tin mới
Dễ diễn dịch nếu cây nhỏ
Accuracy tương tự các thuật toán khác nếu tập dữ liệu đơn giản
Random forest
Support Vector Machine
Dùng cho phân lớp nhị phân
K-Nearest Neighbours
Dán nhãn dựa trên k láng giếng gần nhất
thường dùng khoảng cách Euler
Prediction
Unsupervised learning
Không có tập dữ liệu học cho trước
Clustering
Thuật toán
Hierarchical clustering
Partional clustering
K-Means
Phân hoạch dữ liệu cho trước vào k cụm
1 cụm có 1 trung tâm gọi là centroid
k được xác định trước
Cách hoạt động
ngẫu nhiên chọn k điểm dữ liệu để khởi tạo điểm trung tâm cho cụm
gán điểm dữ liệu vào centroid gần nhất
tính toán lại centroid dựa trên các thành viên hiện tại của cụm
nếu dk hội tụ chưa thỏa thì quay lại bước 2
3 more items...
Điểm mạnh
Dễ hiểu, dễ cài đặt
Độ phức tạp ko cao
Thông dụng nhất
Điểm yếu
chỉ áp dụng được nếu có thể định nghĩa điểm trung bình
Phải xác định k trước
nhạy cảm với outliers
Semi- supervised
Reinforcement learning
Ứng dụng
Traffic prediction
Virtual personal assistant
Speech recognition
Email spam filtering
Malware filtering
Bioinfomatics
Natural language processing
Điểm mạnh
Nhanh, chính xác, hiệu quả
Tự động hầu hết các ứng dụng
Áp dụng rộng rãi
Không cần sự can thiệp của con người
Làm việc với dữ liệu đa chiều
Điểm yếu
Khó xác định và sửa lỗi
Đòi hỏi phải có dữ liệu
Khó diễn dịch kết quả
:recycle:
Regression
Khái niệm
Ước lượng sự liên quan bằng một hàm số sao cho sai số là thấp nhất
Ptr hồi quy: y = ax + b + e với e là sai số
là phương pháp tìm sự liên quan giữa 2 hay nhiều biến
Lợi ích
Biểu diễn sự liên hệ giữa các biến
Dự báo giá trị biến phụ thuộc dựa vào biến độc lập
trong TH đa biến có thể nói lên vai trò của các biến trong mô hình
Phân loại
Hồi quy tuyến tính
Hồi quy tuyến tính đa biến
tìm sự liên hệ giữa biến phụ thuộc Y và các biến độc lập X
Hồi quy tuyến tính đơn biến
Độ lỗi = giá trị thực - giá trị ước lượng
Các độ đo lỗi thường dùng
Sum square error (SSE)
Mean square error (MSE)
Root mean square error (RMSE)
Tìm đường hồi qui sao cho SSE là nhỏ nhất
R- squared
SSR/ SST
càng cao thì đường hồi quy 'càng tốt'
quá cao => Overfiting
Tăng khi số biến độc lập tăng
Adjusted R squared
giá trị phụ thuộc vào số biến có trong model
thay đổi khi thêm biến vào mô hình
tăng khi biến mới thêm vào làm tăng hiệu năng mô hình
Chọn sai biến sẽ khiến giá trị giảm
Tìm sự liên hệ giữa biến độc lập X và biến phụ thuộc Y
Các bước thực hiện
Chuẩn bị dữ liệu
Feature selection
Exhaustive search
Vét cạn tất cả TH
quyết định dựa trên adjusted R^2
Partial search
Forward
Bắt đầu với 0 biến
Thêm lần lượt từng biến có giá trị đóng góp cao nhất vào
Dừng đến khi các gtr thống kê không còn thay đổi nữa
Backward
Bắt đầu với tất cả các biến
Loại bỏ dần các biến ít đóng góp nhất
Dừng lại khi các biến còn lại đạt hiệu quả về mặt thống kê
Stepwise
Tương tự Forward
Tại mỗi bước cân nhắc loại bỏ các biến không cần thiết
K-best
Cực kì quan trọng
Phân chia tập train và test
Lựa chọn mô hình
Train model
Kiểm tra và đánh giá
R-square cao là dấu hiệu overfitting
Tránh overfiting
Cross validation
Sử dụng predicted R squared
Mẫu được chọn phải ngẫu nhiên
Kích thước mẫu phải đủ lớn
Lasso
Ridge
Elastic net
Hồi quy đa thức
Hồi quy logic
Khi biết phụ thuộc chỉ là 2 giá trị
Phân lớp nhị phân
Các độ đo đánh giá
Confusion matrix
True Negative
False Positive
False Negative
True Positive
Accuracy
Số TH đoán đúng
Precision
Tỉ lệ thực đúng
Recall
Tỉ lệ bỏ sót giá trị
ROC Curve
:fire:
Time Series
là dữ liệu được ghi nhận theo thời gian
Stationary
Mean và phương sai không thay đổi theo thời gian
Cách test
dựa trên cơ sở hypothesis testing
ADF
KPSS
Non stationary
Chuyển thành stationary
Khử trend
Differencing
Hàm transformation
Trend
Xu hướng của dữ liệu
Tăng/ Giảm/ Không trend
Seasonality
Thay đổi theo mùa
biết được chu kì lặp lại
Cyclical
tính lặp lại
Không biết được chu kỳ lặp lại
Irrgularity
Auto Correlation
ACF
PACF
Auto regression
Simple moving average (SMA)
Tính giá trị tiếp theo dựa trên trung bình cộng k phần tử trước đó
Exponental moving average (EMA)
Dùng hệ số alpha để điều chỉnh độ nhạy của dữ liệu
ARMA
ARIMA
p
No of lag observations
d
Số lần differencing
q
Kích thước cửa sổ trượt
Cách làm
Vẽ time series format
Biến đổi stationary trên mean bằng cách khử trend
Biến đổi stationary bằng log transform
Difference log transform để đưa về stationary trên mean và variance
Vẽ ACF và PACF để tìm AR và MA
Tìm TH tốt nhất cho mô hình ARIMA
Dự đoán giá trị tương lai
Kiểm tra lại kết quả dự đoán
AR
sử dụng dữ liệu quá khứ để dự đoán tương lai
MA
sử dụng past error để dự đoán tương lai
I
số lần differencing để biến đổi stationary data
3. Phân tích tập dữ liệu
(Exploratory Data Analysis)
Chuẩn bị dữ liệu
Xử lý dữ liệu ngoại lệ
Boxplot/Histogram để xác định các cột có dữ liệu ngoại lệ.
Scatter plot để xác định có chăng các cặp dữ liệu ngoại lệ
Xử lý các ngoại lệ:
Xác định loại ngoại lệ: do lỗi hay ngoại lệ cần chú ý?
Do lỗi: xóa/thay thế bằng giá trị phù hợp
Xử lý dữ liệu thiếu
(Missing data)
Kiểm tra dữ liệu thiếu (isnull, notnull)
Xóa cột/dòng dữ liệu thiếu (dropna)
Điền dữ liệu thiếu bằng một giá trị nào đó (fillna)
Gợi ý một số cách xử lý:
Thuộc tính dữ liệu không quan trọng -> drop
Thuộc tính quan trọng -> Fill bằng giá trị hợp lý
Chuẩn hóa dữ liệu
Trực quan hóa dữ liệu
Histogram
Đồ thị dạng thanh (bar) dùng để biểu diễn phân bố dữ liệu theo
từng khoảng (bin)
Có thể xấp xỉ phân bố xác suất của dữ liệu (probability distribution)
Có thể xác định trung tâm của dữ liệu, tính cân đối của dữ liệu: đối
xứng hay lệch
BoxPlot
Biểu diễn phân bố dữ liệu với các chỉ số:
Trung bình (Q2).
Phần tư đầu tiên (Q1).
3/4 dữ liệu (Q3).
Min
Max
Outliers
IQR (Interquartile range)
Scatter plots
Biểu diễn sự tương quan giữa hai đại lượng
dữ liệu
Nhận xét
Tính đối xứng của dữ liệu quanh trung bình ra sao?
Giá trị thống kê?
Điểm bất thường trong dữ liệu -> Đưa ra giải
pháp cho dữ liệu bất thường
Sự tương đồng của dữ liệu
Sử dụng độ đo tương đồng Pearson.
Sử dụng scatter plot
Sử dụng headmap
PHÂN TÍCH DỮ LIỆU ỨNG DỤNG
(APPLIED DATA ANALYTICS)
Giới thiệu
(Introduction to Data Analytics)
Khái niệm
[Phân tích dữ liệu là quá trình khai thác những thông tin có ích
tiềm ẩn (insight)
từ dữ liệu thô (Raw Data) phục vụ cho việc ra
quyết định của một tổ chức-doanh nghiệp.
Ví dụ: Từ dữ liệu bán hàng hằng ngày, một công ty bán lẻ muốn khác thác tìm ra những thông tin tiêm ẩn về khách hàng nhằm phục vụ tốt hơn và đạt doanh thu cao hơn
Công cụ
Python
Pandas
: Lưu trữ dữ liệu và phân tích
Numpy
: Tính toán
Statsmodels
: Các mô hình thống kê
Scikit-learn
Các mô hình hồi qui và máy học
Matplotlib/ Seaborn
: Trực quan hóa dữ liệu
Các khối kiến thức liên quan
Khoa học máy tính (Computer Science)
Lập trình
Máy học
Toán và Thống kê (Mathematics and Statistics)
Đại số tuyến tính
Giải tích (Tích phân, đạo hàm,…)
Xác suất thống kê
Kiến thức lĩnh vực ứng dụng
Các lĩnh vực, vai trò liên quan
Các lĩnh vực
Kiến trúc dữ liệu (Data Architecture)
Khoa học dữ liệu (Data Science)
Các vai trò
Kỹ sư dữ liệu (Data Engineer)
Phân tích viên dữ liệu (Data Analyst)
Nhà khoa học dữ liệu (Data Scientist)
Qui trình phân tích
1. Xác định vấn đề phân tích (Problem Definition)
Xác định chiến lược về phân tích dữ liệu và vấn đề cụ thể cần phân tích từ chiến lược phát triển, kinh doanh của tổ chức/doanh nghiệp.
ví dụ: Phân tích độ tuổi, giới tính của khách hàng
2. Tập hợp dữ liệu (Data Collection)
Từ nhiều nguồn (Resources)
Hiểu dữ liệu và định dạng
Sử dụng nhiều phương pháp rút trích dữ liệu
(Database, các tập tin dữ liệu, web)
Vấn đề phải bảo đảm dữ liệu đại diện được cho vấn đề cần phân tích. Tránh phiến diện (incomplete) hay thiên vị (Bias)
3. Phân tích tập dữ liệu (Exploratory Data Analysis)
Khái niệm
Exploratory Data Analysis (EDA) là cách tiếp cận/triết lý cho phân tích dữ liệu sử dụng các kỹ thuật khác nhau
(hầu hết là đồ thị trực quan)
để phát hiện các
thông tin ẩn (insight) trong tập dữ liệu
Khám phá cấu trúc ẩn tàng (underlying structure);
Trích các biến quan trọng;
Phát hiện các ngoại lệ và bất thường (outliers and anomalies);
Kiểm tra các giả thiết tiềm ẩn (underlying assumptions);
Phát triển các mô hình
Xác định các tham số tối ưu cho mô hình
Mục tiêu
Đề xuất giả thuyết về nguyên nhân của hiện tượng quan sát được
Thử nghiệm các giả thiết (assumptions) dựa trên suy dẫn thống kê (statistical inference)
Hỗ trợ chọn công cụ thống kê và các kỹ thuật
Cung cấp cơ sở cho việc thu thập thêm dữ liệu thông qua khảo sát (surveys) hay thực nghiệm
4. Chọn lựa mô hình (Model selection)
Kiểm tra giả thuyết (
Hypothesis Test)
Hồi qui
(Regression)
Máy học
(Machine Learning)
5. Triển khai mô hình (Model Realization)
6. Trình bày kết quả (Result Communication)
Sử dụng các công cụ trực quan hóa để trình bày một cách thuyết phục các kết quả tìm thấy
(không phải là các kỹ thuật đã sử dụng)
Xác định đối tượng trình bày
Sử dụng ngôn ngữ của lĩnh vực nghiệp vụ (tránh dùng thuật ngữ tin học)
Sử dụng biểu đồ, hình ảnh (trực quan)
Thống kê
(Statistics)
Các khái niệm căn bản
Các loại dữ liệu
Dữ liệu số (Numberic):
Liên tục (Continuous)
Rời rạc (Discrete)
Dữ liệu phân lớp (Categorical)
Dữ liệu thứ tự (Ordinal)
Biến (Variable)
Tập nghiên cứu (Population)
Mẫu (Sample)
Thống kê mô tả
(Descriptive Statistics)
Mô tả "tính chất" của dữ liệu thông qua một
số độ đo (measures) thống kê
Sự tương quan
(Correlation
Là sự liên quan giữa 2 biến _ 1 biến tăng/giảm ảnh hưởng thế nào đến biến kia?
Hệ số tương quan (Correlation Coefficient): Độ đo sự tương quan giữa 2 biến.
Hệ số tương quan Pearson: p thuộc [-1;1]
p=0: không liên quan
0<p<1: liên quan và đồng biến
-1<p<0: liên quan và nghịch biến
Các độ đo biến động
(Variation)
Bình phương độ lệch chuẩn (= phương sai)
Độ lệch chuẩn (Standard Deviation) càng nhỏ, dữ liệu càng tập trung quanh điểm trung bình.
Khoảng dữ liệu (range) = Max - Min
Các khoảng n% (percentile)
Q1: first percentile (25%)
Q2: second percentile (50%)
Q3: third percentile (75%)
IQR (Interquartile Range): khoảng từ Q1 đến Q3
Tính đối xứng
Tính đối xứng (Symmetric) bất đối xứng (Skewness) so với trung tâm.
-> Giúp so sánh phân phối của dữ liệu với phân phối chuẩn (Normal Distribution)
Các độ đo trung tâm
(Central Tendency)
mean (độ đo trung bình)
: Dễ bị ảnh hưởng bởi dữ liệu ngoại lệ. Và thường được sử dụng cho dữ liệu đối xứng và liên tục.
median (giá trị giữa) :
Không bị ảnh hưởng bởi dữ liệu ngoại lệ. Thường được dùng cho dữ liệu bất đối xứng, liên tục, thứ tự.
mode:
Dữ liệu có tần suất cao nhất
Thống kê suy dẫn
(Inferential Statistics)