Trong phần này tôi sẽ giới thiệu các metrics đánh giá một mô hình hồi quy và machine learning

1 Regression

1.1 Các tiêu chí dựa vào sai số tuyệt đối

  1. MAE : Trung bình của sai biệt tuyệt đối

\[MAE = \frac{\sum abs(f_{i}-y_{i})}{n}\]

  1. MEDAE: Trung vị của sai biệt tuyệt đối

\[MEDAE = Median(abs(f_{i}-y_{i}))\]

  1. SAE: Tổng sai biệt tuyệt đối

\[SAE = \sum_{i}^{n}abs(f_{i}-y_{i})\]

  1. MAPE Mean absolute percentage error

\[MAPE = \frac{\sum {(\frac{abs(y_{i}-f_{i})}{y_{i}})}}{n}\]

1.2 Các tiêu chí dựa vào bình phương sai số

  1. MSE : trung bình bình phương sai số

\[MSE = \frac{\sum (f_{i}-y_{i})^{2}}{N}\]

  1. MEDSE: Trung vị bình phương sai số

\[MEDSE = Median ((f_{i}-y_{i})^{2})\]

  1. SSE: tổng bình phương sai số

\[SSE = \sum (f_{i}-y_{i})^{2}\]

  1. RMSE : Căn bậc 2 của trung bình bình phương sai số

\[RMSE = \sqrt{\frac{\sum_{i}^{n} (f_{i}-y_{i})^{2}}{n}}\]

  1. MSLE Mean squared logarithmic error

\[MSLE = \frac{\sum (log(f_{i}+1)- log(y_{i}+1))^{2}}{n}\]

  1. RMSLE: Root mean squared logarithmic errors

\[RMSLE = \sqrt{\frac{\sum (log(f_{i}+1)- log(y_{i}+1))^{2}}{n}}\]

Tip: Các tiêu chí dựa vào sai số trung bình phương nhạy hơn với chuỗi có nhiều ngoại lai (outliers). Nếu muốn có được metric tốt hơn (more robust metric) có thể dụng các tiêu chí dựa trên sai số tuyệt đối

1.3 Các tiêu chí dựa vào sai số tương đối

  1. RRSE Root relative squared error

\[RRSE = \sqrt{\frac{\sum(f_{i}-y_{i})^{2}}{\sum(y_{i} - \bar{y})^{2}}}\]

  1. RAE : Relative absolute error

\[RAE = \frac{\sum (abs(f_{i}-y_{i}))}{\sum (abs(y_{i}-\bar{y}))}\]

  1. R2 (R Squared)

\[R^{2} = \frac{MSS}{TSS} = 1 - \frac{ESS}{TSS} = \frac{\sum (f_{i}-\bar{y})^{2}}{\sum (y_{i} - \bar{y})^{2}} = 1- \frac{\sum (y_{i}-f_{i})^{2}}{\sum (y_{i} - \bar{y})^{2}} \]

R2 đánh giá tỷ lệ giải thích của mô hình ước lượng, hệ số này nằm giữa 0 và 1, càng gần 1 tỷ lệ giải thích được của mô hình càng tốt

1.4 Nhóm các hệ số khác

  1. AUC (Area under ROC Curve)

AUC là phần diện tích nằm phía dưới đường ROC (receiver operating characteristic)

  1. Gini Coefficient = 2 * AUC - 1

  2. KS (Kolmogorov-Smirnov)

Thống kê Kolmogorov – Smirnov là thống kê phi tham số định lượng khoảng cách giữa hàm phân phối thực nghiệm của mẫu và hàm phân phối tích lũy của phân phối tham chiếu, hoặc giữa các hàm phân phối thực nghiệm của hai mẫu. Khoảng cách của phân bổ tích lũy càng lớn thì có thể kết luận có khác biệt giữa hai tập hợp.

2 Machine learning

Các tiêu chí ở nhóm 1, 2, 4 đều có thể dùng được với mô hình machine learning. Ngoài ra các mô hình về machine learning cũng có 1 số metrics đặc thù

  1. F1-score

F1 score hay harmonic mean của Recall và Precisiion

  • Precision: Tỷ lệ % giá trị thực thế Positive / tổng giá trị dự báo là Positive

  • Recall: Tỷ lệ % giá trị dự báo Positive / Tổng giá trị thực thế là Positive

\[F1 = 2 \;\Big(\; \frac{(precision) \; (recall)}{precision + recall}\; \Big)\]

Nếu thay đổi ngưỡng cutoff thì giá trị của Precision và Recall sẽ thay đổi đồng nghĩa với F1 cũng thay đổi.

Nếu ngưỡng cutoff tăng từ 0 - 1 thì Recall có xu hướng giảm dần và Precision có xu hướng tăng dần hay khả năng dự báo giá trị positive tăng lên

  1. F0.5 - score

\[F0.5 = 1.25 \;\Big(\; \frac{(precision) \; (recall)}{0.25 \; precision + recall}\; \Big)\]

F0.5 score hay weighted harmonic mean của Recall và Precisiion.

So với F1, ngưỡng F0.5 luôn thấp hơn, có nghĩa là nếu sử dụng F0.5 mô hình có khả năng dự báo kém hơn với giá trị positive so với dùng F1

  1. F2 - score

\[F2 = 5 \;\Big(\; \frac{(precision) \; (recall)}{4\;precision + recall}\; \Big)\]

F2 ngược lại với F0.5, có nghĩa là nếu sử dụng F2 mô hình có khả năng dự báo tốt hơn với giá trị positive so với dùng F1

So sánh về khả năng dự báo tốt đối với giá trị positive: F0.5 < F1 < F2

  1. Accuracy

\[Accuracy = \Big(\; \frac{\text{number correctly predicted}}{\text{number of observations}}\; \Big)\]

  1. Logloss

Thước đo logarithmic loss có thể sử dụng để đánh giá hiệu quả của a binomial or multinomial classifier. Khác với AUC (đánh khả năng phân biệt của mô hình với biến nhị phân), logloss đánh giá mức độ gần đúng của giá trị ước lượng từ mô hình và giá trị thực tế. Ví dụ, mô hình có xu hướng gán giá trị dự báo cao như 0.8 cho positive class hoặc khả năng dự báo kém cho positive class với giá trị dự báo thấp như 0.5. Logloss nằm trong khoảng từ 0 đến 1

Binary classification equation:

\[Logloss = - \;\frac{1}{N} \sum_{i=1}^{N}w_i(\;y_i \ln(p_i)+(1-y_i)\ln(1-p_i)\;)\]

Multiclass classification equation:

\[Logloss = - \;\frac{1}{N} \sum_{i=1}^{N}\sum_{j=1}^{C}w_i(\;y_i,_j \; \ln(p_i,_j)\;)\]

Where:

N is the total number of rows (observations) of your corresponding dataframe.

w is the per row user-defined weight (defaults is 1).

C is the total number of classes (C=2 for binary classification).

p is the predicted value (uncalibrated probability) assigned to a given row (observation).

y is the actual target value.