用Matlab作线性回归
>> clear
>> x=[1656,2122,2864,4033,6099];
>> y=[2112,2170,2291,2456,2759];
>> [P,S]=polyfit(x,y,1)
%P为拟合回归系数即y=P(1)*x+p(2)
P =
1.0e+003 *
0.0001 1.8666
S =
R: [2x2 double]
df: 3
normr: 9.4223
>> [Y,delta]=polyconf(P,x,S)
%给出回归Y的95%的置信区间为[Y-delta,Y+delta]
Y =
1.0e+003 *
2.1090 2.1772 2.2858 2.4569 2.7592
delta =
20.6907 19.8923 19.1147 19.2502 23.2005
>> x1=1600:100:6100;
>> f=polyval(P,x1);
>> plot(x,y,'ro',x1,f,'-')%绘图查看拟合效果
>> hold on
>> plot(x,Y+delta,'*g')
>> plot(x,Y-delta,'*g')%给出拟合的置信区间
希望我的回答能帮助你!
regress(y',[ones(numel(x),1),x'])
ans =
7.9874e+02
1.0597e+01
方法二:
>> lm = LinearModel.fit(x',y')
lm =
Linear regression model:
y ~ 1 + x1
Estimated Coefficients:
Estimate SE tStat pValue
(Intercept) 798.74 79.626 10.031 1.5448e-06
x1 10.597 4.1075 2.5799 0.02742
Number of observations: 12, Error degrees of freedom: 10
Root Mean Squared Error: 117
R-squared: 0.4, Adjusted R-Squared 0.34
F-statistic vs. constant model: 6.66, p-value = 0.0274
画图(续方法二):
plot(lm)
1.99 2.00 1.00;
11.43 14.76 12.86;
44.29 50.00 50.00;
72.86 81.43 75.71;
87.61 89.51 87.61;
93.33 92.86 94.29];
day=[1:6]'; %天数
%这里我想,应当是想得到发芽率与天数的关系,而跟组无关
%所以这里我将它们横向求平均。求出每天的平均出芽率
xx=sum(x,2)/size(x,2);
A=[day,ones(size(day))];
c=A\xx;
k=c(1);
b=c(2);
yy=k*day+b;
plot(day,xx,'r*',day,yy)
%红色的*点,是平均出芽率与天数的关系
%线是拟合出来的
%=====================================
%那我就拿第一组做试验
%实际上就是将xx=sum(x,2)/size(x,2)
%这句改成xx=x(:,1);
%第二组,你就改成xx=x(:,2);
x=[
1.99 2.00 1.00;
11.43 14.76 12.86;
44.29 50.00 50.00;
72.86 81.43 75.71;
87.61 89.51 87.61;
93.33 92.86 94.29];
day=[1:6]'; %天数
xx=x(:,1);
A=[day,ones(size(day))];
c=A\xx;
k=c(1);
b=c(2);
yy=k*day+b;
plot(day,xx,'r*',day,yy)
sorry偶不懂~~
用Matlab作线性回归视频
相关评论:
郎聂河三、多元线性回归 3.1.命令 regress(见2。5)3.2.命令 rstool 多元二项式回归 命令:rstool(x,y,’model’, alpha)x 为n*m矩阵 y为 n维列向量 model 由下列4个模型中选择1个(用字符串输入,缺省时为线性模型):linear(线性):purequadratic(纯二次):interaction(交叉):quadratic...
郎聂河进行多元线性回归统计数F, t 测验的小程序:clear,clc x=rand(50,10);y=rand(50,1); % example [n,k]=size(x);X=[ones(n,1),x];%构建结构阵X,A=X'*X; %求算信息阵A,C=inv(A); %求算信息阵的逆阵,b=X\\y, % 求算回归统计数向量,其中第一行为回归截距a,RSS=y'*y-...
郎聂河X=[50 60 70 80 90];Y=[25.8 34.9 48.2 66.8 81.1];fun=inline('a(1)*a(2)^.X','a','X');a=lsqcurvefit(fun,[1,1],X,Y);>> plot(X,Y,'r',X,6.7667*1.0283.^X,'b')>> grid on
郎聂河如果根据经验和有关知识认为与因变量有关联的自变量不止一个,那么就应该考虑用最小二乘准则建立多元线性回归模型。b = regress(y,X)[b,bint] = regress(y,X)[b,bint,r] = regress(y,X)[b,bint,r,rint] = regress(y,X)[b,bint,r,rint,stats] = regress(y,X)[___] = regress...
郎聂河>> clear >> x=[1656,2122,2864,4033,6099];>> y=[2112,2170,2291,2456,2759];>> [P,S]=polyfit(x,y,1)P为拟合回归系数即y=P(1)*x+p(2)P = 1.0e+003 0.0001 1.8666 S = R: [2x2 double]df: 3 normr: 9.4223 >> [Y,delta]=polyconf(P,x,S)给出回归Y的95%...
郎聂河x=[1.99 2.00 1.00;11.43 14.76 12.86;44.29 50.00 50.00;72.86 81.43 75.71;87.61 89.51 87.61;93.33 92.86 94.29];day=[1:6]'; %天数 这里我想,应当是想得到发芽率与天数的关系,而跟组无关 所以这里我将它们横向求平均。求出每天的平均出芽率 xx=sum(x,2)\/size...
郎聂河[b, bint, r, rint, stats] = regress(y,X,alpha)有了残差r,即可计算SE = 残差平方和\/(n-k) 再开方
郎聂河x=[x1,x2,x3,x4];y=[y1,y2,y3,y4];[r,m,b] = regression(x,y);m即为斜率~~~同时说一下:r是表示拟合好坏的系数,最大为1;b为截距~~~
郎聂河[b,bint,r,rint,stats] = regress(y,X) returns a 1-by-4 vector stats that contains, in order, the R2 statistic, the F statistic and its p value, and an estimate of the error variance.R^2是相关系数,R2越接近1,说明回归方程越显著。F越大,说明回归方程越显著。p是与F对应...
郎聂河对于X、Y两个正态总体的样本,其t检验应使用ttest2()函数来检验假设。[H,P,CI]=ttest2(X,Y)