Cách lấy mẫu từ trăn phân phối

Lấy mẫu ngẫu nhiên []

Dữ liệu ngẫu nhiên đơn giản

[d0, d1, …, dn]Các giá trị ngẫu nhiên trong một hình nhất định. [d0, d1, …, dn]Trả về một mẫu [hoặc các mẫu] từ phân phối "chuẩn chuẩn". [low[, high, size, dtype]]Trả về số nguyên ngẫu nhiên từ thấp [bao gồm] đến cao [độc quyền]. [low[, high, size]]Số nguyên ngẫu nhiên kiểu np. int giữa thấp và cao, bao gồm. [[size]]Trả về số float ngẫu nhiên trong khoảng thời gian nửa mở [0. 0, 1. 0]. [[size]]Trả về số float ngẫu nhiên trong khoảng thời gian nửa mở [0. 0, 1. 0]. [[size]]Trả về số float ngẫu nhiên trong khoảng thời gian nửa mở [0. 0, 1. 0]. [[size]]Trả về số float ngẫu nhiên trong khoảng thời gian nửa mở [0. 0, 1. 0]. [a[, size, replace, p]]Tạo một mẫu ngẫu nhiên từ một mảng 1-D nhất định[độ dài]Trả về các byte ngẫu nhiên

hoán vị

[x] Sửa đổi một chuỗi tại chỗ bằng cách xáo trộn nội dung của nó. [x]Hoán vị ngẫu nhiên một dãy hoặc trả về một dãy đã hoán vị

phân phối

[a, b[, size]]Vẽ mẫu từ bản phân phối Beta. [n, p[, size]]Vẽ mẫu từ phân phối nhị thức. [df[, size]]Vẽ mẫu từ phân phối chi-square. [alpha[, size]]Vẽ mẫu từ bản phân phối Dirichlet. [[scale, size]]Vẽ mẫu từ phân phối hàm mũ. [dfnum, dfden[, size]]Vẽ các mẫu từ phân phối F. [hình dạng [, tỷ lệ, kích thước]] Vẽ các mẫu từ phân phối Gamma. [p[, size]]Vẽ mẫu từ phân bố hình học. [[loc, tỷ lệ, kích thước]]Vẽ mẫu từ bản phân phối Gumbel. [good, nba, sample[, size]]Vẽ các mẫu từ phân phối Hypergeometric. [[loc, tỷ lệ, kích thước]]Lấy mẫu từ Laplace hoặc phân phối hàm mũ kép với vị trí [hoặc trung bình] và tỷ lệ [phân rã] được chỉ định. [[loc, tỷ lệ, kích thước]]Lấy mẫu từ phân phối hậu cần. [[mean, sigma, size]] Vẽ các mẫu từ phân phối log-chuẩn. [p[, size]]Vẽ mẫu từ phân phối chuỗi logarit. [n, pvals[, size]]Vẽ mẫu từ phân phối đa thức. [mean, cov[, size, …] Rút ra các mẫu ngẫu nhiên từ phân phối chuẩn nhiều biến. [n, p[, size]]Rút mẫu từ phân phối nhị thức âm. [df, nonc[, size]]Vẽ mẫu từ phân phối chi bình phương không chính giữa. [dfnum, dfden, nonc[, size]]Vẽ các mẫu từ phân phối F không tập trung. [[loc, tỷ lệ, kích thước]]Vẽ các mẫu ngẫu nhiên từ phân phối chuẩn [Gaussian]. [a[, size]]Vẽ các mẫu từ phân phối Pareto II hoặc Lomax với hình dạng cụ thể. [[lam, size]]Vẽ mẫu từ phân phối Poisson. [a[, size]]Vẽ các mẫu trong [0, 1] từ phân phối lũy thừa với số mũ dương a - 1. [[scale, size]]Vẽ các mẫu từ phân phối Rayleigh. [[size]]Vẽ mẫu từ phân phối Cauchy chuẩn với mode = 0. [[size]]Vẽ mẫu từ phân phối mũ tiêu chuẩn. [shape[, size]]Vẽ mẫu từ phân phối Gamma tiêu chuẩn. [[size]]Vẽ các mẫu từ phân phối Chuẩn chuẩn [mean=0, stdev=1]. [df[, size]]Vẽ mẫu từ phân phối t Student chuẩn với bậc tự do df. [trái, chế độ, phải[, kích thước]] Vẽ các mẫu từ phân bố tam giác trong khoảng thời gian
Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
23. [[thấp, cao, kích thước]]Vẽ các mẫu từ phân phối đồng đều. [mu, kappa[, size]]Vẽ các mẫu từ phân bố von Mises. [trung bình, tỷ lệ[, kích thước]]Vẽ các mẫu từ phân phối Wald hoặc Gaussian nghịch đảo. [a[, size]]Vẽ mẫu từ phân phối Weibull. [a[, size]]Vẽ mẫu từ bản phân phối Zipf

Trình tạo ngẫu nhiên

[[hạt giống]]Vùng chứa cho trình tạo số giả ngẫu nhiên Mersenne Twister. [[seed]]Gieo hạt máy phát điện. []Trả về một tuple đại diện cho trạng thái bên trong của trình tạo. [trạng thái]Đặt trạng thái bên trong của trình tạo từ một bộ

Thách đấu. Đưa ra một danh sách. Bạn sẽ chọn một số ngẫu nhiên từ danh sách bằng cách sử dụng phân phối xác suất như thế nào?

Khi bạn chọn ngẫu nhiên một số từ danh sách bằng phân phối xác suất nhất định, số đầu ra được tạo sẽ là một số được trả về dựa trên trọng số tương đối [xác suất] của các số đã cho. Hãy thử hình dung điều này với sự trợ giúp của một ví dụ

Ví dụ

Given:
numbers = [10, 20, 30]
distributions = [0.3, 0.2, 0.5]

Expected Output: Choose the elements randomly from the given list and display 5 elements in the output list: 
[30, 10, 20, 30, 30] 

Note: The output can vary.

Đầu ra dự kiến ​​có số '30' ba lần vì nó có trọng số/xác suất cao nhất. Trọng số tương đối được chỉ định là 0. 3, 0. 2 và 0. 5, tương ứng. Điều này có nghĩa là

  • Cơ hội chọn 10 là 30%
  • Cơ hội chọn 20 là 20%
  • Cơ hội chọn 30 là 50%

Ghi chú. Trước tiên, chúng ta sẽ xem xét nhiều cách giải quyết câu hỏi đã cho và sau đó đi sâu vào một số bài tập để hiểu rõ hơn. Vì vậy, không chậm trễ hơn nữa, hãy đi sâu vào câu hỏi quan trọng về sứ mệnh của chúng ta và giải quyết nó

Video giải thích nhanh

Lấy mẫu một số ngẫu nhiên từ phân phối xác suất trong Python


Xem video này trên YouTube

Phương pháp 1. Sử dụng ngẫu nhiên. lựa chọn

  • Syntax:
    random.choices[sequence, weights=None, cum_weights=None, k=1]
    6 là một phương thức của mô-đun
    Syntax:
    random.choices[sequence, weights=None, cum_weights=None, k=1]
    7 trong Python trả về một danh sách chứa các mục được chọn ngẫu nhiên từ trình tự đã chỉ định. Trình tự này có thể là một danh sách, bộ dữ liệu, chuỗi hoặc bất kỳ loại trình tự nào khác
  • Khả năng chọn trọng số có thể được chỉ định bằng cách sử dụng tham số
    Syntax:
    random.choices[sequence, weights=None, cum_weights=None, k=1]
    8 hoặc
    Syntax:
    random.choices[sequence, weights=None, cum_weights=None, k=1]
    9
Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
ParameterDescriptionsequence– Đây là tham số bắt buộc.
– Đại diện cho một chuỗi như dãy số, danh sách, bộ, v.v. trọng số– Đây là một tham số tùy chọn.
– Đại diện cho một danh sách trong đó khả năng của từng giá trị có thể được cân nhắc.
– Theo mặc định, nó là Không có. cum_weights– Đây là một tham số tùy chọn.
– Đại diện cho một danh sách có thể cân nhắc khả năng của từng giá trị. Tuy nhiên, khả năng, trong trường hợp này, là tích lũy. Ví dụ. trọng lượng bình thường.
import random
numbers = [10, 20, 30]
distributions = [0.3, 0.2, 0.5]
random_number = random.choices[numbers, distributions, k=5]
print[random_number]
0 tương đương với cum_weights.
import random
numbers = [10, 20, 30]
distributions = [0.3, 0.2, 0.5]
random_number = random.choices[numbers, distributions, k=5]
print[random_number]
1.
– Theo mặc định, nó là Không có. k– Nó là một tham số tùy chọn.
– Đại diện cho một số nguyên xác định độ dài của danh sách được trả về.

Tiếp cận. Gọi hàm

import random
numbers = [10, 20, 30]
distributions = [0.3, 0.2, 0.5]
random_number = random.choices[numbers, distributions, k=5]
print[random_number]
2 và nạp vào danh sách đã cho và phân phối trọng số/xác suất dưới dạng tham số

Mã số

import random
numbers = [10, 20, 30]
distributions = [0.3, 0.2, 0.5]
random_number = random.choices[numbers, distributions, k=5]
print[random_number]

đầu ra

Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
0

thận trọng

  • Nếu trọng số tương đối hoặc trọng số tích lũy không được chỉ định thì hàm
    import random
    numbers = [10, 20, 30]
    distributions = [0.3, 0.2, 0.5]
    random_number = random.choices[numbers, distributions, k=5]
    print[random_number]
    2 sẽ tự động chọn các phần tử có xác suất bằng nhau
  • Các trọng số được chỉ định phải luôn có cùng độ dài với trình tự đã chỉ định
  • Nếu bạn chỉ định trọng lượng tương đối cũng như trọng số tích lũy cùng một lúc, bạn sẽ nhận được TypeError [
    import random
    numbers = [10, 20, 30]
    distributions = [0.3, 0.2, 0.5]
    random_number = random.choices[numbers, distributions, k=5]
    print[random_number]
    4]. Do đó, để tránh lỗi, không chỉ định cả hai cùng một lúc
  • Syntax:
    random.choices[sequence, weights=None, cum_weights=None, k=1]
    9 hoặc
    Syntax:
    random.choices[sequence, weights=None, cum_weights=None, k=1]
    8 chỉ có thể là số nguyên, số thực và phân số. Chúng không thể là số thập phân. Ngoài ra, bạn phải đảm bảo rằng các trọng số không âm

Phương pháp 2. sử dụng numpy. ngẫu nhiên. sự lựa chọn

Một cách khác để lấy mẫu một số ngẫu nhiên từ phân phối xác suất là sử dụng hàm

import random
numbers = [10, 20, 30]
distributions = [0.3, 0.2, 0.5]
random_number = random.choices[numbers, distributions, k=5]
print[random_number]
7

import random
numbers = [10, 20, 30]
distributions = [0.3, 0.2, 0.5]
random_number = random.choices[numbers, distributions, k=5]
print[random_number]
8 là một phương thức của mô-đun
import random
numbers = [10, 20, 30]
distributions = [0.3, 0.2, 0.5]
random_number = random.choices[numbers, distributions, k=5]
print[random_number]
9 cho phép bạn tạo một giá trị ngẫu nhiên dựa trên một mảng có nhiều mảng. Nó chấp nhận một mảng làm tham số và trả về ngẫu nhiên một trong các giá trị từ mảng

Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
8ParameterDescriptionarr– Đại diện cho mảng chứa dãy số ngẫu nhiên. k– Đại diện cho một số nguyên xác định độ dài của danh sách trả về. p– Đại diện cho một danh sách có thể cân nhắc khả năng của từng giá trị. Nói một cách đơn giản, đó là phân phối xác suất của từng giá trị của mảng đã cho

Tiếp cận. Sử dụng hàm 

Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
00 sao cho 
Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
01 được đặt thành 
Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
02 để trả về danh sách yêu cầu 
Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
03 từ danh sách 
Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
04 đối với danh sách các chuỗi trọng số tương ứng 
Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
8

Mã số

Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
5

đầu ra

Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
6

Bạn có muốn trở thành một bậc thầy NumPy? . [Liên kết Amazon mở trong tab mới. ]

Phương pháp 3. Sử dụng scipy

Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
06 là một thư viện thủ công khác để xử lý các bản phân phối có trọng số ngẫu nhiên

  • là một lớp cơ sở được sử dụng để xây dựng các thể hiện và lớp phân phối cụ thể cho các biến ngẫu nhiên rời rạc. Nó cũng được sử dụng để xây dựng một phân phối tùy ý được xác định bởi danh sách các điểm hỗ trợ và xác suất tương ứng. [nguồn. ]

Giải trình. Trong đoạn mã sau,

Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
08 lấy chuỗi giá trị số nguyên có trong danh sách
Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
09 làm đối số đầu tiên và phân phối xác suất/trọng số làm đối số thứ hai và trả về các giá trị ngẫu nhiên từ danh sách dựa trên phân phối trọng lượng/xác suất tương đối của chúng

Mã số

Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
0

đầu ra

Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
1

Phương pháp 4. Sử dụng Lea

Một thư viện Python hiệu quả khác giúp chúng ta làm việc với phân phối xác suất là Lea. Nó được thiết kế đặc biệt để tạo điều kiện cho bạn lập mô hình nhiều hiện tượng ngẫu nhiên, như tung đồng xu, cờ bạc. Nó cho phép bạn lập mô hình nhiều hiện tượng ngẫu nhiên, như ném xúc xắc, tung đồng xu, kết quả cờ bạc, dự báo thời tiết, tài chính, v.v.  

#Ghi chú. Vì

Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
80 là thư viện bên ngoài nên bạn phải cài đặt nó trước khi sử dụng. Đây là lệnh để cài đặt
Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
80 trong hệ thống của bạn.
Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
82

Mã số

Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
5

đầu ra

Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
0

bài tập

Câu hỏi 1. Bạn Harry của chúng ta có tám cây bút chì màu. [“đỏ”, “xanh lá cây”, “xanh dương”, “vàng”, “đen”, “trắng”, “hồng”, “cam”]. Harry có ưu tiên trọng số để chọn từng màu như. [24/1, 6/1, 6/1, 12/1, 12/1, 24/1, 8/1, 24/7]. Anh ta chỉ được phép chọn ba màu cùng một lúc. Tìm các kết hợp khác nhau mà anh ta có thể chọn trong 10 lần thử

Dung dịch

Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
1

đầu ra

Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
2

Câu hỏi 2

Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
3

Dung dịch

Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
4

đầu ra

Syntax:
random.choices[sequence, weights=None, cum_weights=None, k=1]
5

Với điều đó, chúng ta đi đến phần cuối của hướng dẫn này. Tôi hy vọng nó đã giúp bạn. Vui lòng đăng ký và theo dõi để biết thêm các hướng dẫn và giải pháp thú vị. học tập vui vẻ. 🙂

đề nghị đọc. Mô-đun ngẫu nhiên của Python – Mọi thứ bạn cần biết để bắt đầu

Shubham Sayon

Tôi là một người tạo nội dung và Blogger Python chuyên nghiệp. Tôi đã xuất bản nhiều bài báo và tạo các khóa học trong một khoảng thời gian. Hiện tại tôi đang làm việc với tư cách là một freelancer toàn thời gian và tôi có kinh nghiệm trong các lĩnh vực như Python, AWS, DevOps và Networking

Làm thế nào để lấy mẫu từ một phân phối làm việc?

Phân phối lấy mẫu là phân phối xác suất của thống kê thu được thông qua lấy mẫu lặp lại của một tổng thể cụ thể . Nó mô tả một loạt các kết quả có thể xảy ra đối với một thống kê, chẳng hạn như giá trị trung bình hoặc chế độ của một số biến, của dân số.

Các bước phân phối mẫu là gì?

Ý tưởng như sau để có được phân phối lấy mẫu. Bước 1. có được một mẫu ngẫu nhiên đơn giản có kích thước n Bước 2. tính toán trung bình mẫu. Bước 3. giả sử rằng chúng ta đang lấy mẫu từ một quần thể hữu hạn, hãy lặp lại các bước 1 và 2 cho đến khi thu được tất cả các mẫu ngẫu nhiên đơn giản riêng biệt của n

Chủ Đề