Tính độ lệch chuẩn dọc theo trục được chỉ định.
Trả về độ lệch chuẩn, một thước đo sự lây lan của một phân phối, của các phần tử mảng. Độ lệch chuẩn được tính toán cho mảng phẳng theo mặc định, nếu không thì trên trục được chỉ định.
Parametersaarray_likeaarray_likeTính độ lệch chuẩn của các giá trị này.
trục hoặc int hoặc tuple của int, tùy chọnNone or int or tuple of ints, optionalTrục hoặc trục dọc theo đó độ lệch chuẩn được tính toán. Mặc định là tính toán độ 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ộ dữ liệu của INT, độ lệch chuẩn được thực hiện trên nhiều trục, thay vì một trục đơn hoặc tất cả các trục như trước đây.
DtypedType, tùy chọndtype, optionalLoại để sử dụng trong tính toán độ lệch chuẩn. Đối với các mảng loại số nguyên, mặc định là float64, đối với các mảng các loại float, nó giống như loại mảng.
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 đúc nếu cần thiết.
ddofint, tùy chọnint, optionalCó nghĩa là mức độ tự do của Delta. Các ước số được sử dụng trong các tính toán là N - ddof
, trong đó N
đại diện cho số lượng các 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 được để lại trong kết quả là 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 sóng chính xác so với mảng đầu vào.
Nếu giá trị mặc định được thông qua, thì KeepDim sẽ không được chuyển qua phương thức std
của các lớp phụ của ndarray
, tuy nhiên bất kỳ giá trị không mặc định nào cũng sẽ được. Nếu phương thức lớp phụ không thực hiện được, bất kỳ trường hợp ngoại lệ nào cũng sẽ được nêu ra.
Các yếu tố cần bao gồm trong độ lệch chuẩn. Xem reduce
để biết chi tiết.
Mới trong phiên bản 1.20.0.
ReturnSstArdard_DeviationNDarray, xem tham số DTYPE ở trên.standard_deviationndarray, see dtype parameter above.Nếu không có, hãy trả về một mảng mới chứa độ lệch chuẩn, nếu không hãy trả về một tham chiếu đến mảng đầu ra.
Ghi chú
Độ lệch chuẩn là căn bậc hai của mức trung bình của độ lệch bình phương so với giá trị trung bình, tức là, std = sqrt[mean[x]]
, trong đó
>>> a = np.zeros[[2, 512*512], dtype=np.float32] >>> a[0, :] = 1.0 >>> a[1, :] = 0.1 >>> np.std[a] 0.450000050.
Độ 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.450000051, trong đó
>>> a = np.zeros[[2, 512*512], dtype=np.float32] >>> a[0, :] = 1.0 >>> a[1, :] = 0.1 >>> np.std[a] 0.450000052. Tuy nhiên, nếu DDOF được chỉ định, thì Divisor
N - ddof
được sử dụng thay thế. Trong thực tiễn 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.450000054 cung cấp một công cụ ước tính không thiên vị về phương sai của dân số vô hạn.
>>> a = np.zeros[[2, 512*512], dtype=np.float32] >>> a[0, :] = 1.0 >>> a[1, :] = 0.1 >>> np.std[a] 0.450000055 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 thông 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.450000054, nó sẽ không phải là một ước tính không thiên vị về độ lệch chuẩn mỗi se.
Lưu ý rằng, đối với các số phức, std
lấy giá trị tuyệt đối trước khi bình phương, do đó kết quả luôn luôn là thật và không âm.
Đối với đầu vào điểm nổi, STD được tính toán bằng cách sử dụ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 một bộ tích lũy độ chính xác cao hơn bằng cách sử dụng từ khóa
>>> a = np.zeros[[2, 512*512], dtype=np.float32] >>> a[0, :] = 1.0 >>> a[1, :] = 0.1 >>> np.std[a] 0.450000058 có thể làm giảm bớt vấn đề này.
Ví dụ
>>> a = np.array[[[1, 2], [3, 4]]] >>> np.std[a] 1.1180339887498949 # may vary >>> np.std[a, axis=0] array[[1., 1.]] >>> np.std[a, axis=1] array[[0.5, 0.5]]
Trong một độ chính xác đơn, std [] có thể không chính xác:
>>> a = np.zeros[[2, 512*512], dtype=np.float32] >>> a[0, :] = 1.0 >>> a[1, :] = 0.1 >>> np.std[a] 0.45000005
Tính toán độ lệch chuẩn trong float64 chính xác hơn:
>>> np.std[a, dtype=np.float64] 0.44999999925494177 # may vary
Chỉ định một nơi đối số:
>>> a = np.array[[[14, 8, 11, 10], [7, 9, 10, 11], [10, 15, 5, 10]]] >>> np.std[a] 2.614064523559687 # may vary >>> np.std[a, where=[[True], [True], [False]]] 2.0