简单地说,回归分析就是对拟合问题做的统计分析。
我们根据一个样本算出的那些系数,只是它们的一个(点)估计,应该对它们作区间估计或假设检验,如果置信区间太大,甚至包含了零点,那么系数的估计值是没有多大意义的。另外也可以用方差分析方法对模型的误差进行分析,对拟合的优劣给出评价。
样本
涉及的是样本点 × × ×变量类型的数据表,对 m m m个变量分别进行 n n n次采样,得到 n n n个样本点,所构成的数据表如下:
X = ( x i j ) n × m = [ e 1 T e 2 T ⋮ e m T ] e i = [ x i 1 , x i 2 , x i 3 , ⋯ , x i n ] T m e a n v a l u e : x ‾ = ( x 1 ‾ , x 2 ‾ , x 3 ‾ , ⋯ , x n ‾ ) T c o v a r i a n c e : C 1 = ( t i j ) m × m = a n − 1 ∑ i = 1 n ( e k − x ‾ ) ( e k − x ‾ ) c o r r e l a t i o n m a r t r i x : C 2 = ( r i j ) m × m = ( t i j t i i t j j ) t i j = 1 n − 1 ∑ k = 1 n ( x k i − x i ‾ ) ( x k j − x j ‾ ) \begin{align} & \tag{1}X=(x_{ij})_{n\times m}=\begin{bmatrix} e_1^T\\ e_2^T\\ \vdots\\ e_m^T\\ \end{bmatrix}\\ & \tag{2}e_i=\begin{bmatrix}x_{i1},x_{i2},x_{i3},\cdots,x_{in}\end{bmatrix}^T\\ mean\ value:\\ &\tag{3} \overline{x}=(\overline{x_1},\overline{x_2},\overline{x_3},\cdots,\overline{x_n})^T\\ covariance:\\ & \tag{3}C_1=(t_{ij})_{m\times m}=\frac a{n-1}\sum_{i=1}^{n}{(e_k-\overline x)(e_k-\overline x)}\\ correlation\ martrix:\\ & \tag{4}C_2=(r_{ij})_{m\times m}=(\frac {t_{ij}}{\sqrt{{t_{ii}t_{jj}}}})\\ & \tag{5}t_{ij}=\frac{1}{n-1}\sum_{k=1}{n}{(x_{ki}-\overline {x_i})(x_{kj}-\overline{x_j})} \end{align} mean value:covariance:correlation martrix:X=(xij)n×m=⎣ ⎡e1Te2T⋮emT⎦ ⎤ei=[xi1,xi2,xi3,⋯,xin]Tx=(x1,x2,x3,⋯,xn)TC1=(tij)m×m=n−1ai=1∑n(ek−x)(ek−x)C2=(rij)m×m=(tiitjjtij)tij=n−11k=1∑n(xki−xi)(xkj−xj)(1)(2)(3)(3)(4)(5)
可以将e看作各变量样本点集,所有矩阵均以列向量的形式出现或复合而成。
协方差 ( C o v a r i a n c e , C O V ) (Covariance,COV) (Covariance,COV):
协方差用于衡量两个变量的总体误差,方差是协方差的一种特殊情况,即当两个变量是相同的情况
由CSDN中有
c o v ( X , Y ) > 0 → X ∝ Y c o v ( X , Y ) < 0 → Y ∝ X c o v ( X , Y ) = 0 → X ∝̸ Y cov(X,Y)>0\to X\propto Y\\ cov(X,Y)<0\to Y\propto X\\ cov(X,Y)=0\to X\not \propto Y cov(X,Y)>0→X∝Ycov(X,Y)<0→Y∝Xcov(X,Y)=0→X∝Y
协方差为0,两个随机变量不一定相互独立,而两个随机变量相互独立,协方差一定为0。协方差为0,只能表示他们之间不存在线性关系。
So this means that Covariance can show the correlation between two variables.
数据的标准化处理
数据的中心化处理
是指平移变换 i i j ∗ = x i j − x j ‾ i_{ij}^*=x_{ij}-\overline{x_j} iij∗=xij−xj
数据的无量纲化处理
对不同的变量进行压缩处理 x i j ∗ = x i j / s j x_{ij}^*=x_{ij}/s_j xij∗=xij/sj
其中: s j = 1 n − 1 ∑ i = 1 n ( x i j − x j ‾ ) 2 s_j=\sqrt{\frac{1}{n-1}\sum_{i=1}^n{(x_{ij}-\overline{x_j})^2}} sj=n−11∑i=1n(xij−xj)2
解释:每一列是不同样本点的同一变量类型,用当前值减去当前列的平均值求平方和的平均值,求得当前列的方差。换句话说,求的是多次采样的某属性的标准差
标准化处理
对数据同时进行中心化—压缩处理:
x i j ∗ = x i j − x j ‾ s j , i = 1 , 2 , ⋯ , n , j = 1 , 2 , ⋯ , m . x_{ij}^*=\frac{x_{ij}-\overline{x_j}}{s_j},\ i=1,2,\cdots,n,\ j=1,2,\cdots,m. xij∗=sjxij−xj, i=1,2,⋯,n, j=1,2,⋯,m.
一元线性回归
y = β 0 x 0 + β 1 x 1 + ε (6) \tag{6}y=\beta_0x^0+\beta_1x^1+\varepsilon y=β0x0+β1x1+ε(6)
说明: β 0 , β 1 \beta_0,\beta_1 β0,β1 是回归系数, ε \varepsilon ε 是随机误差项,可假设 ε ∼ N ( 0 , σ 2 ) \varepsilon\thicksim N(0,\sigma^2) ε∼N(0,σ2) 那么随机变量 y ∼ N ( β 0 + β 1 x , σ 2 ) y\thicksim N(\beta_0+\beta_1x,\sigma^2) y∼N(β0+β1x,σ2)
用最小二乘法估计 β 0 \beta_0 β0, β 1 \beta_1 β1的值,即取 β 0 , β 1 \beta_0,\beta_1 β0,β1的一组估计值使 y i y_i yi与 y i ^ \hat{y_i} yi^的误差(error)平方和达到最小
Q ( β 0 ^ , β 1 ^ ) = min β 0 , β 1 Q ( β 0 , β 1 ) = ∑ i = 1 n ( y i − β 0 ^ − β i ^ x i ) 2 { β 1 ^ = ∑ i = 1 n ( x i − x ‾ ) ( y i − y ‾ ) ∑ i = 1 n ( x i − x ‾ ) 2 β 0 ^ = y ‾ − β 1 ^ x ‾ \begin{align} &\tag{7}Q(\hat{\beta_0},\hat{\beta_1})=\min_{\beta_0,\beta_1}Q(\beta_0,\beta_1)=\sum_{i=1}^n(y_i-\hat{\beta_0}-\hat{\beta_i}x_i)^2\\ &\tag{8}\begin{cases} \hat{\beta_1}=\frac{\sum\limits_{i=1}^n(x_i-\overline{x})(y_i-\overline{y})}{\sum\limits_{i=1}^{n}(x_i-\overline x)^2}\\ \hat{\beta_0}=\overline{y}-\hat{\beta_1}\overline x\\ \end{cases} \end{align} Q(β0^,β1^)=β0,β1minQ(β0,β1)=i=1∑n(yi−β0^−βi^xi)2⎩ ⎨ ⎧β1^=i=1∑n(xi−x)2i=1∑n(xi−x)(yi−y)β0^=y−β1^x(7)(8)
对标准化数据, β 1 ^ \hat{\beta_1} β1^可以表示 y y y与 x x x的相关程度。 s y s_y sy , s x s_x sx分别是 y y y, x x x的标准差, r x y r_{xy} rxy是x,y的相关系数
β 1 = ∑ i = 1 n ( y i − y ‾ ) 2 ∑ i = 1 n ( x i − x ‾ ) 2 ⋅ ∑ i = 1 n ( x i − x ‾ ) ( y i − y ‾ ) ∑ i = 1 n ( x i − x ‾ ) 2 ∑ i = 1 n ( y i − y ‾ ) = s y s x r x y \beta_1=\frac{\sqrt{\sum\limits_{i=1}^{n}(y_i-\overline y)^2}}{\sqrt{\sum\limits_{i=1}^{n}(x_i-\overline x)^2}}\cdot \frac{\sum\limits_{i=1}^{n}(x_i-\overline x)(y_i-\overline y)} {\sqrt{\sum\limits_{i=1}^n(x_i-\overline x)^2} \sqrt{\sum\limits_{i=1}^n(y_i-\overline{y})}}=\frac{s_y}{s_x} r_{xy} β1=i=1∑n(xi−x)2i=1∑n(yi−y)2⋅i=1∑n(xi−x)2i=1∑n(yi−y)i=1∑n(xi−x)(yi−y)=sxsyrxy
注意事项:
必须对回归方程的质量,误差进行正确的评估和分析;
拟合效果分析
残差 e i = y i − y i ^ e_i=y_i-\hat{y_i} ei=yi−yi^
残差的样本均值为0,样本方差MSE。(Q1:残差总和不应该为0吗?)
好的拟合方程,其残差总和( ∑ i = 1 n e i \sum\limits_{i=1}^{n}e_i i=1∑nei)应越小越好。
S e = M S E = 1 n − 2 ∑ i = 1 n e i 2 S_e=\sqrt{MSE}=\sqrt{\frac{1}{n-2}\sum\limits_{i=1}^{n}e_i^2} Se=MSE=n−21i=1∑nei2
因为残差的样本均值为零,离散范围越小,拟合的模型就越精确
判定系数(拟合优度) R 2 R^2 R2
拟合直线可解释的变异平方和与自由度:
S S R = ∑ i = 1 n ( y i ^ − y ‾ ) 2 , d f R = 1 SSR=\sum\limits_{i=1}^{n}(\hat{y_i}-\overline y)^2,df_R=1 SSR=i=1∑n(yi^−y)2,dfR=1
S S E = ∑ i = 1 n ( y i − y i ^ ) 2 , d f E = n − 2 SSE=\sum\limits_{i=1}^{n}(y_i-\hat{y_i})^2,df_E=n-2 SSE=i=1∑n(yi−yi^)2,dfE=n−2
判定系数 R 2 = S S R S S T = ( 1 − S S E S S T ) R^2=\frac{SSR}{SST}=(1-\frac{SSE}{SST}) R2=SSTSSR=(1−SSTSSE)
显著性检验
从逻辑上说,一般先进行F检验,通过后再进一步进行t检验
多元线性回归分析的模型为:
{ y = β 0 + β 1 x 1 + ⋯ + β m x m + ε ε ∼ N ( 0 , σ 2 ) \begin{cases} y=\beta_0+\beta_1x_{1}+\cdots+\beta_mx_m+\varepsilon\\ \varepsilon \thicksim N(0,\sigma^2) \end{cases} {y=β0+β1x1+⋯+βmxm+εε∼N(0,σ2)
求解过程十分复杂,交给matlab即可
以下内容,n是样本容量,m是元的个数
回归模型的假设检验:
KaTeX parse error: Expected 'EOF', got '&' at position 2: &̲Q=\sum\limits_{…
在显著性水平 α \alpha α下有上 α \alpha α分位数 F α ( m , n − m − 1 ) F_\alpha(m,n-m-1) Fα(m,n−m−1)若 F < F α ( m , n − m − 1 ) F
R越大y与元相关关系越密切,R大于0.8或0.9才认为相关关系成立
回归系数的假设检验和区间估计
Matlab统计工具箱用命令regress实现多元线性回归,用的方法是最小二乘法
b=regress(Y,X)
[b,bint,r,rint,stats]=regress(Y,X,alpha)
%alpha为显著性水平(缺省时设定为0.05).
%b,bin为回归系数估计值和它们的指向区间.
%r,rint为残差(向量)及置信区间,stats是用于检验回归模型的统计量.
残差及其置信区间可以用 rcoplot(r,rint) 画图
如果有因变量 y y y和自变量 x 1 , x 2 , ⋯ , x m x_1,x_2,\cdots,x_m x1,x2,⋯,xm,确定 y y y与 x 1 x_1 x1的偏相关系数的一个直接的想法时在除掉 x 2 , x 3 , ⋯ , x m x_2,x_3,\cdots,x_m x2,x3,⋯,xm的影响之后,再考虑 y y y与 x 1 x_1 x1的相关程度
可以使用SPSS进行统计
偏F检验
clc,clear
load data.txt %表中的数据按照原来的排列存放在纯文本文件data.txt中
[n,m]=size(data);m=m-1;
x=[ones(38,1),data(:,1:8)]; y=data(:,9);
[b,bint,r,rint,stats]=regress(y,x) %stats(4)返回的是残差的样本方差
r2=stats(1) %提出复判定系数
ad_r2=1-(1-r2)*(n-1)/(n-m-1) %计算调整复判断系数
f=stats(2) %提出F统计量
tm=inv(x'*x); %计算X'*X的逆矩阵
tm=diag(tm); %提出逆矩阵的对角线元素
rmse=sqrt(stats(4)) %计算剩余标准差(残差的样本标准差)
t=b./sqrt(tm)/rmse %求t统计量的值
向前选择变量法
clc,clear
load data.txt %表中的数据按照原来的排列存放在纯文本文件data.txt中
[n,m]=size(data);
y=data(:,9);
TT=[];
for i=2:8
x=[ones(38,1),data(:,[1,i])];
[b,bint,r,rint,stats]=regress(y,x) %stats(4)返回的是残差的样本方差
tm=inv(x'*x); %计算X'*X的逆矩阵
tm=diag(tm); %提出逆矩阵的对角线元素
rmse=sqrt(stats(4)) %计算剩余标准差(残差的样本标准差)
t=b./sqrt(tm)/rmse %求t统计量的值
TT=[TT,t];
end
ts=TT(3,:) %求各个新加入变量的t检验值
pr=ts./sqrt(ts.^2+n-3) %计算偏相关系数
向后删除变量法
逐步回归
Matlab中使用逐步回归stepwise(x,y,inmodel,alpha)
非线性回归是指因变量 y y y对回归系数 β 1 , ⋯ , β m \beta_1,\cdots,\beta_m β1,⋯,βm是非线性的。
Matlab中使用nlinfit,nlparci,nlpredci,nlintool进行非线性回归,并且可得到置信区间、预测值和(该值的)置信区间
nlinfit:计算回归系数;
nlparci:计算回归系数的置信区间;
nlpredci:计算预测值及其置信区间
clc,clear
x0=[ 1 8.55 470 300 10
2 3.79 285 80 10
3 4.82 470 300 120
4 0.02 470 80 120
5 2.75 470 80 10
6 14.39 100 190 10
7 2.54 100 80 65
8 4.35 470 190 65
9 13.00 100 300 54
10 8.50 100 300 120
11 0.05 100 80 120
12 11.32 285 300 10
13 3.13 285 190 120];
x=x0(:,3:5);
y=x0(:,2);
beta=[0.1,0.05,0.02,1,2]'; %回归系数的初值,可以任意取,这里是给定的
[betahat,r,j]=nlinfit(x,y,@huaxue,beta); %r,j是下面命令用的信息
betaci=nlparci(betahat,r,'jacobian',j);
betaa=[betahat,betaci] %回归系数及其置信区间
[yhat,delta]=nlpredci(@huaxue,x,betahat,r,'jacobian',j)
%y的预测值及其置信区间的半径,置信区间为yhat±delta。
用nlintool得到一个交互式画面,左下方的Export可向工作区传送数据,如剩余标
准差等。使用命令
nlintool(x,y,'huaxue',beta)
可看到画面,并传出剩余标准差rmse= 0.1933。
适用于为相互关联相互制约的众多因素构成的复杂缺缺少定量数据的系统进行决策和排序
目标层、准则层、措施层(可以理解为为了达到某目标,需要遵守某准则,做出某措施,层层对应)
判断矩阵 A A A中的 ( i , j ) (i,j) (i,j)位置有元素 a i j a_{ij} aij。
a i j a_{ij} aij是n个对Z影响因子 X = { x 1 , . . . , x n } X=\{x_1,...,x_n\} X={x1,...,xn}中对 x i x_i xi与 x j x_j xj进行比较得出,表示 x i x_i xi 与 x j x_j xj 对Z的影响大小之比,这样建立了 A A A一个表达成对比较的矩阵。
做 n ( n − 1 ) 2 \frac {n(n-1)} 2 2n(n−1)次两两判断是有必要的。
得到的评价矩阵有可能出现相悖的情况,因此要进行一致性检验,具体说明如下:
a i j a j k = a i k , ∀ i , j , k = 1 , 2 , . . . n a_{ij}a_{jk}=a_{ik},\forall i,j,k=1,2,...n aijajk=aik,∀i,j,k=1,2,...n
满足关系式(1)的正互反矩阵称为一致矩阵。
大量精准的数据有力证明了模型的准确性。
多利用SPSS、Matlab进行数据分析与计算,建模阶段只需进行简单的建模说明以及模型优劣分析方法的选择即可。
重述并澄清赛题;
列出建模所用的所有前提条件及假设,并给出清晰的解释;
分析赛题,给出建模动机或论证建模的合理性;
模型设计;
讨论模型的优缺点;
书写论文摘要,摘要必须按照要求写在特定的摘要页上,长度不超过一页,提交时作为参赛论文的首页;
S u m m a r y 1. R e s t a t e m e n t o f t h e p r o b l e m 2. A s s u m p t i o n s 3. J u s t i f i c a t i o n o f O u r A p p r o a c h 4. T h e M o d e l 4.1. D i s s a t i s f a c t i o n o f a p a s s e n g e r n e e d i n g a c o n n e c t i o n 4.2. D i s s a t i s f a c t i o n o f a p a s s e n g e r n o t n e e d i n g a c o n n e c t i o n 4.3. T o t a l d i s s a t i s f a c t i o n o n a n a i r c r a f t 5. T e s t i o n g t h e M o d e l 6. R e s u l t s 7. S t r e n g t h s a n d W e a k n e s s R e f e r e n c e s \begin{align} &Summary\\ &1.Restatement\ of\ the\ problem\\ &2.Assumptions\\ &3.Justification\ of\ Our\ Approach\\ &4.The Model\\ &\ 4.1.Dissatisfaction\ of\ a\ passenger\ needing\ a\ connection\\ &\ 4.2.Dissatisfaction\ of\ a\ passenger\ not\ needing\ a\ connection\\ &\ 4.3.Total\ dissatisfaction\ on\ an\ aircraft\\ &5.Testiong\ the\ Model\\ &6.Results\\ &7.Strengths\ and\ Weakness\\ &References \end{align} Summary1.Restatement of the problem2.Assumptions3.Justification of Our Approach4.TheModel 4.1.Dissatisfaction of a passenger needing a connection 4.2.Dissatisfaction of a passenger not needing a connection 4.3.Total dissatisfaction on an aircraft5.Testiong the Model6.Results7.Strengths and WeaknessReferences
和引言(Introduction Restatement)一样应该足够抓眼,应该包括这些内容:
R e f e r e n c e Reference Reference
[1]《数学建模教材》司守奎
[2]《正确写作美国大学生数学建模竞赛论文》王杰、贝朗格