多元多项式回归

一:多项式回归分析属于线性回归分析吗

通过残差与拟合值的散点图判断是否为有弯曲状;有弯曲的话使用二元或者多元线性回归即曲线回归。

二:MATLAB中多元线性回归命令 (除了regress)

二、一元线性回归

2.1.命令 polyfit最小二乘多项式拟合

[p,S]=polyfit(x,y,m)

多项式y=a1xm+a2xm-1+…+amx+am+1

其中x=(x1,x2,…,xm)x1…xm为(n*1)的矩阵;

y为(n*1)的矩阵;

p=(a1,a2,…,am+1)是多项式y=a1xm+a2xm-1+…+amx+am+1的系数;

S是一个矩阵,用来估计预测误差.

2.2.命令 polyval多项式函数的预测值

Y=polyval(p,x)求polyfit所得的回归多项式在x处的预测值Y;

p是polyfit函数的返回值;

x和polyfit函数的x值相同。

2.3.命令 polyconf 残差个案次序图

[Y,DELTA]=polyconf(p,x,S,alpha)求polyfit所得的回归多项式在x处的预测值Y及预测值的显著性为1-alpha的置信区间DELTA;alpha缺省时为0.05。

p是polyfit函数的返回值;

x和polyfit函数的x值相同;

S和polyfit函数的S值相同。

2.4 命令 polytool(x,y,m)一元多项式回归命令

2.5.命令regress多元线性回归(可用于一元线性回归)

b=regress( Y, X )

[b, bint,r,rint,stats]=regress(Y,X,alpha)

b 回归系数

bint 回归系数的区间估计

r 残差

rint 残差置信区间

stats 用于检验回归模型的统计量,有三个数值:相关系数R2、F值、与F对应的概率p,相关系数R2越接近1,说明回归方程越显著;F > F1-α(k,n-k-1)时拒绝H0,F越大,说明回归方程越显著;与F对应的概率p 时拒绝H0,回归模型成立。

Y为n*1的矩阵;

X为(ones(n,1),x1,…,xm)的矩阵;

alpha显著性水平(缺省时为0.05)。

三、多元线性回归

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(完全二次):

alpha 显著性水平(缺省时为0.05)

返回值beta 系数

返回值rmse剩余标准差

返回值residuals残差

四、非线性回归

4.1.命令 nlinfit

[beta,R常J]=nlinfit(X,Y,’’model’,beta0)

X 为n*m矩阵

Y为 n维列向量

model为自定义函数

beta0为估计的模型系数

beta为回归系数

R为残差

J

4.2.命令 nlintool

nlintool(X,Y,’model’,beta0,alpha)

X 为n*m矩阵

Y为 n维列向量

model为自定义函数

beta0为估计的模型系数

alpha显著性水平(缺省时为0.05)

4.3.命令 nlparci

betaci=nlparci(beta,R,J)

beta为回归系数

R为残差

J

返回值为回归系数beta的置信区间

4.4.命令 nlpredci

[Y,DELTA]=nlp......余下全文>>

三:如何用EXCEL做二阶多项式回归分析

1.打开Excel.2010,首先输入课本例题7.1的全部数据,2012年各地区农村居民家庭人均纯收入与人均消费支出,如图

2.做题之前,我们先为Excel.2010注入回归分析的相关内容,点击【文件】,选择左下角的【选项】,出来如图,选择【加载项】,点击【转到】。

3.进入加载宏,选择【分析工具库】,点击确定。

4.进入【数据】,就会发现最右面出现了【数据分析】这一项。

5.点击数据分析之后选择【回归】,确定,这样就为Excel.2010导入了数据分析的功能,进行回归分析了,选择X、Y值的区域,其他不变的,点击确定。

6.最后,就是需要的内容,根据数据进行分析,可以得出样本的回归函数:

Yi=1004.539839+0.614539172925018Xi【具体看做的题目】

四:用matlab或spss将一组数据怎么拟合成多元多项式 10分

程序:

clearclc;X1=[2187.45 2482.49 2969.52 3585.72 4282.14 4950.91 5813.56 6801.57 7806.53 8201.23 禒510.91 ];X2=[701.24 724.57 746.62 778.27 800.80 827.75 846.43 861.55 876.83 891.23 1035.79];X3=[30.68 42.86 47.44 61.87 79.50 115.70 156.60 193.50 218.58 237.84 272.96];y=[201.90 219.00 221.10 324.50 346.97 332.90 359.53 406.98 440.69 475.96 479.25]; X = [ones(length(X1),1),X1',X2',X3'];Y = y';b = regress(Y,X)myY = X*b;plot(y,'r')hold onplot(myY,'g')legend('原始数据曲线','拟合数据曲线','Location','best')title('回归分析')xlabel('x')ylabel('y')

结果:

b =

339.9521 0.1381 -0.5102 -2.3197

绘图:

copyright(c) cxd1301

五:用spss进行二次多项式回归分析,如何用逐步回归的方法来确定回归方程?

3个自变量之和是1的时候,随便排除一个,只需要2个自变量进入方程就好了。

六:求DPS数据处理软件中---多元回归---二次多项式逐步回归分析 30分

分数拿来没用的

做专业数据统计分析,找我吧

七:如何用matlab进行多元线性回归分析

在matlab中regress()函数和polyfit()函数都可以进行回归分析。

(1)regress()函数主要用于线性回归,一元以及多元的。它可以提供更多的信息,残差之类的。

(2)polyfit()函数是利用多项式拟合。可以是线性也可以是非线性的。

regress()函数详解

[b,bint,r,rint,stats]=regress(y,X,alpha)

说明:b是线性方程的系数估计值,并且第一值表示常数,第二个值表示回归系数。bint是系数估计值的置信度为95%的置信区间,r表示残差,rint表示各残差的置信区间,stats是用于检验回归模型的统计量,有三个数值其中有表示回归的R2统计量和F以及显著性概率P值,alpha为置信度。

相关系数r^2越大,说明回归方程越显著;与F对应的概率P

y表示一个n-1的矩阵,是因变量的值,X是n-p矩阵,自变量x和一列具有相同行数,值是1的矩阵的组合。如:对含常数项的一元回归模型,可将X变为n-2矩阵,其中第一列全为1。

ONES(SIZE(A)) is the same size as A and all ones。

利用它实现X=[ones(size(x))x]

(2)polyfit()函数详解-------------摘自sina小雪儿博客

p=polyfit(x,y,n)

[p,s]= polyfit(x,y,n)

说明:x,y为数据点,n为多项式阶数,返回p为幂次从高到低的多项式系数向量p。x必须是单调的。矩阵s用于生成预测值的误差估计。(见下一函数polyval)

多项式曲线求值函数:polyval( )

调用格式: y=polyval(p,x)

[y,DELTA]=polyval(p,x,s)

说明:y=polyval(p,x)为返回对应自变量x在给定系数P的多项式的值。

[y,DELTA]=polyval(p,x,s) 使用polyfit函数的选项输出s得出误差估计Y

DELTA。它假设polyfit函数数据输入的误差是独立正态的,并且方差为常数。则Y DELTA将至少包含50%的预测值。

八:多项式回归分析R平方怎么求? 用matlab怎么编程?

clc,clear,clf

x=[19.1,25.0,30.1 36 40 45.1 50 ];

y=[76.3 77.8穿79.75 80.8 82.35 83.9 85.1 ];

plot(x,y,'or')

title('电阻与温度之间的关系')

n=length(x);

B1=(n*sum(x.*y)-sum(x)*sum(y))/(n*sum(x.^2)-sum(x)^2);

B0=mean(y)-B1*mean(x);

sprintf('y=%f+%f*x',B0,B1) %y=70.762374+0.288069*x

%%下面求R值,即求相关性

Rfenzi=sum((x-mean(x)).*(y-mean(y)));

Rfenmu=sqrt(sum((x-mean(x)).^2).*sum((y-mean(y)).^2));

R=Rfenzi/Rfenmu %R =0.9978

%%求拟合后的曲线

hold on

x=19:0.1:50;

plot(x,B0+B1.*x)

这是我之前在课堂上做的小作业,里面涉及到 R的求法,然后,你就可以求R^2了

希望对你有所帮助

扫一扫手机访问

发表评论