Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Xác suất - Thống kê] Phát hiện giá trị ngoại lai bằng quy tắc IQR

    Cho dãy số liệu gồm nnn giá trị. Sử dụng phương pháp nội suy tuyến tính (tương tự hàm PERCENTILE.INC của Excel / phương pháp mặc định của NumPy) để tính tứ phân vị thứ nhất Q1Q_1Q1​ (phân vị 25%) và tứ phân vị thứ ba Q3Q_3Q3​ (phân vị 75%):

    Sắp xếp dãy tăng dần thành s0,s1,…,sn−1s_0, s_1, \dots, s_{n-1}s0​,s1​,…,sn−1​ (chỉ số từ 0). Với p∈{0.25,0.75}p \in \{0.25, 0.75\}p∈{0.25,0.75}, đặt h=(n−1)⋅ph=(n-1)\cdot ph=(n−1)⋅p, k=⌊h⌋k=\lfloor h \rfloork=⌊h⌋. Nếu h=kh=kh=k thì phân vị =sk=s_k=sk​; ngược lại phân vị =sk+(h−k)⋅(sk+1−sk)= s_k + (h-k)\cdot(s_{k+1}-s_k)=sk​+(h−k)⋅(sk+1​−sk​).

    Tính IQR=Q3−Q1IQR = Q_3-Q_1IQR=Q3​−Q1​. Áp dụng quy tắc IQR (Tukey's fences) để phát hiện ngoại lai: một giá trị xxx là ngoại lai nếu x<Q1−1.5⋅IQRx < Q_1 - 1.5\cdot IQRx<Q1​−1.5⋅IQR hoặc x>Q3+1.5⋅IQRx > Q_3 + 1.5\cdot IQRx>Q3​+1.5⋅IQR.

    Ví dụ: dãy 12,15,14,10,8,22,30,13,11,912,15,14,10,8,22,30,13,11,912,15,14,10,8,22,30,13,11,9 có Q1=10.25Q_1=10.25Q1​=10.25, Q3=14.75Q_3=14.75Q3​=14.75, IQR=4.5IQR=4.5IQR=4.5; ngưỡng trên =14.75+6.75=21.5=14.75+6.75=21.5=14.75+6.75=21.5 nên 222222 và 303030 là ngoại lai.

    • Định dạng đầu vào:

      Dòng 1: số nguyên nnn (1≤n≤10001 \le n \le 10001≤n≤1000). Dòng 2: nnn số thực cách nhau bởi dấu cách.

    • Định dạng đầu ra:

      Dòng 1: Q1Q_1Q1​, Q3Q_3Q3​, IQRIQRIQR (cách nhau 1 khoảng trắng), mỗi số làm tròn 4 chữ số thập phân. Dòng 2: số lượng giá trị ngoại lai. Dòng 3: danh sách các giá trị ngoại lai (lấy từ dãy gốc, có thể trùng lặp), sắp xếp tăng dần, mỗi giá trị làm tròn 2 chữ số thập phân, cách nhau bởi dấu phẩy (,) không khoảng trắng; nếu không có ngoại lai thì để dòng trống.

      Ví dụ với input:

      10
      12 15 14 10 8 22 30 13 11 9
      

      Output:

      10.2500 14.7500 4.5000
      2
      22.00,30.00
      

    Ví dụ:

    Đầu vào:

    10
    12 15 14 10 8 22 30 13 11 9
    

    Đầu ra:

    10.2500 14.7500 4.5000
    2
    22.00,30.00
    

    Đầu vào:

    1
    100
    

    Đầu ra:

    100.0000 100.0000 0.0000
    0
    
    

    Đang tải editor...