全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 经管百科 爱问频道
8276 4
2015-10-19
如题

我用mvrnorm产生了10维正态分布数据,放入a中(sigma已为正定矩阵)
a <- mvrnorm(n=1000, rep(0, 10), sigma)

然后用mvnormtest包中的 mshapiro.test函数检验其多维正态性
> mshapiro.test(t(a))

        Shapiro-Wilk normality test

data:  Z
W = 0.9935, p-value = 0.0002342


虽然W值接近1,但是p值小于0.05啊,a不服从10维正态分布

到底是R中的生成多元正态分布数据的函数mvrnorm有问题,还是进行多元正态性检验的mshapiro.test函数有问题?

我个人比较倾向于mshapiro.test有问题,因为多元正态性检验比较常用的是主成分分析法,应该不是将shapiro检验扩展到多维,当然也许有这个方法但是我没看到,求各位大神赐教~~

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-10-19 19:29:46
经过实验发现,生成的7维正态分布数据的p值已经小于0.05了,但是数量级一致
> mshapiro.test(t(b))

        Shapiro-Wilk normality test

data:  Z
W = 0.9931, p-value = 0.02189

到了8维的时候,数量级差了2,3个
> mshapiro.test(t(b))

        Shapiro-Wilk normality test

data:  Z
W = 0.9892, p-value = 0.0009891

这到底是为啥呢?到底是哪个函数有问题呢?
跪求赐教~~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-2-18 10:39:59
andre_hong 发表于 2015-10-19 19:29
经过实验发现,生成的7维正态分布数据的p值已经小于0.05了,但是数量级一致
> mshapiro.test(t(b))
你好,请问你这个问题解决了吗
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-2-9 20:31:28
请问题主,这个问题解决了吗
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-4-10 21:06:11
样本量过大,可以改成100试试。shapiro检验推荐样本数小于50.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群