Hướng dẫn how do you find standard deviation in python without libraries? - làm thế nào để bạn tìm thấy độ lệch chuẩn trong python không có thư viện?

2

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi đang cố gắng tìm ra cách tạo tập lệnh tính toán độ lệch chuẩn cho một tệp. Ví dụ, giả sử tôi đã đưa một CSV với một danh sách các giá trị trên đó. Tôi muốn tìm SD của các giá trị này bằng cách chạy chương trình Python. Chúng tôi không sử dụng Numpy ở đây!

Đã hỏi ngày 3 tháng 6 năm 2014 lúc 20:01Jun 3, 2014 at 20:01

Hướng dẫn how do you find standard deviation in python without libraries? - làm thế nào để bạn tìm thấy độ lệch chuẩn trong python không có thư viện?

1

Nếu bạn cho phép sử dụng thư viện tiêu chuẩn,

import math

xs = [0.5,0.7,0.3,0.2]     # values (must be floats!)
mean = sum(xs) / len(xs)   # mean
var  = sum(pow(x-mean,2) for x in xs) / len(xs)  # variance
std  = math.sqrt(var)  # standard deviation

Nếu không, bạn cần xấp xỉ

import statistics

data = [1, 1, 2.5, 6.5, 7.3, 8, 9.2]

print(statistics.pstdev(data))
# 3.2159043543498815
2 bằng tay. Ví dụ: bạn có thể sử dụng phương pháp tìm kiếm nhị phân hoặc phương pháp của Newton. Đây là trang Wikipedia cho các phương thức làm như vậy

Đã trả lời ngày 3 tháng 6 năm 2014 lúc 20:08Jun 3, 2014 at 20:08

Duckworthdduckworthdduckworthd

14.2K15 Huy hiệu vàng52 Huy hiệu bạc68 Huy hiệu đồng15 gold badges52 silver badges68 bronze badges

1

Với Python 3,4 trở lên, có một gói gọi là thống kê, có độ lệch chuẩn (PSTDEV) và các chức năng khác

Dưới đây là một ví dụ về cách sử dụng nó:

import statistics

data = [1, 1, 2.5, 6.5, 7.3, 8, 9.2]

print(statistics.pstdev(data))
# 3.2159043543498815

Đã trả lời ngày 23 tháng 9 năm 2018 lúc 14:39Sep 23, 2018 at 14:39

Hướng dẫn how do you find standard deviation in python without libraries? - làm thế nào để bạn tìm thấy độ lệch chuẩn trong python không có thư viện?

Vlad Bezdenvlad BezdenVlad Bezden

76.5K23 Huy hiệu vàng237 Huy hiệu bạc176 Huy hiệu đồng23 gold badges237 silver badges176 bronze badges

 from math import sqrt
 n= [11, 8, 8, 3, 4, 4, 5, 6, 6, 7, 8] 

 mean =sum(n)/len(n)
 SUM= 0
 for i in n :
     SUM +=(i-mean)**2



 stdeV = sqrt(SUM/(len(n)-1)) 
 print(stdeV)

Đã trả lời ngày 4 tháng 1 năm 2021 lúc 0:30Jan 4, 2021 at 0:30

Reyadreyadreyad

Phù hiệu bằng đồng 1122 bronze badges

filename = "C:\Users\mmb0368\Desktop\input.txt"
file = open("C:\Users\mmb0368\Desktop\input.txt","rb")

n = file.readlines()

num_list = map(lambda n: n.rstrip("\n"), n)
num_list = [int(x) for x in num_list]
mean = sum(num_list)/len(num_list)
print mean, max(num_list), min(num_list)

for snDev in num_list:

    snDev = mean**(1.0/2)
print snDev

Đã trả lời ngày 16 tháng 2 năm 2019 lúc 19:36Feb 16, 2019 at 19:36

0

Độ lệch chuẩn là một số liệu quan trọng được sử dụng để đo lường sự lây lan trong dữ liệu. Nó có các ứng dụng hữu ích trong việc mô tả dữ liệu, thử nghiệm thống kê, v.v. Có một số cách mà bạn có thể tính độ lệch chuẩn của danh sách các giá trị trong Python được đề cập trong hướng dẫn này với các ví dụ.

Hướng dẫn how do you find standard deviation in python without libraries? - làm thế nào để bạn tìm thấy độ lệch chuẩn trong python không có thư viện?

Trong hướng dẫn này, chúng tôi sẽ xem xét -

  • Độ lệch chuẩn là gì?
  • Tính toán độ lệch chuẩn theo cách thủ công
  • Làm thế nào để tính độ lệch chuẩn của một danh sách trong Python?
  • Độ lệch chuẩn của một mảng numpy
  • Độ lệch chuẩn của một loạt gấu trúc

Độ lệch chuẩn là gì?

Độ lệch chuẩn là một thước đo của sự lây lan trong dữ liệu. Điều này có nghĩa là nếu độ lệch chuẩn cao hơn, dữ liệu sẽ được trải ra nhiều hơn và nếu nó thấp hơn, dữ liệu sẽ tập trung hơn. Nó được tính toán bằng cách lấy căn bậc hai của phương sai. Sau đây là công thức của độ lệch chuẩn.

Hướng dẫn how do you find standard deviation in python without libraries? - làm thế nào để bạn tìm thấy độ lệch chuẩn trong python không có thư viện?

Lưu ý rằng ở trên là công thức cho độ lệch chuẩn dân số. Đối với độ lệch chuẩn mẫu, chúng tôi sử dụng giá trị trung bình mẫu thay cho trung bình dân số và (kích thước mẫu - 1) thay cho kích thước dân số.

Cả phương sai và độ lệch chuẩn là các biện pháp lan truyền nhưng độ lệch chuẩn được sử dụng phổ biến hơn. Điều này là do độ lệch chuẩn nằm trong cùng một đơn vị với dữ liệu.

Trước khi chúng tôi tiến hành độ lệch chuẩn tính toán trong Python, hãy để Lừa tính nó theo cách thủ công để có được ý tưởng về những gì xảy ra. Ví dụ, hãy để tính toán độ lệch chuẩn của danh sách các giá trị [7, 2, 4, 3, 9, 12, 10, 1].

Để tính độ lệch chuẩn, trước tiên hãy tính toán giá trị trung bình của danh sách các giá trị.

Hướng dẫn how do you find standard deviation in python without libraries? - làm thế nào để bạn tìm thấy độ lệch chuẩn trong python không có thư viện?

Giá trị trung bình được đưa ra là sáu (μ = 6).

Bây giờ, để tính độ lệch chuẩn, sử dụng công thức trên, chúng tôi tổng hợp các bình phương của chênh lệch giữa giá trị và giá trị trung bình và sau đó chia tổng này cho n để có được phương sai.

Hướng dẫn how do you find standard deviation in python without libraries? - làm thế nào để bạn tìm thấy độ lệch chuẩn trong python không có thư viện?

Phương sai xuất hiện là 14,5

Độ lệch chuẩn sau đó có thể được tính toán bằng cách lấy căn bậc hai của phương sai.

Hướng dẫn how do you find standard deviation in python without libraries? - làm thế nào để bạn tìm thấy độ lệch chuẩn trong python không có thư viện?

Làm thế nào để tính độ lệch chuẩn trong Python?

Có một số cách để tính toán độ lệch chuẩn trong Python. Bạn có thể viết chức năng của riêng mình để tính toán độ lệch chuẩn hoặc sử dụng các phương thức ngoài luồng từ Numpy hoặc Pandas.

Hãy để Viết một triển khai vani tính toán STD Dev từ đầu trong Python mà không cần sử dụng bất kỳ thư viện bên ngoài nào.

def get_std_dev(ls):
    n = len(ls)
    mean = sum(ls) / n
    var = sum((x - mean)**2 for x in ls) / n
    std_dev = var ** 0.5
    return std_dev

# create a list of data points
ls = [7, 2, 4, 3, 9, 12, 10, 2]
get_std_dev(ls)

Output:

3.8078865529319543

Ở đây, chúng tôi đã tạo một hàm để trả về độ lệch chuẩn của danh sách các giá trị. Lưu ý rằng chúng tôi đã sử dụng hàm

import statistics

data = [1, 1, 2.5, 6.5, 7.3, 8, 9.2]

print(statistics.pstdev(data))
# 3.2159043543498815
3 tích hợp Python để tính tổng hợp cho giá trị trung bình và phương sai. Hàm này tính toán tổng của chuỗi được truyền.

Phương pháp trên không phải là cách duy nhất để có được độ lệch chuẩn của danh sách các giá trị. Bạn có thể lưu trữ các giá trị dưới dạng mảng numpy hoặc loạt gấu trúc và sau đó sử dụng các triển khai một dòng đơn giản để tính toán độ lệch chuẩn từ các thư viện này.

Độ lệch chuẩn của một mảng numpy

Độ lệch chuẩn của một loạt gấu trúc

import numpy as np

# list of data points
ls = [7, 2, 4, 3, 9, 12, 10, 2]
# create numpy array of list values
ar = np.array(ls)
# get the standard deviation
print(ar.std())

Output:

3.8078865529319543

Độ lệch chuẩn là gì?

Độ lệch chuẩn của một loạt gấu trúc

Độ lệch chuẩn là gì?

Độ lệch chuẩn là một thước đo của sự lây lan trong dữ liệu. Điều này có nghĩa là nếu độ lệch chuẩn cao hơn, dữ liệu sẽ được trải ra nhiều hơn và nếu nó thấp hơn, dữ liệu sẽ tập trung hơn. Nó được tính toán bằng cách lấy căn bậc hai của phương sai. Sau đây là công thức của độ lệch chuẩn.

Lưu ý rằng ở trên là công thức cho độ lệch chuẩn dân số. Đối với độ lệch chuẩn mẫu, chúng tôi sử dụng giá trị trung bình mẫu thay cho trung bình dân số và (kích thước mẫu - 1) thay cho kích thước dân số.

import pandas as pd

# list of data points
ls = [7, 2, 4, 3, 9, 12, 10, 2]
# create pandas series of list values
col = pd.Series(ls)
# get the standard deviation
print(col.std())

Output:

4.0708019567928595

Cả phương sai và độ lệch chuẩn là các biện pháp lan truyền nhưng độ lệch chuẩn được sử dụng phổ biến hơn. Điều này là do độ lệch chuẩn nằm trong cùng một đơn vị với dữ liệu.

import statistics

data = [1, 1, 2.5, 6.5, 7.3, 8, 9.2]

print(statistics.pstdev(data))
# 3.2159043543498815
0

Output:

3.8078865529319543

Trước khi chúng tôi tiến hành độ lệch chuẩn tính toán trong Python, hãy để Lừa tính nó theo cách thủ công để có được ý tưởng về những gì xảy ra. Ví dụ, hãy để tính toán độ lệch chuẩn của danh sách các giá trị [7, 2, 4, 3, 9, 12, 10, 1].

Để tính độ lệch chuẩn, trước tiên hãy tính toán giá trị trung bình của danh sách các giá trị.

Với điều này, chúng tôi đi đến cuối hướng dẫn này. Các ví dụ và kết quả mã được trình bày trong hướng dẫn này đã được triển khai trong A & NBSP; Jupyter Notebook & NBSP; với hạt nhân Python (phiên bản 3.8.3) có phiên bản Numpy 1.18.5 và Pandas phiên bản 1.0.5


Đăng ký nhận bản tin của chúng tôi để biết thêm hướng dẫn và hướng dẫn thông tin. Chúng tôi không spam và bạn có thể từ chối bất cứ lúc nào.
We do not spam and you can opt out any time.

  • Piyush là một nhà khoa học dữ liệu đam mê sử dụng dữ liệu để hiểu mọi thứ tốt hơn và đưa ra quyết định sáng suốt. Trong quá khứ, anh ta làm việc như một nhà khoa học dữ liệu cho ZS và có bằng kỹ sư từ IIT Roorkee. Sở thích của anh ấy bao gồm xem cricket, đọc sách và làm việc trên các dự án phụ.

    Xem tất cả các bài viết

Làm thế nào để bạn tính toán độ lệch chuẩn trong Python?

Độ lệch chuẩn là căn bậc hai của trung bình của độ lệch bình phương so với giá trị trung bình, tức là, std = sqrt (trung bình (x)), trong đó x = abs (a - a.mean ()) ** 2. Độ lệch bình phương trung bình thường được tính là x. sum () / n, trong đó n = len (x).std = sqrt(mean(x)) , where x = abs(a - a. mean())**2 . The average squared deviation is typically calculated as x. sum() / N , where N = len(x) .

Làm thế nào để bạn tìm thấy độ lệch chuẩn bằng tay?

Công thức độ lệch chuẩn có thể trông khó hiểu, nhưng nó sẽ có ý nghĩa sau khi chúng ta phá vỡ nó. ....
Bước 1: Tìm ý nghĩa ..
Bước 2: Đối với mỗi điểm dữ liệu, hãy tìm hình vuông khoảng cách của nó đến giá trị trung bình ..
Bước 3: Tổng các giá trị từ bước 2 ..
Bước 4: Chia cho số điểm dữ liệu ..
Bước 5: Lấy căn bậc hai ..

Làm thế nào để bạn tìm thấy độ lệch chuẩn mà không có mẫu?

Để tính độ lệch chuẩn của các số đó:..
Làm việc ra trung bình (trung bình đơn giản của các số).
Sau đó, cho mỗi số: trừ trung bình và hình vuông kết quả ..
Sau đó tìm ra giá trị trung bình của những khác biệt bình phương ..
Lấy căn bậc hai của điều đó và chúng ta đã hoàn thành !.

Làm thế nào để bạn tìm thấy phương sai mà không có chức năng sẵn có trong Python?

Python tính toán phương sai mà không bị numpy..
Phương sai def (x): mean = sum (x) / len (x).
tot = 0,0.cho x trong x:.
TOT = TOT + (x - trung bình) * * 2. Trả về Tot / len (x).
# Gọi chức năng với bộ dữ liệu ..