楼主: 熊小贤
1990 7

[问答] 请教一个R模拟数据生成问题(涉及到些统计问题) [推广有奖]

  • 2关注
  • 0粉丝

等待验证会员

已卖:66份资源

本科生

75%

还不是VIP/贵宾

-

威望
0
论坛币
1102 个
通用积分
0.0600
学术水平
4 点
热心指数
6 点
信用等级
1 点
经验
461 点
帖子
36
精华
0
在线时间
169 小时
注册时间
2013-3-25
最后登录
2021-6-7

楼主
熊小贤 发表于 2013-10-25 20:32:03 |AI写论文
200论坛币
假设我有这样两个自变量x1 x2 都是0,1编码的,  现在我想通过logistic模型通过x1 x2与反应变量y建立关系,从而生成一组基于二项分布 B(N, P) 的反应变量(也是0,1编码的)
关系根据 logit(p)=b0 + b1*x1+ b2*x2 现在b0 b1 b2都可已知x1 x2为上面提到的已知0,1编码数据,样本量可随意。
logit(p) = ln(P/1-P)  P为阳性结果发生概率
例如:x1    x2      y
            0      0            
            0      1
            1      0
            0      1
            .....  ....
            ...    .....                                                                     
请教各路大神这样一个过程在R中如何实现呢?


最佳答案

jmpamao 查看完整内容

童小军 熊小贤 不注意看 就以为一个人。 楼主的意图只能猜猜看 是否要这样的,结合在 qoiqpwqr和童小军的基础上改的
关键词:模拟数据 统计问题 数据生成 Logistic模型 logistic 二项分布 自变量 统计 模型

沙发
jmpamao 发表于 2013-10-25 20:32:04
童小军  熊小贤
不注意看 就以为一个人。
楼主的意图只能猜猜看 是否要这样的,结合在 qoiqpwqr和童小军的基础上改的
  1. v<-c(rep(0,100),rep(1,100))
  2. x1<-sample(v)
  3. x2<-sample(v)
  4. data <- data.frame(x1=x1,x2=x2)
  5. x3 <- apply(data,1,function(i){
  6.   b0<-1.5
  7.   b1<-0.8
  8.   b2<-0.4
  9.   f<-b0+b1*i[1]+b2*i[2]
  10.   p<- exp(f)/(1+exp(f))
  11.   sample(c(0,1),1,prob=c(1-p,p))
  12. })
  13. data$x3 = x3
  14. data

  15. table(data)
复制代码

藤椅
熊小贤 发表于 2013-10-25 20:42:38
现在这里谢谢大家了

板凳
qoiqpwqr 发表于 2013-10-25 21:05:22
通过logit(p)=b0 + b1*x1+ b2*x2可以得到p,然后用sample(c(0,1), size=1, prob=c(1-p,p))就可以得到y

报纸
熊小贤 发表于 2013-10-25 21:37:44
qoiqpwqr 发表于 2013-10-25 21:05
通过logit(p)=b0 + b1*x1+ b2*x2可以得到p,然后用sample(c(0,1), size=1, prob=c(1-p,p))就可以得到y
非常感谢您的回答 我想生成的对应于每一个x1、x2 的y 的编码0,1数量相同(比如各有20个0和1),请问怎么实现呢

地板
童小军 发表于 2013-10-26 20:59:17
熊小贤 发表于 2013-10-25 21:37
非常感谢您的回答 我想生成的对应于每一个x1、x2 的y 的编码0,1数量相同(比如各有20个0和1),请问怎么实 ...
  1. v<-c(rep(0,100),rep(1,100))
  2. x1<-sample(v)
  3. x2<-sample(v)
  4. mean(x1)
  5. mean(x2)
  6. b0<-1.5
  7. b1<-0.8
  8. b2<-0.4
  9. y<-b0+b1*x1+b2*x2
  10. p<-exp(y)/(1+exp(y))
复制代码

7
熊小贤 发表于 2013-10-27 17:56:47
童小军 发表于 2013-10-26 20:59
我的X1 X2都是已知的,现在想得到的是0,1数量相同的y

8
童小军 发表于 2013-10-27 18:56:20
熊小贤 发表于 2013-10-27 17:56
我的X1 X2都是已知的,现在想得到的是0,1数量相同的y
我以为你是说x1和x2要有相同的0和1,f:(x1,x2)→y,值域y又要满足有相同的0和1,好抽象啊,给个例子啊,或者为什么要满足y这个条件啊?

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-23 20:45