MySQL - Standard Deviation: A Beginner's Guide

Xin chào các bạn đam mê dữ liệu! Tôi rất vui mừng được hướng dẫn các bạn trong hành trình thú vị vào thế giới MySQL và độ lệch chuẩn. Là người đã dạy khoa học máy tính trong nhiều năm, tôi đã thấy biết bao nhiêu sinh viên sáng lên khi họ nắm bắt được những khái niệm này. Hãy cùng nhau lặn sâu và tạo ra một phép màu thống kê nhé!

MySQL - Standard Deviation

什么是标准差?

Trước khi chúng ta nhảy vào các chi tiết cụ thể của MySQL, hãy hiểu xem độ lệch chuẩn là gì. Hãy tưởng tượng bạn đang trong một lớp học và đo chiều cao của mọi người. Độ lệch chuẩn cho chúng ta biết mức độ biến động thông thường của các chiều cao so với trung bình. Nó giống như một cách toán học để nói, "Ngoại lệ trung bình, mọi người cách xa mức trung bình như thế nào?" Rất thú vị phải không?

MySQL và Standard Deviation

MySQL, hệ thống quản lý cơ sở dữ liệu đáng tin cậy của chúng ta, có các hàm内置 để tính toán độ lệch chuẩn. Nó giống như có một máy tính siêu thông minh ngay trong cơ sở dữ liệu của bạn!

Các loại Độ lệch chuẩn trong MySQL

MySQL cung cấp hai loại chính để tính toán độ lệch chuẩn:

Hàm Mô tả
STD() hoặc STDDEV() Tính toán độ lệch chuẩn của dân số
STDDEV_SAMP() Tính toán độ lệch chuẩn của mẫu

Đừng lo lắng nếu những thuật ngữ này nghe có vẻ rối rắm bây giờ. Chúng ta sẽ khám phá từng loại chi tiết!

Độ lệch chuẩn của Dân số

Độ lệch chuẩn của dân số (STD() hoặc STDDEV()) được sử dụng khi bạn có dữ liệu cho toàn bộ dân số. Hãy tưởng tượng bạn có các测量值 chiều cao của mọi người trong thị trấn của bạn.

Cú pháp

SELECT STD(column_name) FROM table_name;

Ví dụ

Giả sử chúng ta có một bảng gọi là students với điểm số của họ:

CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50),
score INT
);

INSERT INTO students VALUES
(1, 'Alice', 85),
(2, 'Bob', 92),
(3, 'Charlie', 78),
(4, 'Diana', 95),
(5, 'Edward', 88);

Bây giờ, hãy tính toán độ lệch chuẩn của điểm số:

SELECT STD(score) AS score_std_dev FROM students;

Truy vấn này sẽ trả về độ lệch chuẩn của tất cả các điểm số. Nó giống như hỏi, "Trung bình, điểm số cách xa điểm trung bình như thế nào?"

Hiểu kết quả

Kết quả có thể trông giống như thế này:

+---------------+
| score_std_dev |
+---------------+
|      6.28     |
+---------------+

Điều này có nghĩa là, trung bình, điểm số cách xa điểm trung bình khoảng 6.28 điểm. Nó cho chúng ta một ý tưởng về mức độ phân tán của điểm số.

Độ lệch chuẩn của Mẫu

Độ lệch chuẩn của mẫu (STDDEV_SAMP()) được sử dụng khi bạn chỉ có một mẫu dữ liệu từ một dân số lớn hơn. Nó giống như đo chiều cao của 100 người ngẫu nhiên trong thị trấn của bạn, thay vì tất cả mọi người.

Cú pháp

SELECT STDDEV_SAMP(column_name) FROM table_name;

Ví dụ

Sử dụng bảng students từ trước:

SELECT STDDEV_SAMP(score) AS sample_score_std_dev FROM students;

Hiểu kết quả

Kết quả có thể hơi khác:

+----------------------+
| sample_score_std_dev |
+----------------------+
|         7.01         |
+----------------------+

Giá trị này thường lớn hơn độ lệch chuẩn của dân số vì nó tính đến thực tế rằng chúng ta đang làm việc với một mẫu, không phải toàn bộ dân số.

Khi nào sử dụng cái nào?

  • Sử dụng STD() hoặc STDDEV() khi bạn có dữ liệu cho toàn bộ nhóm bạn quan tâm.
  • Sử dụng STDDEV_SAMP() khi bạn chỉ có một mẫu và muốn ước tính độ lệch chuẩn cho một dân số lớn hơn.

Ứng dụng Thực tế

  1. Kiểm soát chất lượng: Trong một nhà máy, bạn có thể sử dụng độ lệch chuẩn để kiểm tra xem trọng lượng sản phẩm có nhất quán không.

  2. Phân tích tài chính: Nhà đầu tư sử dụng độ lệch chuẩn để đo lường sự biến động của giá cổ phiếu.

  3. Giáo dục: Giáo viên có thể sử dụng nó để hiểu mức độ phân tán của điểm số trong lớp học của họ.

Ví dụ: Kiểm soát chất lượng sản phẩm

Hãy tưởng tượng bạn đang làm việc trong một nhà máy sô-cô-la (yum!), và bạn cần đảm bảo rằng các thanh sô-cô-la có trọng lượng nhất quán là 100 gram. Hãy tạo một bảng cho các thanh sô-cô-la của chúng ta:

CREATE TABLE chocolate_bars (
id INT PRIMARY KEY,
weight DECIMAL(5,2)
);

INSERT INTO chocolate_bars VALUES
(1, 98.5), (2, 101.2), (3, 99.8), (4, 100.5), (5, 97.9),
(6, 102.1), (7, 100.0), (8, 99.3), (9, 101.8), (10, 98.7);

Bây giờ, hãy tính toán độ lệch chuẩn:

SELECT
AVG(weight) AS avg_weight,
STD(weight) AS weight_std_dev
FROM chocolate_bars;

Kết quả:

+------------+----------------+
| avg_weight | weight_std_dev |
+------------+----------------+
|   99.98    |     1.37       |
+------------+----------------+

Điều này cho chúng ta biết rằng trọng lượng trung bình rất gần với mục tiêu của chúng ta là 100 gram, và trung bình, trọng lượng cách xa mức trung bình khoảng 1.37 gram. Nếu sự biến động này nằm trong giới hạn cho phép, thì tốt! Nếu không, có thể là lúc cần điều chỉnh lại máy móc sản xuất sô-cô-la.

Kết luận

Chúc mừng! Bạn đã刚刚迈出了使用MySQL进行统计分析的第一步。度 lệch chuẩn là một công cụ mạnh mẽ có thể giúp bạn hiểu sự phân tán của dữ liệu của mình, bất kể bạn đang làm việc với điểm số, trọng lượng sản phẩm hay bất kỳ thứ gì khác có thể đo lường được.

Nhớ rằng, sự khác biệt chính giữa độ lệch chuẩn của dân số (STD() hoặc STDDEV()) và mẫu (STDDEV_SAMP()) nằm ở việc bạn đang làm việc với dữ liệu đầy đủ hay chỉ một mẫu. Chọn một cách khôn ngoan dựa trên dữ liệu và mục tiêu của bạn!

Trong hành trình MySQL của bạn, bạn sẽ khám phá nhiều hàm và kỹ thuật thú vị khác. Hãy tiếp tục thực hành, giữ vững sự tò mò, và trước khi bạn biết, bạn sẽ trở thành một phù thủy dữ liệu! Chúc bạn may mắn với mã hóa, và hy vọng các truy vấn của bạn luôn mang lại kết quả sâu sắc!

Credits: Image by storyset