Việc tính toán độ lệch tuyệt đối trung bình có thể được xác định với sự trợ giúp của một số phương pháp, một số phương pháp được đề cập trong hướng dẫn này
Phương pháp 1. Sử dụng SciPy để tính toán độ lệch tuyệt đối trung bình
Sử dụng thư viện Python SciPy, độ lệch tuyệt đối trung bình có thể được tính toán dựa trên một mảng giá trị. Đầu tiên, nhập các thư viện cần thiết và tạo một danh sách các số, sau đó tính giá trị trung bình bằng cách sử dụng 20.0
4 của thư viện SciPy. Để hiểu rõ hơn, mã được đưa ra dưới đây
# import the required libraries from scipy.stats import median_abs_deviation #creating a list of numbers numbers = [56, 70, 85, 69, 29, 32, 16, 32, 42, 24, 33, 28, 86, 64, 100, 19, 100, 58, 50, 61, 39, 78, 5, 23, 64] median_absolute_deviation = median_abs_deviation[numbers] #print the median absolute deviation print[median_absolute_deviation]
đầu ra
20.0
Phương pháp 2. Sử dụng gấu trúc
Ngoài ra, chúng tôi sử dụng thư viện Pandas trong Python để tính toán độ lệch tuyệt đối trung bình. Thật hữu ích khi sử dụng thư viện Pandas để tính toán độ lệch tuyệt đối trung bình trong biểu dữ liệu dạng bảng cho nhiều cột. Phương thức áp dụng là một cách thuận tiện để tính độ lệch tuyệt đối trung bình trong Pandas vì hàm này không tồn tại. Ngay khi bạn nhập thư viện Pandas và SciPy, bạn tạo khung dữ liệu của danh sách đã cho và cuối cùng, bạn in nó ra bằng cách áp dụng phương thức áp dụng. Để tham khảo, mã của phương pháp này được đưa ra dưới đây.
Trả về độ lệch chuẩn, thước đo mức độ phân bố của các phần tử mảng. Theo mặc định, độ lệch chuẩn được tính cho mảng phẳng, nếu không thì trên trục đã chỉ định
Thông số . a array_likeTính độ lệch chuẩn của các giá trị này
axis Không hoặc int hoặc bộ số nguyên, tùy chọnTrục hoặc các trục dọc theo đó độ lệch chuẩn được tính toán. Mặc định là tính độ lệch chuẩn của mảng phẳng
Mới trong phiên bản 1. 7. 0
Nếu đây là một bộ số nguyên, độ lệch chuẩn được thực hiện trên nhiều trục, thay vì một trục hoặc tất cả các trục như trước đây
dtype dtype, tùy chọnLoại để sử dụng trong tính toán độ lệch chuẩn. Đối với mảng kiểu số nguyên, giá trị mặc định là float64, đối với mảng kiểu float, giá trị mặc định giống như kiểu mảng
ra ndarray, tùy chọnMảng đầu ra thay thế để đặt kết quả. Nó phải có hình dạng giống như đầu ra dự kiến nhưng loại [của các giá trị được tính toán] sẽ được truyền nếu cần
ddof int, tùy chọnCó nghĩa là bậc tự do Delta. Số chia được sử dụng trong phép tính là
20.05, trong đó
20.06 đại diện cho số phần tử. Theo mặc định ddof bằng không
Nếu điều này được đặt thành True, các trục bị giảm sẽ được để lại trong kết quả dưới dạng kích thước với kích thước một. Với tùy chọn này, kết quả sẽ phát chính xác đối với mảng đầu vào
Nếu giá trị mặc định được chuyển, thì keepdims sẽ không được chuyển qua phương thức
20.07 của các lớp con của
20.08, tuy nhiên mọi giá trị không mặc định sẽ được. Nếu phương thức của lớp con không thực hiện keepdims, bất kỳ ngoại lệ nào sẽ được đưa raở đâu array_like của bool, tùy chọn
Các yếu tố bao gồm trong độ lệch chuẩn. Xem
20.09 để biết chi tiết
Mới trong phiên bản 1. 20. 0
Trả về . độ lệch chuẩn ndarray, xem thông số dtype ở trên.Nếu out là Không, hãy trả về một mảng mới chứa độ lệch chuẩn, nếu không thì trả về một tham chiếu đến mảng đầu ra
Xem thêm
>>> a = np.zeros[[2, 512*512], dtype=np.float32] >>> a[0, :] = 1.0 >>> a[1, :] = 0.1 >>> np.std[a] 0.450000050,
>>> a = np.zeros[[2, 512*512], dtype=np.float32] >>> a[0, :] = 1.0 >>> a[1, :] = 0.1 >>> np.std[a] 0.450000050,
>>> a = np.zeros[[2, 512*512], dtype=np.float32] >>> a[0, :] = 1.0 >>> a[1, :] = 0.1 >>> np.std[a] 0.450000051,
>>> a = np.zeros[[2, 512*512], dtype=np.float32] >>> a[0, :] = 1.0 >>> a[1, :] = 0.1 >>> np.std[a] 0.450000052,
>>> a = np.zeros[[2, 512*512], dtype=np.float32] >>> a[0, :] = 1.0 >>> a[1, :] = 0.1 >>> np.std[a] 0.450000053 Xác định loại đầu ra
ghi chú
Độ lệch chuẩn là căn bậc hai của trung bình cộng bình phương độ lệch so với giá trị trung bình, i. e. ,
>>> a = np.zeros[[2, 512*512], dtype=np.float32] >>> a[0, :] = 1.0 >>> a[1, :] = 0.1 >>> np.std[a] 0.450000054, trong đó
>>> a = np.zeros[[2, 512*512], dtype=np.float32] >>> a[0, :] = 1.0 >>> a[1, :] = 0.1 >>> np.std[a] 0.450000055
Độ lệch bình phương trung bình thường được tính là
>>> a = np.zeros[[2, 512*512], dtype=np.float32] >>> a[0, :] = 1.0 >>> a[1, :] = 0.1 >>> np.std[a] 0.450000056, trong đó
>>> a = np.zeros[[2, 512*512], dtype=np.float32] >>> a[0, :] = 1.0 >>> a[1, :] = 0.1 >>> np.std[a] 0.450000057. Tuy nhiên, nếu ddof được chỉ định, thì số chia
20.05 được sử dụng thay thế. Trong thực hành thống kê tiêu chuẩn,
>>> a = np.zeros[[2, 512*512], dtype=np.float32] >>> a[0, :] = 1.0 >>> a[1, :] = 0.1 >>> np.std[a] 0.450000059 cung cấp một công cụ ước tính không chệch về phương sai của dân số vô hạn.
20.010 cung cấp ước tính khả năng tối đa của phương sai cho các biến phân phối bình thường. Độ lệch chuẩn được tính toán trong hàm này là căn bậc hai của phương sai ước tính, do đó, ngay cả với
>>> a = np.zeros[[2, 512*512], dtype=np.float32] >>> a[0, :] = 1.0 >>> a[1, :] = 0.1 >>> np.std[a] 0.450000059, nó sẽ không phải là ước tính khách quan của độ lệch chuẩn.
Lưu ý rằng, đối với các số phức,
20.07 lấy giá trị tuyệt đối trước khi bình phương, do đó kết quả luôn là số thực và không âm
Đối với đầu vào dấu phẩy động, tiêu chuẩn được tính bằng cùng độ chính xác mà đầu vào có. Tùy thuộc vào dữ liệu đầu vào, điều này có thể khiến kết quả không chính xác, đặc biệt là đối với float32 [xem ví dụ bên dưới]. Chỉ định bộ tích lũy có độ chính xác cao hơn bằng cách sử dụng từ khóa
20.013 có thể làm giảm bớt sự cố này