楼主: liming96
767 0

[问答] 生成服从正态分布的模拟数据来检验算法的性能 [推广有奖]

  • 0关注
  • 0粉丝

本科生

38%

还不是VIP/贵宾

-

威望
0
论坛币
357 个
通用积分
1.6820
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
945 点
帖子
12
精华
0
在线时间
156 小时
注册时间
2016-9-10
最后登录
2021-5-14

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
模拟数据X来自均值为零,方差为VV'+I的正态分布,其中V是一个p*3的正交矩阵(它的列是按照特征值排序的三个主成分)。利用该模拟数据检验新的PCA算法的性能。这样的模拟需要重复300次。请问怎么写出生成X的R语言代码。虽然生成一个X很简单,但是重复生成300个,不知道怎么实现?下面是生成一个X的代码:
library(MASS)
set.seed(1234)
##生成模拟数据
v1 <- rep(0,times=50)#定义真实的第一主成分v1
v2 <- rep(0,times=50)#定义真实的第二主成分v2
v3 <- rep(0,times=50)#定义真实的第三主成分v3
for(i in 1:10){
  v1[i] <- 0.32
}         #对v1赋值
for(i in 11:20){
  v2[i] <- 0.32
}         #对v2赋值
for(i in 21:30){
  v3[i] <- 0.32
}         #对v3赋值
v <- matrix(NA,50,3)#定义主成分矩阵v
v[,1] <- v1
v[,2] <- v2
v[,3] <- v3
I <- diag(50)
var <- v%*%t(v)+I#方差
mean <- rep(0,50)#均值
x <- mvrnorm(100,mean,var)#生成模拟数据x
二维码

扫码加我 拉你入群

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

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

关键词:模拟数据 正态分布 Library BRARY PCA算法

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-9-10 12:04