全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2840 4
2014-04-29

请各位前辈给小辈指点一二:变点理论寻找阈值:若已知序列x,y。方程组由y(t)=a1+b1x(t),t=1,2,...k,(1)式和y(t)=a2+b2x(t),t=k,k+1,...n,(2)式组成。该理论的思想是:假设k从5开始,作方程组的一次回归,求得一组(b1,b2);再从k=6开始,再作方程组的一次回归,又求得一组(b1,b2),依次下去,当k=n-4时,即留最后5对序列x,y可用于方程(2)的回归。最后通过寻找参数组(b1,b2)最大的绝对差值来确定k值。详细可参考附件中文件。我的程序如下:
#若序列长度为1000,k=5开始,首尾各保留5组序列用于方程1的开始回归和方程2最后一次回归
beta1=c()
for(i in 1:990){
x1=x[1:(4+i)]
y1=y[1:(4+i)]
lm1=lm(y1~x1)
beta1=c(beta1,coef(lm1)[2])
}

beta2=c()
for(j in 1:990){
x2=x[(4+j):1000]
y2=y[(4+j):1000]
lm2=lm(y2~x2)
beta2=c(beta2,coef(lm2)[2])
}
e=abs(beta1-beta2)
which.max(e)
自己觉得没什么问题,请问前辈,这段程序有什么错误和改进的地方吗?


附件列表
二维码

扫码加我 拉你入群

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

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

全部回复
2014-4-29 23:29:06
感觉两个循环可以并到一起
二维码

扫码加我 拉你入群

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

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

2014-4-30 08:52:33
谢谢您的回复,我做两次循环一是为了提高运算效率,二是对方程组的两个方程单独循环,易读。不知自己的程序和附件中的变点理论表达的意思一致?
二维码

扫码加我 拉你入群

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

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

2014-4-30 08:54:27
jmpamao 发表于 2014-4-29 23:29
感觉两个循环可以并到一起
谢谢您的回复,我做两次循环一是为了提高运算效率,二是对方程组的两个方程单独循环,易读。不知自己的程序和附件中的变点理论表达的意思一致?
二维码

扫码加我 拉你入群

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

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

2020-12-20 11:48:01
lsx19890717 发表于 2014-4-30 08:54
谢谢您的回复,我做两次循环一是为了提高运算效率,二是对方程组的两个方程单独循环,易读。不知自己的 ...
同学,我论文现在也遇到这个问题,不知道基于变点理论怎么寻找阈值,你的问题解决了吗,代码是这么做的吗?
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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