Hướng dẫn how do you find the normal probability in python? - làm thế nào để bạn tìm thấy xác suất bình thường trong python?

Có một trong scipy.stats:

>>> import scipy.stats
>>> scipy.stats.norm(0, 1)

>>> scipy.stats.norm(0, 1).pdf(0)
0.3989422804014327
>>> scipy.stats.norm(0, 1).cdf(0)
0.5
>>> scipy.stats.norm(100, 12)

>>> scipy.stats.norm(100, 12).pdf(98)
0.032786643008494994
>>> scipy.stats.norm(100, 12).cdf(98)
0.43381616738909634
>>> scipy.stats.norm(100, 12).cdf(100)
0.5

[Một điều cần cẩn thận - chỉ là một mẹo - là tham số đi qua hơi rộng. Do cách thiết lập mã, nếu bạn vô tình viết scipy.stats.norm(mean=100, std=12) thay vì

import math
def normpdf(x, mean, sd):
    var = float(sd)**2
    denom = (2*math.pi*var)**.5
    num = math.exp(-(float(x)-float(mean))**2/(2*var))
    return num/denom
0 hoặc
import math
def normpdf(x, mean, sd):
    var = float(sd)**2
    denom = (2*math.pi*var)**.5
    num = math.exp(-(float(x)-float(mean))**2/(2*var))
    return num/denom
1, thì nó sẽ chấp nhận nó, nhưng âm thầm loại bỏ các đối số từ khóa bổ sung đó và cung cấp cho bạn mặc định (0,1).].

Đã trả lời ngày 13 tháng 9 năm 2012 lúc 19:03Sep 13, 2012 at 19:03

Hướng dẫn how do you find the normal probability in python? - làm thế nào để bạn tìm thấy xác suất bình thường trong python?

DSMDSMDSM

327K62 Huy hiệu vàng573 Huy hiệu bạc480 Huy hiệu Đồng62 gold badges573 silver badges480 bronze badges

6

Scipy.stats là một mô -đun tuyệt vời. Chỉ để cung cấp một cách tiếp cận khác, bạn có thể tính toán trực tiếp bằng cách sử dụng

import math
def normpdf(x, mean, sd):
    var = float(sd)**2
    denom = (2*math.pi*var)**.5
    num = math.exp(-(float(x)-float(mean))**2/(2*var))
    return num/denom

Điều này sử dụng công thức được tìm thấy ở đây: http://en.wikipedia.org/wiki/normal_distribution#probability_didion_function

để kiểm tra:

>>> normpdf(7,5,5)  
0.07365402806066466
>>> norm(5,5).pdf(7)
0.073654028060664664

Đã trả lời ngày 13 tháng 9 năm 2012 lúc 19:32Sep 13, 2012 at 19:32

Hướng dẫn how do you find the normal probability in python? - làm thế nào để bạn tìm thấy xác suất bình thường trong python?

jiminy_cristjiminy_cristjiminy_crist

2.3552 Huy hiệu vàng17 Huy hiệu bạc23 Huy hiệu đồng2 gold badges17 silver badges23 bronze badges

3

Đây là thông tin thêm. Đầu tiên bạn đang xử lý phân phối đóng băng (đóng băng trong trường hợp này có nghĩa là các tham số của nó được đặt thành các giá trị cụ thể). Để tạo phân phối đóng băng:

import scipy.stats
scipy.stats.norm(loc=100, scale=12)
#where loc is the mean and scale is the std dev
#if you wish to pull out a random number from your distribution
scipy.stats.norm.rvs(loc=100, scale=12)

#To find the probability that the variable has a value LESS than or equal
#let's say 113, you'd use CDF cumulative Density Function
scipy.stats.norm.cdf(113,100,12)
Output: 0.86066975255037792
#or 86.07% probability

#To find the probability that the variable has a value GREATER than or
#equal to let's say 125, you'd use SF Survival Function 
scipy.stats.norm.sf(125,100,12)
Output: 0.018610425189886332
#or 1.86%

#To find the variate for which the probability is given, let's say the 
#value which needed to provide a 98% probability, you'd use the 
#PPF Percent Point Function
scipy.stats.norm.ppf(.98,100,12)
Output: 124.64498692758187

người sử dụng

5.1497 Huy hiệu vàng46 Huy hiệu bạc70 Huy hiệu đồng7 gold badges46 silver badges70 bronze badges

Đã trả lời ngày 5 tháng 12 năm 2017 lúc 5:18Dec 5, 2017 at 5:18

J. Khouryj. KhouryJ. Khoury

5895 huy hiệu bạc5 huy hiệu đồng5 silver badges5 bronze badges

2

Bắt đầu

import math
def normpdf(x, mean, sd):
    var = float(sd)**2
    denom = (2*math.pi*var)**.5
    num = math.exp(-(float(x)-float(mean))**2/(2*var))
    return num/denom
2, thư viện tiêu chuẩn cung cấp đối tượng
import math
def normpdf(x, mean, sd):
    var = float(sd)**2
    denom = (2*math.pi*var)**.5
    num = math.exp(-(float(x)-float(mean))**2/(2*var))
    return num/denom
3 như một phần của mô -đun
import math
def normpdf(x, mean, sd):
    var = float(sd)**2
    denom = (2*math.pi*var)**.5
    num = math.exp(-(float(x)-float(mean))**2/(2*var))
    return num/denom
4.

Nó có thể được sử dụng để có được hàm mật độ xác suất (

import math
def normpdf(x, mean, sd):
    var = float(sd)**2
    denom = (2*math.pi*var)**.5
    num = math.exp(-(float(x)-float(mean))**2/(2*var))
    return num/denom
5 - khả năng một mẫu x ngẫu nhiên sẽ ở gần giá trị đã cho x) cho một giá trị trung bình nhất định (
import math
def normpdf(x, mean, sd):
    var = float(sd)**2
    denom = (2*math.pi*var)**.5
    num = math.exp(-(float(x)-float(mean))**2/(2*var))
    return num/denom
6) và độ lệch chuẩn (
import math
def normpdf(x, mean, sd):
    var = float(sd)**2
    denom = (2*math.pi*var)**.5
    num = math.exp(-(float(x)-float(mean))**2/(2*var))
    return num/denom
7):probability density function (
import math
def normpdf(x, mean, sd):
    var = float(sd)**2
    denom = (2*math.pi*var)**.5
    num = math.exp(-(float(x)-float(mean))**2/(2*var))
    return num/denom
5 - likelihood that a random sample X will be near the given value x) for a given mean (
import math
def normpdf(x, mean, sd):
    var = float(sd)**2
    denom = (2*math.pi*var)**.5
    num = math.exp(-(float(x)-float(mean))**2/(2*var))
    return num/denom
6) and standard deviation (
import math
def normpdf(x, mean, sd):
    var = float(sd)**2
    denom = (2*math.pi*var)**.5
    num = math.exp(-(float(x)-float(mean))**2/(2*var))
    return num/denom
7):

from statistics import NormalDist

NormalDist(mu=100, sigma=12).pdf(98)
# 0.032786643008494994

Cũng lưu ý rằng đối tượng

import math
def normpdf(x, mean, sd):
    var = float(sd)**2
    denom = (2*math.pi*var)**.5
    num = math.exp(-(float(x)-float(mean))**2/(2*var))
    return num/denom
3 cũng cung cấp chức năng phân phối tích lũy (
import math
def normpdf(x, mean, sd):
    var = float(sd)**2
    denom = (2*math.pi*var)**.5
    num = math.exp(-(float(x)-float(mean))**2/(2*var))
    return num/denom
9 - Xác suất rằng mẫu x ngẫu nhiên sẽ nhỏ hơn hoặc bằng x):cumulative distribution function (
import math
def normpdf(x, mean, sd):
    var = float(sd)**2
    denom = (2*math.pi*var)**.5
    num = math.exp(-(float(x)-float(mean))**2/(2*var))
    return num/denom
9 - probability that a random sample X will be less than or equal to x):

NormalDist(mu=100, sigma=12).cdf(98)
# 0.43381616738909634

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

Hướng dẫn how do you find the normal probability in python? - làm thế nào để bạn tìm thấy xác suất bình thường trong python?

Xavier Guihotxavier GuihotXavier Guihot

47.7K21 Huy hiệu vàng266 Huy hiệu bạc170 Huy hiệu đồng21 gold badges266 silver badges170 bronze badges

0

Trong trường hợp bạn muốn tìm diện tích giữa 2 giá trị của x trung bình = 1; độ lệch chuẩn = 2; Xác suất x giữa [0,5,2]

import scipy.stats
scipy.stats.norm(1, 2).cdf(2) - scipy.stats.norm(1,2).cdf(0.5)

Đã trả lời ngày 19 tháng 6 năm 2019 lúc 4:36Jun 19, 2019 at 4:36

PrashanthprashanthPrashanth

Huy hiệu Bạc 1111 Huy hiệu đồng1 silver badge2 bronze badges

Công thức được trích dẫn từ Wikipedia được đề cập trong các câu trả lời không thể được sử dụng để tính toán các xác suất bình thường. Bạn sẽ phải viết một hàm xấp xỉ tích hợp số bằng cách sử dụng công thức đó để tính xác suất.

Công thức đó tính toán giá trị cho hàm mật độ xác suất. Vì phân phối bình thường là liên tục, bạn phải tính toán một tích phân để có xác suất. Trang web Wikipedia đề cập đến CDF, không có dạng đóng cho phân phối bình thường.

Đã trả lời ngày 25 tháng 5 năm 2015 lúc 15:44May 25, 2015 at 15:44

1

Lưu ý rằng xác suất khác với mật độ xác suất

>>> normpdf(7,5,5)  
0.07365402806066466
>>> norm(5,5).pdf(7)
0.073654028060664664
0, mà một số câu trả lời trước đây đề cập đến. Xác suất là cơ hội mà biến có một giá trị cụ thể, trong khi mật độ xác suất là khả năng biến sẽ gần một giá trị cụ thể, có nghĩa là xác suất trong một phạm vi. Vì vậy, để có được xác suất bạn cần tính toán tích phân của hàm mật độ xác suất trong một khoảng thời gian nhất định. Là một xấp xỉ, bạn chỉ có thể nhân mật độ xác suất với khoảng thời gian mà bạn quan tâm và điều đó sẽ cung cấp cho bạn xác suất thực tế.probability is different than probability density
>>> normpdf(7,5,5)  
0.07365402806066466
>>> norm(5,5).pdf(7)
0.073654028060664664
0, which some of the previous answers refer to. Probability is the chance that the variable has a specific value, whereas the probability density is the chance that the variable will be near a specific value, meaning probability over a range. So to obtain the probability you need to compute the integral of the probability density function over a given interval. As an approximation, you can simply multiply the probability density by the interval you're interested in and that will give you the actual probability.

import numpy as np
from scipy.stats import norm

data_start = -10
data_end = 10
data_points = 21
data = np.linspace(data_start, data_end, data_points)

point_of_interest = 5
mu = np.mean(data)
sigma = np.std(data)                                   
interval = (data_end - data_start) / (data_points - 1)
probability = norm.pdf(point_of_interest, loc=mu, scale=sigma) * interval

Mã trên sẽ cung cấp cho bạn xác suất biến sẽ có giá trị chính xác là 5 trong phân phối bình thường giữa -10 đến 10 với 21 điểm dữ liệu (khoảng thời gian có nghĩa là 1). Bạn có thể chơi xung quanh với giá trị khoảng thời gian cố định, tùy thuộc vào kết quả bạn muốn đạt được.

Đã trả lời ngày 8 tháng 1 năm 2021 lúc 13:58Jan 8, 2021 at 13:58

Hướng dẫn how do you find the normal probability in python? - làm thế nào để bạn tìm thấy xác suất bình thường trong python?

tsveti_ikotsveti_ikotsveti_iko

5.7583 huy hiệu vàng39 Huy hiệu bạc37 Huy hiệu đồng3 gold badges39 silver badges37 bronze badges

1

Tôi đã viết chương trình này để làm toán cho bạn. Chỉ cần nhập vào số liệu thống kê tóm tắt. Không cần cung cấp một mảng:

Test Z Mẫu cho tỷ lệ dân số:

Để làm điều này cho nghĩa là thay vì tỷ lệ, hãy thay đổi công thức cho z phù hợp

Chỉnh sửa: Đây là nội dung từ liên kết:
Here is the content from the link:

import scipy.stats as stats
import math

def one_sample_ztest_pop_proportion(tail, p, pbar, n, alpha):
    #Calculate test stat

    sigma = math.sqrt((p*(1-p))/(n))
    z = round((pbar - p) / sigma, 2)

    if tail == 'lower':
        pval = round(stats.norm(p, sigma).cdf(pbar),4)
        print("Results for a lower tailed z-test: ")


    elif tail == 'upper':
        pval = round(1 - stats.norm(p, sigma).cdf(pbar),4)
        print("Results for an upper tailed z-test: ")


    elif tail == 'two':
        pval = round(stats.norm(p, sigma).cdf(pbar)*2,4)
        print("Results for a two tailed z-test: ")


    #Print test results
    print("Test statistic = {}".format(z))   
    print("P-value = {}".format(pval))
    print("Confidence = {}".format(alpha))

    #Compare p-value to confidence level
    if pval <= alpha:
        print("{} <=  {}. Reject the null hypothesis.".format(pval, alpha))
    else:
        print("{} > {}. Do not reject the null hypothesis.".format(pval, alpha))


#one_sample_ztest_pop_proportion('upper', .20, .25, 400, .05)

#one_sample_ztest_pop_proportion('two', .64, .52, 100, .05)

Hướng dẫn how do you find the normal probability in python? - làm thế nào để bạn tìm thấy xác suất bình thường trong python?

K.Mulier

7,89213 Huy hiệu vàng73 Huy hiệu bạc130 Huy hiệu đồng13 gold badges73 silver badges130 bronze badges

Đã trả lời ngày 24 tháng 1 năm 2018 lúc 23:12Jan 24, 2018 at 23:12

Hướng dẫn how do you find the normal probability in python? - làm thế nào để bạn tìm thấy xác suất bình thường trong python?

1

Tôi muốn nói: Người hỏi đang hỏi "Làm thế nào để tính toán khả năng của một điểm dữ liệu nhất định trong một phân phối bình thường được đưa ra trung bình & độ lệch chuẩn?" thay vì "làm thế nào để tính xác suất trong phân phối bình thường được đưa ra cho độ lệch trung bình & độ lệch chuẩn?".

Đối với "xác suất", nó phải nằm trong khoảng từ 0 đến 1, nhưng đối với "khả năng", nó phải không âm (không nhất thiết là từ 0 đến 1).

Bạn có thể sử dụng

>>> normpdf(7,5,5)  
0.07365402806066466
>>> norm(5,5).pdf(7)
0.073654028060664664
1 trong scipy.stats.multivariate_normal để tính toán nó.

Đã trả lời ngày 24 tháng 10 năm 2021 lúc 11:25Oct 24, 2021 at 11:25

Hướng dẫn how do you find the normal probability in python? - làm thế nào để bạn tìm thấy xác suất bình thường trong python?

Z.LIZ.LIZ.LI

3392 Huy hiệu bạc10 Huy hiệu Đồng2 silver badges10 bronze badges

Bạn chỉ có thể sử dụng chức năng lỗi được tích hợp trong thư viện toán học, như đã nêu trên trang web của họ.

Hoàn tác ♦

25.3K37 Huy hiệu vàng107 Huy hiệu bạc126 Huy hiệu đồng37 gold badges107 silver badges126 bronze badges

Đã trả lời ngày 1 tháng 5 năm 2013 lúc 16:33May 1, 2013 at 16:33

1

Làm thế nào để bạn tìm thấy xác suất bình thường?

1) Chỉ định xác suất mong muốn theo ..
2) Biến đổi, và, bởi: z = x - μ.
3) Sử dụng bảng N (0, 1) tiêu chuẩn, thường được gọi là -table, để tìm xác suất mong muốn ..

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.

Chức năng bình thường Python là gì?

Bình thường (LOC = 0,0, tỷ lệ = 1.0, kích thước = Không): Tạo một mảng hình dạng được chỉ định và lấp đầy nó bằng các giá trị ngẫu nhiên thực sự là một phần của phân phối bình thường (Gaussian).Đây là phân phối còn được gọi là đường cong chuông vì hình dạng đặc điểm của nó.creates an array of specified shape and fills it with random values which is actually a part of Normal(Gaussian)Distribution. This is Distribution is also known as Bell Curve because of its characteristics shape.

Làm thế nào để bạn tìm thấy độ lệch trung bình và độ lệch chuẩn của phân phối bình thường trong Python?

Mô -đun thống kê Python SCIPY có thể được sử dụng để tạo phân phối bình thường với các tham số độ lệch trung bình và tiêu chuẩn bằng cách sử dụng định mức phương thức.Phân phối bình thường tiêu chuẩn là phân phối bình thường với trung bình là 0 và độ lệch chuẩn là 1.. Standard normal distribution is normal distribution with mean as 0 and standard deviation as 1.