{"title":"在计算机中产生随机变量的一般方法","authors":"G. Marsaglia","doi":"10.1145/1464291.1464310","DOIUrl":null,"url":null,"abstract":"Many random variables can be approximated quite closely by <i>c</i>(<i>M</i> + <i>U</i><sub>1</sub> + <i>U</i><sub>2</sub> + <i>U</i><sub>3</sub>), where <i>c</i> is constant, <i>M</i> is a discrete random variable, and the <i>U</i>'s are uniform random variables. Such a representation appears attractive as a method for generating variates in a computer, since <i>M</i> + <i>U</i><sub>1</sub> + <i>U</i><sub>2</sub> + <i>U</i><sub>3</sub> can be quickly and simply generated. A typical application of this idea will have <i>M</i> taking from 4 to 7 values; the required <i>X</i> will be produced in the form <i>c</i>(<i>M</i> + <i>U</i><sub>1</sub> + <i>U</i><sub>2</sub> + <i>U</i><sub>3</sub>) perhaps 95--99% of the time, and occasionally by the rejection technique, to make the resulting distribution come out right. This paper describes the method and gives examples of how to generate beta, normal, and chi-square variates.","PeriodicalId":297471,"journal":{"name":"AFIPS '66 (Fall)","volume":"214 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1966-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":"{\"title\":\"A general method for producing random variables in a computer\",\"authors\":\"G. Marsaglia\",\"doi\":\"10.1145/1464291.1464310\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Many random variables can be approximated quite closely by <i>c</i>(<i>M</i> + <i>U</i><sub>1</sub> + <i>U</i><sub>2</sub> + <i>U</i><sub>3</sub>), where <i>c</i> is constant, <i>M</i> is a discrete random variable, and the <i>U</i>'s are uniform random variables. Such a representation appears attractive as a method for generating variates in a computer, since <i>M</i> + <i>U</i><sub>1</sub> + <i>U</i><sub>2</sub> + <i>U</i><sub>3</sub> can be quickly and simply generated. A typical application of this idea will have <i>M</i> taking from 4 to 7 values; the required <i>X</i> will be produced in the form <i>c</i>(<i>M</i> + <i>U</i><sub>1</sub> + <i>U</i><sub>2</sub> + <i>U</i><sub>3</sub>) perhaps 95--99% of the time, and occasionally by the rejection technique, to make the resulting distribution come out right. This paper describes the method and gives examples of how to generate beta, normal, and chi-square variates.\",\"PeriodicalId\":297471,\"journal\":{\"name\":\"AFIPS '66 (Fall)\",\"volume\":\"214 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1966-11-07\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"4\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"AFIPS '66 (Fall)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/1464291.1464310\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"AFIPS '66 (Fall)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1464291.1464310","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4
摘要
许多随机变量可以用c(M + U1 + U2 + U3)近似表示,其中c是常数,M是离散随机变量,U是均匀随机变量。这种表示作为在计算机中生成变量的方法似乎很有吸引力,因为M + U1 + U2 + U3可以快速而简单地生成。这个想法的典型应用是M取4到7个值;所需的X可能在95% -99%的情况下以c(M + U1 + U2 + U3)的形式产生,偶尔通过抑制技术,使结果分布正确。本文描述了该方法,并给出了如何生成beta、正态和卡方变量的示例。
A general method for producing random variables in a computer
Many random variables can be approximated quite closely by c(M + U1 + U2 + U3), where c is constant, M is a discrete random variable, and the U's are uniform random variables. Such a representation appears attractive as a method for generating variates in a computer, since M + U1 + U2 + U3 can be quickly and simply generated. A typical application of this idea will have M taking from 4 to 7 values; the required X will be produced in the form c(M + U1 + U2 + U3) perhaps 95--99% of the time, and occasionally by the rejection technique, to make the resulting distribution come out right. This paper describes the method and gives examples of how to generate beta, normal, and chi-square variates.