统计计算基于R——随机数(附代码)

目录

一、均匀分布随机数

1.1 线性同余发生器

拓展

1.2组合发生器法

1.3随机数检验

 

二、非均匀分布随机数的产生

2.1逆变换法

2.2离散型随机数

2.3连续型随机变量

拓展 Box-Muller变换

三、随机向量和随机过程的生成

3.1条件分布法

3.2多元正态分布模拟

3.3其他分布模拟

用copula描述多元分布

平稳时间序列模拟


 

一、均匀分布随机数

        随机数,即随机变量在分布函数下的一系列观测数值。为了进行随机模拟,我们使用计算机算法产生的序列为伪随机数。需要某种分布的随机数时,可以先生成均匀分布随机数,而后转换得到其他分布的随机数。产生均匀分布随机数的算法为均匀分布随机数发生器。

1.1 线性同余发生器

        设 eq?i%2Cjeq?%2CM 为整数,若 eq?i-jeq?M的倍数,则称eq?ieq?j关于模同余,记作 eq?i%5Cequiv%20j%20%5Cquad%20%28mod%5Cquad%20m%29。不难验证,同余具有对称性、传递性、可加性等性质,具体证明过程不在此展开。线性同余随机数发生器的递推公式为 eq?x_n%3D%28ax_%7Bn-1%7D+c%29%5Cquad%28mod%5Cquad%20M%29。特别地,eq?c%3E%200 时称其为混合同余发生器。下面不加证明给出混合同余发生器达到满周期的充分条件:

(1)eq?Meq?c互素

(2)对eq?M的任何一个素因子eq?Peq?a-1eq?P整除

(3)如果4是eq?M的因子,eq?a-1则被4整除

好的随机数序列应该周期足够长,统计性质符合均匀分布,且需要有很好的随机性,即起排列不应该有规律,序列中的两项不应该有相关性。因为序列是由确定公式产生的,所以不可能真正独立,我们将要求放宽至序列自相关性弱,前后两项自相关系数的近似公式为eq?%5Crho%281%29%5Capprox%20%5Cfrac%7B1%7D%7Bc%7D-%5Cfrac%7B6c%7D%7BaM%7D%281-%5Cfrac%7Bc%7D%7BM%7D%29综上所述,我们应该去eq?aeq?M足够大且eq?a%3C%20M

拓展

乘同余法 eq?x_n%3Dax_%7Bn-1%7D

素数模乘同余法  若取eq?M为小于eq?2%5EL的最大素数,选取适当eq?a的可以达到eq?T%3DM-1周期的发生器

1.2组合发生器法

        把两个或若干个发生器组合利用可以获得更长的周期和更好的随机性。

set.seed(seed)#设置固定的随机数种子,使得模拟研究的结果可重复
runif(n)#产生n个均匀分布的随机数

1.3随机数检验

        解决模拟问题时应该先反复确认所用的随机数在问题中的好的。对均匀分布随机数发生器产生的序列可以用以下方法检验:

1、计算样本一二阶钜等,观察eq?N%5Crightarrow%20%5Cinfty时是否其渐进服从正态分布

2、拟合优度卡方检验法

3、Kolmogorov-Smirnov检验法进行拟合优度检验

4、eq?%5Cleft%20%5C%7B%20R_n%2Cn%3D1%2C2%2C...%20%5Cright%20%5C%7D看作时间序列样本,计算样本自相关函数列从而进行白噪声检验

5、游程检验。序列中的递增段为上升游程,比较实际游程长度和独立同分布条件下期望长度

 

二、非均匀分布随机数的产生

eq?F%28x%29 抽样即产生服从某一分布eq?F%28x%29的相互独立的随机数序列。

2.1逆变换法

        注意到对于连续型随机变量 eq?X,记其分布函数为 eq?F%28X%29eq?%5Ctextsl%7BU%7D%5Csim%20%5Ctextup%7BU%7D%280%2C1%29,有eq?Y%3DF%5E%7B-1%7D%28U%29%5Csim%20F%28%5Ccdot%20%29。对于取值于eq?%5Cleft%20%5C%7Ba_1%2Ca_2%2C...%20%5Cright%20%5C%7D%5Cleft%20%28%20a_1%3C%20a_2%3C...%20%5Cright%20%29 的离散型随机变量,根据eq?U的值定义随机变量 eq?Yeq?Y%3Da_i%5Cleftrightharpoons%20F%28a_%7Bi-1%7D%29%3CU%3CF%28a_i%29eq?Y%5Csim%20F%28y%29。逆变换法即根据以上定理构造。

2.2离散型随机数

例如,对于仅取有限个值的离散型随机数,可以通过以下代码获取随机数

order(x)#获取x元素从小到大排列的下标
sample(x,size=n,prob=p,replace=True)#生成样本量为n的有限个值的离散型随机数
sample(x,size=n)#从向量中无放回地抽取n个

 除此之外,还有几何分布、独立试验序列、二项分布、泊松分布随机数等构造,其本质上是利用2.1提及的离散随机变量的构造方法构造迭代序列并生成符合一定分布的序列。

2.3连续型随机变量

        连续型分布的随机数都可以用逆变换法生成。特别地一元随机变量可以通过自变量函数 eq?Y%3Dg%28X%29 对分布函数进行变形得到eq?F%28y%29%3DF%28g%5E%7B-1%7D%28x%29%29%5Ccdot%5Cleft%20%7C%20%5Cleft%20%28%20g%5E%7B-1%7D%28x%29%20%5Cright%20%29%7B%7D%27%20%5Cright%20%7C 。对于二元随机变量有结合反变换的Jaccobi行列式变换。

        这些分布之间有已知的关系,可以利用这样的关系产生随机数,如:二项分布和Bernoulli分布;标准正态分布和正态分布;指数分布和伽马分布;卡方分布等。

拓展 Box-Muller变换

eq?U_1%2CU_2独立且均服从eq?%5Ctextup%7BU%280%2C1%29%7D,定义  

eq?%5Cleft%5C%7B%5Cbegin%7Bmatrix%7DX%3D%5Csqrt%7B-2lnU_1%7Dcos%282%5Cpi%20U_2%29%20%5C%5C%20Y%3D%5Csqrt%7B-2lnU_1%7Dsin%282%5Cpi%20U_2%29%20%5Cend%7Bmatrix%7D%5Cright.

eq?X%2CY独立且都服从标准正态分布。

三、随机向量和随机过程的生成

3.1条件分布法

        设 eq?%5Cmathbf%7BX%7D%3D%28X_1%2CX_2%2C...%2CX_r%29 的分布密度或分布概率可以分解为eq?p%28x_1%2Cx_2%2C...%2Cx_r%29%3Dp%28x_1%29p%28x_2%7Cx_1%29%5Ccdot%5Ccdot%5Ccdotp%28px_r%7Cx_1%2C..%2Cx_%7Br-1%7D%29,则可以先生成eq?X_1,由已知eq?X_1的值从条件分布生成eq?X_2,如此重复。例如生成多项分布随机数。假设已进行了eq?n 次独立重复试验 eq?Y_1%2CY_2%2C...%2CY_n,每次试验的概率为 eq?P%28Y_i%3Dj%29%3Dp_j%2Cj%3D1%2C2%2C...r%2Ci%3D1%2C2%2C...n,令 eq?X_j为这次试验中结果为eq?j 的个数,称 eq?%5Cmathbf%7BX%7D%3D%28X_1%2CX_2%2C...X_r%29 服从多项分布。要生成该随机数,考虑不同结果数和试验次数的比较。当eq?req?n相比较小时可以使用条件分布逐个地产生eq?X_1%2CX_2%2C...X_r

3.2多元正态分布模拟

        设随机向量eq?Z 服从eq?p 元标准正态分布 eq?N%280%2CI%29,则 eq?X%3D%5Cmu%20+CZ服从 eq?N%28%5Cmu%2C%5CSigma%20%29分布。

3.3其他分布模拟

用copula描述多元分布

        实际问题中两个随机变量的边缘分布明确,但是它们之间的关系比较模糊,此时可以利用copula分布来粗略地表示联合分布。如果eq?Xeq?Y 都服从连续型分布,则 eq?F%28X%29eq?G%28Y%29都服从标准均匀分布,于是(eq?F%28X%29%2CG%28Y%29)服从copula分布。高斯copula是一个常用的copula分布。

平稳时间序列模拟

R函数filter可以进行递推计算,arima.sim可以进行ARMA模型和ARIMA模型模拟。

 

本文为笔者自行学习所得,若有不妥之处,还望温和批评指正。

 

 

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值