回歸模型
1 基本知識介紹
1.1回歸模型的引入
由於客觀事物內部規律的復雜性及人們認識程度的限制,無法分析實際對象內在的因果關系,建立合乎機理規律的數學模型。所以在遇到有些無法用機理分析建立數學模型的時候,通常采取搜集大量數據的辦法,基於對數據的統計分析去建立模型,其中用途最為廣泛的一類隨即模型就是統計回歸模型。
回歸模型確定的變量之間是相關關系,在大量的觀察下,會表現出一定的規律性,可以借助函數關系式來表達,這種函數就稱為回歸函數或回歸方程。
1.2回歸模型的分類
2 用回歸模型解題的步驟
回歸模型解題步驟主要包括兩部分:
一:確定回歸模型屬於那種基本類型,然后通過計算得到回歸方程的表達式;
①根據試驗數據畫出散點圖;
②確定經驗公式的函數類型;
③通過最小二乘法得到正規方程組;
④求解方程組,得到回歸方程的表達式。
二:是對回歸模型進行顯著性檢驗;
①相關系數檢驗,檢驗線性相關程度的大小;
②F檢驗法(這兩種檢驗方法可以任意選);
③殘差分析;
④對於多元回歸分析還要進行因素的主次排序;
如果檢驗結果表示此模型的顯著性很差,那么應當另選回歸模型了。
3模型的轉化
非線性的回歸模型可以通過線性變換轉變為線性的方程來進行求解:例如
函數關系式:可以通過線性變換:轉化為一元線性方程組來求解,對於多元的也可以進行類似的轉換。
4舉例
例1(多元線性回歸模型):已知某湖八年來湖水中COD濃度實測值(y)與影響因素湖區工業產值(x1)、總人口數(x2)、捕魚量(x3)、降水量(x4)資料,建立污染物y的水質分析模型。
(1)輸入數據
x1=[1.376, 1.375, 1.387, 1.401, 1.412, 1.428, 1.445, 1.477] x2=[0.450, 0.475, 0.485, 0.500, 0.535, 0.545, 0.550, 0.575] x3=[2.170 ,2.554, 2.676, 2.713, 2.823, 3.088, 3.122, 3.262] x4=[0.8922, 1.1610 ,0.5346, 0.9589, 1.0239, 1.0499, 1.1065, 1.1387] y=[5.19, 5.30, 5.60,5.82,6.00, 6.06,6.45, 6.95]
(2)保存數據(以數據文件.mat形式保存,便於以后調用)
save data x1 x2 x3 x4 y
load data (取出數據)
(3)執行回歸命令
得結果:
b = (-16.5283,15.7206,2.0327,-0.2106,-0.1991)’
stats = (0.9908,80.9530,0.0022)
即:
通過查表可知,R2代表決定系數(R代表相關系數),它的值很接近與1,說明此方程是高度線性相關的;
F檢驗值為80.9530遠大於,可見,檢驗結果是顯著的。
例2(非線性回歸模型)非線性回歸模型可由命令nlinfit來實現,調用格式為:
[beta,r,j] = nlinfit(x,y,'model’,beta0)
其中,輸人數據x,y分別為n×m矩陣和n維列向量,對一元非線性回歸,x為n維列向量model是事先用 m-文件定義的非線性函數,beta0是回歸系數的初值, beta是估計出的回歸系數,r是殘差,j是Jacobian矩陣,它們是估計預測誤差需要的數據。
預測和預測誤差估計用命令
[y,delta] = nlpredci(’model’,x,beta,r,j)
如:對實例1中COD濃度實測值(y),建立時序預測模型,這里選用logistic模型。即
(1)對所要擬合的非線性模型建立的m-文件mode1.m如下:
function yhat=model(beta,t)
yhat=beta(1)./(1+beta(2)*exp(-beta(3)*t))
(2)輸入數據
t=1:8
load data y(在data.mat中取出數據y)
beta0=[50,10,1]’
(3)求回歸系數
[beta,r,j]=nlinfit(t’,y’,’model’,beta0)
得結果:
beta=(56.1157,10.4006,0.0445)’
即
(4)預測及作圖
[yy,delta] = nlprodei(’model’,t’,beta,r,j);
plot(t,y,’k+’,t,yy,’r’)
3.逐步回歸
逐步回歸的命令是stepwise,它提供了一個交互式畫面,通過此工具可以自由地選擇變量,進行統計分析。調用格式為:
stepwise(x,y,inmodel,alpha)
其中x是自變量數據,y是因變量數據,分別為n×m和n×l矩陣,inmodel是矩陣的列數指標(缺省時為全部自變量),alpha,為顯著性水平(缺省時為0.5)
結果產生三個圖形窗口,在stepwise plot窗口,虛線表示該變量的擬合系數與0無顯著差異,實線表示有顯著差異,紅色線表示從模型中移去的變量;綠色線表明存在模型中的變量,點擊一條會改變其狀態。在stepwise Table窗口中列出一個統計表,包括回歸系數及其置信區間,以及模型的統計量剩余標准差(RMSE),相關系數 (R-square),F值和P值。
例3、主成份分析
主成份分析主要求解特征值和特征向量,使用命令 eig(),調用格式為
[V,D] = eig(R)
其中R為X的相關系數矩陣,D為R的特征值矩陣,V為特征向量矩陣
實例3:對實例1中變量進行主成份成析
(1)調用數據
(2)計算相關系數矩陣
R = corrcoef(x)
(3)求特征根、特征向量
[V,D] = eig(R)
得結果:
按特征根由大到小寫出各主成份
第一主成份
方差貢獻率為3.1863/4 = 79.66%
第二主成份
方差貢獻率為0.7606/4 = 19.12%
第三主成份
方差貢獻率為0.0601/4=1.5%