楼主: 250603730
3979 12

[有偿编程] 求救,模拟纵向数据,各位大侠帮帮忙! [推广有奖]

  • 3关注
  • 0粉丝

本科生

95%

还不是VIP/贵宾

-

威望
0
论坛币
4 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
9694 点
帖子
50
精华
0
在线时间
199 小时
注册时间
2012-3-13
最后登录
2017-5-27

楼主
250603730 发表于 2012-10-26 16:04:06 |AI写论文
200论坛币
小弟想模拟纵向数据,有连续模拟和离散模拟两个(见图片中),有做过的吗,SAS或R均可,感激涕零……

连续模拟.jpg (65.64 KB)

连续模拟要求

连续模拟要求

离散模拟.jpg (65.14 KB)

离散模拟的要求

离散模拟的要求

连续.jpg (57.11 KB)

连续.jpg

最佳答案

ziyenano 查看完整内容

不是很明白连续的要求,以下给出的是离散的 /*discrete*/ proc iml; N=50;T=4; bt1=0.5;bt0=0; seed=j(T,N,0); mu=j(T,N,0); sig=i(T);/*不清楚方差矩阵的构造,这里以单位矩阵代替*/ Z=sig*rannor(seed)+mu;/*构造多元正态分布*/ X=ranuni(seed)*2-1; Y=t(Z
关键词:各位大侠 纵向数据 感激涕零

本帖被以下文库推荐

沙发
ziyenano 发表于 2012-10-26 16:04:07
不是很明白连续的要求,以下给出的是离散的
/*discrete*/
proc iml;
N=50;T=4;
bt1=0.5;bt0=0;
seed=j(T,N,0);
mu=j(T,N,0);
sig=i(T);/*不清楚方差矩阵的构造,这里以单位矩阵代替*/
Z=sig*rannor(seed)+mu;/*构造多元正态分布*/
X=ranuni(seed)*2-1;
Y=t(Z<=(bt0+bt1*X));
print Y;
quit;

藤椅
250603730 发表于 2012-10-26 16:07:30
各位大侠,大牛们帮帮忙,解决后论坛币会追加(大家都是抱着助人为乐的心,说这个可能不好,但只有这样才能表达感激之情)

板凳
250603730 发表于 2012-10-27 14:10:44
ziyenano 发表于 2012-10-27 12:12
不是很明白连续的要求,以下给出的是离散的
/*discrete*/
proc iml;
你好,大侠,谢谢你抽时间回答我的问题,很感激,我改了一下那个连续的,麻烦你再看看……

报纸
ziyenano 发表于 2012-10-27 14:35:55
proc iml;
N=50;T=10;
bt0=1;bt1=-1;
sig1=1;
sig2=2;
k=1:T;
seed=j(N,T,0);
X=sig1*rannor(seed)+j(N,1,1)*k;
mu=bt0+bt1*X;
Y=sig2*rannor(seed)+mu;
print Y;
quit;

地板
250603730 发表于 2012-10-27 15:33:46
ziyenano 发表于 2012-10-27 12:12
不是很明白连续的要求,以下给出的是离散的
/*discrete*/
proc iml;
你好,在哪里指定相关性,比如,这个是50个个体,每个个体有4个观测,想让这四个观测间的相关性符合如下的矩阵:
1.00  .     .    .

.70 1.00  .   .

.50  .60 1.00
.30  .40 0.50 1.00  

7
ziyenano 发表于 2012-10-27 21:34:47
250603730 发表于 2012-10-27 15:33
你好,在哪里指定相关性,比如,这个是50个个体,每个个体有4个观测,想让这四个观测间的相关性符合如下的 ...
改变sig矩阵;
根据协方差阵
cov=
{1.00  .70    .50    .30,
  .70  1.00    .60   .40,
  .50    .60  1.00   .50,
  .30    .40    .50 1.00  };
计算sig矩阵,要求sig*sig'=cov,
进行cholesky分解,
sig=t(root(cov));
其余代码一样。

8
ziyenano 发表于 2012-10-28 16:38:03
ziyenano 发表于 2012-10-27 14:35
proc iml;
N=50;T=10;
bt0=1;bt1=-1;
proc iml;
N=50;T=10;
bt0=1;bt1=-1;
sig1=1;
sig2=1;/*不好意思,上面写错了*/
k=1:T;
seed=j(N,T,0);
X=sig1*rannor(seed)+j(N,1,1)*k;
mu=bt0+bt1*X;
Y=sig2*rannor(seed)+mu;
print Y;
quit;

9
250603730 发表于 2012-11-22 19:46:31
ziyenano 发表于 2012-10-28 16:38
proc iml;
N=50;T=10;
bt0=1;bt1=-1;
你好,再问两个问题:1.通过你的程序得到的y的相关性并不是指定的相关性,我在这儿看到了一段程序http://blog.sina.com.cn/s/blog_5d3b177c0100ffeb.html,麻烦你看一下,这个和你的有啥不同。2.我看的文献上说“模拟运行200次”,这个怎么实现,用循环语句吗?

10
ziyenano 发表于 2012-11-23 18:14:05
250603730 发表于 2012-11-22 19:46
你好,再问两个问题:1.通过你的程序得到的y的相关性并不是指定的相关性,我在这儿看到了一段程序http:// ...
能不能把所有要求整合一下啊,时间长了,我也有点混了

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-2 21:13