欢迎光临散文网 会员登陆 & 注册

R语言使用蒙特卡洛模拟进行正态性检验及可视化

2021-04-22 21:53 作者:拓端tecdat  | 我要投稿

原文链接:http://tecdat.cn/?p=14601 

如何使用蒙特卡洛模拟来推导随机变量可能的分布,我们回到统计数据(无协变量)进行说明。我们假设观察值是基础随机变量,具有未知分布的随机变量。

这里有两种策略。在经典统计中,我们使用概率定理来推导随机变量的属性在可能的情况下的分布。另一种方法是进行计算统计。

对于评估拟合度,测试正态性不是很有用。在本文中,我想说明这一点。我们使用男生的身高数据,

X=Davis$height[Davis$sex=="M"]

我们可以可视化其分布(密度和累积分布)

  1. u=seq(155,205,by=.5)

  2. par(mfrow=c(1,2))

  3. hist(X,col=rgb(0,0,1,.3))

  4. lines(density(X),col="blue",lwd=2)

  5. lines(u,dnorm(u,178,6.5),col="black")

  6. Xs=sort(X)

  7. n=length(X)

  8. p=(1:n)/(n+1)

  9. plot(Xs,p,type="s",col="blue")

  10. lines(u,pnorm(u,178,6.5),col="black")

 

 

它看起来像正态分布,因此我们可以在左侧添加密度高斯分布,在右侧添加cdf。我不想测试它是否是高斯分布。为了查看此分布是否相关,可以使用蒙特卡洛模拟法

 

 

我们可以在左侧看到很难通过密度(直方图以及核密度密度估计器)评估正态性  。人们很难想到两个密度之间的有效距离。但是,如果我们看一下右边的图,我们可以比较经验分布累积分布。如上所述,我们可以按照Cramer-von Mises  检验或  Kolmogorov-Smirnov  距离的建议计算黄色区域  。

 

 

如果我们抽取10,000个反事实样本,则可以使用测试统计量等的方法来可视化距离的分布(此处为密度),并将其与样本的观察值进行比较。测试统计量超过观察值的样本比例

  1. mean(dks)

  2. [1] 0.78248

计算版本的值

  1. ks.test(X,"pnorm",178,6.5)


  2. One-sample Kolmogorov-Smirnov test


  3. data:  X

  4. D = 0.068182, p-value = 0.8079

  5. alternative hypothesis: two-sided

在统计数据中,要么操作抽象对象(如随机变量),要么实际上使用一些代码生成假样本以量化不确定性。后者很有趣,因为它有助于可视化复杂的量化。

 

参考文献

1.R语言泊松Poisson回归模型分析案例

2.R语言进行数值模拟:模拟泊松回归模型

3.r语言泊松回归分析

4.R语言对布丰投针(蒲丰投针)实验进行模拟和动态可视化

5.用R语言模拟混合制排队随机服务排队系统

6.GARCH(1,1),MA以及历史模拟法的VaR比较

7.R语言做复杂金融产品的几何布朗运动的模拟

8.R语言进行数值模拟:模拟泊松回归模型

9.R语言对巨灾风险下的再保险合同定价研究案例:广义线性模型和帕累托分布Pareto distributions


R语言使用蒙特卡洛模拟进行正态性检验及可视化的评论 (共 条)

分享到微博请遵守国家法律