數理統(tǒng)計結課論文_第1頁
數理統(tǒng)計結課論文_第2頁
數理統(tǒng)計結課論文_第3頁
數理統(tǒng)計結課論文_第4頁
數理統(tǒng)計結課論文_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、20114073143數理統(tǒng)計中回歸分析的探究與應用黑龍江八一農墾大學回歸分析問題探究摘要本文主要針對數理統(tǒng)計中的回歸分析問題,通過對一元線性回歸、多元線性回歸以及非線性回歸原理的探究,分別運用了SPSS和MATLAB軟件進行實例分析以及進一步的學習。首先,通過變量之間關系的概念詮釋引出回歸函數 QUOTE ;其次,針對回歸函數,分別對一元線性回歸原理上的學習,了解并會運用這三種線性回歸模型、參數估計和回歸系數的顯著性檢驗來處理和解決實際的一元線性回歸問題;接著,對多元線性回歸和非線性回歸進行學習,掌握它們與一元線性回歸在理論和實踐的聯(lián)系與區(qū)別;然后,通過實際問題運用SPSS進行簡單的分析,熟

2、悉SPSS軟件的使用步驟和分析方法,能夠運用SPSS進行簡單的數理分析;最后,用MATLAB編程來處理線性回歸問題,通過多種方法進行比較,進行線性回歸擬合計算并輸出Logistic模型擬合曲線。關鍵詞:回歸分析;一元線性回歸;多元線性回歸;非線性回歸;SPSS;MATLAB一、 回歸概念一般來說,變量之間的關系大致可以分為兩類:一類是確定性的,即變量之間的關系可以用函數的關系來表達;另一類是非確定性的,這種不確定的關系成為相關關系。相關關系是多種多樣的,回歸分析就是研究相關關系的數理統(tǒng)計方法。它從統(tǒng)計數據出發(fā),提供建立變量之間相關關系的近似數學表達式經驗公式的方法,給出相關行的檢驗規(guī)則,并運用

3、經驗公式達到預測與控制的目的。如隨機變量Y與變量x(可能是多維變量)之間的關系,當自變量x確定后,因變量Y的值并不跟著確定,而是按照一定的停機規(guī)律(隨機變量Y的分布)取值。這是我們將它們之間的關系表示為其中 QUOTE 是一個確定的函數,稱之為回歸函數, QUOTE 為隨機項,且 QUOTE ?;貧w分析的任務之一就是確定回歸函數 QUOTE 。當 QUOTE 是一元線性函數形時,稱之為一元線性回歸;當 QUOTE 是多元線性函數形時,稱之為多元線性回歸;當 QUOTE 是非線性函數形時,稱之為非線性回歸。二、 回歸分析2.1 一元線性回歸分析2.1.1 一元線性回歸模型設隨機變量Y與x之間存在

4、著某種相關關系,這里x是可以控制或可以精確測量的普通變量。對于取定的一組不完全相同的值 QUOTE 做獨立實驗得到n對觀察值 QUOTE 一般地,假定x與Y之間存在的相關關系可以表示為 QUOTE ,其中 QUOTE 為隨機誤差且 QUOTE , QUOTE 未知,a和b都是未知參數。這個數學模型成為醫(yī)院線性回歸模型,稱 QUOTE 為回歸方程,它所代表的直線稱為回歸直線,稱b為回歸系數。對于一元線性回歸模型,顯然有 QUOTE ?;貧w方程 QUOTE 放映了變量X與隨機變量Y之間的相關關系?;貧w分析就是要根據樣本觀測值 QUOTE 找到a和b適當的估計值 QUOTE ,建立線性回歸方程 QU

5、OTE ,從而利用這個公式來近似刻畫變量x與隨機變量Y之間的關系。2.1.2 參數估計如何根據觀測數據 QUOTE 得到回歸方程 QUOTE 呢?一個直觀的做法就是:選取適當的a和b,使得直線 QUOTE 上的點與實驗數據中對應點之間的誤差盡可能小。若記 QUOTE 為直線 QUOTE 上的點, QUOTE 為實驗數據點,則表達式就刻畫了直線 QUOTE 上點 QUOTE 之間的偏離程度。通常我們記 QUOTE ,這樣 QUOTE 就表示直線上相應點與全體數據點之間總的偏離程度。總得偏離程度越小,回歸方程 QUOTE 就越能客觀放映出變量x與Y之間的線性關系。所以,在數理統(tǒng)計中,將能夠使 QU

6、OTE 取得最小值的a與b所確定的方程 QUOTE 視為變量x與Y之間的線性回歸方程。而且把利用這種思想求出的估計值 QUOTE 成為參數a與b的最小二乘估計,這種方法成為最小二乘法。我們利用微積分的知識來確定 QUOTE 取得最小值的條件。將表達式 QUOTE 分別對位置參數a與b求偏導數,并令其為零,即得整理得上式稱為正規(guī)方程組。由于 QUOTE 不完全相同,所以正規(guī)方程組的系數行列式不為零。因此,我們得到的正規(guī)方程組的唯一解為因此,我們得到了x與y之間的線性回歸方程或這個線性回歸方程表明,經驗回歸直線L是通過這n個數據點幾何重心 QUOTE 且斜率為 QUOTE 的直線。為了計算方便起見

7、,我們引入如下記號:這樣2.1.3 回歸系數的顯著性檢驗在上面的論述中,運用最小二乘法求回歸方程的條件除了要求諸 QUOTE 不完全相同外,沒有其它條件,也就是說無論變量x與Y是否具有線性關系,只要諸 QUOTE 不完全相同,使用最小二乘法總能求出a與b的一個無偏估計 QUOTE 與 QUOTE ,并能得到變量x與Y的一個線性回歸方程 QUOTE 。若變量x與Y之間根本不存在線性關系,那么這個線性回歸方程就沒有任何意義。因此,實際問題中,我們必須對用最小二乘法求出的線性回歸方程進行檢驗,來判斷變量x與Y之間相關關系是否真的可由所得到的線性回歸方程給出。若果變量x與Y之間存在線性相關關系,那么模

8、型 QUOTE 中b不應為零。否則,就有 QUOTE ,這意味著x與Y沒有任何關系。因此,我們需要假設進行檢驗。當拒絕 QUOTE 時,認為變量x與Y之間有顯著的線性相關關系,也稱為回歸效果顯著。否則,稱為回歸效果不顯著。這時變量x和Y之間的關系有很多種可能:或許二者之間關系不是線性的,或許除變量x之外還有其他不可忽視的因素對Y產生影響,甚至是它們的相關關系很弱,不是必須重視的。為了給出顯著檢驗 QUOTE 的拒絕域,先做一些準備工作,記稱SS為總偏差平方和,它反映了數據中變量取值 QUOTE 的離散程度。即稱 QUOTE 為回歸平方和,它放映了n個回歸數值 QUOTE 相對于 QUOTE 的

9、離散程度,它是由x去不同的值 QUOTE 而引起的。將 QUOTE 帶入上述回歸平方和表達式中,有記其中 QUOTE 稱為第i個殘差,i=1,2,n。 QUOTE 稱為殘差平方和,呀反映了n次試驗的累計誤差。由回歸方程的意義知道,它是n次試驗的累計誤差的最小值,即小面推導殘差平方和的計算公式,由推得這樣我們就得到平方和的分解公式對回歸系數的顯著性檢驗一般有一下三種方法(1)t檢驗法 (回歸系數的顯著性檢驗)取檢驗統(tǒng)計量可以證明,當 QUOTE 成立時, QUOTE 于是,在顯著性水平 QUOTE 下,當 QUOTE 時,拒絕 QUOTE ,認為回歸效果顯著。在回歸分析中,t檢驗用于檢驗回歸系數

10、的顯著性,即檢驗因變量y對自變量x的影響程度是否顯著。(2)F檢驗法 (回歸系數的顯著性檢驗)取檢驗統(tǒng)計量這里的F檢驗其實就是方差分析的內容,見下表2.1表2.1 一元線性回歸方程的方差分析表方差來源平方和自由度均方F值回歸1誤差2總計n-1可以證明,當 QUOTE 成立時, QUOTE 。于是在顯著水平 QUOTE 下,確定臨界值 QUOTE 。當 QUOTE 時,就拒絕 QUOTE ,說明總體回歸系數 QUOTE ,即回歸方程是顯著的。由于 QUOTE ,所以F檢驗法與T檢驗法基本上式一致的。在線性一元回歸分析中,回歸方程的顯著性檢驗和回歸系數的顯著性檢驗作用是相同的,兩者可以互相替代。(

11、3)回歸方程的擬合優(yōu)度檢驗將回歸平法和與總離差平方和之比定義為樣本決定系數,又稱判定系數,記為 QUOTE 即決定系數是一個衡量回歸直線對樣本觀測值擬合優(yōu)度的相對指標,反映了變量的波動中能用變量所解釋的比例。 QUOTE 的值總是在01之間, QUOTE 越接近1,擬合度就越好;反之,說明模型中給出的x對y信息還不充分,回歸方程效果不好,應該進行修改,使x與y的信息得到充分利用。2.1.4 預測與控制回歸方程的重要應用就是預測和控制問題。所謂控問題,就是對于給定的點 QUOTE ,預測出y的取值范圍??刂茊栴}則是問題的反問題,就是將y限制在某個范圍內,應如何控制x的取值。預測問題設自變量 QU

12、OTE 與因變量 QUOTE 服從模型且 QUOTE 與樣本 QUOTE 相互獨立。首先,我們計算 QUOTE 時的回歸值將 QUOTE 作為 QUOTE 的預測值,但這樣求出的預測值一般來說是有誤差的。產生誤差的原因,一是由于 QUOTE 只是平均值 QUOTE 的一個估計,而 QUOTE 的實際值很可能偏離它的平均值;二是因為 QUOTE 的取值是依賴于估計值 QUOTE 與 QUOTE 的,而 QUOTE 與 QUOTE 是隨機抽樣誤差的。因此我們還需要求出 QUOTE 的預測區(qū)間即置信區(qū)間。 QUOTE 雙側 QUOTE 預測區(qū)的上下限為或雙側預測 QUOTE 區(qū)的長度為在實際回歸問題

13、中,樣本容量n常是很大的,這時對于在 QUOTE 附近的x來說,我們能得較短的預測區(qū)間,而且當 QUOTE 時長度最短,這事預測效果最佳。反之,當 QUOTE 得取值超出原始的試驗點 QUOTE 的范圍之外時,由于此時預測區(qū)間長度過寬,將會導致預測效果不好。當n較大時,通常d取1,且 QUOTE 用 QUOTE 代替, QUOTE 用 QUOTE 代替。這時預測區(qū)間的上下限簡化為控制問題在實際問題中,我們還會遇到控制問題,即若要求觀察值y在某個區(qū)間 QUOTE 內取值時,問應控制x在什么范圍?也就是要求對于給定的置信度 QUOTE ,求出相應的 QUOTE 和 QUOTE ,使得當 QUOTE

14、 時,所對應的觀察值y落在 QUOTE 內。我們只談論在n很大的情況,這時 QUOTE ,這時公式 QUOTE 可改寫 QUOTE 當 QUOTE 與 QUOTE 的值確定以后,根據上式就可以求出相應的 QUOTE 和 QUOTE 的值,作為x控制的端點值。需要注意的是,為了有效控制x的范圍區(qū)間, QUOTE 必須大于 QUOTE =2 QUOTE ,即 QUOTE .2.2 多元線性回歸分析在實際問題中,一般影響因變量的因素常常不止一個,這就是因變量與多個自變量相關關系問題,要用多元回歸的方法來解決。2.2.1 多元線性回歸的數學模型多元線性回歸模型的一般形式:式中, QUOTE , QUO

15、TE , QUOTE 是 QUOTE 個未知數,稱為回歸系數。Y稱為被解釋量,而 QUOTE 是 QUOTE 個可以精確測量并可控制的一般變量,稱為解釋變量。 QUOTE 時,上式即為上一節(jié)分析的一元線性回歸模型, QUOTE 時,我們就成上式為多元線性回歸模型,這里 QUOTE 是隨機誤差。與一元線性回歸模型一樣,對隨機誤差項我們常假定其期望值為零、方差為 QUOTE 的正態(tài)分布 QUOTE 。對于一個實際問題,如果我們獲得n組觀測數據 QUOTE , QUOTE 把這些觀測值代入上式可得樣本多元線性回歸模型:寫成矩陣形式為:其中: QUOTE 2.2.2 多元線性回歸模型的基本假定為了對模

16、型參數進行估計和推斷,常常要對回歸模型 QUOTE 做如下的假定:1)解釋變量 QUOTE 是確定性變量,不是隨機變量,且要求矩陣x中的自變量列之間不相關,樣本容量的個數應大于解釋變量的個數。2)隨機誤差項具有零均值和同方差,即 QUOTE i.j=1,2,.,n3)正態(tài)分布的假設條件: QUOTE i.j=1,2,.n由上述假設和多元正態(tài)分布的性質可知: QUOTE 服從 QUOTE 維正態(tài)分布,且 QUOTE 。2.2.3多元回歸模型的參數估計多元線性回歸方程未知參數 QUOTE 的估計與一元線性回歸方程的參數估計原理一樣,所以選擇的估計值 QUOTE 與觀測值 QUOTE 之間的殘差在所

17、有樣本點上打到最小,即使 QUOTE 達到最小。所以求 QUOTE ,使得 QUOTE ,即有多元函數求極值點的方法可求得回歸系數的最小二成估計值為:另外,未知參數 QUOTE 的一個無偏估計 QUOTE ,實際就是殘差均方和(MSE)。2.2.4多元線性回歸模型的顯著性檢驗多元線性回歸模型的顯著性包括兩方面的內容:一是對整個回歸方程的顯著性檢驗,即F檢驗;另一個是對個回歸系數的顯著性檢驗,即t檢驗。在一元線性回歸方程的檢驗時,這兩個檢驗時等價的,但在多元線性回歸模型的檢驗時兩者卻不同?;仡櫡匠痰娘@著性檢驗提出假設: QUOTE 構建F統(tǒng)計量,見表2.2:表 5.2 多元線性回歸模型的方差分析

18、表方差來源平方和自由度均方和F值回歸P誤差總計給定顯著水平 QUOTE ,查F分布表,的臨界值 QUOTE ;若 QUOTE ,則拒絕 QUOTE ,接受備擇假設,說明總體回歸系數 QUOTE 不全為零,即回歸方程是顯著的;反之則認為回歸方程不顯著?;貧w系數顯著性檢驗提出假設: QUOTE ; QUOTE T檢驗的計算公式為: QUOTE ,其中 QUOTE 是回歸系數標準差, QUOTE 中第 QUOTE 個主角線元素。t值應該有p個隊每一個 QUOTE 可以計算一個t值。給定顯著水平 QUOTE ,確定臨界值 QUOTE ;若 QUOTE ,則拒絕 QUOTE ;接受備擇假設,說明總體回歸

19、系數 QUOTE 。多元線性回歸方程的擬合度檢驗采用調整的決定系數 QUOTE 作為統(tǒng)計量 QUOTE 的取值范圍和數值大小的意義與 QUOTE 是完全相同的。2.3非線性回歸分析在對實際的客觀現(xiàn)象進行定量分析時,對變量間非線性相關問題的曲線擬合,處理的方法有:決定非線性模型的函數模型,對其中課線性化的問題則通過變量將其線性化,從而歸結為前面的多元線性回歸問題來解決。方程形式應與有關實質型科學的基本理論一致。例如,采用冪函數的形式,能夠較好的表現(xiàn)生產函數;采用多項式方程能夠較好的反映總成本與總產量的關系等等。若實際問題的曲線類型不易確定時,由于任意曲線皆可由多項式來逼近,故??捎枚囗検交貧w來擬

20、合曲線。若變量間非線性關系已知,且難以用變量變換法將其線性化,則進行數值法迭代的非線性回歸分析。一般來說,數學形式越簡單,其可操作性就越強。根據經驗公式或散點圖,選擇適當的曲線回歸方程。為了確定其中的未知參數,往往可以通過變量代換,把非線性回歸化為線性回歸,然后用線性回歸的方法確定這些參數的值。直接代換法直接替換法適用于變量之間關系雖然是非線性的,但因變量參數間關系卻是線性的非線性模型;多項式模型基本形式: QUOTE 線性化方法:令 QUOTE 轉化為線性模型: QUOTE 雙曲線模型基本形式: QUOTE 線性化方法:令 QUOTE 轉化為線性模型: QUOTE 即 QUOTE 間接替換法

21、間接代換法是先通過方程兩邊取對數后再進行變量代換,轉化為線性形式。指數函數基本形式: QUOTE 線性化方法:兩端去自然對數 QUOTE 令 QUOTE ,轉化為線性模型: QUOTE 冪函數基本形式: QUOTE 線性化方法:兩端去對數 QUOTE 令 QUOTE , QUOTE 轉化為線性模型: QUOTE 三、 SPSS軟件操作及應用實例定義變量和輸入、整理數據。選擇“分析/回歸/線性”,在線性回歸窗口自變量和因變量,單機“統(tǒng)計量”按鈕,在彈出的窗口設置參數;單機“圖”按鈕,可以選擇輸出的圖形。最后單擊繼續(xù)按鈕。在結果輸出窗口的一元或者多元線性回歸計算結果。根據選擇參數不同,得到ANOV

22、A和回歸系數等數據。例1:拖拉機拉桿的朱愛麗和速度有關,測得拖拉機在速度X下的拉力Y,數據見下表,求Y對x 回歸方程。變量數據X 0.9 1.3 2.0 2.7 3.4 4.1 5.2 5.5 6.0 425 420 480 495 540 530 590 610 690 680首先,在SPSS的數據編輯窗口的Variable View 界面定義變量和在Data view 界面輸入數據,見下圖。其次,選擇“分析”,在窗口選擇自變量也因變量,設置“統(tǒng)計量”的窗口設置參數等,見下圖最后點級確定,輸出結果,見下圖描述性統(tǒng)計量均值標準 偏差NY546.000095.7369110X3.45001.76

23、33610相關性YXPearson 相關性Y1.000.982X.9821.000Sig. (單側)Y.000X.000.NY1010X1010模型匯總模型RR 方調整 R 方標準 估計的誤差更改統(tǒng)計量R 方更改F 更改df1df2Sig. F 更改1.982a.964.96019.18691.964216.07418.000a. 預測變量: (常量), X。Anovaa模型平方和df均方FSig.1回歸79544.899179544.899216.074.000b殘差2945.1018368.138總計82490.0009a. 因變量: Yb. 預測變量: (常量), X。系數a模型非標準化

24、系數標準系數tSig.B標準 誤差試用版1(常量)362.06613.90626.036.000X53.3143.627.98214.699.000a. 因變量: Y結果分析:從運行求得回歸方程中可知,X的系數為53.314,常數項為362.066,于是,回歸方程為散點圖如下圖所示:經檢驗,回歸方程的顯著性達到0.0001,極顯著;對回歸方程系數及常數項T檢驗都達到極顯著,說明該方程有應用價值。四、 MATLAB應用實例煉鋼廠出鋼水時用的鋼包,在使用過程中由于鋼水及爐渣對耐火材料的浸蝕,其容積不斷增大?,F(xiàn)在鋼包的容積用盛滿鋼水時的重量y(kg)表示,相應的試驗次數用x表示。數據見表4.1,要找

25、出y與x的定量關系表達式。表4.1 鋼包的重量y與試驗次數x數據序號xy序號xY12106.42811110.5923108.20914110.6034109.581015110.9045109.501116110.7657110.001218110.0068109.931319110.20710110.49x1=1./x;y1=1./y;plot(x1,y1,k+); %變換后數據的散點圖x2=ones(13,1) x1;b,bint,rint,stats=regress(y1,x2);z=b(1)+b(2)*x1;yc=1./z;plot(x1,y1,k+,x1,z,r)%變換后數據的散點

26、圖和回歸直線圖變換后數據的散點圖及回歸直線圖R2=1-sum(y-yc).2)/lyy;%模型的擬合優(yōu)度系數plot(x,y,k+,x,yc,r)%數據的散點圖和回歸曲線圖legend(散點圖,回歸函數)b = 0.00896662968057 0.00082917436336R2 =0.97292374957556第一種方法的程序:format longx=2 3 4 5 7 8 10 11 14 15 16 18 19;y=106.42 108.20 109.58 109.5 110 109.93 110.49 110.59 110.60 110.9 110.76 111 111.20;p

27、lot(x,y,k+);%數據的散點圖x1=1./x;y1=1./y;plot(x1,y1,k+); %變換后數據的散點圖x2=ones(13,1) x1;b,bint,rint,stats=regress(y1,x2);z=b(1)+b(2)*x1;yc=1./z;plot(x1,y1,k+,x1,z,r)%變換后數據的散點圖和回歸直線圖n=length(x);lyy=sum(y.2)-n*(mean(y)2;R2=1-sum(y-yc).2)/lyy;%模型的擬合優(yōu)度系數b = 0.00896662968057 0.00082917436336R2 =0.97292374957556用類似

28、的方法可以得出其它三個曲線回歸方程,它們分別是: 第二種方法的程序:format longx=2 3 4 5 7 8 10 11 14 15 16 18 19;y=106.42 108.20 109.58 109.5 110 109.93 110.49 110.59 110.60 110.9 110.76 111 111.20;x1=log(x);y1=y;x2=ones(13,1) x1;b,bint,rint,stats=regress(y1,x2);bz=b(1)+b(2)*x1;yc=z;n=length(x);lyy=sum(y.2)-n*(mean(y)2;R2=1-sum(y-y

29、c).2)/lyy;plot(x,y,k+,x,yc,c);legend(散點圖,回歸函數)b = 1.0e+002 * 1.06314674075167 0.01713977247928R2 =0.87731500489620第三種方法的程序:format longx=2 3 4 5 7 8 10 11 14 15 16 18 19;y=106.42 108.20 109.58 109.5 110 109.93 110.49 110.59 110.60 110.9 110.76 111 111.20;x1=sqrt(x);y1=y;x2=ones(13,1) x1;b,bint,rint,s

30、tats=regress(y1,x2);bz=b(1)+b(2)*x1;yc=z;n=length(x);lyy=sum(y.2)-n*(mean(y)2;R2=1-sum(y-yc).2)/lyy;plot(x,y,k+,x,yc,k);legend(散點圖,回歸函數)b = 1.0e+002 * 1.06301275014382 0.01194728720517R2 = 0.78514164407253三種方法的擬合效果比較:R2 =0.97292374957556R2 =0.87731500489620R2 = 0.785141644072531.原始數據下表給出了某地區(qū)19712000

31、年的人口數據(表1)。試分別用Matlab和SPSS軟件,對該地區(qū)的人口變化進行曲線擬合。表4.2 某地區(qū)人口變化數據年份時間變量t=年份-1970人口y/人1971133 8151972233 9811973334 0041974434 1651975534 2121976634 3271977734 3441978834 4581979934 49819801034 47619811134 48319821234 48819831334 51319841434 49719851534 51119861634 52019871734 50719881834 50919891934 52119

32、902034 51319912134 51519922234 51719932334 51919942434 51919952534 52119962634 52119972734 52319982834 52519992934 52520003034 527根據上表中的數據,做出散點圖,見圖1。圖 4.1 某地區(qū)人口隨時間變化的散點圖從圖1可以看出,人口隨時間的變化呈非線性過程,而且存在一個與橫坐標軸平行的漸近線,故可以用Logistic曲線模型進行擬合。因為Logistic曲線模型的基本形式為:所以,只要令:,就可以將其轉化為直線模型:下面,我們分別用Matlab和SPSS軟件進行回歸分析

33、擬合計算。2用Matlab編程進行回歸分析擬合計算源程序(Nonlinear-Regression-Model.m),如下:clearclc% 讀入人口數據(19712000年)y = 33815 33981 34004 34165 34212 34327 34344 34458 34498 34476 34483 34488 34513 34497 34511 34520 34507 34509 34521 34513 34515 34517 34519 34519 34521 34521 34523 34525 34525 34527;% 讀入時間變量數據(t年份1970)t=1 2 3

34、4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30; % 線性化處理for t = 1:30, x(t)=exp(-t); y(t)=1/y(t,1);end% 計算,并輸出回歸系數Bc=zeros(30,1)+1;X=c,x;B=inv(X*X)*X*yfor i=1:30,% 計算回歸擬合值 z(i)=B(1,1)+B(2,1)*x(i);% 計算離差 s(i)=y(i)-sum(y)/30;% 計算誤差 w(i)=z(i)-y(i);end% 計算離差平方和SS=s*s;% 回歸誤差平方和Q

35、Q=w*w;% 計算回歸平方和UU=S-Q;% 計算,并輸出F檢驗值F=28*U/Q% 計算非線性回歸模型的擬合值for j=1:30, Y(j)=1/(B(1,1)+B(2,1)*exp(-j);end% 輸出非線性回歸模型的擬合曲線(Logisic曲線)plot(T,Y)上述程序運行后,輸出(1)輸出回歸系數B及F檢驗值如下:B = 1.0e-004 * 0.2902 0.0182F = 47.8774(2)輸出Logistic模型擬合曲線五 參考文獻1 徐梅. 概率與數理統(tǒng)計. 北京:中國農業(yè)出版社, 20072 吳素文. 概率論與數理統(tǒng)計. 北京: 中國農業(yè)出版社, 2003.3 葉中

36、行. 概率論與數理統(tǒng)計. 北京: 科學出版社, 2001. 4 金蘭,回歸分析與方差分析教學的幾點思考J.統(tǒng)計教育,2006. 5王兵團,數學建?;AM,北京:清華大學出版社,2004年6 徐玖平, 胡知能, 李軍. 運籌學(II類)M. 北京: 科學出版社, 2004.附錄資料:不需要的可以自行刪除 C語言圖形模式速成第一節(jié) 圖形模式的初始化Turbo C 提供了非常豐富的圖形函數,所有圖形函數的原型均在graphics. h 中,本節(jié)主要介紹圖形模式的初始化、獨立圖形程序的建立、基本圖形功能、圖形窗口以及圖形模式下的文本輸出等函數。另外,使用圖形函數時要確保有顯示器圖形驅動程序*.BGI,

37、同時將集成開發(fā)環(huán)境options/Linker中的Graphics lib選為on,只有這樣才能保證正確使用圖形函數。 不同的顯示器適配器有不同的圖形分辨率。即是同一顯示器適配器,在不同模式下也有不同分辨率。因此,在屏幕作圖之前,必須根據顯示器適配器種類將顯示器設置成為某種圖形模式,在未設置圖形模式之前,微機系統(tǒng)默認屏幕為文本模式(80列,25行字符模式),此時所有圖形函數均不能工作。設置屏幕為圖形模式,可用下列圖形初始化函數:void far initgraph(int far *gdriver, int far *gmode,char *path);其中gdriver和gmode分別表示圖

38、形驅動器和模式,path是指圖形驅動程序所在的目錄路徑。有關圖形驅動器、圖形模式的符號常數及對應的分辨率見graphics. h。圖形驅動程序由Turbo C出版商提供,文件擴展名為.BGI。 根據不同的圖形適配器有不同的圖形驅動程序。例如對于EGA、 VGA 圖形適配器就調用驅動程序EGAVGA.BGI。#include stdio.h#include graphics.hint main()int gdriver, gmode;gdriver=VGA;gmode=VGAHI;initgraph(&gdriver, &gmode, C:TC2.0BGI);bar3d(100, 100, 30

39、0, 250, 50, 1); /*畫一長方體*/getch();closegraph();return 0;有時編程者并不知道所用的圖形顯示器適配器種類,或者需要將編寫的程序用于不同圖形驅動器,Turbo C 提供了一個自動檢測顯示器硬件的函數,其調用格式為:void far detectgraph(int *gdriver, *gmode);其中gdriver和gmode的意義與上面相同。 自動進行硬件測試后進行圖形初始化:#include stdio.h#include graphics.hint main()int gdriver, gmode;detectgraph(&gdriver

40、, &gmode); /*自動測試硬件*/printf(the graphics driver is %d, mode is %dn,gdriver,gmode); /*輸出測試結果*/getch();initgraph(&gdriver, &gmode, C:TC2.0BGI);/* 根據測試結果初始化圖形*/bar3d(100, 100, 300, 250, 50, 1); /*畫一長方體*/getch();closegraph();return 0;上例程序中先對圖形顯示器自動檢測,然后再用圖形初始化函數進行初始化設置,但Turbo C提供了一種更簡單的方法, 即用gdriver=DET

41、ECT 語句后再跟initgraph()函數就行了。采用這種方法后,上例可改為:#include stdio.h#include graphics.hint main()int gdriver=DETECT, gmode;initgraph(&gdriver, &gmode, C:TC2.0BGI);bar3d(50, 50, 150, 30, 50, 1);getch();closegraph();return 0;另外,Turbo C 提供了退出圖形狀態(tài)的函數closegraph(),其調用格式為:void far closegraph(void);第二節(jié) 屏幕顏色的設置和清屏函數對于圖形

42、模式的屏幕顏色設置,同樣分為背景色的設置和前景色的設置。在Turbo C中分別用下面兩個函數: 設置背景色: void far setbkcolor(int color);設置作圖色: void far setcolor(int color);其中color 為圖形方式下顏色的規(guī)定數值,對EGA,VGA顯示器適配器,有關顏色的符號常數及數值見graphics.h。清除圖形屏幕內容但不清除圖形背景使用清屏函數,其調用格式如下: voide far cleardevice(void);#include stdio.h#include graphics.hint main()int gdriver,

43、 gmode, i,aa;gdriver=DETECT;initgraph(&gdriver, &gmode, C:TC2.0BGI); /*圖形初始化*/setbkcolor(0); /*設置圖形背景*/cleardevice();for(i=0; i=15; i+)setcolor(i); /*設置不同作圖色*/circle(320, 240, 20+i*10); /*畫半徑不同的圓*/getch();for(i=0; i=15; i+)setbkcolor(i); /*設置不同背景色*/cleardevice();circle(320, 240, 20+i*10);getch();aa=

44、getmaxcolor();printf(maxcolor=%d,aa);getch();closegraph();return 0;另外,TURBO C也提供了幾個獲得現(xiàn)行顏色設置情況的函數。 int far getbkcolor(void); 返回現(xiàn)行背景顏色值。int far getcolor(void); 返回現(xiàn)行作圖顏色值。int far getmaxcolor(void); 返回最高可用的顏色值。第三節(jié) 基本畫圖函數基本圖形函數包括畫點,線以及其它一些基本圖形的函數。本節(jié)對這些函數作一全面的介紹。 、畫點. 畫點函數 void far putpixel(int x, int y,

45、int color); 該函數表示有指定的象元畫一個按color 所確定顏色的點。對于顏色color的值可從表3中獲得而對x, y是指圖形象元的坐標。在圖形模式下,是按象元來定義坐標的。對VGA適配器,它的最高分辨率為640 x480,其中640為整個屏幕從左到右所有象元的個數,480為整個屏幕從上到下所有象元的個數。屏幕的左上角坐標為(0,0),右下角坐標為(639, 479),水平方向從左到右為x 軸正向,垂直方向從上到下為y軸正向。TURBO C的圖形函數都是相對于圖形屏幕坐標,即象元來說的。關于點的另外一個函數是: int far getpixel(int x, int y); 它獲得

46、當前點(x, y)的顏色值。 II、有關坐標位置的函數 int far getmaxx(void);返回x軸的最大值。int far getmaxy(void);返回y軸的最大值。int far getx(void); 返回游標在x軸的位置。void far gety(void); 返回游標有y軸的位置。void far moveto(int x, int y); 移動游標到(x, y)點,不是畫點,在移動過程中亦畫點。void far moverel(int dx, int dy); 移動游標從現(xiàn)行位置(x, y)移動到(x+dx, y+dy)的位置,移動過程中不畫點。、畫線I. 畫線函數T

47、URBO C提供了一系列畫線函數: void far line(int x0, int y0, int x1, int y1); 畫一條從點(x0, y0)到(x1, y1)的直線。void far lineto(int x, int y); 畫一作從現(xiàn)行游標到點(x, y)的直線。void far linerel(int dx, int dy); 畫一條從現(xiàn)行游標(x,y)到按相對增量確定的點(x+dx, y+dy)的直線。void far circle(int x, int y, int radius); 以(x, y)為圓心,radius為半徑,畫一個圓。void far arc(int

48、 x, int y, int stangle, int endangle,int radius); 以(x,y)為圓心,radius為半徑,從stangle開始到endangle結束(用度表示)畫一段圓弧線。在TURBO C中規(guī)定x軸正向為0 度,逆時針方向旋轉一周, 依次為90,180, 270和360度(其它有關函數也按此規(guī)定,不再重述)。 void ellipse(int x, int y, int stangle, int endangle,int xradius,int yradius);以(x, y)為中心,xradius,yradius為x軸和y軸半徑,從角stangle 開始到

49、endangle結束畫一段橢圓線,當stangle=0,endangle=360時, 畫出一個完整的橢圓。void far rectangle(int x1, int y1, int x2, inty2); 以(x1, y1)為左上角,(x2, y2)為右下角畫一個矩形框。 void far drawpoly(int numpoints, int far *polypoints); 畫一個頂點數為numpoints,各頂點坐標由polypoints給出的多邊形。polypoints整型數組必須至少有2 倍頂點數個無素。每一個頂點的坐標都定義為x,y,并且x在前。值得注意的是當畫一個封閉的多邊形

50、時,numpoints 的值取實際多邊形的頂點數加一,并且數組polypoints中第一個和最后一個點的坐標相同。下面舉一個用drawpoly()函數畫箭頭的例子。#include stdio.h#include graphics.hint main()int gdriver, gmode, i;int arw16=200,102,300,102,300,107,330,100,300,93,300,98,200,98,200,102;gdriver=DETECT;initgraph(&gdriver, &gmode, C:TC2.0BGI);setbkcolor(BLUE);cleardev

51、ice();setcolor(12); /*設置作圖顏色*/drawpoly(8, arw); /*畫一箭頭*/getch();closegraph();return 0;II、設定線型函數在沒有對線的特性進行設定之前,TURBO C 用其默認值,即一點寬的實線,但TURBO C 也提供了可以改變線型的函數。線型包括:寬度和形狀。其中寬度只有兩種選擇:一點寬和三點寬。而線的形狀則有五種。下面介紹有關線型的設置函數。void far setlinestyle(int linestyle,unsigned upattern,int thickness);該函數用來設置線的有關信息,其中l(wèi)inest

52、yle是線形狀的規(guī)定,見graphics.h。對于upattern,只有l(wèi)inestyle選USERBIT_LINE 時才有意義 (選其它線型,uppattern取0即可)。此時uppattern的16位二進制數的每一位代表一個象元,如果那位為1,則該象元打開,否則該象元關閉。 void far getlinesettings(struct linesettingstypefar *lineinfo);該函數將有關線的信息存放到由lineinfo 指向的結構中,表中l(wèi)inesettingstype的結構如下:struct linesettingstypeint linestyle;unsign

53、ed upattern;int thickness;例如下面兩句程序可以讀出當前線的特性 struct linesettingstype *info;getlinesettings(info);void far setwritemode(int mode);該函數規(guī)定畫線的方式。如果mode=0,則表示畫線時將所畫位置的原來信息覆蓋了(這是TURBO C的默認方式)。如果mode=1, 則表示畫線時用現(xiàn)在特性的線與所畫之處原有的線進行異或(XOR)操作,實際上畫出的線是原有線與現(xiàn)在規(guī)定的線進行異或后的結果。因此,當線的特性不變,進行兩次畫線操作相當于沒有畫線。有關線型設定和畫線函數的例子如下所

54、示。#include stdio.h#include graphics.hint main()int gdriver, gmode, i;gdriver=DETECT;initgraph(&gdriver, &gmode, C:TC2.0BGI);setbkcolor(BLUE);cleardevice();setcolor(GREEN);circle(320, 240, 98);setlinestyle(0, 0, 3); /*設置三點寬實線*/setcolor(2);rectangle(220, 140, 420, 340);setcolor(WHITE);setlinestyle(4,

55、0 xaaaa, 1);/*設置一點寬用戶定義線*/line(220, 240, 420, 240);line(320, 140, 320, 340);getch();closegraph();return 0;第四節(jié) 基本圖形的填充填充就是用規(guī)定的顏色和圖模填滿一個封閉圖形。 一般是先畫輪廓再填充。TURBO C提供了一些先畫出基本圖形輪廓, 再按規(guī)定圖模和顏色填充整個封閉圖形的函數。在沒有改變填充方式時,TURBO C 以默認方式填充。 void far bar(int x1, int y1, int x2, int y2);確定一個以(x1,y1)為左上角,(x2,y2)為右下角的矩形窗

56、口,再按規(guī)定圖模和顏色填充。說明:此函數不畫出邊框,所以填充色為邊框。void far bar3d(int x1, int y1, int x2, int y2,int depth,int topflag);當topflag為非0時, 畫出一個三維的長方體。當topflag為0時,三維圖形不封頂,實際上很少這樣使用。說明: bar3d()函數中,長方體第三維的方向不隨任何參數而變,即始終為45度的方向。void far pieslice(int x,int y,int stangle,int endangle,int radius);畫一個以(x, y)為圓心,radius為半徑,stangl

57、e為起始角度,endangle 為終止角度的扇形,再按規(guī)定方式填充。當stangle=0,endangle=360 時變成一個實心圓,并在圓內從圓點沿X軸正向畫一條半徑。void far sector(int x, int y,int stanle,intendangle,int xradius, int yradius);畫一個以(x, y)為圓心分別以xradius, yradius為x軸和y軸半徑,stangle 為起始角,endangle為終止角的橢圓扇形,再按規(guī)定方式填充。第五節(jié) 設定填充方式TURBO C有四個與填充方式有關的函數。下面分別介紹: void far setfills

58、tyle(int pattern, int color); color的值是當前屏幕圖形模式時顏色的有效值。pattern的值及與其等價的符號常數見graphics.h。除USER_FILL(用戶定義填充式樣)以外,其它填充式樣均可由setfillstyle() 函數設置。當選用USER_FILL時,該函數對填充圖模和顏色不作任何改變。 之所以定義USER_FILL主要因為在獲得有關填充信息時用到此項。void far setfillpattern(char * upattern,int color); 設置用戶定義的填充圖模的顏色以供對封閉圖形填充。其中upattern是一個指向8個字節(jié)的指

59、針。這8個字節(jié)定義了8x8點陣的圖形。每個字節(jié)的8位二進制數表示水平8點,8個字節(jié)表示8行,然后以此為模型向個封閉區(qū)域填充。void far getfillpattern(char * upattern); 該函數將用戶定義的填充圖模存入upattern指針指向的內存區(qū)域。void far getfillsetings(struct fillsettingstypefar * fillinfo); 獲得現(xiàn)行圖模的顏色并將存入結構指針變量fillinfo中。其中fillsettingstype結構定義如下:struct fillsettingstypeint pattern; /* 現(xiàn)行填充模式

60、 * /int color; /* 現(xiàn)行填充模式 * /; 有關圖形填充圖模的顏色的選擇,請看下面例程。#include stdio.h#include graphics.hmain()char str8=10,20,30,40,50,60,70,80; /*用戶定義圖模*/int gdriver,gmode,i;struct fillsettingstype save;/*定義一個用來存儲填充信息的結構變量*/gdriver=DETECT;initgraph(&gdriver,&gmode,C:TC2.0BGI);setbkcolor(BLUE);cleardevice();for(i=0;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論