Hướng dẫn quartiles in statistics python - tứ phân vị trong con trăn thống kê

Chúng tôi đã thấy những gì là các bộ tứ và làm thế nào có thể hữu ích trong việc nhanh chóng trình bày các đặc điểm chính của một nhóm dữ liệu.

Hãy cùng xem cách hình dung chúng.

Tôi sẽ sử dụng làm ví dụ về tuổi của những người chiến thắng giải thưởng Nobel - một giá trị riêng biệt được đặt ra - từ trang web chính thức giải thưởng Nobel.

Bạn có thể theo dõi cùng với mã trên GitHub.

Cách tốt nhất để biểu đồ tập dữ liệu với tứ phân & nbsp; là sử dụng biểu đồ hộp:box plot:

Hướng dẫn quartiles in statistics python - tứ phân vị trong con trăn thống kê

Boxplot của một dân số phân tán bình thường

A & nbsp; hộp mà & nbsp; đi từ phần trên sang phần tư thấp hơn, cộng với các dòng tùy chọn (râu ria) kéo dài từ hộp đi cho đến khi một hệ số nhân được chỉ định Bên ngoài phạm vi này được coi là một điểm dữ liệu ngoại lệ và được hiển thị như một điểm. Bên trong hộp, trung bình và giá trị trung bình có thể được hiển thị, dưới dạng các đường hoặc điểm.
Inside the box the median and the mean can be displayed, as lines or points.

Hàm matplotlib để vẽ một boxplot được gọi một cách thích hợp là boxplot () & nbsp;

Chức năng yêu cầu truyền dưới dạng dữ liệu đầu vào Một mảng hoặc danh sách các vectơ, ví dụ:

agePhysics = [ 25, 31, 31, 31, ... ]  # goes on for almost 200 values

Cốt truyện cơ bản sẽ là:

import matplotlib.pyplot as plt
# basic plot
plt.boxplot(agePhysics)
plt.show()

Các mặc định được sử dụng trong các tham số khác của hàm BoxPlot là:

notch = false: Vẽ một hộp hình chữ nhật, không được ghi lại
vert = True: the box is vertical, not horizontal
sym = None: no fliers displayed
whis = 1.5 : the multipliers from the whiskers variability, they go until whis * IQR

Bây giờ, hãy để in ấn bao nhiêu các tứ phân và giá trị trung bình trước khi vẽ và hiển thị giá trị trung bình bằng cách sử dụng tham số ShowMeans (mặc định là sai), bằng cách thêm/thay đổi các dòng này:

from datascience import stats

 print(stats.summary(agePhysics))
 print("range = ", stats.range(agePhysics))
 plt.boxplot(agePhysics, showmeans=True, whis = 99)

Đầu ra được in là:

Summary statistics
Min: 25
Lower Qu.: 45.0
Median: 54.0
Mean: 54.955
Upper Qu.: 64.0
Max: 88
That's all

Và các dòng trên & nbsp; hiển thị một biểu đồ hộp và người yêu thích như thế này:

Một ô hộp đơn giản

Khi bạn thấy hộp tự đi từ phần trên sang phần tư thấp hơn (45 và 64 trong trường hợp này), trong khi râu ria (các thanh kéo dài từ hộp) đi từ tối thiểu đến tối đa (25 và 88 trong trường hợp này) vì Whis được đặt thành một số rất cao (99) do đó bao gồm tất cả các điểm dữ liệu.

Đường màu đỏ là trung bình (54) trong khi giá trị trung bình (giá trị tương tự) là một hình vuông màu đỏ nhưng có thể được thay đổi thông qua các trung bình tham số.

Bây giờ để thêm một chút thú vị, hãy để thêm hai Boxplots, tương ứng cho tài liệu và người chiến thắng kinh tế. Giả sử chúng ta có độ tuổi trong hai mảng được gọi là & nbsp; Ageliterature và & nbsp; Ageeconomics, điều đầu tiên cần làm là kết hợp tất cả các mảng và chuyển chúng đến chức năng BoxPlot:

ages=[agePhysics, ageLiterature, ageEconomics]
box = plt.boxplot(ages, showmeans=True, whis=99)

Mỗi Boxplot có thể có màu riêng, điều này có thể được đặt thông qua Setp hàm PyPlot ():

# add colours
   # physics = green
plt.setp(box['boxes'][0], color='green')
plt.setp(box['caps'][0], color='green')
plt.setp(box['whiskers'][0], color='green')

Và như vậy cho các Boxplots khác

Đối với các lô khác, bạn có thể thêm tiêu đề, nhãn và lưới:

plt.ylim([20, 95]) # y axis gets more space at the extremes
plt.grid(True, axis='y') # let's add a grid on y-axis
plt.title('Distribution of the Nobel Prize winner ages', fontsize=18) # chart title
plt.ylabel('Age (years) at winning time') # y axis title
plt.xticks([1,2,3], ['Physics','Literature','Economics']) # x axis labels

Đây là biểu đồ cuối cùng:

Những người chiến thắng giải thưởng Nobel được sắp xếp theo Field và Ageso

Vì vậy, có vẻ như bạn gần như không có cơ hội để giành được một Nobel trong văn học trước khi bạn 40 tuổi và nhiều khả năng trước khi bạn 55 tuổi & NBSP; nhưng nó thậm chí còn tệ hơn cho kinh tế: không ai giành được nó cho đến bây giờ & NBSP; /trung bình là 65…

Làm thế nào để bạn xác định Q1 trong Python?

Bộ tứ đầu tiên (Q1), được định nghĩa là số giữa giữa số nhỏ nhất và trung bình của tập dữ liệu, Bộ tứ thứ hai (Q2) - trung bình của tập dữ liệu đã cho trong khi Bộ tứ thứ ba (Q3), là số trung bình giữa trung bình và giá trị lớn nhất của tập dữ liệu.the middle number between the smallest number and the median of the data set, the second quartile (Q2) – median of the given data set while the third quartile (Q3), is the middle number between the median and the largest value of the data set.

Hàm lượng tử () trong python là gì?

Chức năng lượng tử () của Numpy trong Python, Numpy. hàm lượng tử () có một mảng và một số nói q từ 0 đến 1. nó trả về giá trị ở lượng tử q. Ví dụ, Numpy. Quantile (dữ liệu, 0,25) trả về giá trị tại phần tư đầu tiên của dữ liệu dữ liệu.takes an array and a number say q between 0 and 1. It returns the value at the q th quantile. For example, numpy. quantile(data, 0.25) returns the value at the first quartile of the dataset data .

Làm thế nào để bạn chia dữ liệu thành tứ phân trong Python?

Quartiles..

Tỷ lệ phần trăm chia toàn bộ dân số thành 100 nhóm trong đó các nhóm tứ phân chia dân số thành 4 nhóm ..

P = 25: Quartile đầu tiên hoặc tứ phân (LQ).

P = 50: Bộ tứ thứ hai hoặc trung bình ..

P = 75: Bộ tứ thứ ba hoặc Bộ tứ trên (UQ).

Làm thế nào để bạn đại diện cho các bộ tứ?

Có ba giá trị tứ phân tứ cực Một phần tư thấp hơn, trung bình và phần tư trên để chia dữ liệu được đặt thành bốn phạm vi, mỗi phạm vi chứa 25% các điểm dữ liệu. Bộ tứ thấp hơn, hoặc phần tư đầu tiên, được ký hiệu là Q1 và là số giữa nằm giữa giá trị nhỏ nhất của bộ dữ liệu và trung vị.The lower quartile, or first quartile, is denoted as Q1 and is the middle number that falls between the smallest value of the dataset and the median.