Có hai cách chủ yếu để xác định phương sai. Đầu tiên, bạn có phương sai n mà bạn có thể sử dụng khi có toàn bộ tập hợp và phương sai n-1 khi bạn có mẫu. Trong thống kê thuần túy, phương sai là bình phương độ lệch của biến so với giá trị trung bình của nó. Nó đo mức độ lan truyền của dữ liệu ngẫu nhiên trong tập hợp từ giá trị trung bình hoặc giá trị trung bình của nó Show
Giá trị phương sai thấp cho biết dữ liệu được nhóm lại với nhau và không bị phân tán rộng rãi. Ngược lại, giá trị cao sẽ gợi ý rằng dữ liệu trong tập hợp đã cho trải rộng hơn nhiều so với giá trị trung bình Phương sai là một công cụ thiết yếu trong khoa học, nơi phân tích dữ liệu thống kê là phổ biến. Nó là bình phương của độ lệch chuẩn của tập dữ liệu đã cho và còn được gọi là thời điểm trung tâm thứ hai của phân phối Công thức sau đây tính phương sai phương sai PythonPhương sai Python() là một hàm tích hợp được sử dụng để tính toán phương sai từ mẫu dữ liệu (mẫu là một tập hợp con của dữ liệu được điền). Mô-đun Thống kê Python cung cấp các công cụ mạnh có thể được sử dụng để tính toán mọi thứ liên quan đến Thống kê. Phương sai () là một chức năng như vậy. Trong blog này, chúng ta đã thấy hàm mean(), median() và mode() của Python Statistics. Các bước để tìm phương saiVì vậy, hãy chia nhỏ điều này thành một số bước hợp lý hơn
cú phápCú pháp của hàm phương sai() trong Python như sau statistics.variance(data, xbar=None) Nếu dữ liệu có ít hơn hai giá trị, StatisticsError sẽ tăng Tranh luận#dữ liệu Tham số này là bắt buộc khi dữ liệu là một mảng các số Python hợp lệ, bao gồm các giá trị Thập phân và Phân số #xbar Trong đó xbar là giá trị trung bình của dữ liệu, tham số này là tùy chọn. Giá trị trung bình được tính tự động nếu tham số này không được cung cấp (không có) Hàm variance() chỉ khả dụng và tương thích với Python 3. x Thí dụXem ví dụ sau # app.py import statistics dataset = [21, 19, 11, 21, 19, 46, 29] output = statistics.variance(dataset) print(output) Xem đầu ra sau ➜ pyt python3 app.py 124.23809523809524 ➜ pyt Phương sai Python() với cả hai đối sốTính giá trị trung bình trước và chuyển nó làm đối số cho phương thức phương sai (). Xem đoạn mã sau # app.py import statistics dataset = [21, 19, 11, 21, 19, 46, 29] meanValue = statistics.mean(dataset) output = statistics.variance(dataset, meanValue) print(output) Xem đầu ra sau ➜ pyt python3 app.py 124.23809523809524 ➜ pyt Tính phương sai() của Phân sốSử dụng mảng Phân số làm đối số # app.py from decimal import Decimal as D from statistics import variance print(variance([D("21.11"), D("19.21"), D("46.21"), D("18.21"), D("29.21"), D("21.06")])) Xem đầu ra sau ➜ pyt python3 app.py 114.73775 ➜ pyt Tính phương sai trong Python bằng NumpyTrong ví dụ này, chúng tôi sử dụng mô-đun numpy Phương sai đo lường mức độ chênh lệch của tập hợp số (ngẫu nhiên) so với giá trị trung bình của chúng Trong ngôn ngữ Python, chúng ta có thể tính phương sai bằng mô-đun numpy Với mô-đun numpy, hàm var() tính toán phương sai cho tập dữ liệu đã cho. Xem ví dụ sau # app.py import numpy as np dataset= [21, 11, 19, 18, 29, 46, 20] variance= np.var(dataset) print(variance) Xem đầu ra ________số 8Vì vậy, hãy chia nhỏ đoạn mã trên Chúng tôi nhập mô-đun numpy dưới dạng np. Điều này có nghĩa là chúng tôi tham chiếu mô-đun numpy với từ khóa np Sau đó, chúng tôi tạo biến, tập dữ liệu, bằng [21, 11, 19, 18, 29, 46, 20] Sau đó, chúng tôi nhận được phương sai của tập dữ liệu bằng cách sử dụng np. hàm var(). Vì vậy, thay vì np. var(), chúng tôi chỉ định biến, tập dữ liệu Bạn có một danh sách các số và bạn muốn tính phương sai của nó. Dưới đây là các phương pháp để làm điều đó trong Python Phương pháp 1 - # app.py import statistics dataset = [21, 19, 11, 21, 19, 46, 29] output = statistics.variance(dataset) print(output) 6Python đi kèm với gói # app.py import statistics dataset = [21, 19, 11, 21, 19, 46, 29] output = statistics.variance(dataset) print(output)7 dựng sẵn, chứa phương thức # app.py import statistics dataset = [21, 19, 11, 21, 19, 46, 29] output = statistics.variance(dataset) print(output)8
# app.py import statistics dataset = [21, 19, 11, 21, 19, 46, 29] output = statistics.variance(dataset) print(output)0 Phương pháp 2 - # app.py import statistics dataset = [21, 19, 11, 21, 19, 46, 29] output = statistics.variance(dataset) print(output) 9Nếu bạn đang làm bất kỳ loại khoa học dữ liệu và điện toán phân tích nào, có lẽ bạn đã sử dụng ➜ pyt python3 app.py 124.23809523809524 ➜ pyt0 Numpy đi kèm với phương thức ➜ pyt python3 app.py 124.23809523809524 ➜ pyt1 - chỉ cần truyền cho nó một mảng và nó trả về phương sai mẫu # app.py import statistics dataset = [21, 19, 11, 21, 19, 46, 29] output = statistics.variance(dataset) print(output)1 # app.py import statistics dataset = [21, 19, 11, 21, 19, 46, 29] output = statistics.variance(dataset) print(output)2 Lưu ý rằng kết quả khác với phương pháp đầu tiên - # app.py import statistics dataset = [21, 19, 11, 21, 19, 46, 29] output = statistics.variance(dataset) print(output)00 so với # app.py import statistics dataset = [21, 19, 11, 21, 19, 46, 29] output = statistics.variance(dataset) print(output)01. Tại sao vậy? Cách 3 - Sử dụng công thứcBạn đã thấy trong hai ví dụ đầu tiên rằng các giá trị cho phương sai của một danh sách khác nhau Đó là do sự khác biệt giữa phương sai dân số và mẫu và cách thức hoạt động của các phương pháp # app.py import statistics dataset = [21, 19, 11, 21, 19, 46, 29] output = statistics.variance(dataset) print(output)02 và # app.py import statistics dataset = [21, 19, 11, 21, 19, 46, 29] output = statistics.variance(dataset) print(output)9 theo mặc định Nếu bạn đang xử lý một mẫu khá lớn, thì các giá trị này phải rất gần nhau và bạn không nên quan tâm nhiều đến sự khác biệt. Điều đó có nghĩa là bạn có thể bỏ qua toán học phía trước một cách an toàn Nếu bạn vẫn tò mò, thì nó liên quan đến sự điều chỉnh của Bessel. công thức cho phương sai mẫu không hoàn toàn giống với công thức cho phương sai dân số Để hiểu điều này có nghĩa là gì và tại sao lại như vậy, hãy bắt đầu với định nghĩa về phương sai của một biến ngẫu nhiên $$Var(X)=E\left[\left(X-\mu_{X}\right)^{2}\right]$$ trong đó $\mu_X=E\left[X\right]$ là giá trị kỳ vọng của $X$ Trong trường hợp chúng ta đang xử lý một dân số hữu hạn, tức là. mảng số của chúng tôi không phải là một mẫu mà là toàn bộ dân số, chúng tôi quan tâm đến phương sai dân số. Trong trường hợp này, chúng tôi không ước tính phương sai, mà chỉ tính toán nó Đối với một dân số hữu hạn $x_1, x_2,. , x_n$ phương sai dân số được đưa ra bởi $$ Trong đó $\mu_X$ là trung bình dân số, được đưa ra bởi công thức quen thuộc cho trung bình cộng $$ Nếu mảng quan sát của chúng ta, $x_1, x_2,. , x_n$, là mẫu từ một tập hợp lớn hoặc vô hạn, chúng tôi muốn ước tính giá trị trung bình của tập hợp từ dữ liệu mẫu của mình. Để làm điều đó, chúng tôi bắt đầu với cùng một công thức $$ Tuy nhiên, $\mu_X$ là giá trị trung bình dân số thực sự mà chúng tôi không biết nên chúng tôi cũng cần ước tính nó. Chúng ta sẽ lại sử dụng công thức quen thuộc $$ Khi đó, ước tính của chúng tôi về phương sai mẫu, $\hat{\sigma}^{2}$ là $$ Không có gì ngạc nhiên cho đến nay, nhưng bây giờ đến phần thú vị Các công thức như trên, cho trung bình mẫu và phương sai mẫu, được gọi là công thức ước tính thống kê. Bất cứ khi nào chúng tôi xử lý các công cụ ước tính thống kê, lý tưởng nhất là chúng tôi muốn chúng nhất quán và không thiên vị Một công cụ ước tính nhất quán có thuộc tính là số lượng điểm dữ liệu được sử dụng (nghĩa là. kích thước mẫu) tăng vô hạn, kết quả ước tính hội tụ về giá trị thực của tham số ước tính (xem tại đây để biết định nghĩa chính xác hơn). Theo trực giác, đối với cỡ mẫu nhỏ, $n$ ước tính của chúng tôi về giá trị trung bình hoặc phương sai sẽ thay đổi rất nhiều trên các mẫu khác nhau có cỡ nhỏ đó. Kích thước mẫu càng lớn, các ước tính của chúng tôi càng trở nên nhất quán Cả hai công cụ ước tính của chúng tôi ở trên, cho $\hat{\mu}_X$ và $\hat{\sigma}^{2}$, thực sự là các công cụ ước tính nhất quán Công cụ ước tính không chệch là sao cho trên một số lượng lớn mẫu từ cùng một tổng thể, giá trị kỳ vọng của công cụ ước tính $\hat{\theta}$ bằng với giá trị thực của tham số $\theta$, nghĩa là. $E[\hat{\theta}]=\theta$ Công cụ ước tính của chúng tôi cho giá trị trung bình, $\hat{\mu}$ trên thực tế là không chệch, nghĩa là $$ Tuy nhiên, ước lượng của phương sai bị chệch. Nó có thể được chỉ ra rằng $$ Nhân cả hai vế với $\frac{n}{n-1}$, chúng tôi nhận được một ước tính không chệch cho phương sai mẫu, $\hat{\sigma_S}^2$ $$ Sử dụng mẫu số $n-1$ thay vì $n$ khi ước tính phương sai mẫu được gọi là hiệu chỉnh Bessel. Nó được sử dụng theo mặc định trong # app.py import statistics dataset = [21, 19, 11, 21, 19, 46, 29] output = statistics.variance(dataset) print(output)6, nhưng không phải trong # app.py import statistics dataset = [21, 19, 11, 21, 19, 46, 29] output = statistics.variance(dataset) print(output)9 Chúng tôi sẽ kết thúc bằng phần tổng quan về những phương pháp sẽ sử dụng nếu bạn quan tâm liệu bạn đang tính phương sai mẫu hay dân số Cách tính phương sai mẫu NumPy?Phương sai là giá trị trung bình của bình phương độ lệch so với giá trị trung bình, i. e. , 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).
Phương pháp NumPy nào được sử dụng để xác định phương sai của tập dữ liệu?Phương thức var() tính phương sai cho mỗi cột. Bằng cách chỉ định trục cột ( axis='columns' ), phương thức var() tìm kiếm theo cột và trả về phương sai cho mỗi hàng.
NumPy VAR hoạt động như thế nào?var() trong Python. cục mịch. var(mảng, trục = Không). Tính toán phương sai của dữ liệu đã cho (phần tử mảng) dọc theo trục đã chỉ định (nếu có) . Kết quả này là phương sai. |