- 积分
- 107
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2017-4-6
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
想做一个对多元一次回归的交叉验证但是不知到如何编写程序
有20组数据,6个影响因素,构建了一个function
function yy=model(beta0,X)
a=beta0(1);
b=beta0(2);
c=beta0(3);
d=beta0(4);
e=beta0(5);
f=beta0(6);
x1=X(:,1);
x2=X(:,2);
x3=X(:,3);
x4=X(:,4);
x5=X(:,5);
x6=X(:,6);
yy=a*x1+b*x2+c*x3+d*x4+e*x5+f*x6;
主程序如下,可以求出六个系数
beta0=[1 1 1 1 1 1];
betafit=nlinfit(x,y,'model',beta0)
然后想用留一法交叉验证
N=length(x); %N为x的长度=20
sse=0;
for i=1:20
[train,test]=crossvalind('LeaveMOut',N,1);
yhat=polyval(yy,x(test));
see=sse+sum((yhat-y(test)).^2);
end
类似这样 想两个部分嵌套起来 但总是出错
不知道该怎么修改
或者还有什么别的方法可以解决这个问题吗
|
|