문제

원하는 평균 및 표준 편차를 가질 수 있도록 양수 세트를 무작위로 생성하는 방법이 있습니까?

가우시안 분포로 숫자를 생성 할 알고리즘이 있지만 평균 및 표준 편차를 보존하는 방식으로 음수를 처리하는 방법을 모르겠습니다.
포아송 분포가 좋은 근사치 일 수 있지만 평균 만 필요합니다.

편집 : 응답에 약간의 혼란이 있었으므로 명확히하려고 노력할 것입니다.

나는 평균과 표준 편차를주는 숫자 세트가 있습니다. 동등한 평균 및 표준 편차를 가진 똑같이 크기의 숫자 세트를 생성하고 싶습니다. 일반적으로 가우스 분포를 사용하여이를 수행하지만이 경우 모든 값이 0보다 크다는 추가 제약 조건이 있습니다.

내가 찾고있는 알고리즘은 가우스 기반 (지금까지 의견으로 판단하면 아마도 그렇지 않아야 할 것임) 일 필요는 없으며 완벽 할 필요가 없습니다. 결과 숫자 세트가 약간 다른 평균/표준 편차를 가지고 있는지는 중요하지 않습니다. 보통 야구장에있는 것을 원합니다.

도움이 되었습니까?

해결책

David Norman이 제안한 것처럼 로그 계절 분포를 찾고있을 수도 있습니다. 지수, 이항식, 또는 다른 분포. 하나의 분포를 생성하는 알고리즘이있는 경우 다른 분포를 준수하는 숫자를 생성하는 데 좋지 않을 수 있습니다. 그러나 오직 당신만이 당신의 숫자가 실제로 어떻게 분포되어 있는지 알고 있습니다.

정규 분포를 사용하면 랜덤 변수의 범위는 음의 무한대에서 양의 무한대에 이르기까지, 양수 숫자 만 찾고 있다면 가우시안이 아닙니다.

예를 들어 Poisson 분포와 같은 다른 분포에는 고유 한 속성이 있습니다. 표준 편차는 항상 평균과 같습니다. (그렇기 때문에 라이브러리 기능이 표준 편차 매개 변수에서 묻지 않고 평균 만 묻습니다).

최악의 경우 0과 1 사이의 임의의 실수를 생성하고 확률 밀도 함수를 스스로 계산할 수 있습니다. (분포에 따라 말보다 훨씬 쉬울 수 있습니다).

다른 팁

첫째, 가우스 분포에서 양수 값 만 생성 할 수 없습니다.

둘째, 주어진 평균 및 표준 편차로 임의의 분포를 생성하려고한다는 것을 정확하게 이해하고 있습니까? 배포가 가능합니까? 그렇다면 평균 = m 표준 편차 = s. 나는 그것을 가정한다 m - s > 0.

let n = random integer modulo 2;
if n equals 0 return m - s
else return m + s

이 프로세스에 의해 반환 된 값은 의미가 있습니다 m 표준 편차 s.

당신은 a를 사용할 수 있습니다 통나무 정상 분포.

리 샘플링 방법을 사용하지 않는 이유는 무엇입니까? 당신이 가지고 있다면 N 샘플의 숫자는 그냥 가져 가십시오 N 샘플에서 무작위로 그려지고 교체와 함께. 결과 세트는 원래 샘플과 동일하게 평균과 분산을 기대하지만 일반적으로 약간 다릅니다.

이것은 당신이 왜 더 많은 임의의 숫자가 필요한지 알지 못하고 정답이 무엇인지 말하는 것은 불가능합니다. 잘못된 문제를 해결하려고하는지 궁금합니다 ...

나는 저항 할 수 없었다 - 나는 Jason의 각도를 정말로 좋아하지만 그의 대답이 M> S가있는 경우에만 다루는 것에 대해 행복하지 않았기 때문에 그의 아이디어에 따라 일반적인 해결책을 작성했다.
주어진 m, s 및 긍정적 인 용어로 가장 간단한 분포는

확률 p, 반환 0
확률 (1-p), 반환 m / (1-p)
여기서 (1-p) = m^2 / (m^2 + s^2)

증명 : 확률 P가있는 LOWX와 확률 (1-P)의 HIGHX가있는 두 개의 결과가있는 분포 X의 경우
m = e [x] = px lowx + (1-p) x highx
s^2 = variance (x) = e [x^2] -E [x]^2 = px lowx^2 + (1 -p) x highx^2 -m^2

Lowx를 0으로 설정하고 Highx 및 p에서 해결하십시오.

긍정적 인 지원을 받고 평균 및 분산으로 지정할 수있는 분포를 사용할 수 있습니다. 예를 들어,

  • 1 파라미터 분포는 일반적으로 작동하지 않습니다. 예를 들어, 차이가 항상 평균 두 배가되지 않으면 카이-제곱이 작동하지 않습니다. 비슷하게 지수는 분산이 평균 제곱과 같지 않으면 작동하지 않습니다.
  • 일부 2 파라미터 분포는 경우에 따라 작동하지 않습니다. 분산이 평균보다 작지 않으면 이항 분포가 작동하지 않습니다. 마찬가지로 비 중부 카이 제곱은 평균 2 배보다 크지 않고 평균 4 배 미만이 아니라면 작동하지 않습니다!
  • 그러나 로그 정규 및 감마는 모든 경우에 작동합니다.

내가 당신을 올바르게 이해한다면, 당신은 긍정적 인지지를 가진 분포에서 난수를 생성하려고합니다. 가능한 많은 선택이 있습니다. 가장 간단한 것은입니다

카이 제곱 : http://en.wikipedia.org/wiki/chi-square_distribution(이것은 두 개의 제곱 가우스의 합계입니다)

모든 암살 분포 (지수, Weibull, Pareto, 역 가우스, 로그-정규, 감마)

Skew Familly의 모든 분포 (Skew-normal, Skew-Student, ...)

위의 모든 기능은 그 중 어느 것도 그려진 임의의 숫자가 모든 것이 긍정적일 것입니다.

도대체 당신은 광대에 대해 이야기하고 있습니까? 표준 정상은 평균 0이지만 가우스 분포의 특별한 경우이며 매개 변수 평균 및 표준 편차가 있습니다. 평균이 증가함에 따라 SD가 일정하게 유지됨에 따라 0 미만의 숫자를 생성 할 확률은 0으로 감소합니다. 음수가없는 가우스 분포를 절대적으로 가질 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top