版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
高等數(shù)理統(tǒng)計課程實驗【摘要】本實驗報告描述了用最小二成估計算法解決實際問題中參數(shù)估計的過程。包括引言、實驗原理、實驗過程、實驗結(jié)果及分析,同時給出了在實驗過程中所遇到的問題描述,以及問題是否解決及待改進(jìn)的地方。本次實驗所采用的編程工具為Visualstudio2008,編程語言采用C++。1引言:實驗?zāi)康模簯?yīng)用參數(shù)估計方法解決實際問題。實驗意義:通過本次實驗,更加熟爛的掌握最小二成估計算法。使用實驗中給出的數(shù)據(jù)選用適當(dāng)?shù)暮瘮?shù)(如適當(dāng)階次的多項式、高斯勢函數(shù)),用LS估計方法,擬合給定數(shù)據(jù),給出擬合強(qiáng)度系數(shù)以及噪聲方差(設(shè)為獨(dú)立高斯噪聲)。2原理:y=a+bx+e,其中y、x可測,e是均值為0的隨機(jī)變量,a、b為未知參數(shù)。通過n次實驗,得到測量數(shù)據(jù)yi和xi,i=1,2,…,n,確定未知參數(shù)a、b。使的估計稱為最小二乘(LS)估計,即殘差平方和最小的估計。基本模型:寫為向量形式為:寫為矩陣形式為:其中:擬合強(qiáng)度系數(shù)推導(dǎo)公式為:^β=(X’X)X’Y所以擬合后的函數(shù)值為:^Y=X^β殘差平方和計算公式如下:噪聲方差計算公式:Yawp=J(a)/(p-n)其中p為矩陣Y的行數(shù),n為所使用的階數(shù)。3實驗結(jié)果及分析:11010110102103……10n120202203……20n130302303…….30n…………….116716721673........167n....構(gòu)造X為:X=-152-152-148-148-166-158。。。.-115-108-120..Y=共167個數(shù)據(jù)輸入不同的N進(jìn)行實驗,觀察不同的N值所對應(yīng)的殘差平方和及噪聲方差:下圖中黑線為原始數(shù)據(jù)所對應(yīng)的函數(shù)圖,紅色為N階擬合函數(shù)圖。以下列舉幾個比較具有代表性的N值所對應(yīng)的擬合函數(shù)及對應(yīng)的殘差平方和與噪聲方差。(1)取N=3實驗結(jié)果如下:(2)取N=9(3)取N=13(4)取N=17(5)取N=40觀察以上N階擬合函數(shù),發(fā)現(xiàn)當(dāng)N=17時擬合效果最好,即在N=17時殘差平方和最小。4小結(jié)試驗中遇到的一些問題:(1)在寫求矩陣的逆矩陣的算法時,要先判斷該矩陣的行列式是否為0,由于邏輯錯誤,導(dǎo)致程序進(jìn)入死循環(huán)。解決方法:不在程序中判斷矩陣的行列式是否為0,改為在實驗過程中保證所涉及的矩陣行列式都不為0,再進(jìn)行運(yùn)算。(2)描述一個矩陣時要用一個數(shù)組及x,y來描述,但是這樣曾加了結(jié)構(gòu)復(fù)雜度,導(dǎo)致整體結(jié)構(gòu)復(fù)雜。解決方法:用一個結(jié)構(gòu)體封裝這個矩陣,結(jié)構(gòu)體里包含存放數(shù)據(jù)的數(shù)組及表示行數(shù)列數(shù)的x,y。(3)開始把數(shù)據(jù)類型定義為DOUBLE,但是在計算N很大時有可能發(fā)出溢出。解決方法:使用第三方高精度浮點(diǎn)數(shù)運(yùn)算庫函數(shù)。但是由于能力有限,該錯誤還是存在,例如上面當(dāng)N=17時,殘差平方和很小,但擬合函數(shù)在后期卻顯示出與原函數(shù)偏差很大,估計就是由這一未解決的問題引起的。5參考文獻(xiàn)[1]孫榮恒.應(yīng)用數(shù)理統(tǒng)計[M].北京:科學(xué)出版社,2003.[2]夏普(英).Visualstudio2008從入門到精通[M].北京:清華大學(xué)出版社,2009.[3]同濟(jì)大學(xué)應(yīng)用數(shù)學(xué)系.線性代數(shù)[M].北京:高等教育出版社,2003.6附錄:主要程序代碼:(1)求矩陣轉(zhuǎn)置的算法:taticintMatrixAlgo::Transpose(Matrix<T>&matrix){ intnxTmp;//轉(zhuǎn)置后的x intnyTmp;//轉(zhuǎn)置后的y nxTmp=matrix.ny; nyTmp=matrix.nx; T*tmp_matrix_arry=newT[nxTmp*nyTmp]; if(tmp_matrix_arry==NULL) return0; for(intx=0;x<matrix.nx;++x) { for(inty=0;y<matrix.ny;++y) { tmp_matrix_arry[y*nyTmp+x]=matrix.matrix_arry[x*matrix.ny+y]; } } T*delete_tmp=matrix.matrix_arry; matrix.matrix_arry=tmp_matrix_arry; matrix.nx=nxTmp; matrix.ny=nyTmp; delete[]delete_tmp; return1;}(2)求矩陣逆矩陣的算法:staticintMatrixAlgo::Inverse(Matrix<T>&matrix){ if(matrix.nx!=matrix.ny) return0; intn=matrix.nx; int*is,*js,i,j,k,l,u,v; Td,p; is=newint[n]; js=newint[n];//開始計算逆矩陣 for(k=0;k<=n-1;k++) { d=0.0; for(i=k;i<=n-1;i++) { for(j=k;j<=n-1;j++) { l=i*n+j; p=fabs(matrix.matrix_arry[l]); if(p>d) { d=p; is[k]=i; js[k]=j; } } } if(is[k]!=k) { for(j=0;j<=n-1;j++) { u=k*n+j; v=is[k]*n+j; p=matrix.matrix_arry[u]; matrix.matrix_arry[u]=matrix.matrix_arry[v]; matrix.matrix_arry[v]=p; } } if(js[k]!=k) { for(i=0;i<=n-1;i++) { u=i*n+k; v=i*n+js[k]; p=matrix.matrix_arry[u]; matrix.matrix_arry[u]=matrix.matrix_arry[v]; matrix.matrix_arry[v]=p; } } l=k*n+k; matrix.matrix_arry[l]=1.0/matrix.matrix_arry[l]; for(j=0;j<=n-1;j++) { if(j!=k) { u=k*n+j; matrix.matrix_arry[u]=matrix.matrix_arry[u]*matrix.matrix_arry[l]; } } for(i=0;i<=n-1;i++) { if(i!=k) { for(j=0;j<=n-1;j++) { if(j!=k) { u=i*n+j; matrix.matrix_arry[u]=matrix.matrix_arry[u]-matrix.matrix_arry[i*n+k]*matrix.matrix_arry[k*n+j]; } } } } for(i=0;i<=n-1;i++) { if(i!=k) { u=i*n+k; matrix.matrix_arry[u]=-matrix.matrix_arry[u]*matrix.matrix_arry[l]; } } } for(k=n-1;k>=0;k--) { if(js[k]!=k) { for(j=0;j<=n-1;j++) { u=k*n+j; v=js[k]*n+j; p=matrix.matrix_arry[u]; matrix.matrix_arry[u]=matrix.matrix_arry[v]; matrix.matrix_arry[v]=p; } } if(is[k]!=k) for(i=0;i<=n-1;i++) { u=i*n+k; v=i*n+is[k]; p=matrix.matrix_arry[u]; matrix.matrix_arry[u]=matrix.matrix_arry[v]; matrix.matrix_arry[v]=p; } } delete[]is;delete[]js; return1;}(3)矩陣乘法算法:staticMatrix<T>*MatrixAlgo::Multiplication(Matrix<T>&matrix_lift,Matrix<T>&matrix_right){ Matrix<T>*tmp_matrix=newMatrix<T>; if(matrix_lift.ny!=matrix_right.nx)//非法 { returnNULL; } intnxTmp=matrix_lift.nx;//乘法后的x intnyTmp=matrix_right.ny;//乘法后的y T*tmp_matrix_arry=newT[nxTmp*nyTmp]; if(tmp_matrix_arry==NULL) { returnNULL; } inti,j,l,u; for(i=0;i<=nxTmp-1;i++) { for(j=0;j<=nyTmp-1;j++) { u=i*nyTmp+j; tmp_matrix_arry[u]=0; for(l=0;l<=matrix_lift.ny-1;l++) { tmp_matrix_arry[u]=(tmp_matrix_arry[u]+matrix_lift.matrix_arry[i*matrix_lift.ny+l]*matrix_right.matrix_arry[l*nyTmp+j]); } } } //T*delete_tmp=matrix.matrix_arry; tmp_matrix->matrix_arry=tmp_matrix_arry; tmp_matrix->nx=nxTmp; tmp_matrix->ny=nyTmp; //delete[]delete_tmp; returntmp_matrix;}(4)計算^β,依次調(diào)用函數(shù)順序為: intSetXMatrix(intrank,intspace); intSetYMatrix(int*arry,intn); voidClear(); voidXClear();具體函數(shù)算法見附
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年高中英語Unit1SchoollifeSectionⅦGuidedWriting教師用書教案牛津譯林版必修1
- 2024-2025學(xué)年高中歷史課時分層作業(yè)一1.1統(tǒng)一中國的第一個皇帝秦始皇含解析新人教版選修4
- 2025年度虛擬現(xiàn)實VR教育內(nèi)容開發(fā)與運(yùn)營合同3篇
- 旅游地產(chǎn)尾盤銷售代理合同(2025版)9篇
- 2025年土地租賃合同終止及合同解除條件協(xié)議
- 2025臨時土地出租及設(shè)施建設(shè)合作協(xié)議3篇
- 2025年度大型企業(yè)人力資源成本控制與預(yù)算合同3篇
- 2024食品行業(yè)供應(yīng)鏈管理服務(wù)合作協(xié)議3篇
- 2024石油化工公司化工產(chǎn)品供應(yīng)承包合同
- 2025年度知識產(chǎn)權(quán)保護(hù)委托維權(quán)服務(wù)協(xié)議3篇
- 中國華能集團(tuán)公司風(fēng)力發(fā)電場運(yùn)行導(dǎo)則(馬晉輝20231.1.13)
- 中考語文非連續(xù)性文本閱讀10篇專項練習(xí)及答案
- 2022-2023學(xué)年度六年級數(shù)學(xué)(上冊)寒假作業(yè)【每日一練】
- 法人不承擔(dān)責(zé)任協(xié)議書(3篇)
- 電工工具報價單
- 反歧視程序文件
- 油氣藏類型、典型的相圖特征和識別實例
- 流體靜力學(xué)課件
- 顧客忠誠度論文
- 實驗室安全檢查自查表
- 證券公司績效考核管理辦法
評論
0/150
提交評論