實驗目的
(1) 直觀了解回歸分析基本內容;
(2)掌握用數學軟件求解回歸分析問題。
實驗要求
實驗步驟要有模型建立,模型求解、結果分析。
實驗內容
(1)考察溫度x對產量y的影響,測得下列10組數據:
求y關於x的線性回歸方程,檢驗回歸效果是否顯著,並預測x=42℃時產量的估值及預測區間(置信度95%).
(2)某零件上有一段曲線,為了在程序控制機床上加工這一零件,需要求這段曲線的解析表達式,在曲線橫坐標xi處測得縱坐標yi共11對數據如下:
求這段曲線的縱坐標y關於橫坐標x的二次多項式回歸方程.
(3)混凝土的抗壓強度隨養護時間的延長而增加,現將一批混凝土作成12個試塊,記錄了養護日期x(日)及抗壓強度y(kg/cm2)的數據:
實驗步驟
使用MATLAB求解問題(1),代碼

1 %回歸分析 2 x=20:5:65; 3 Y=[13.2,15.1,16.4,17.1,17.9,18.7,... 4 19.6,21.2,22.5,24.3]; 5 X=[ones(length(x),1),x']; 6 [b,bint,r,rint,stats]=regress(Y',X) 7 sigga2=sum(r.^2)/(length(x)-2); 8 %Sx2=var(x); 9 Lxx=var(x)*(length(x)-1); 10 z=b(1)+b(2)*x; 11 figure(1),hold on; 12 plot(x,Y,'k+',x,z,'r','LineWidth',2,'LineWidth',2); 13 legend('原始數據','回歸方程','Location','southeast'); 14 grid on; 15 figure(2),rcoplot(r,rint); 16 %set(gca,'Color','w');
於是算得預測值的置信區間為(17.9243, 19.0527),求解的MATLAB命令如下:
>> exp61
>> y=b(1)+b(2)*42;
>> x_bar=mean(x);
>> u=sigga2*2.306*sqrt(1+0.1+(42-x_bar)^2/Lxx);
>> a=y-u;
>> b=y+u;
代碼輸出的圖:
圖1 回歸方程擬合圖和殘差圖
使用SPSS求解系數,
系數a |
||||||||
模型 |
未標准化系數 |
標准化系數 |
t |
顯著性 |
B 的 95.0% 置信區間 |
|||
B |
標准錯誤 |
Beta |
下限 |
上限 |
||||
1 |
(常量) |
9.121 |
.477 |
|
19.119 |
.000 |
8.021 |
10.221 |
溫度 |
.223 |
.011 |
.991 |
20.972 |
.000 |
.199 |
.248 |
|
a. 因變量:產量 |
同樣算得y=9.121+0.223x,並且顯著性為0.000<0.05,回歸方程具有意義。
代碼:

1 REGRESSION 2 /MISSING LISTWISE 3 /STATISTICS COEFF OUTS CI(95) R ANOVA CHANGE 4 /CRITERIA=PIN(.05) POUT(.10) 5 /NOORIGIN 6 /DEPENDENT 產量 7 /METHOD=ENTER 溫度 8 /RESIDUALS DURBIN 9 /SAVE PRED.
(2)解:設y=ax2+bx+c,使用MATLAB求解
>> x=0:2:20;y=[0.6,2.0,4.4,7.5,11.8,17.1,23.3,31.2,39.6,49.7,61.7];
>> [p,s]=polyfit(x,y,2);yy=@(x)p(1).*x.^2+p(2).*x+p(3);
>> x=linspace(0,20,40);hold on;
>> title('0.1403*x^2+0.1971*x+1.0105'),
>> plot(0:2:20,y,'ko',x,yy(x),'b','LineWidth',3);
>> legend('原始數據','回歸方程');grid on;
算得a=0.1403,b=0.1971,c=1.0105。回歸方程:y=0.1403x2+0.1971x+1.0105
圖2 題2的回歸方程擬合圖
(3)解:由題干給出的y=a+blnx,並使用MATLAB求解,首先給出volum61.m文件

1 function yhat=volum61(beta,x) 2 yhat=beta(1)+beta(2).*log(x); 3 end
命令行求解:
>> x=[2,3,4,5,7,9,12,14,17,21,28,56];
>> y=[35,42,47,53,59,65,73,76,82,86,99];
>> x=[2,3,4,5,7,9,12,14,17,21,28,56];
>> y=[35,42,47,53,59,65,68,73,76,82,86,99];
>> beta0=[5,1]';
>> [beta,r,J]=nlinfit(x',y','volum61',beta0);
>> beta
beta =
21.0058
19.5285
作圖,
>> figure,hold on;
>> xx=linspace(2,56,100);
>> yy=volum61(beta,xx);
>> plot(x,y,'o',xx,yy,'Linewidth',2,'Linewidth',2);
>> title('y=21.0058+19.5285lnx');
>> legend('原始數據','回歸方程','Location','southeast');grid on;
圖3 題3的回歸方程擬合圖
由圖可見回歸方程的效果很好。
小結
在求解回歸分析的題目時,其中印象最深刻的應該是題1的求解,它用到了概率論與數理統計的知識。然后后面的兩題,似乎用到了擬合的知識。