Hướng dẫn how do you find outliers using iqr in python? - Làm thế nào để bạn tìm ra những kẻ ngoại lai bằng cách sử dụng iqr trong python?

Giới thiệu

Các ngoại lệ là các điểm dữ liệu nằm ngoài mẫu tổng thể trong một phân phối. Do đó, một điểm dữ liệu nằm cách xa các điểm dữ liệu còn lại trong mẫu không nhất thiết là một ngoại lệ. Thay vào đó, một điểm dữ liệu lệch khỏi mô hình phù hợp (mô hình dân số cơ bản) là một ngoại lệ.overall pattern in a distribution. Thus, a data point that is distant from the remaining data points in the sample is NOT necessarily an outlier. Instead, a data point deviating from the model fit (the pattern of underlying population) is an outlier.

Trong bài viết này, chúng tôi sẽ thảo luận về cách tìm một ngoại lệ bằng phương thức IQR và biểu đồ hộp trong dữ liệu 1 chiều. IQR method and box plot in 1-dimensional data.

Phương pháp IQR

Một kỹ thuật phổ biến để phát hiện các ngoại lệ là sử dụng IQR (phạm vi liên vùng). Cụ thể, IQR là 50% dữ liệu giữa, là Q3-Q1. Q1 là phần tư đầu tiên, Q3 là phần tư thứ ba và phân chia bộ dữ liệu được đặt hàng thành 4 nhóm có kích thước bằng nhau. Trong Python, chúng ta có thể sử dụng hàm percentile trong gói NumPy để tìm Q1 và Q3.middle 50% of data, which is Q3-Q1. Q1 is the first quartile, Q3 is the third quartile, and quartile divides an ordered dataset into 4 equal-sized groups. In Python, we can use percentile function in NumPy package to find Q1 and Q3.

Trình diễn tứ phân

Phương thức phạm vi liên vùng xác định các ngoại lệ là các giá trị lớn hơn Q3 + 1.5 * IQR hoặc các giá trị nhỏ hơn Q1 - 1.5 * IQR.larger than Q3 + 1.5 * IQR or the values smaller than Q1 – 1.5 * IQR.

Trình diễn ngoại lệ

Giả sử chúng tôi đã thu thập được lớp trung học 500 học sinh và lưu trữ dữ liệu trong một mảng có tên là grades. Chúng tôi muốn biết nếu có học sinh nhận được điểm cực kỳ cao hoặc cực thấp. Nói cách khác, chúng tôi muốn tìm các ngoại lệ về cấp độ giữa kỳ.extremely high or extremely low score. In other words, we want to find the outliers in terms of midterm grade.

Đầu tiên, chúng tôi sử dụng hàm percentile để tìm Q1 và Q3. Đối số đầu tiên là dữ liệu và đối số thứ hai là phần trăm để tính toán. Chúng ta có thể vượt qua 1 phần trăm tại một thời điểm (Phương pháp 1) hoặc lưu trữ phần trăm chúng ta muốn có trong danh sách (Phương pháp 2).

# method 1.
Q1 = np.percentile(grades , 25)
Q3 = np.percentile(grades , 75)
# method 2.
Q1,Q3 = np.percentile(grades , [25,75])

Sau đó, chúng ta có thể tính toán IQR và giới hạn của những người không ra khỏi. Tóm lại, IQR là Q3-Q1 và giới hạn trên cho các trình không vượt trội là Q3+1.5*IQR, giới hạn thấp hơn cho các trình không thoát ra là Q1-1.5*IQR.IQR and the limit of non-outliers. To recap, IQR is Q3-Q1, and the upper limit for non-outliers is Q3+1.5*IQR, the lower limit for non-outliers is Q1-1.5*IQR.

IQR = Q3 - Q1
ul = Q3+1.5*IQR
ll = Q1-1.5*IQR

Trong ví dụ này, ul (giới hạn trên) là 99,5, ll (giới hạn dưới) là 7,5. Do đó, các lớp trên 99,5 trở xuống được coi là ngoại lệ. Chúng ta có thể sử dụng lập chỉ mục để tìm các ngoại lệ chính xác.indexing to find the exact outliers.

outliers = grades[(grades > ul) | (grades < ll)]
outliers

Mảng trả về này ([0, 7, 4, 3, 0, 4, 2, 7, 6, 100, 1, 3, 0, 3, 100, 100, 100, 100, 4, 0, 3, 6, 6, 6, 6 , 6, 100, 7, 6, 100, 100, 6, 3, 6, 1, 6, 0]). Như chúng tôi dự kiến, các giá trị trên 99,5 trở xuống là 7,5 là ngoại lệ.
3, 100, 100, 100, 100, 4, 0, 3, 6, 6, 6, 100, 7,
6, 100, 100, 6, 3, 6, 1, 6, 0]). As we expected, the values above 99.5 or below 7.5 are outliers.

Âm mưu hộp

Biểu đồ hộp hiển thị trực quan Tóm tắt thống kê của một bộ dữ liệu, Min, Q1, Q2 (trung bình), Q3 và Max. Hơn nữa, nó biểu thị các ngoại lệ theo phương pháp IQR. Một điều cần lưu ý là khi phát hiện ra một ngoại lệ, râu sẽ thay đổi tương ứng với giới hạn trên (Q3+1.5*IQR) hoặc giới hạn thấp hơn (Q1 Ném1.5*IQR).denotes the outliers according to the IQR method. One thing to note is that when an outlier is detected, the whisker will correspondingly change to the upper limit (Q3+1.5*IQR) or lower limit (Q1–1.5*IQR).

Để có được một ý tưởng cụ thể, hãy để Lôi nhìn vào các ô hộp dựa trên dữ liệu của chúng tôi và dữ liệu giả thuyết, không có ngoại lệ.NO outliers.

fig = plt.figure(figsize=(6,5))
hypo = np.random.randint(20, 81, size=500)
plt.boxplot([grades, hypo], widths=0.5)
plt.xticks([1,2],['Our data', 'Hypothetical data'])
plt.ylabel('Grade')
plt.title('Box plot of midterm grade')
plt.show()
box Trình diễn cốt truyện

Đối với biểu đồ hộp ở bên trái, có các chấm ở cả trên cùng và dưới cùng của hộp. Những dấu chấm này chính xác là các ngoại lệ chúng tôi đã tính toán trước đây. Vì có các ngoại lệ ở cả hai hướng, thì râu trên thay đổi từ tối đa thành Q3+1.5*IQR, thì whisker dưới cùng thay đổi từ tối thiểu thành Q1 .1.5*IQR.

Đối với biểu đồ hộp ở bên phải, không có dấu chấm nào do đó không có ngoại lệ. Trong trường hợp này, chúng tôi không cần phải dành nỗ lực để phân tích thêm hoặc tìm kiếm điểm nào là ngoại lệ. Do đó, lô hộp là một lựa chọn tốt để điều tra ban đầu về các ngoại lệ.NO dot hence NO outliers. In this case, we don’t need to spend effort doing further analysis or finding which points are outliers. Therefore, box plot is a good choice for initial investigation of outliers.

Đối với biểu đồ hộp ở bên trái, có vẻ như chỉ có 1 điểm dữ liệu ngoại lệ ở trên cùng. Tuy nhiên, nếu chúng ta quay lại phần trước, chúng ta có thể thấy rất nhiều điểm dữ liệu có giá trị 100 và được coi là ngoại lệ. Trên thực tế, các ngoại lệ này chồng chéo với nhau và không thể được hiển thị rõ ràng trên biểu đồ hộp. Đây là một trong những nhược điểm của lô hộp. Do đó, một phân tích tiếp theo luôn luôn được yêu cầu để tránh sự hiểu lầm của tập dữ liệu.these outliers overlap with each other and can NOT be clearly displayed on the box plot. This is one of the drawbacks of box plot. Thus, a further analysis is always required to avoid misunderstanding of the data set.

Nếu bạn thích bài viết này, hãy chắc chắn theo dõi tôi! Nó thực sự khuyến khích tôi và thúc đẩy tôi tiếp tục chia sẻ. Cảm ơn bạn rất nhiều.

Mã hóa

Người giới thiệu

  1. https://www.khanacademy.org/math/statistics-probability/summarizing-quantitative-data/box-whisker-plots/a/identifying-outliers-iqr-rule

Làm thế nào để bạn tìm thấy ngoại lệ bằng phương thức IQR trong Python?

Phát hiện ngoại lệ bằng phương pháp IQR và biểu đồ hộp trong Python..
# Phương pháp 1. Q1 = np.percentile (Lớp, 25) Q3 = NP. ....
IQR = Q3 - Q1. UL = Q3+1.5*IQR. ll = q1-1.5*iqr. ....
Outliers = Lớp [(Lớp> UL) | (Lớp
fig = plt.figure (figsize = (6,5)) hypo = np.random.randint (20, 81, size = 500).

Làm thế nào để bạn tìm thấy ngoại lệ với IQR?

Chúng ta có thể sử dụng phương pháp IQR để xác định các ngoại lệ để thiết lập một hàng rào trên mạng bên ngoài Q1 và Q3.Bất kỳ giá trị nào nằm ngoài hàng rào này được coi là ngoại lệ.Để xây dựng hàng rào này, chúng tôi mất 1,5 lần IQR và sau đó trừ đi giá trị này từ Q1 và thêm giá trị này vào quý 3.take 1.5 times the IQR and then subtract this value from Q1 and add this value to Q3.

Làm thế nào để bạn trích xuất các ngoại lệ trong Python?

Loại bỏ các ngoại lệ..
Tính toán tứ phân vị thứ nhất và thứ ba (Q1 và Q3) ..
Hơn nữa, đánh giá phạm vi liên vùng, IQR = Q3-Q1 ..
Ước tính giới hạn dưới, giới hạn dưới = Q1*1.5 ..
Ước tính giới hạn trên, giới hạn trên = Q3*1.5 ..
Thay thế các điểm dữ liệu nằm bên ngoài phía dưới và giới hạn trên bằng giá trị null ..

Làm thế nào để bạn sử dụng IQR để loại bỏ các ngoại lệ?

Khi sử dụng IQR để loại bỏ các ngoại lệ, bạn xóa tất cả các điểm nằm ngoài phạm vi được xác định bởi các tứ hướng +/- 1.5 * IQR.Ví dụ, xem xét các tính toán sau.Mã sau đây hiển thị một ví dụ về việc sử dụng IQR để xác định và xóa các ngoại lệ.remove all points that lie outside the range defined by the quartiles +/- 1.5 * IQR . For example, consider the following calculations. The following code shows an example of using IQR to identify and remove outliers.