Phân phối có phạm vi từ 0 đến 1 và với đỉnh giữa chúng?


13

Có phân phối hay tôi có thể làm việc từ một phân phối khác để tạo phân phối như thế trong hình ảnh bên dưới (xin lỗi cho các bản vẽ xấu)?

phân phối trong đó tôi đưa ra một số (0,2, 0,5 và 0,9 trong các ví dụ) cho vị trí của cực đại và độ lệch chuẩn (sigma) làm cho hàm rộng hơn hoặc rộng hơn.

PS: Khi số đã cho là 0,5 thì phân phối là phân phối chuẩn.



19
lưu ý rằng trường hợp 0,5 sẽ không được phân phối chuẩn từ phạm vi của phân phối chuẩn là ±

8
Nếu bạn chụp ảnh của bạn theo nghĩa đen thì không có phân phối mà nhìn như thế kể từ khi khu vực trong mọi trường hợp là đúng ít hơn 1. Nếu bạn đang đi để hạn chế sự hỗ trợ để [0,1]sau đó bạn không thể hạn chế phạm vi của pdf để [0,1]cũng (khác với trường hợp đồng phục tầm thường).
John Coleman

Câu trả lời:


29

Một sự lựa chọn có thể là phân phối phiên bản beta , nhưng lại parametrized về trung bình và độ chính xác φ , nghĩa là "cho cố định μ , lớn hơn giá trị của φ , nhỏ hơn phương sai của y " (xem Ferrari, và Cribari- Neto, 2004). Các hàm mật độ xác suất được xây dựng bằng cách thay thế các thông số tiêu chuẩn của phân phối phiên bản beta với α = φ μβ = φ ( 1 - μ )μϕμϕyα=ϕμβ=ϕ(1μ)

f(y)=1B(ϕμ,ϕ(1μ))yϕμ1(1y)ϕ(1μ)1

nơi V một r ( Y ) = μ ( 1 - μ )E(Y)=μ .Var(Y)=μ(1μ)1+ϕ

Ngoài ra, bạn có thể tính toán thích hợp β thông số đó sẽ dẫn đến phân phối phiên bản beta với được xác định trước trung bình và phương sai. Tuy nhiên, lưu ý rằng có các hạn chế đối với các giá trị phương sai có thể có giá trị đối với phân phối beta. Đối với cá nhân tôi, tham số hóa sử dụng độ chính xác trực quan hơn (nghĩ về xαβ tỷ lệ trongphân phối binomially X , với cỡ mẫu φ và xác suất thành công μ ).x/ϕ Xϕμ

Phân phối Kumarawamy là một phân phối liên tục giới hạn khác, nhưng sẽ khó khăn hơn để tái tham số như trên.

Như những người khác đã nhận thấy, đó là không bình thường kể từ phân phối chuẩn có hỗ trợ, vì vậy tốt nhất bạn có thể sử dụng bình thường cắt ngắn như một xấp xỉ.(,)

Ferrari, S., & Cribari-Neto, F. (2004). Hồi quy Beta cho tỷ lệ mô hình hóa và tỷ lệ. Tạp chí Thống kê ứng dụng, 31 (7), 799-815.


Tôi thích câu trả lời của bạn, tôi đã xây dựng một số biểu đồ từ nó. Vấn đề duy nhất tôi có là dường như tôi không thể kiểm soát độ rộng (sigma trong phân phối bình thường của đường cong). Tôi muốn có một công thức tính giá trị phi khi đưa ra một giá trị sigma nhất định. Vấn đề mà tôi gặp phải là đường cong đảo lộn hoặc có hình dạng kỳ lạ, đó là hành vi tôi muốn tránh.
Stan Callewaert

Tóm lại: Tôi muốn cung cấp cho mu và sigma cho hàm và sau đó nhận phân phối rộng khi sigma lớn và mỏng (nhưng không đảo lộn hoặc hiển thị hành vi kỳ lạ) khi sigma nhỏ .
Stan Callewaert

1
Độ chính xác và độ lệch chuẩn có liên quan: . Ngoài ra, phân phối Beta là unimodal (sẽ không hiển thị hành vi kỳ lạ) khi αβ là lớn hơn 1. Điều này có nghĩa rằng khi μ = 1 / 2 , bạn nên chọn φ > 2 hoặc tương đương σ < 0,707 . ϕ=μ(1μ)/σ21αβμ=1/2ϕ>2σ<0.707
knrumsey

2
Một điều khác cần đề cập là tất nhiên bạn có thể sử dụng hỗn hợp các bản phân phối beta, nếu một bản phân phối beta không đủ linh hoạt.
Bjorn

@knrumsey Tôi đã sử dụng cùng một công thức cho phi, vấn đề duy nhất tôi dường như là khi sigma là một số lớn, phi trở thành một số âm có nghĩa là alpha cũng trở thành một số âm. Alpha không thể phủ định theo Wikipedia. đó có phải là cách giải quyết?
Stan Callewaert

5

α(α+β)


1
Trông rất thú vị, nhưng làm cách nào tôi có thể chuyển đổi số của mình (giá trị đỉnh) và sigma của tôi thành giá trị alpha và beta?
Stan Callewaert

1
Chỉ cần tìm nó trên wikipedia ... đó là một bản phân phối hai tham số. Giữa hai người, họ có thể điều chỉnh giá trị cao nhất của bạn (có thêm một mức độ tự do).

5

y=exp(x)1+exp(x)yx phân tán hơn.

exp(x)1+exp(x) . Bất kỳ hàm phân phối tích lũy nào cũng hoạt động để tạo ra một biến ngẫu nhiên mới được xác định trên khoảng đơn vị.

y=F(x)F()yF()xxyxy

yxF()


0

Nếu ai đó quan tâm đến giải pháp tôi đã sử dụng trong Python để tạo một giá trị ngẫu nhiên gần với số đã cho làm tham số. Giải pháp của tôi tồn tại bốn giai đoạn. Mỗi giai đoạn cơ hội mà số được tạo ra gần với số đã cho là lớn hơn.

Tôi biết giải pháp không đẹp bằng sử dụng một bản phân phối nhưng đây là cách tôi có thể giải quyết vấn đề của mình:

số_factory.py:

import random
import numpy as np

class NumberFactory:
    def __init__(self):
        self.functions = [self.__linear, self.__exponential_point_four, self.__exponential_point_three, self.__exponential_point_twenty_five]  
        self.stage = 0

    def next_stage(self):
        self.stage += 1

    def get_mutated_number(self, number):
         # True if the generated number will be higher than the given number
         # False if the generated number will be lower than the given number
        add = bool(np.random.choice([0,1], p=[number, 1-number]))

        # Generate a number between 0 and 1 that will be used
        # to multiply the new number by which the number parameter will be substracted or added
        # The bigger the stage number (0-3) the more change that the mutated number is close to the number parameter
        multiply_number_seed = random.uniform(0, 1)
        multiply_number = self.functions[self.stage](multiply_number_seed)

        if (add):
            return number+((1-number)*multiply_number)
        else:
            return number-(number*multiply_number)

    def __linear(self, x):
        return -x+1

    def __exponential_point_four(self, x):
        return 0.4*x**2 - 1.4*x + 1

    def __exponential_point_three(self, x):
        return 0.8*x**2 - 1.8*x + 1

    def __exponential_point_twenty_five(self, x):
        return x**2 - 2*x + 1

    def get_stage(self):
        return self.stage

chính:

import matplotlib.pyplot as plt
import numpy as np

factory = NumberFactory()
numbers = []

factory.next_stage()
factory.next_stage()
factory.next_stage()

for _ in range(100000):
    numbers.append(factory.get_mutated_number(0.3))

bins = 100

plt.hist(numbers, bins, normed=True)
plt.plot(1, np.ones_like(bins))
plt.show()

kết quả khi thực thi mã này được hiển thị trong hình dưới đây: Đồ thị


0

Bạn có thể muốn xem 'Đường cong Johnson'. Xem NL Johnson: Hệ thống các đường cong tần số được tạo ra bằng các phương pháp dịch thuật. 1949 Biometrika Tập 36 trang 149-176. R có hỗ trợ để khớp chúng với các đường cong tùy ý. Cụ thể, đường cong SB (giới hạn) của anh ta có thể hữu ích.

Đã 40 năm kể từ khi tôi sử dụng chúng, nhưng chúng rất hữu ích với tôi vào thời điểm đó và tôi nghĩ chúng sẽ giúp ích cho bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.