全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
2328 11
2012-09-24
悬赏 500 个论坛币 已解决
各位坛友,以下是我找到的关于平稳自举的程序:
% Define the probability of a new block
p=1/w;
% Set up the bsdata and indices
indices=zeros(t,B);
% Initial positions
indices(1,:)=ceil(t*rand(1,B));
% Set up the random numbers
select=rand(t,B)<p;
indices(select)=ceil(rand(1,sum(sum(select)))*t);
for i=2:t
    % Determine whether we stay (rand>p) or move to a new starting value
    % (rand<p)
    indices(i,~select(i,:))=indices(i-1,~select(i,:))+1;
end
indices(indices>t) = indices(indices>t)-t;
% The indices make finding the bsdata simple
bsdata=data(indices);

其中红色的那句我不知道是什么意思,不知道有没有把这个程序逐句解释一下,谢谢了!

最佳答案

andrew3335 查看完整内容

表明一下我的小私心吧,我还惦记着悬赏的500个论坛币呢。论坛上有很多我想要的学习资料,苦于没有论坛币下载。 如果还有什么难题的话尽管问,如果我的回答满意的话也希望你能履行你的承诺。
二维码

扫码加我 拉你入群

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

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

全部回复
2012-9-24 17:55:06
harlon1976 发表于 2012-9-26 11:32
说的也有道理,但后面的那个循环体中的含义我还是没有弄懂,还需要仔细想想!
表明一下我的小私心吧,我还惦记着悬赏的500个论坛币呢。论坛上有很多我想要的学习资料,苦于没有论坛币下载。
如果还有什么难题的话尽管问,如果我的回答满意的话也希望你能履行你的承诺。
二维码

扫码加我 拉你入群

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

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

2012-9-24 19:50:40
请高手指点一下
二维码

扫码加我 拉你入群

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

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

2012-9-25 16:14:49
% Define the probability of a new block
p=1/w;    只是个数值
% Set up the bsdata and indices
indices=zeros(t,B);   生成一个t*B全是0的矩阵
% Initial positions
indices(1,:)=ceil(t*rand(1,B));    把生成的随机数列向量的值向上取整,赋予indices矩阵的第一列的值
% Set up the random numbers
select=rand(t,B)<p;        select是一个值为0或者1的t*B的矩阵。select(a,b)的值为1说明rand(a,b)的值小于p
indices(select)=ceil(rand(1,sum(sum(select)))*t);  indices(select)是一个列向量,维度为select里面1个个数。说通俗点就是把select里面是1的位置在indices里找到同样位置的数据,再按他们在indices里列的顺序把他们排成一列。如果看不明白的话试试这个例子就明白了,a=rand(3,4); b=a<0.6;a(b)。然后给这一列赋值。
等号右边的两个sum函数可以求得select里1的个数。生成的随机数列*t再向上取整,赋予上面的indices(select)。
for i=2:t
    % Determine whether we stay (rand>p) or move to a new starting value
    % (rand<p)
    indices(i,~select(i,:))=indices(i-1,~select(i,:))+1;
end
indices(indices>t) = indices(indices>t)-t;
% The indices make finding the bsdata simple
bsdata=data(indices);

后面的我还不懂,如果你想知道的话,我再帮你研究研究。如果OK的话,我也省点事了
二维码

扫码加我 拉你入群

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

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

2012-9-25 16:50:34
andrew3335 发表于 2012-9-25 16:14
% Define the probability of a new block
p=1/w;    只是个数值
% Set up the bsdata and indices
感谢你啊,这么久就你一个人给予解释,你前面的那些内容我也看懂了,红色的那块我要好好看看你的解释,后面循环体中 的内容,如果你有空的话再帮我看看,不知道你对SAS是否熟悉,如果熟悉的话,能在SAS中实现这个要求就好了,再次叩谢!
二维码

扫码加我 拉你入群

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

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

2012-9-25 17:08:39
红字部分自己试几个数据就明白了。

现在下班了,明天可以其余的答复行吗?

sas从来没用过
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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