범위는 0에서 1 사이이며 그 사이에 피크가 있습니까?


13

배포판이 있습니까 아니면 다른 배포본에서 작업하여 아래 이미지와 같은 배포판을 만들 수 있습니까 (나쁜 도면에 대한 사과)?

분포 여기서 피크가 어디에 있어야하는지에 대한 숫자 (예 : 0.2, 0.5 및 0.9)와 함수를 더 넓게 또는 덜 넓게하는 표준 편차 (시그마)를 제공합니다.

PS : 주어진 숫자가 0.5 일 때 분포는 정규 분포입니다.



19
정규 분포의 범위는 이기 때문에 0.5의 경우 정규 분포가 ±∞

8
당신이 당신의 사진을 찍을 경우 그대로 다음 어떤 배포판이없는 당신이에 대한 지원을 제한하려는 경우 모든 경우에 영역이 엄격하게 적은 1보다이기 때문에 것을 같이 [0,1]다음을 당신이 PDF 파일의 범위를 제한 할 수 없습니다 [0,1]뿐만 아니라 (사소한 균일 한 경우 제외).
— 존 콜맨

답변:


29

가능한 한 가지 선택은 베타 분포 이지만 평균 μ 와 정밀도 ϕ로 다시 매개 변수화 됩니다 . 즉, "고정 μ 의 경우 ϕ 의 값이 클수록 y 의 분산이 작아집니다 "(페라리 및 크리 바리 참조) Neto, 2004). 확률 밀도 함수는 베타 분포의 표준 매개 변수를 α = ϕ μ 및 β = ϕ ( 1 − μ ) 로 대체하여 구성됩니다.μϕμϕyα=ϕμβ=ϕ(1−μ)

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

여기서 및 V a r ( Y ) = μ ( 1 − μ )E(Y)=μ .Var(Y)=μ(1−μ)1+ϕ

또는 사전 정의 된 평균 및 분산으로 베타 분포로 이어지는 적절한 α 및 β 매개 변수를 계산할 수 있습니다 . 그러나 베타 배포에 유효한 가능한 분산 값에는 제한이 있습니다. 개인적으로 정밀도를 사용한 매개 변수화는보다 직관적입니다 ( x를 생각하십시오)αβ 의 비율binomially 분산 X 샘플 크기와, φ 와 성공의 확률 μ ).x/ϕ Xϕμ

Kumaraswamy 분포 는 또 다른 경계 연속 분포이지만 위와 같이 다시 매개 변수화하기가 더 어렵습니다.

다른 사람들이 알다시피 정규 분포가 ( − ∞ , ∞ )를 지원하기 때문에 정상 이 아니므 로 잘린 법선 을 근사치로 사용할 수 있습니다 .(−∞,∞)

Ferrari, S., & Cribari-Neto, F. (2004). 모델링 속도 및 비율에 대한 베타 회귀. 응용 통계 저널, 31 (7), 799-815.


나는 당신의 대답을 좋아합니다, 나는 그것으로부터 몇 가지 그래프를 만들었습니다. 내가 가진 유일한 문제는 너비를 조절할 수 없다는 것입니다 (일반 곡선 분포의 시그마). 특정 시그마 값이 주어지면 phi 값을 계산하는 공식을 갖고 싶습니다. 내가 가진 문제는 곡선이 거꾸로되거나 이상한 모양을 취하는 것입니다. 이것은 내가 피하고 싶은 행동입니다.
— Stan Callewaert

간단히 말해서 : 함수에 뮤와 시그마를주고 시그마가 작을 때 시그마가 크고 얇은 경우 (거꾸로 뒤집어 지거나 이상한 행동을 보이지 않음) 넓은 분포를 얻고 싶습니다. .
— Stan Callewaert

1
ϕ=μ(1−μ)/σ2−1αβμ=1/2ϕ>2σ<0.707

2
언급해야 할 또 다른 사항은 단일 베타 배포가 충분히 유연하지 않은 경우 베타 배포를 혼합하여 사용할 수 있다는 것입니다.
— Björn

@knrumsey 나는 phi에 대해 동일한 공식을 사용했지만, 내가 가진 유일한 문제는 시그마가 큰 숫자 일 때 phi가 음수가되고 알파가 음수가된다는 것을 의미합니다. Wikipedia에 따르면 알파는 음수 일 수 없습니다. 이에 대한 해결책이 있습니까?
— Stan Callewaert

5

α(α+β)


1
매우 흥미로운 것처럼 보이지만 내 숫자 (최고 값)와 시그마를 알파 및 베타 값으로 변환하려면 어떻게해야합니까?
— Stan Callewaert

1
Wikipedia에서 찾아보십시오 ... 그것은 두 개의 매개 변수 분포입니다. 둘 사이에서, 그들은 (여유의 자유로) 당신의 최고 가치에 맞출 수 있습니다.

5

y=exp(x)1+exp(x)yx

함수 에는 특별한 것이 없습니다exp(x)1+exp(x)

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

yxF()


0

누군가가 솔루션에 관심이 있다면 주어진 숫자에 가까운 임의의 값을 매개 변수로 생성하기 위해 Python에서 사용했습니다. 내 솔루션은 네 단계로 존재합니다. 각 단계에서 생성 된 수가 주어진 수에 더 근접 할 가능성이 더 큽니다.

나는 해결책이 하나의 배포판을 사용하는 것만 큼 아름답 지 않다는 것을 알고 있지만 이것이 내 문제를 해결할 수있는 방법이었습니다.

number_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

main.py :

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()

이 코드를 실행할 때의 결과는 아래 그림에 나와 있습니다. 그래프


0

'Johnson curves'를 살펴볼 수 있습니다. NL Johnson : 변환 방법으로 생성 된 주파수 곡선 시스템을 참조하십시오. 1949 Biometrika Volume 36 pp 149-176. R은 임의의 커브에 적합하도록 지원합니다. 특히 그의 SB (경계) 곡선이 유용 할 수 있습니다.

제가 사용한지 40 년이 지났지 만 그 당시에는 매우 유용했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.