Phương pháp 1. Sử dụng thư viện NumPy
import numpy as np #calculate standard deviation of list np.std[my_list]
Phương pháp 2. Sử dụng số liệu thống kê Thư viện
import statistics as stat #calculate standard deviation of list stat.stdev[my_list]
Phương pháp 3. Sử dụng công thức tùy chỉnh
#calculate standard deviation of list st.stdev[my_list]
Các ví dụ sau đây cho thấy cách sử dụng từng phương pháp này trong thực tế
Phương pháp 1. Tính độ lệch chuẩn bằng thư viện NumPy
Đoạn mã sau cho biết cách tính cả độ lệch chuẩn mẫu và độ lệch chuẩn dân số của danh sách mà không cần nhập bất kỳ thư viện Python nào
Độ lệch chuẩn là thước đo mô tả mức độ trải rộng của các giá trị trong tập dữ liệu. Trong Python, Độ lệch chuẩn có thể được tính theo nhiều cách – cách dễ nhất là sử dụng hàm
import statistics
sample = [1,2,3,4,5,5,5,5,10]
standard_deviation = statistics.stdev[sample]
print[standard_deviation]
# Returns 2.55
0 độ lệch chuẩn của Statistics’ hoặc NumPyTrong hướng dẫn này, bạn sẽ tìm hiểu độ lệch chuẩn là gì, cách tính toán độ lệch chuẩn bằng các hàm tích hợp sẵn và cách sử dụng Python để tạo số liệu thống kê từ đầu
Mục lục
- Độ lệch chuẩn là gì?
- Tại sao Độ lệch chuẩn lại quan trọng?
- Làm cách nào để tính độ lệch chuẩn trong Python?
- Tính độ lệch chuẩn cho danh sách
- Tính độ lệch chuẩn cho các giá trị từ điển
- Độ lệch chuẩn của gấu trúc
- Độ lệch chuẩn Python từ đầu
- Sự kết luận
- Tài nguyên bổ sung
Độ lệch chuẩn là gì?
Độ lệch chuẩn là một cách hữu ích để đo mức độ “phân tán” các giá trị trong một tập dữ liệu.
Nhưng làm thế nào để bạn giải thích một độ lệch chuẩn?
Độ lệch chuẩn nhỏ có nghĩa là hầu hết các số gần với giá trị trung bình [trung bình]. Tuy nhiên, độ lệch chuẩn lớn có nghĩa là các giá trị cách xa giá trị trung bình hơn
Không có nó, bạn sẽ không thể đi sâu vào các tập dữ liệu một cách dễ dàng và hiệu quả. Hai bộ dữ liệu có thể có cùng giá trị trung bình nhưng có thể hoàn toàn khác nhau về cách các giá trị đó được phân phối. This is where the standard deviation is important
Công thức độ lệch chuẩn trông như thế này
σ = √Σ [xi – μ]2 / [n-1]
Hãy phá vỡ điều này một chút
- σ [“sigma”] là ký hiệu cho độ lệch chuẩn
- Σ là một cách thú vị để viết “tổng của”
- xi đại diện cho mọi giá trị trong tập dữ liệu
- μ là giá trị trung bình [trung bình] trong tập dữ liệu
- n là cỡ mẫu
Tại sao Độ lệch chuẩn lại quan trọng?
Như đã giải thích ở trên, độ lệch chuẩn là thước đo chính giải thích mức độ trải rộng của các giá trị trong tập dữ liệu. Một độ lệch chuẩn nhỏ xảy ra khi các điểm dữ liệu khá gần với giá trị trung bình. Tuy nhiên, độ lệch chuẩn lớn xảy ra khi các giá trị ít được nhóm lại xung quanh giá trị trung bình.
Một tập dữ liệu có thể có cùng ý nghĩa với một tập dữ liệu khác, nhưng rất khác nhau. Hãy xem xét điều này với một ví dụ
- Tập dữ liệu #1 = [1,1,1,1,1,1,1,1,2,10]
- Tập dữ liệu #2 = [2,2,2,2,2,2,2,2,2,2]
Cả hai bộ dữ liệu này đều có cùng giá trị trung bình [2], nhưng thực tế lại rất khác nhau
Chúng ta sẽ quay lại những ví dụ này sau khi tính toán độ lệch chuẩn để minh họa điểm này
Làm cách nào để tính độ lệch chuẩn trong Python?
Cách dễ nhất để tính độ lệch chuẩn trong Python là sử dụng mô-đun thống kê hoặc thư viện Numpy
Sử dụng mô-đun thống kê
Mô-đun thống kê có chức năng tích hợp được gọi là stdev, tuân theo cú pháp bên dưới
standard_deviation = stdev[[data], xbar]
- [dữ liệu] là một tập hợp các điểm dữ liệu
- xbar là một tham số boolean [Đúng hoặc Sai], để lấy giá trị trung bình thực của tập dữ liệu làm giá trị
Hãy thử điều này với một ví dụ
import statistics
sample = [1,2,3,4,5,5,5,5,10]
standard_deviation = statistics.stdev[sample]
print[standard_deviation]
# Returns 2.55
Sử dụng Numpy để tính độ lệch chuẩn
Numpy có một hàm tên là
import statistics
sample = [1,2,3,4,5,5,5,5,10]
standard_deviation = statistics.stdev[sample]
print[standard_deviation]
# Returns 2.55
0, dùng để tính độ lệch chuẩn của một mẫu. Hàm sử dụng cú pháp saunp.std[
[data], # The data to use
ddof=1 # The degrees of freedom to use
]
Công thức có hai tham số
2 là mẫu dữ liệuimport statistics sample = [1,2,3,4,5,5,5,5,10] standard_deviation = statistics.stdev[sample] print[standard_deviation] # Returns 2.55
3 là giá trị bậc tự do. Chúng tôi áp dụng 1, vì chúng tôi đang tính độ lệch chuẩn cho một mẫu [chứ không phải toàn bộ dân số]import statistics sample = [1,2,3,4,5,5,5,5,10] standard_deviation = statistics.stdev[sample] print[standard_deviation] # Returns 2.55
Bây giờ, hãy thử điều này với một ví dụ
import statistics as stat #calculate standard deviation of list stat.stdev[my_list]0
Trong phần tiếp theo, bạn sẽ tìm hiểu cách tính độ lệch chuẩn cho một danh sách
Tính độ lệch chuẩn cho danh sách
Để tính độ lệch chuẩn cho danh sách chứa các giá trị của một mẫu, chúng ta có thể sử dụng một trong hai phương pháp mà chúng ta đã khám phá ở trên. Đối với ví dụ này, hãy sử dụng Numpy
import statistics as stat #calculate standard deviation of list stat.stdev[my_list]1
Trong ví dụ trên, chúng ta chuyển một danh sách các giá trị vào hàm
import statistics
sample = [1,2,3,4,5,5,5,5,10]
standard_deviation = statistics.stdev[sample]
print[standard_deviation]
# Returns 2.55
0. Điều này chuyển đổi danh sách thành một mảng NumPy và sau đó tính toán độ lệch chuẩn. NumPy xử lý chuyển đổi danh sách thành một mảng hoàn toàn để hợp lý hóa quá trình tính toán độ lệch chuẩnTính độ lệch chuẩn cho các giá trị từ điển
Để tính độ lệch chuẩn cho các giá trị từ điển trong Python, bạn cần cho Python biết bạn chỉ muốn các giá trị của từ điển đó
Đối với ví dụ bên dưới, chúng tôi sẽ làm việc với chiều cao của mọi người tính bằng cm và tính độ lệch chuẩn
import statistics as stat #calculate standard deviation of list stat.stdev[my_list]3
Điều này rất giống nhau, ngoại trừ chúng tôi sử dụng chức năng danh sách để biến các giá trị từ điển thành một danh sách. Điều này có thể rất hữu ích khi làm việc với dữ liệu được trích xuất từ API nơi dữ liệu thường được lưu trữ ở định dạng JSON
Độ lệch chuẩn của gấu trúc
Nếu bạn đang làm việc với Pandas, bạn có thể tự hỏi liệu Pandas có chức năng cho độ lệch chuẩn hay không. Pandas cho phép bạn tính toán độ lệch chuẩn cho một chuỗi hoặc thậm chí toàn bộ Khung dữ liệu Pandas
Cú pháp tiêu chuẩn trông như thế này
import statistics as stat #calculate standard deviation of list stat.stdev[my_list]4
Cùng khám phá các thông số này
5 là 0 cho chỉ mục hoặc 1 cho cộtimport statistics sample = [1,2,3,4,5,5,5,5,10] standard_deviation = statistics.stdev[sample] print[standard_deviation] # Returns 2.55
6 được sử dụng để bao gồm/loại trừ các giá trị null/NA trong phép tínhimport statistics sample = [1,2,3,4,5,5,5,5,10] standard_deviation = statistics.stdev[sample] print[standard_deviation] # Returns 2.55
7 xác định xem trục có phải là đa chỉ mục hay không và báo cho Pandas biết cần tính cấp độ nàoimport statistics sample = [1,2,3,4,5,5,5,5,10] standard_deviation = statistics.stdev[sample] print[standard_deviation] # Returns 2.55
3 mặc định là 1 vì công thức được sử dụng cho các mẫuimport statistics sample = [1,2,3,4,5,5,5,5,10] standard_deviation = statistics.stdev[sample] print[standard_deviation] # Returns 2.55
9 includes only numeric values in the calculationimport statistics sample = [1,2,3,4,5,5,5,5,10] standard_deviation = statistics.stdev[sample] print[standard_deviation] # Returns 2.55
Let’s try this out with an example, using peoples’ heights and weights
#calculate standard deviation of list st.stdev[my_list]0
Nếu bạn chỉ muốn trả về phân phối chuẩn cho một cột, chẳng hạn như
np.std[
[data], # The data to use
ddof=1 # The degrees of freedom to use
]
0, bạn có thể viết#calculate standard deviation of list st.stdev[my_list]2
Bạn có thể tìm hiểu thêm về hàm Pandas
np.std[
[data], # The data to use
ddof=1 # The degrees of freedom to use
]
1 bằng cách xem tài liệu chính thức tại đâyĐộ lệch chuẩn Python từ đầu
Đối với ví dụ cuối cùng của chúng tôi, hãy xây dựng độ lệch chuẩn từ đầu, xem điều gì đang thực sự xảy ra
Để bắt đầu, chúng ta hãy xem xét lại công thức
σ = √Σ [xi – μ]2 / [n-1]
Trong đoạn mã dưới đây, các bước cần thiết được chia nhỏ
#calculate standard deviation of list st.stdev[my_list]4
Sự kết luận
Trong bài đăng này, chúng ta đã tìm hiểu tất cả về độ lệch chuẩn. Chúng tôi bắt đầu bằng cách tìm hiểu nó là gì và cách nó được tính toán cũng như tại sao nó lại quan trọng. Sau đó, chúng tôi đã học cách tính độ lệch chuẩn trong Python, sử dụng mô-đun thống kê, Numpy và cuối cùng áp dụng nó cho Pandas. Chúng tôi đã kết thúc hướng dẫn bằng cách trình bày cách tính độ lệch chuẩn từ đầu bằng cách sử dụng Python cơ bản