IOK vì vậy tôi muốn có thể chọn các giá trị từ phân phối bình thường chỉ rơi từ 0 đến 1. Trong một số trường hợp, tôi muốn có thể chỉ trả lại một phân phối hoàn toàn ngẫu nhiên và trong các trường hợp khác, tôi muốn trả về các giá trị nằm trong hình dạng của một gaussian.Làm thế nào để xác định giới hạn trên và dưới khi sử dụng numpy.random.normal
Hiện nay tôi đang sử dụng các chức năng sau:
def blockedgauss(mu,sigma):
while True:
numb = random.gauss(mu,sigma)
if (numb > 0 and numb < 1):
break
return numb
Nó chọn một giá trị từ một phân phối chuẩn, sau đó loại bỏ nó nếu nó nằm ngoài phạm vi 0-1, nhưng tôi cảm thấy như có phải là một cách tốt hơn để làm điều này.
Nếu bạn "khối" giá trị < 0 and > 1, nó vẫn sẽ là một phân bố gaussian? –
nó sẽ không phải là phân phối gaussian, nhưng trong một số trường hợp, tôi không muốn phân phối gaussian. tôi muốn trả lại một bản phân phối có thể điều chỉnh giữa việc phân phối ngẫu nhiên (chọn từ một gaussian rất rộng), đến một cái gì đó rất gần với hàm delta (nơi gaussian trở nên rất hẹp) –