如果數學模型為非線性關系,比如人口學增長模型Logistic(S模型),其模式公式為:y = b1 / (1 + exp(b2 + b3 * x)),其中y為人口數量,x為年份(實際數據為第n年,數字從0年起,依次順序增加),b1,b2和b3分別為三個估計參數,exp為自然指數的意思。此數學表達式並非線性表達式,因此不能使用SPSSAU的線性回歸進行擬合。
諸如此類非線性關系(即不是直接關系)的非線性模型,可使用非線性回歸進行研究。SPSSAU當前提供約50類非線性函數表達式,涵蓋絕大多數非線性函數表達式。
備注:圖中出現的b1,b2,b3等代表待估計參數;exp表示自然指數,ln表示自然對數,cos表示余弦函數;“**”表示指數的意思。
進行非線性回歸模型構建時,通常分為三步:
第一步:首先需要結合專業知識選擇正確的構建模型,比如人口增長預測時使用logistic模型,經濟學研究的拋物線二次曲線模型等。
第二步:設置參數初始值;與線性回歸不同,非線性回歸模型數學原理上使用迭代思想計算參數估計值,因而對初始值的不同設置,很可能會導致不同的結果,因而初始值設置較為重要,其可使用模型求解更為精確,並且有助於模型快速迭代收斂。關於初始值的設置在案例中有更詳細說明。
第三步:模型預測。在得到參數擬合值后,並且擬合效果在認可范圍內時,那么可使用模型進行預測數據,輸入X的數據信息,對應得到Y的預測值。
1 背景
1978~2016共計39年我國人口數據,當前希望建立人口數量logistic模型(S模型),通常建立人口數量模型后,可為人口數據預測提供建議。案例數據如下:
2 理論
Logistic模型函數表達式為:y = b1 / (1 + exp(b2 + b3 * x)),其中y為人口數量,x為‘第N年’(起始1978年為數字0,1979為數字1,依次下去),b1,b2和b3分別為三個估計參數,exp為自然指數的意思。其中b1的實際意義為漸近線,即Y(人口)無限接近的數字。
自然的想到,人口最多在14億左右,因而b1的初始值可設置為數字14。至於b2和b3這兩個參數值,代入特殊點,即第0年,即x=0時,y=9.6259,可先計算出b2值為-0.79,接着基於b1,b2,b3,並且代入第1年這一特殊點數據,計算得到b3約為-0.042,因此就得到3個參數對應的初始值。當然不進行設置也可以,並沒有固定要求,如果不設置,SPSSAU默認以數字1作為初始值,如果不設置,有可能出現計算結果不理想。
特別提示:
- 初始值的設置上並不固定要求,通常可結合模型的實際意義和實際數據情況進行設置,比如本案例中最大人口數量為14億;與此同時,還可結合數據特殊點的特殊特征代入計算得到一個大概的初始值;比如本案例時分別代表x為0或1這兩個特殊點,分別計算得到參數的初始值。
- 如果不設置初始值,SPSSAU默認以數字1作為初始值。
3 操作
本例子SPSSAU操作截圖如下:
注意如下:
- 首先選擇正確的非線性函數(即模型),函數公式處會展示出該模型對應的函數公式(即模型表達式),選擇對應的因變量和自變量數據,設置好參數后點擊分析即可。
- 參數的初始值上,如果沒有把握,一般直接不設置就好,但建議針對初始值進行設置;
- 參數的上下界通常不需要進行設置,除非有較大的把握。比如本案例的人口初始值為14億,那么下界可設置為10,上界可設置為20。
4 SPSSAU輸出結果
SPSSAU輸出3個表格,1個圖形和模型預測,分別如下說明。
5 文字分析
上表格展示輸入的模型初始參數值,如果沒有設置過初始值,默認初始值為1。
上表格展示出3個參數的估計值,如果涉及模型中各參數的專業意義,比如本案例中參數b1代表當前擬合模型的漸近線值,否則無其它特殊的意義,其目的僅為了得到數學上的估計模型表達式,用於進一步預測使用等。如果說p值小於0.05則說明參數具有統計學意義(也或者95%置信區間不包括數字0),如果各個參數均具有統計學意義,一般也可從側面說明模型擬合效果較好。
上表格展示出模型擬合情況,通常可查看R方來判斷模型擬合效果,本案例時R方值接近於1,意味着本次的logistic模型非常有效的擬合了我國人口增長數據(1978~2016),至於F檢驗,在非線性回歸模型時使用較少,通常不使用此指標。接着使用擬合圖直觀展示擬合效果如下圖:
上圖直觀展示本次人口增長logistic模型擬合效果情況。從圖中也可看出,實際數據與擬合數據基本完全吻合在一起,說明擬合效果非常好。因而當前模型可使用,因此用於預測2022年的數據,自變量x為第N年,2022年為第44年,因此輸入數字44,得到2022年的人口數據為14.057億。
6 剖析
(1)關於初始值。初始值是由研究人員輸入的一個‘大概’值,即參數的大概估計值,大概預期的值,與此同時,也可設置參數的范圍,即上下界,但通常情況下不設置上下界值,除非認為有必要,通常不需要設置上下界值。
(2)關於初始值的設置方法。通常包括兩種,一是結合專業知識進行判斷,二是利用模型公式時的特殊點(比如X=0時,Y=?)去求解得到。專業知識判斷上,某參數的實際意義為數據的最大值,那么就設定該參數為最大值即可。SPSSAU默認以數字1作為參數值。
「更多內容登錄SPSSAU官網了解」