Hướng dẫn which python function is used to calculate mean and variance? - hàm python nào được sử dụng để tính giá trị trung bình và phương sai?

Giới thiệu

Hai biện pháp thống kê liên quan chặt chẽ sẽ cho phép chúng tôi có ý tưởng về sự lan truyền hoặc phân tán dữ liệu của chúng tôi. Biện pháp đầu tiên là phương sai, đo lường mức độ trung bình của các quan sát riêng lẻ trong dữ liệu của chúng tôi. Thứ hai là độ lệch chuẩn, là căn bậc hai của phương sai và đo lường mức độ biến đổi hoặc phân tán của bộ dữ liệu.

Trong hướng dẫn này, chúng ta sẽ học cách tính toán phương sai và độ lệch chuẩn trong Python. Trước tiên chúng ta sẽ mã hóa hàm Python cho mỗi biện pháp và sau đó, chúng ta sẽ tìm hiểu cách sử dụng mô -đun Python statistics để nhanh chóng hoàn thành cùng một nhiệm vụ.

Với kiến ​​thức này, chúng tôi sẽ có thể xem xét đầu tiên về các bộ dữ liệu của chúng tôi và có ý tưởng nhanh về sự phân tán chung của dữ liệu của chúng tôi.

Tính toán phương sai

Trong số liệu thống kê, phương sai là thước đo giá trị cá nhân (số) bao xa trong bộ dữ liệu từ giá trị trung bình hoặc trung bình. Phương sai thường được sử dụng để định lượng sự lan truyền hoặc phân tán. Truyền bá là một đặc điểm của một mẫu hoặc dân số mô tả mức độ biến đổi trong đó.variance is a measure of how far individual (numeric) values in a dataset are from the mean or average value. The variance is often used to quantify spread or dispersion. Spread is a characteristic of a sample or population that describes how much variability there is in it.

Một phương sai cao cho chúng ta biết rằng các giá trị trong tập dữ liệu của chúng ta là xa trung bình của chúng. Vì vậy, dữ liệu của chúng tôi sẽ có mức độ biến thiên cao. Mặt khác, một phương sai thấp cho chúng ta biết rằng các giá trị khá gần với giá trị trung bình. Trong trường hợp này, dữ liệu sẽ có mức độ biến thiên thấp.

Để tính toán phương sai trong bộ dữ liệu, trước tiên chúng ta cần tìm sự khác biệt giữa từng giá trị riêng lẻ và giá trị trung bình. Phương sai là trung bình của các hình vuông của những khác biệt đó. Chúng ta có thể thể hiện phương sai với biểu thức toán học sau:

$$ \ sigma^2 = \ frac {1} {n} {\ sum_ {i = 0}^{n -1} {(x_i - \ mu)^2}} $$
\sigma^2 = \frac{1}{n}{\sum_{i=0}^{n-1}{(x_i - \mu)^2}}
$$

Trong phương trình này, XI là viết tắt của các giá trị hoặc quan sát riêng lẻ trong bộ dữ liệu. là viết tắt của giá trị trung bình hoặc trung bình của các giá trị đó. N là số lượng các giá trị trong tập dữ liệu.xi stands for individual values or observations in a dataset. μ stands for the mean or average of those values. n is the number of values in the dataset.

Thuật ngữ XI - được gọi là độ lệch so với giá trị trung bình. Vì vậy, phương sai là giá trị trung bình của độ lệch vuông. Đó là lý do tại sao chúng tôi biểu thị nó là σ2.xi - μ is called the deviation from the mean. So, the variance is the mean of square deviations. That's why we denoted it as σ2.

Giả sử chúng ta có một bộ dữ liệu [3, 5, 2, 7, 1, 3]. Để tìm phương sai của nó, chúng ta cần tính toán giá trị trung bình là:

$$ (3 + 5 + 2 + 7 + 1 + 3) / 6 = 3,5 $$
(3 + 5 + 2 + 7 + 1 + 3) / 6 = 3.5
$$

Sau đó, chúng ta cần tính toán tổng độ lệch vuông so với giá trị trung bình của tất cả các quan sát. Đây là cách:

$$ (3 - 3.5)^2 + (5 - 3.5)^2 + (2 - 3.5)^2 + (7 - 3.5)^2 + (1 - 3.5)^2 + (3 - 3.5)^2 = 23,5 $$
(3 - 3.5)^2 + (5 - 3.5)^2 + (2 - 3.5)^2 + (7 - 3.5)^2 + (1 - 3.5)^2 + (3 - 3.5)^2 = 23.5
$$

Để tìm phương sai, chúng ta chỉ cần chia kết quả này cho số lượng quan sát như sau:

$$ 23,5 / 6 = 3.91666667 $$ $$
23.5 / 6 = 3.916666667
$$

Đó là tất cả. Phương sai của dữ liệu của chúng tôi là 3.91666667. Phương sai rất khó hiểu và giải thích, đặc biệt là các đơn vị kỳ lạ của nó như thế nào.

Ví dụ, nếu các quan sát trong bộ dữ liệu của chúng tôi được đo bằng pound, thì phương sai sẽ được đo bằng bảng vuông. Vì vậy, chúng ta có thể nói rằng các quan sát, trung bình, 3.91666667 pound vuông cách xa trung bình 3,5. May mắn thay, độ lệch chuẩn đến để khắc phục vấn đề này nhưng đó là một chủ đề của phần sau.

Nếu chúng ta áp dụng khái niệm phương sai vào bộ dữ liệu, thì chúng ta có thể phân biệt giữa phương sai mẫu và phương sai dân số. Phương sai dân số là phương sai mà chúng ta đã thấy trước đây và chúng ta có thể tính toán nó bằng cách sử dụng dữ liệu từ toàn bộ dân số và biểu thức cho σ2.sample variance and the population variance. The population variance is the variance that we saw before and we can calculate it using the data from the full population and the expression for σ2.

Phương sai mẫu được ký hiệu là S2 và chúng ta có thể tính toán nó bằng cách sử dụng một mẫu từ một quần thể nhất định và biểu thức sau:S2 and we can calculate it using a sample from a given population and the following expression:

$$ S^2 = \ frac {1} {n} {\ sum_ {i = 0}^{n -1} {(x_i - x)^2}} $$
S^2 = \frac{1}{n}{\sum_{i=0}^{n-1}{(x_i - X)^2}}
$$

Biểu thức này khá giống với biểu thức tính toán σ2 nhưng trong trường hợp này, XI đại diện cho các quan sát riêng lẻ trong mẫu và X là giá trị trung bình của mẫu.σ2 but in this case, xi represents individual observations in the sample and X is the mean of the sample.

S2 thường được sử dụng để ước tính phương sai của dân số (σ2) bằng cách sử dụng mẫu dữ liệu. Tuy nhiên, S2 đánh giá thấp một cách có hệ thống phương sai dân số. Vì lý do đó, nó được gọi là một công cụ ước tính thiên vị của phương sai dân số. is commonly used to estimate the variance of a population (σ2) using a sample of data. However, S2 systematically underestimates the population variance. For that reason, it's referred to as a biased estimator of the population variance.

Khi chúng ta có một mẫu lớn, S2 có thể là công cụ ước tính đầy đủ σ2. Đối với các mẫu nhỏ, nó có xu hướng quá thấp. May mắn thay, có một thống kê đơn giản khác mà chúng ta có thể sử dụng để ước tính tốt hơn σ2. Đây là phương trình của nó:S2 can be an adequate estimator of σ2. For small samples, it tends to be too low. Fortunately, there is another simple statistic that we can use to better estimate σ2. Here's its equation:

$$ S^2_ {n-1} = \ frac {1} {n-1} {\ sum_ {i = 0}^{n-1} {(x_i-x)^2}} $$
S^2_{n-1} = \frac{1}{n-1}{\sum_{i=0}^{n-1}{(x_i - X)^2}}
$$

Điều này trông khá giống với biểu thức trước đó. Có vẻ như độ lệch bình phương so với giá trị trung bình nhưng trong trường hợp này, chúng tôi chia cho n - 1 thay vì bởi n. Đây được gọi là sự điều chỉnh của Bessel. Sửa chữa của Bessel minh họa rằng S2N-1 là công cụ ước tính không thiên vị tốt nhất cho phương sai dân số. Vì vậy, trong thực tế, chúng ta sẽ sử dụng phương trình này để ước tính phương sai của dân số bằng cách sử dụng mẫu dữ liệu. Lưu ý rằng S2N -1 còn được gọi là phương sai với N - 1 độ tự do.n - 1 instead of by n. This is called Bessel's correction. Bessel's correction illustrates that S2n-1 is the best unbiased estimator for the population variance. So, in practice, we'll use this equation to estimate the variance of a population using a sample of data. Note that S2n-1 is also known as the variance with n - 1 degrees of freedom.

Bây giờ chúng tôi đã học được cách tính phương sai bằng cách sử dụng biểu thức toán học của nó, đã đến lúc phải hành động và tính toán phương sai bằng Python.

Mã hóa hàm phương sai () trong Python

Để tính toán phương sai, chúng ta sẽ mã hóa một hàm Python gọi là variance(). Hàm này sẽ lấy một số dữ liệu và trả về phương sai của nó. Bên trong variance(), chúng ta sẽ tính toán giá trị trung bình của dữ liệu và độ lệch vuông so với giá trị trung bình. Cuối cùng, chúng ta sẽ tính toán phương sai bằng cách tìm mức trung bình của độ lệch.

Đây là một triển khai có thể cho variance():

>>> def variance(data):
...     # Number of observations
...     n = len(data)
...     # Mean of the data
...     mean = sum(data) / n
...     # Square deviations
...     deviations = [(x - mean) ** 2 for x in data]
...     # Variance
...     variance = sum(deviations) / n
...     return variance
...

>>> variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
5.76

Trước tiên, chúng tôi tính toán số lượng quan sát (

>>> def variance(data, ddof=0):
...     n = len(data)
...     mean = sum(data) / n
...     return sum((x - mean) ** 2 for x in data) / (n - ddof)
...

>>> variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
5.76

>>> variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5], ddof=1)
6.4
1) trong dữ liệu của chúng tôi bằng cách sử dụng hàm tích hợp
>>> def variance(data, ddof=0):
...     n = len(data)
...     mean = sum(data) / n
...     return sum((x - mean) ** 2 for x in data) / (n - ddof)
...

>>> variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
5.76

>>> variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5], ddof=1)
6.4
2. Sau đó, chúng tôi tính toán giá trị trung bình của dữ liệu, chia tổng số của các quan sát cho số lượng quan sát.

Kiểm tra hướng dẫn thực hành của chúng tôi, thực tế để học Git, với các thực hành tốt nhất, các tiêu chuẩn được công nghiệp chấp nhận và bao gồm bảng gian lận. Ngừng các lệnh git googling và thực sự tìm hiểu nó!

Bước tiếp theo là tính toán độ lệch vuông so với giá trị trung bình. Để làm điều đó, chúng tôi sử dụng độ hiểu

>>> def variance(data, ddof=0):
...     n = len(data)
...     mean = sum(data) / n
...     return sum((x - mean) ** 2 for x in data) / (n - ddof)
...

>>> variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
5.76

>>> variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5], ddof=1)
6.4
3 tạo ra một
>>> def variance(data, ddof=0):
...     n = len(data)
...     mean = sum(data) / n
...     return sum((x - mean) ** 2 for x in data) / (n - ddof)
...

>>> variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
5.76

>>> variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5], ddof=1)
6.4
3 độ lệch vuông bằng cách sử dụng biểu thức
>>> def variance(data, ddof=0):
...     n = len(data)
...     mean = sum(data) / n
...     return sum((x - mean) ** 2 for x in data) / (n - ddof)
...

>>> variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
5.76

>>> variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5], ddof=1)
6.4
5 trong đó
>>> def variance(data, ddof=0):
...     n = len(data)
...     mean = sum(data) / n
...     return sum((x - mean) ** 2 for x in data) / (n - ddof)
...

>>> variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
5.76

>>> variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5], ddof=1)
6.4
6 là viết tắt của mọi quan sát trong dữ liệu của chúng tôi.

Cuối cùng, chúng tôi tính toán phương sai bằng cách tổng hợp các sai lệch và chia chúng cho số lượng quan sát

>>> def variance(data, ddof=0):
...     n = len(data)
...     mean = sum(data) / n
...     return sum((x - mean) ** 2 for x in data) / (n - ddof)
...

>>> variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
5.76

>>> variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5], ddof=1)
6.4
1.

Trong trường hợp này, variance() sẽ tính toán phương sai dân số vì chúng tôi sử dụng N thay vì N - 1 để tính giá trị trung bình của độ lệch. Nếu chúng tôi làm việc với một mẫu và chúng tôi muốn ước tính phương sai của dân số, thì chúng tôi sẽ cần cập nhật biểu thức

>>> def variance(data, ddof=0):
...     n = len(data)
...     mean = sum(data) / n
...     return sum((x - mean) ** 2 for x in data) / (n - ddof)
...

>>> variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
5.76

>>> variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5], ddof=1)
6.4
9 lên
>>> import statistics

>>> statistics.pvariance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
5.760000000000001
0.n instead of n - 1 to calculate the mean of the deviations. If we're working with a sample and we want to estimate the variance of the population, then we'll need to update the expression
>>> def variance(data, ddof=0):
...     n = len(data)
...     mean = sum(data) / n
...     return sum((x - mean) ** 2 for x in data) / (n - ddof)
...

>>> variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
5.76

>>> variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5], ddof=1)
6.4
9 to
>>> import statistics

>>> statistics.pvariance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
5.760000000000001
0.

Chúng ta có thể tái cấu trúc chức năng của mình để làm cho nó súc tích và hiệu quả hơn. Đây là một ví dụ:

>>> def variance(data, ddof=0):
...     n = len(data)
...     mean = sum(data) / n
...     return sum((x - mean) ** 2 for x in data) / (n - ddof)
...

>>> variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
5.76

>>> variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5], ddof=1)
6.4

Trong trường hợp này, chúng tôi loại bỏ một số bước trung gian và các biến tạm thời như

>>> import statistics

>>> statistics.pvariance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
5.760000000000001
1 và
>>> import statistics

>>> statistics.pvariance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
5.760000000000001
2. Chúng tôi cũng biến sự hiểu biết
>>> def variance(data, ddof=0):
...     n = len(data)
...     mean = sum(data) / n
...     return sum((x - mean) ** 2 for x in data) / (n - ddof)
...

>>> variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
5.76

>>> variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5], ddof=1)
6.4
3 thành một biểu thức máy phát, hiệu quả hơn nhiều về mức tiêu thụ bộ nhớ.

Lưu ý rằng việc triển khai này có một đối số thứ hai được gọi là

>>> import statistics

>>> statistics.pvariance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
5.760000000000001
4 mặc định là
>>> import statistics

>>> statistics.pvariance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
5.760000000000001
5. Đối số này cho phép chúng tôi đặt mức độ tự do mà chúng tôi muốn sử dụng khi tính toán phương sai. Ví dụ,
>>> import statistics

>>> statistics.pvariance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
5.760000000000001
6 sẽ cho phép chúng tôi tính toán phương sai của dân số. Trong khi đó,
>>> import statistics

>>> statistics.pvariance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
5.760000000000001
7 sẽ cho phép chúng tôi ước tính phương sai dân số bằng cách sử dụng một mẫu dữ liệu.

Sử dụng pvariance () và phương sai của Python ()

Python bao gồm một mô -đun tiêu chuẩn gọi là statistics cung cấp một số chức năng để tính toán số liệu thống kê cơ bản về dữ liệu. Trong trường hợp này,

>>> import statistics

>>> statistics.pvariance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
5.760000000000001
9 và
>>> import statistics

>>> statistics.variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
6.4
0 là các chức năng mà chúng ta có thể sử dụng để tính toán phương sai của dân số và của một mẫu tương ứng.

Đây là cách

>>> import statistics

>>> statistics.variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
6.4
1 của Python hoạt động:

>>> import statistics

>>> statistics.pvariance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
5.760000000000001

Chúng tôi chỉ cần nhập mô -đun statistics và sau đó gọi

>>> import statistics

>>> statistics.variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
6.4
1 với dữ liệu của chúng tôi làm đối số. Điều đó sẽ trả lại phương sai của dân số.

Mặt khác, chúng ta có thể sử dụng variance() của Python để tính toán phương sai của một mẫu và sử dụng nó để ước tính phương sai của toàn bộ dân số. Đó là bởi vì variance() sử dụng N - 1 thay vì N để tính toán phương sai. Đây là cách nó hoạt động:n - 1 instead of n to calculate the variance. Here's how it works:

>>> import statistics

>>> statistics.variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
6.4

Đây là phương sai mẫu S2. Vì vậy, kết quả của việc sử dụng variance() của Python nên là một ước tính không thiên vị về phương sai dân số σ2, với điều kiện là các quan sát là đại diện cho toàn bộ dân số.S2. So, the result of using Python's variance() should be an unbiased estimate of the population variance σ2, provided that the observations are representative of the entire population.

Tính toán độ lệch chuẩn

Độ lệch chuẩn đo lường số lượng biến đổi hoặc phân tán của một tập hợp các giá trị số. Độ lệch chuẩn là căn bậc hai của phương sai σ2 và được ký hiệu là. Vì vậy, nếu chúng ta muốn tính độ lệch chuẩn, thì tất cả những gì chúng ta phải làm là lấy căn bậc hai của phương sai như sau:standard deviation measures the amount of variation or dispersion of a set of numeric values. Standard deviation is the square root of variance σ2 and is denoted as σ. So, if we want to calculate the standard deviation, then all we just have to do is to take the square root of the variance as follows:

$$ \ sigma = \ sqrt {\ sigma^2} $$
\sigma = \sqrt{\sigma^2}
$$

Một lần nữa, chúng ta cần phân biệt giữa độ lệch chuẩn dân số, đó là căn bậc hai của phương sai dân số (σ2) và độ lệch chuẩn mẫu, là căn bậc hai của phương sai mẫu (S2). Chúng tôi sẽ biểu thị độ lệch chuẩn mẫu là S:σ2) and the sample standard deviation, which is the square root of the sample variance (S2). We'll denote the sample standard deviation as S:

$$ s = \ sqrt {s^2} $$
S = \sqrt{S^2}
$$

Các giá trị thấp của độ lệch chuẩn cho chúng ta biết rằng các giá trị riêng lẻ gần với giá trị trung bình hơn. Mặt khác, các giá trị cao cho chúng tôi biết rằng các quan sát cá nhân cách xa giá trị trung bình của dữ liệu.

Các giá trị nằm trong một độ lệch chuẩn của giá trị trung bình có thể được coi là khá điển hình, trong khi các giá trị là ba hoặc nhiều độ lệch chuẩn so với giá trị trung bình có thể được coi là không điển hình hơn nhiều. Chúng còn được gọi là ngoại lệ.outliers.

Không giống như phương sai, độ lệch chuẩn sẽ được thể hiện trong cùng một đơn vị của các quan sát ban đầu. Do đó, độ lệch chuẩn là một thống kê có ý nghĩa hơn và dễ hiểu hơn. Lấy ví dụ của chúng tôi, nếu các quan sát được thể hiện bằng bảng Anh, thì độ lệch chuẩn cũng sẽ được biểu thị bằng bảng Anh.

Nếu chúng ta đang cố gắng ước tính độ lệch chuẩn của dân số bằng cách sử dụng một mẫu dữ liệu, thì chúng ta sẽ được phục vụ tốt hơn khi sử dụng N - 1 độ tự do. Đây là một biểu thức toán học mà chúng ta thường sử dụng để ước tính phương sai dân số: $$ \ sigma_x = \ sqrt \ frac {\ sum_ {i = 0}^{n -1} {(x_i - \ mu_x) -1} $$ Lưu ý rằng đây là căn bậc hai của phương sai mẫu với N - 1 độ tự do. Điều này tương đương để nói: $$ S_ {N-1} = \ Sqrt {S^2_ {N-1}} $$ Khi chúng ta biết cách tính độ lệch chuẩn bằng cách sử dụng biểu thức toán học của nó, chúng ta có thể xem cách Chúng ta có thể tính toán thống kê này bằng Python.n - 1 degrees of freedom. Here's a math expression that we typically use to estimate the population variance:
$$
\sigma_x = \sqrt\frac{\sum_{i=0}^{n-1}{(x_i - \mu_x)^2}}{n-1}
$$
Note that this is the square root of the sample variance with n - 1 degrees of freedom. This is equivalent to say:
$$
S_{n-1} = \sqrt{S^2_{n-1}}
$$
Once we know how to calculate the standard deviation using its math expression, we can take a look at how we can calculate this statistic using Python.

Mã hóa hàm stdev () trong Python

Để tính độ lệch chuẩn của bộ dữ liệu, chúng tôi sẽ dựa vào chức năng variance() của mình. Chúng tôi cũng sẽ sử dụng chức năng

>>> import statistics

>>> statistics.variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
6.4
8 từ mô -đun
>>> import statistics

>>> statistics.variance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
6.4
9 của thư viện tiêu chuẩn Python. Đây là một chức năng gọi là
>>> import math

>>> # We relay on our previous implementation for the variance
>>> def variance(data, ddof=0):
...     n = len(data)
...     mean = sum(data) / n
...     return sum((x - mean) ** 2 for x in data) / (n - ddof)
...

>>> def stdev(data):
...     var = variance(data)
...     std_dev = math.sqrt(var)
...     return std_dev

>>> stdev([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
2.4
0 lấy dữ liệu từ dân số và trả về độ lệch chuẩn của nó:

>>> import math

>>> # We relay on our previous implementation for the variance
>>> def variance(data, ddof=0):
...     n = len(data)
...     mean = sum(data) / n
...     return sum((x - mean) ** 2 for x in data) / (n - ddof)
...

>>> def stdev(data):
...     var = variance(data)
...     std_dev = math.sqrt(var)
...     return std_dev

>>> stdev([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
2.4

Hàm

>>> import math

>>> # We relay on our previous implementation for the variance
>>> def variance(data, ddof=0):
...     n = len(data)
...     mean = sum(data) / n
...     return sum((x - mean) ** 2 for x in data) / (n - ddof)
...

>>> def stdev(data):
...     var = variance(data)
...     std_dev = math.sqrt(var)
...     return std_dev

>>> stdev([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
2.4
0 của chúng tôi mất một số
>>> import math

>>> # We relay on our previous implementation for the variance
>>> def variance(data, ddof=0):
...     n = len(data)
...     mean = sum(data) / n
...     return sum((x - mean) ** 2 for x in data) / (n - ddof)
...

>>> def stdev(data):
...     var = variance(data)
...     std_dev = math.sqrt(var)
...     return std_dev

>>> stdev([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
2.4
2 và trả về độ lệch chuẩn dân số. Để làm điều đó, chúng tôi dựa vào hàm variance() trước đây của chúng tôi để tính toán phương sai và sau đó chúng tôi sử dụng
>>> import math

>>> # We relay on our previous implementation for the variance
>>> def variance(data, ddof=0):
...     n = len(data)
...     mean = sum(data) / n
...     return sum((x - mean) ** 2 for x in data) / (n - ddof)
...

>>> def stdev(data):
...     var = variance(data)
...     std_dev = math.sqrt(var)
...     return std_dev

>>> stdev([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
2.4
4 để lấy căn bậc hai của phương sai.

Nếu chúng ta muốn sử dụng

>>> import math

>>> # We relay on our previous implementation for the variance
>>> def variance(data, ddof=0):
...     n = len(data)
...     mean = sum(data) / n
...     return sum((x - mean) ** 2 for x in data) / (n - ddof)
...

>>> def stdev(data):
...     var = variance(data)
...     std_dev = math.sqrt(var)
...     return std_dev

>>> stdev([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
2.4
0 để ước tính độ lệch chuẩn dân số bằng cách sử dụng mẫu dữ liệu, thì chúng ta chỉ cần tính toán phương sai với N - 1 độ tự do như chúng ta đã thấy trước đây. Đây là một
>>> import math

>>> # We relay on our previous implementation for the variance
>>> def variance(data, ddof=0):
...     n = len(data)
...     mean = sum(data) / n
...     return sum((x - mean) ** 2 for x in data) / (n - ddof)
...

>>> def stdev(data):
...     var = variance(data)
...     std_dev = math.sqrt(var)
...     return std_dev

>>> stdev([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
2.4
0 chung chung cho phép chúng ta vượt qua mức độ tự do:n - 1 degrees of freedom as we saw before. Here's a more generic
>>> import math

>>> # We relay on our previous implementation for the variance
>>> def variance(data, ddof=0):
...     n = len(data)
...     mean = sum(data) / n
...     return sum((x - mean) ** 2 for x in data) / (n - ddof)
...

>>> def stdev(data):
...     var = variance(data)
...     std_dev = math.sqrt(var)
...     return std_dev

>>> stdev([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
2.4
0 that allows us to pass in degrees of freedom as well:

>>> def stdev(data, ddof=0):
...     return math.sqrt(variance(data, ddof))

>>> stdev([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
2.4

>>> stdev([4, 8, 6, 5, 3, 2, 8, 9, 2, 5], ddof=1)
2.5298221281347035

Với triển khai mới này, chúng ta có thể sử dụng

>>> import statistics

>>> statistics.pvariance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
5.760000000000001
6 để tính độ lệch chuẩn của dân số hoặc chúng ta có thể sử dụng
>>> import statistics

>>> statistics.pvariance([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
5.760000000000001
7 để ước tính độ lệch chuẩn của dân số bằng cách sử dụng mẫu dữ liệu.

Sử dụng pstdev () và stdev của Python ()

Mô -đun Python statistics cũng cung cấp các chức năng để tính độ lệch chuẩn. Chúng ta có thể tìm thấy

>>> def stdev(data, ddof=0):
...     return math.sqrt(variance(data, ddof))

>>> stdev([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
2.4

>>> stdev([4, 8, 6, 5, 3, 2, 8, 9, 2, 5], ddof=1)
2.5298221281347035
0 và
>>> import math

>>> # We relay on our previous implementation for the variance
>>> def variance(data, ddof=0):
...     n = len(data)
...     mean = sum(data) / n
...     return sum((x - mean) ** 2 for x in data) / (n - ddof)
...

>>> def stdev(data):
...     var = variance(data)
...     std_dev = math.sqrt(var)
...     return std_dev

>>> stdev([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
2.4
0. Hàm đầu tiên lấy dữ liệu của toàn bộ dân số và trả về độ lệch chuẩn của nó. Hàm thứ hai lấy dữ liệu từ một mẫu và trả về ước tính độ lệch chuẩn dân số.

Đây là cách các chức năng này hoạt động:

>>> import statistics

>>> statistics.pstdev([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
2.4000000000000004

>>> statistics.stdev([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
2.5298221281347035

Trước tiên chúng ta cần nhập mô -đun statistics. Sau đó, chúng ta có thể gọi

>>> def stdev(data, ddof=0):
...     return math.sqrt(variance(data, ddof))

>>> stdev([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
2.4

>>> stdev([4, 8, 6, 5, 3, 2, 8, 9, 2, 5], ddof=1)
2.5298221281347035
3 với dữ liệu từ dân số để có được độ lệch chuẩn.

Nếu chúng ta không có dữ liệu cho toàn bộ dân số, đây là một kịch bản phổ biến, thì chúng ta có thể sử dụng một mẫu dữ liệu và sử dụng

>>> def stdev(data, ddof=0):
...     return math.sqrt(variance(data, ddof))

>>> stdev([4, 8, 6, 5, 3, 2, 8, 9, 2, 5])
2.4

>>> stdev([4, 8, 6, 5, 3, 2, 8, 9, 2, 5], ddof=1)
2.5298221281347035
4 để ước tính độ lệch chuẩn dân số.

Sự kết luận

Phương sai và độ lệch chuẩn thường được sử dụng để đo độ biến thiên hoặc phân tán của bộ dữ liệu. Các biện pháp thống kê này bổ sung cho việc sử dụng giá trị trung bình, trung bình và chế độ khi chúng tôi mô tả dữ liệu của chúng tôi.variance and the standard deviation are commonly used to measure the variability or dispersion of a dataset. These statistic measures complement the use of the mean, the median, and the mode when we're describing our data.

Trong hướng dẫn này, chúng tôi đã học được cách tính phương sai và độ lệch chuẩn của bộ dữ liệu bằng Python. Trước tiên chúng tôi đã học, từng bước, cách tạo các chức năng của riêng mình để tính toán chúng và sau đó chúng tôi đã học cách sử dụng mô-đun Python statistics như một cách nhanh chóng để tiếp cận tính toán của chúng.statistics module as a quick way to approach their calculation.

Hàm Python nào tính toán phương sai?

Thống kê Python | Phương sai () Phương sai () Hàm chỉ nên được sử dụng khi phương sai của mẫu cần được tính toán. Có một chức năng khác được gọi là pvariance (), được sử dụng để tính toán phương sai của toàn bộ dân số. Trong thống kê thuần túy, phương sai là độ lệch bình phương của một biến so với giá trị trung bình của nó.variance() variance() function should only be used when variance of a sample needs to be calculated. There's another function known as pvariance(), which is used to calculate the variance of an entire population. In pure statistics, variance is the squared deviation of a variable from its mean.

Chức năng có nghĩa là gì trong Python là gì?

Hàm trung bình python () hàm trung bình () được sử dụng để tính giá trị trung bình/trung bình của các giá trị đầu vào hoặc tập dữ liệu.Hàm trung bình () chấp nhận danh sách, bộ xử lý hoặc tập dữ liệu chứa các giá trị số dưới dạng tham số và trả về trung bình của các mục dữ liệu.Cú pháp: Trung bình (giá trị dữ liệu/đầu vào-giá trị)mean() function mean() function is used to calculate the mean/average of input values or data set. The mean() function accepts the list, tuple or data-set containing numeric values as a parameter and returns the average of the data-items. Syntax: mean(data-set/input-values)

Làm thế nào chúng ta có thể tính toán xác suất trong Python?

Để tính toán xác suất này, bạn chia số lượng kết quả sự kiện có thể cho không gian mẫu.Điều này có nghĩa là bạn phải xem xét trước tiên có bao nhiêu cách có thể để đồng xu hạ cánh trên đuôi và số lượng kết quả có thể xảy ra.divide the number of possible event outcomes by the sample space. This means that you have to consider first how many possible ways there are for the coin to land on tails, and the number of possible outcomes.

Làm thế nào để bạn tìm thấy giá trị trung bình và phương sai của một mảng trong Python?

Phương sai là trung bình của độ lệch bình phương so với giá trị trung bình, tức là, var = mean (x), trong đó x = abs (a - a.mean ()) ** 2.Giá trị trung bình thường được tính là x.sum () / n, trong đó n = len (x).var = mean(x) , where x = abs(a - a. mean())**2 . The mean is typically calculated as x. sum() / N , where N = len(x) .