Làm cách nào để bạn tìm thấy phương sai mẫu trong python bằng cách sử dụng numpy?

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ó

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

Làm cách nào để bạn tìm thấy phương sai mẫu trong python bằng cách sử dụng numpy?

phương sai Python

Phươ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 sai

Vì vậy, hãy chia nhỏ điều này thành một số bước hợp lý hơn

  1. Tìm giá trị trung bình của tập dữ liệu
  2. Trừ mỗi số từ một giá trị trung bình
  3. Bình phương kết quả
  4. Cộng các kết quả lại với nhau
  5. Chia một kết quả cho tổng số các số trong tập dữ liệu

cú pháp

Cú 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 Numpy

Trong 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ố 8

Vì 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) 6

Python đ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

import statistics

a = [-0.372, 0.073, -0.441, -0.577, 0.463, 0.569, -0.559, 0.300, -0.903, 0.442]
var = statistics.variance(a)

print(var)
# 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) 9

Nế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
➜  pyt
0

Numpy đi kèm với phương thức

➜  pyt python3 app.py
124.23809523809524
➜  pyt
1 - 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ức

Bạ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

$$
\sigma^{2}=\frac{1}{n}\sum_{i=1}^{n}\left(x_{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

$$
\mu_{X}=\frac{1}{n}\sum_{i=1}^{n}x_{i}
$$

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

$$
\hat{\sigma}^{2}=\frac{1}{n}\sum_{i=1}^{n}\left(x_
$$

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

$$
\hat{\mu}_{X}=\bar{X}=\frac{1}{n}\sum_{i=1}^{
$$

Khi đó, ước tính của chúng tôi về phương sai mẫu, $\hat{\sigma}^{2}$ là

$$
\hat{\sigma}^{2}=\frac{1}{n}\sum_{i=1}^{n}\left(x_
$$

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à

$$
E\left[\frac{1}{n}\sum_{i=1}^{n}x_{i}\right]=E[X
$$

Tuy nhiên, ước lượng của phương sai bị chệch. Nó có thể được chỉ ra rằng

$$
E[\hat{\sigma}^2]=E\left[\frac{1}{n}\sum_{i=1}^{n
$$

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$

$$
E[\hat{\sigma_S}^2]=E\left[\frac{1}{n-1}\sum_{i=1}^
$$

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.