全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 悬赏大厅 求助成功区
3915 4
2013-06-19
悬赏 10 个论坛币 已解决
比如,已知X变量和Y变量的相关系数是0.4,且X变量的所有值已知,假定X有十个数值,分别为1、2、3、4、5、6、7、8、9、10
现在需要根据已知条件,随机生成Y变量,使得生成后的Y与已知的X的相关系数为0.4
请问如何生成?

最佳答案

TaskShare 查看完整内容

取决于你的X,Y符合什么分布。不同分布算法不同。例如: 1. 正态分布,可以用Cholesky方法。例如X符合N(u1, s1^2)分布,Y符合N(u2, s2^2)分布,则: 那么每个Y(i)可以通过每个X(i)来生成,即Y(i)=u2+s2*(Rho*A(i)+B*Z(i)),其中A(i)=(X(i)-u1)/s1,B=sqrt(1-rho^2), Z(i)是个随机产生的符合标准正态的随机数~N(0,1). Rho就是相关系数(你题中是0.4). 2. 又比如,假设X符合Unif(0,10), Y也符合期望=5的某种分布(两个均匀分布的线性 ...
二维码

扫码加我 拉你入群

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

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

全部回复
2013-6-19 23:34:00
取决于你的X,Y符合什么分布。不同分布算法不同。例如:
1. 正态分布,可以用Cholesky方法。例如X符合N(u1, s1^2)分布,Y符合N(u2, s2^2)分布,则:
那么每个Y(i)可以通过每个X(i)来生成,即Y(i)=u2+s2*(Rho*A(i)+B*Z(i)),其中A(i)=(X(i)-u1)/s1,B=sqrt(1-rho^2), Z(i)是个随机产生的符合标准正态的随机数~N(0,1). Rho就是相关系数(你题中是0.4).
2. 又比如,假设X符合Unif(0,10), Y也符合期望=5的某种分布(两个均匀分布的线性组合),即Y(i)=a*X(i)+(1-a)*U(i),其中U(i)是个均匀分布Unif(0,10)的随机数,a是方程Rho=a/(a^2+(1-a)^2)的解,如果Rho=0.4, a解出是0.3038。这样的Y与X的相关系数也是0.4。
其实,按上述的思路,可以造出很多种Y(服从不同分布)来,但与X的相关系数可以做到是0.4.
二维码

扫码加我 拉你入群

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

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

2013-6-21 07:01:24
思路为:将X值不断累加随机误差项,并计算相关系数,直至满足相关系数要求,效率有些低,但可以得到想要的结果,供参考
二维码

扫码加我 拉你入群

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

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

2013-6-30 11:58:37
TaskShare 发表于 2013-6-19 23:34
取决于你的X,Y符合什么分布。不同分布算法不同。例如:
1. 正态分布,可以用Cholesky方法。例如X符合N(u1 ...
谢谢你的回复,还有一个问题是如何生成截尾(truncated)正态随机分布的,详见https://bbs.pinggu.org/thread-2404320-1-1.html
二维码

扫码加我 拉你入群

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

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

2013-6-30 12:00:32
TaskShare 发表于 2013-6-19 23:34
取决于你的X,Y符合什么分布。不同分布算法不同。例如:
1. 正态分布,可以用Cholesky方法。例如X符合N(u1 ...
请问你的这些算法是怎么想出来的,有没有相关的书籍或者论文推荐,谢谢!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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