Box-Muller түрлендіруі: Біркелкі үлестірілген сандардан стандартты қалыпты үлестірілген сандар жұбын жасау әдісі. Статистикалық трансформация, қолдану, формулалар.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Кіріспе
Статистикалық түрлендіру
Statistical transform
Бокс-Мюллер түрлендіруі, Джордж Эдвард Пелхам Бокс және Мервин Эдгар Мюллердің әзірлемесі, біркелкі таратылған кездейсоқ сандар көзі берілген жағдайда, тәуелсіз, стандартты, қалыпты таралымды (күтілетін мәні нөл, дисперсиясы бірлік) кездейсоқ сандар жұбын жасауға арналған кездейсоқ сандарды іріктеу әдісі. Бұл әдіс алғаш рет 1934 жылы Раймонд Э.А.К. Пейли және Норберт Винердің кешенді домендегі Фурье түрлендірулері туралы трактатында нақты айтылған. Осы авторлардың беделі мен олардың трактатының кең таралғанын ескере отырып, Бокс пен Мюллер оның мазмұнымен жақсы таныс болғандығы анық. Бокс-Мюллер түрлендіруі көбінесе екі түрде келтіріледі. Бокс пен Мюллер ұсынған негізгі түр [0, 1] аралығындағы біркелкі таралымнан екі үлгі алып, оларды екі стандартты, қалыпты таралымды үлгіге түрлендіреді. Полярлық түр басқа аралықтан екі үлгі алып, синус немесе косинус функцияларын қолданбай, екі қалыпты таралымды үлгіге түрлендіреді. Бокс-Мюллер түрлендіруі кері түрлендіру үлгілеу әдісіне қарағанда есептеу тиімділігі жоғары балама ретінде әзірленді. Зигкурат алгоритмі скалярлық процессорлар үшін (мысалы, ескі CPU) тиімді әдіс ұсынады, ал Бокс-Мюллер түрлендіруі векторлық бірліктері бар процессорлар үшін (мысалы, GPU немесе заманауи CPU) артықшылықты.
The Box–Muller transform, by George Edward Pelham Box and Mervin Edgar Muller, is a random number sampling method for generating pairs of independent, standard, normally distributed (zero expectation, unit variance) random numbers, given a source of uniformly distributed random numbers. The method was first mentioned explicitly by Raymond E. A. C. Paley and Norbert Wiener in their 1934 treatise on Fourier transforms in the complex domain. Given the status of these latter authors and the widespread availability and use of their treatise, it is almost certain that Box and Muller were well aware of its contents. The Box–Muller transform is commonly expressed in two forms. The basic form as given by Box and Muller takes two samples from the uniform distribution on the interval and maps them to two standard, normally distributed samples. The polar form takes two samples from a different interval, , and maps them to two normally distributed samples without the use of sine or cosine functions. The Box–Muller transform was developed as a more computationally efficient alternative to the inverse transform sampling method. The ziggurat algorithm gives a more efficient method for scalar processors (e. g. old CPUs), while the Box–Muller transform is superior for processors with vector units (e. g. GPUs or modern CPUs).
Құйрықты қысқарту
Компьютер біркелкі кездейсоқ айнымалыны шығару үшін пайдаланылғанда, оның сөзсіз қателері болады, себебі сандардың 0-ге қаншалықты жақын болуына төменгі шек бар. Егер генератор шығыс мәніне 32 бит қолданса, нөлден өзге ең кішкентай сан болады. Егер және осы мәнге тең болса, Box-Muller түрлендіргіші қалыпты кездейсоқ ауытқуды береді, ол -қа тең. Бұл алгоритм кездейсоқ айнымалыларды орташа мәннен 6,660 стандартты ауытқудан артық шығармайды дегенді білдіреді. Бұл қысқартудан жоғалған үлеске сәйкес келеді, мұнда стандартты жиынтық қалыпты үлестірілім. 64 бит пайдаланғанда бұл шек стандартты ауытқуларға дейін көтеріледі, онда .
When a computer is used to produce a uniform random variable it will inevitably have some inaccuracies because there is a lower bound on how close numbers can be to 0. If the generator uses 32 bits per output value, the smallest non zero number that can be generated is When and are equal to this the Box–Muller transform produces a normal random deviate equal to This means that the algorithm will not produce random variables more than 6.660 standard deviations from the mean. This corresponds to a proportion of lost due to the truncation, where is the standard cumulative normal distribution. With 64 bits the limit is pushed to standard deviations, for which .