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
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: //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
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
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
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 >> 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
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