Độ lệch tuyệt đối trung bình Python NumPy

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_like

Tí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ọn

Trụ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ọn

Loạ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ọn

Mả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ọn

Có nghĩa là bậc tự do Delta. Số chia được sử dụng trong phép tính là

20.0
5, trong đó
20.0
6 đại diện cho số phần tử. Theo mặc định ddof bằng không

keepdims bool, tùy chọn

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.0
7 của các lớp con của
20.0
8, 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.0
9 để 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.45000005
0,
>>> a = np.zeros[[2, 512*512], dtype=np.float32]
>>> a[0, :] = 1.0
>>> a[1, :] = 0.1
>>> np.std[a]
0.45000005
0,
>>> a = np.zeros[[2, 512*512], dtype=np.float32]
>>> a[0, :] = 1.0
>>> a[1, :] = 0.1
>>> np.std[a]
0.45000005
1,
>>> a = np.zeros[[2, 512*512], dtype=np.float32]
>>> a[0, :] = 1.0
>>> a[1, :] = 0.1
>>> np.std[a]
0.45000005
2,
>>> a = np.zeros[[2, 512*512], dtype=np.float32]
>>> a[0, :] = 1.0
>>> a[1, :] = 0.1
>>> np.std[a]
0.45000005
3 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.45000005
4, trong đó
>>> a = np.zeros[[2, 512*512], dtype=np.float32]
>>> a[0, :] = 1.0
>>> a[1, :] = 0.1
>>> np.std[a]
0.45000005
5

Độ 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.45000005
6, trong đó
>>> a = np.zeros[[2, 512*512], dtype=np.float32]
>>> a[0, :] = 1.0
>>> a[1, :] = 0.1
>>> np.std[a]
0.45000005
7. Tuy nhiên, nếu ddof được chỉ định, thì số chia
20.0
5 đượ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.45000005
9 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.0
10 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.45000005
9, 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.0
7 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.0
13 có thể làm giảm bớt sự cố này

5 bước để tìm độ lệch tuyệt đối trung bình là gì?

Các bước để tìm MAD bao gồm. .
tìm giá trị trung bình [trung bình]
tìm sự khác biệt giữa mỗi giá trị dữ liệu và giá trị trung bình
lấy giá trị tuyệt đối của mỗi chênh lệch
tìm giá trị trung bình [trung bình] của những khác biệt này

Làm cách nào để tính toán MAE Python?

Lỗi tuyệt đối trung bình [MAE] được tính bằng cách lấy tổng chênh lệch tuyệt đối giữa giá trị thực tế và giá trị tính toán của từng quan sát trên toàn bộ mảng, sau đó chia tổng thu được cho số lượng quan sát trong mảng

Sự khác biệt giữa độ lệch tuyệt đối trung bình và trung bình là gì?

Độ lệch tuyệt đối trung bình [MAD] của một tập hợp dữ liệu là khoảng cách trung bình giữa mỗi giá trị dữ liệu và giá trị trung bình. Độ lệch tuyệt đối trung bình là "trung bình" của "khoảng cách dương" của từng điểm so với giá trị trung bình. MAD càng lớn, dữ liệu càng có nhiều biến động [dữ liệu được trải rộng hơn]

Chủ Đề