MATLAB 또는 Octave에서 자신의 확률 밀도 함수를 정의하고 을 사용하여 난수 생성에 사용할 수 있습니까?matlab에서 자신의 확률 분포 함수 정의하기
MATLAB과 Octave에는 rand, randn과 같은 기본 기능이있어 균일하거나 정규 분포에서 무작위로 점을 그릴 수 있지만 내 고유 확률 밀도 함수를 정의하는 방법에 대한 문서는없는 것 같습니다.
MATLAB 또는 Octave에서 자신의 확률 밀도 함수를 정의하고 을 사용하여 난수 생성에 사용할 수 있습니까?matlab에서 자신의 확률 분포 함수 정의하기
MATLAB과 Octave에는 rand, randn과 같은 기본 기능이있어 균일하거나 정규 분포에서 무작위로 점을 그릴 수 있지만 내 고유 확률 밀도 함수를 정의하는 방법에 대한 문서는없는 것 같습니다.
임의 임의 분포의 샘플링이 항상 사소한 것은 아닙니다. 잘 알려진 배포판에는 구현할 트릭이 있으며 대부분은 통계 도구 상자에 구현됩니다.
관심있는 분포가 어려운 경우 rejection sampling, 조각 샘플링, Metropolis–Hastings algorithm과 같이 많은 샘플링 알고리즘이 도움이 될 수 있습니다.
분포가 불연속이거나 불연속 분포로 매우 근사 할 수 있다면 randsamp
을 사용하여 다항식 샘플링을 수행하면됩니다.
유용한 도구 모음이 내장되어 있으므로 통계 도구 상자가있는 경우 random()
을 사용할 수 있습니다.
나는 최근에 그 일을 몇 번해야했으며, 달성하기가 쉽지 않았습니다. 내가 가장 좋아하는 기술은 Inverse transform sampling입니다.
아이디어는 매우 간단합니다 :
+1. – YBE