Vì sao dùng phân tích sống sót?

Phân tích sống sót bằng Python

Shae Wang

Senior Data Scientist

Ví dụ: tuổi thọ pin trung bình

Tên DataFrame: battery_df

Mã pin Thời lượng Chết Thương hiệu Xe tải
1 2.5 năm Không Hãng A Dài
2 6 năm Hãng B Ngắn
3 5 năm Không Hãng B Dài
... ... ... ... ...
1000 4.5 năm Hãng A Ngắn

Tuổi thọ pin trung bình là bao nhiêu?

np.average(battery_df["Duration"])
Phân tích sống sót bằng Python

Ví dụ: tuổi thọ pin trung bình

Tranh kiểm duyệt tuổi thọ pin.

Phân tích sống sót bằng Python

Kiểm duyệt trong tuổi thọ pin

Tranh kiểm duyệt tuổi thọ pin.

  • $T_{duration} \neq T_{lifetime}$ với pin chưa hỏng.
  • Pin 1, 3, 4 và các pin chưa quan sát hỏng đã được tính trung bình một cách không phù hợp.
Phân tích sống sót bằng Python

Vấn đề kiểm duyệt

Khi thời gian sống chỉ biết một phần.

Kiểm duyệt xảy ra thế nào?

  • Sự kiện chưa xảy ra khi kết thúc quan sát.
    • ví dụ: người dùng dùng thử chưa chuyển trả phí khi kết thúc thử nghiệm.
  • Thiếu dữ liệu do rời mẫu hoặc mất liên lạc.
    • ví dụ: người dùng dùng thử từ chối chia sẻ dữ liệu cho thử nghiệm.
Phân tích sống sót bằng Python

Các loại kiểm duyệt

Tranh minh họa loại kiểm duyệt.

  • Không bị kiểm duyệt: sự kiện đã xảy ra và thời gian sống biết rõ.
  • Kiểm duyệt phải: thời gian sống > thời gian quan sát.
  • Kiểm duyệt trái: thời gian sống < thời gian quan sát.
  • Kiểm duyệt khoảng: thời gian sống nằm trong một khoảng, không biết chính xác.
Phân tích sống sót bằng Python

Vì sao kiểm duyệt gây hại?

Thống kê tổng hợp

  • Một dạng dữ liệu thiếu.
  • Làm lệch thống kê, như np.average(), max(), min().

Hồi quy

  • Hồi quy tuyến tính tối thiểu hóa tổng bình phương sai số.
  • Với dữ liệu bị kiểm duyệt, ta không biết sai số.
Phân tích sống sót bằng Python

Hàm sống sót

  • Không nội suy dữ liệu bị kiểm duyệt.
  • Mô hình hóa xác suất thời gian sống lớn hơn một giá trị.

  $$S(t)=Pr(T>t)$$

Phân tích sống sót bằng Python

Phân tích sống sót và kiểm duyệt

Tranh dữ liệu không bị kiểm duyệt.

Tranh dữ liệu bị kiểm duyệt.

Phân tích sống sót bằng Python

Kiểm tra dữ liệu bị kiểm duyệt

Có cách nhận diện điểm dữ liệu bị kiểm duyệt không?

Bước 1) Tìm cột kiểm duyệt (thường đã tiền xử lý).

Dữ liệu bị kiểm duyệt có quá nhiều không?

Bước 2) Kiểm tra tỷ lệ điểm dữ liệu bị kiểm duyệt (kinh nghiệm: 50%).

Kiểm duyệt có ngẫu nhiên và không thông tin không?

Bước 3) Tìm nguyên nhân kiểm duyệt để đảm bảo việc bị kiểm duyệt không ảnh hưởng đến sống sót.

Phân tích sống sót bằng Python

Ayo berlatih!

Phân tích sống sót bằng Python

Preparing Video For Download...