Hướng dẫn how do you create a normal distribution in python? - làm thế nào để bạn tạo một phân phối chuẩn trong python?


Bạn có thể nhanh chóng tạo ra một phân phối bình thường trong Python bằng cách sử dụng hàm Numpy.random.nqual (), sử dụng cú pháp sau:numpy.random.normal() function, which uses the following syntax:

numpy.random.normal(loc=0.0, scale=1.0, size=None)

where:

  • LỘC: Giá trị trung bình của phân phối. Mặc định là 0.Mean of the distribution. Default is 0.
  • Quy mô: Độ lệch chuẩn của phân phối. Mặc định là 1.Standard deviation of the distribution. Default is 1.
  • Kích thước: Kích thước mẫu.Sample size.

Hướng dẫn này cho thấy một ví dụ về cách sử dụng chức năng này để tạo phân phối bình thường trong Python.

Liên quan: & nbsp; làm thế nào để tạo một đường cong chuông trong Python How to Make a Bell Curve in Python

Ví dụ: Tạo phân phối bình thường trong Python

Mã sau đây cho thấy cách tạo phân phối bình thường trong Python:

from numpy.random import seed
from numpy.random import normal

#make this example reproducible
seed(1)

#generate sample of 200 values that follow a normal distribution 
data = normal(loc=0, scale=1, size=200)

#view first six values
data[0:5]

array([ 1.62434536, -0.61175641, -0.52817175, -1.07296862,  0.86540763])

Chúng ta có thể nhanh chóng tìm thấy độ lệch trung bình và độ lệch chuẩn của phân phối này:

import numpy as np

#find mean of sample
np.mean(data)

0.1066888148479486

#find standard deviation of sample
np.std(data, ddof=1)

0.9123296653173484

Chúng ta cũng có thể tạo một biểu đồ nhanh để trực quan hóa phân phối các giá trị dữ liệu:

import matplotlib.pyplot as plt
count, bins, ignored = plt.hist(data, 30)
plt.show()

Hướng dẫn how do you create a normal distribution in python? - làm thế nào để bạn tạo một phân phối chuẩn trong python?

Chúng tôi thậm chí có thể thực hiện một bài kiểm tra Shapiro-Wilk để xem liệu bộ dữ liệu có đến từ một dân số bình thường không:

from scipy.stats import shapiro

#perform Shapiro-Wilk test
shapiro(data)

ShapiroResult(statistic=0.9958659410, pvalue=0.8669294714)

& nbsp; giá trị p của thử nghiệm hóa ra là 0,8669. Vì giá trị này không nhỏ hơn 0,05, chúng tôi có thể giả sử dữ liệu mẫu đến từ một dân số thường được phân phối.0.8669. Since this value is not less than .05, we can assume the sample data comes from a population that is normally distributed.

Kết quả này không đáng ngạc nhiên vì chúng tôi đã tạo dữ liệu bằng hàm numpy.random.nmal (), tạo ra một mẫu dữ liệu ngẫu nhiên đến từ phân phối bình thường.numpy.random.normal() function, which generates a random sample of data that comes from a normal distribution.

ngẫu nhiênnormal(loc=0.0, scale=1.0, size=None)#

Vẽ các mẫu ngẫu nhiên từ phân phối bình thường (Gaussian).

Hàm mật độ xác suất của phân phối bình thường, đầu tiên được xác định bởi de moivre và 200 năm sau bởi cả Gauss và Laplace một cách độc lập [2], thường được gọi là đường cong chuông vì hình dạng đặc trưng của nó (xem ví dụ dưới đây).

Các phân phối bình thường xảy ra thường xuyên trong tự nhiên. Ví dụ, nó mô tả sự phân phối thường xảy ra của các mẫu bị ảnh hưởng bởi một số lượng lớn các nhiễu ngẫu nhiên, nhỏ, mỗi loại có phân phối duy nhất của riêng nó [2].

Ghi chú

Mã mới nên sử dụng phương thức

from numpy.random import seed
from numpy.random import normal

#make this example reproducible
seed(1)

#generate sample of 200 values that follow a normal distribution 
data = normal(loc=0, scale=1, size=200)

#view first six values
data[0:5]

array([ 1.62434536, -0.61175641, -0.52817175, -1.07296862,  0.86540763])
0 của một thể hiện
from numpy.random import seed
from numpy.random import normal

#make this example reproducible
seed(1)

#generate sample of 200 values that follow a normal distribution 
data = normal(loc=0, scale=1, size=200)

#view first six values
data[0:5]

array([ 1.62434536, -0.61175641, -0.52817175, -1.07296862,  0.86540763])
1 thay thế; Vui lòng xem bắt đầu nhanh chóng.Quick Start.

ParameterSlocFloat hoặc Array_Like of Floatslocfloat or array_like of floats

Trung bình (trung tâm của người Hồi giáo) của phân phối.

ScaleFloat hoặc Array_like of Floatsfloat or array_like of floats

Độ lệch chuẩn (lan truyền hoặc chiều rộng của người Hồi giáo) của phân phối. Phải không âm.

kích thước hoặc tuple của int, tùy chọnint or tuple of ints, optional

Hình dạng đầu ra. Nếu hình dạng đã cho là, ví dụ,

from numpy.random import seed
from numpy.random import normal

#make this example reproducible
seed(1)

#generate sample of 200 values that follow a normal distribution 
data = normal(loc=0, scale=1, size=200)

#view first six values
data[0:5]

array([ 1.62434536, -0.61175641, -0.52817175, -1.07296862,  0.86540763])
2, thì các mẫu
from numpy.random import seed
from numpy.random import normal

#make this example reproducible
seed(1)

#generate sample of 200 values that follow a normal distribution 
data = normal(loc=0, scale=1, size=200)

#view first six values
data[0:5]

array([ 1.62434536, -0.61175641, -0.52817175, -1.07296862,  0.86540763])
3 được vẽ. Nếu kích thước là
from numpy.random import seed
from numpy.random import normal

#make this example reproducible
seed(1)

#generate sample of 200 values that follow a normal distribution 
data = normal(loc=0, scale=1, size=200)

#view first six values
data[0:5]

array([ 1.62434536, -0.61175641, -0.52817175, -1.07296862,  0.86540763])
4 (mặc định), một giá trị duy nhất được trả về nếu
from numpy.random import seed
from numpy.random import normal

#make this example reproducible
seed(1)

#generate sample of 200 values that follow a normal distribution 
data = normal(loc=0, scale=1, size=200)

#view first six values
data[0:5]

array([ 1.62434536, -0.61175641, -0.52817175, -1.07296862,  0.86540763])
5 và
from numpy.random import seed
from numpy.random import normal

#make this example reproducible
seed(1)

#generate sample of 200 values that follow a normal distribution 
data = normal(loc=0, scale=1, size=200)

#view first six values
data[0:5]

array([ 1.62434536, -0.61175641, -0.52817175, -1.07296862,  0.86540763])
6 đều là vô hướng. Nếu không, các mẫu
from numpy.random import seed
from numpy.random import normal

#make this example reproducible
seed(1)

#generate sample of 200 values that follow a normal distribution 
data = normal(loc=0, scale=1, size=200)

#view first six values
data[0:5]

array([ 1.62434536, -0.61175641, -0.52817175, -1.07296862,  0.86540763])
7 được rút ra.

ReturnSoutNDarray hoặc vô hướngoutndarray or scalar

Các mẫu rút ra từ phân phối bình thường được tham số hóa.

Ghi chú

Mật độ xác suất cho phân phối Gaussian là

\ [p (x) = \ frac {1} {\ sqrt {2 \ pi \ sigma^2}} e^{ - \ frac {(x - \ mu) \]

trong đó \ (\ mu \) là giá trị trung bình và \ (\ sigma \) độ lệch chuẩn. Hình vuông của độ lệch chuẩn, \ (\ sigma^2 \), được gọi là phương sai.\(\mu\) is the mean and \(\sigma\) the standard deviation. The square of the standard deviation, \(\sigma^2\), is called the variance.

Hàm có cực đại của nó ở mức trung bình và sự lan truyền của nó tăng lên theo độ lệch chuẩn (hàm đạt mức tối đa 0,607 lần tại \ (x + \ sigma \) và \ (x - \ sigma \) [2]). Điều này ngụ ý rằng bình thường có nhiều khả năng trả lại các mẫu nằm gần trung bình, hơn là những mẫu ở rất xa.\(x + \sigma\) and \(x - \sigma\) [2]). This implies that normal is more likely to return samples lying close to the mean, rather than those far away.

Người giới thiệu

1

Wikipedia, Phân phối bình thường, https://en.wikipedia.org/wiki/normal_distribution

2(1,2,3)(1,2,3)

P..

Ví dụ

Vẽ các mẫu từ phân phối:

>>> mu, sigma = 0, 0.1 # mean and standard deviation
>>> s = np.random.normal(mu, sigma, 1000)

Xác minh giá trị trung bình và phương sai:

>>> abs(mu - np.mean(s))
0.0  # may vary

>>> abs(sigma - np.std(s, ddof=1))
0.1  # may vary

Hiển thị biểu đồ của các mẫu, cùng với hàm mật độ xác suất:

>>> import matplotlib.pyplot as plt
>>> count, bins, ignored = plt.hist(s, 30, density=True)
>>> plt.plot(bins, 1/(sigma * np.sqrt(2 * np.pi)) *
...                np.exp( - (bins - mu)**2 / (2 * sigma**2) ),
...          linewidth=2, color='r')
>>> plt.show()

Hướng dẫn how do you create a normal distribution in python? - làm thế nào để bạn tạo một phân phối chuẩn trong python?

Hai phần bốn mẫu của N (3, 6.25):

>>> np.random.normal(3, 2.5, size=(2, 4))
array([[-4.49401501,  4.00950034, -1.81814867,  7.29718677],   # random
       [ 0.39924804,  4.68456316,  4.99394529,  4.84057254]])  # random

Làm thế nào để bạn tạo một phân phối bình thường?

Làm thế nào để tạo ra một phân phối bình thường trong Excel..
Bước 1: Chọn độ lệch trung bình & tiêu chuẩn.Trước tiên, chúng ta hãy chọn một giá trị trung bình và độ lệch chuẩn mà chúng tôi muốn cho phân phối bình thường của chúng tôi.....
Bước 2: Tạo một biến ngẫu nhiên phân phối bình thường.....
Bước 3: Chọn cỡ mẫu cho phân phối bình thường ..

Làm thế nào để bạn tạo một phân phối xác suất trong Python?

Phân phối nhị thức Trong Python Bạn có thể tạo biến ngẫu nhiên phân tán nhị phân bằng phương thức Binom.rvs () của SCIPYĐể thay đổi phân phối sử dụng tham số LỘC.using scipy. stats module's binom. rvs() method which takes $n$ (number of trials) and $p$ (probability of success) as shape parameters. To shift distribution use the loc parameter.