- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
10-曲线拟合与回归分析.ppt
MATLAB 程式設計進階篇曲線擬合與迴歸分析
張智星 (Roger Jang)
jang@
/jang
清大資工系 多媒體檢索實驗室
資料擬和簡介
資料擬合(Data Fitting)
給定一組資料(含輸入及輸出),建立一個數學模型,來逼近此資料的輸入輸出特性
如果此資料包含一維輸入及輸出,則此數學模型可以表示成一條曲線,在此情況下又稱為曲線擬合(Curve Fitting)
迴歸分析(Regression Analysis)
使用統計的方法來進行資料擬和,並分析每一個變數的統計特性,此過程稱為迴歸分析
曲線擬合簡介
曲線擬合(Curve Fitting)
欲建立的數學模型是「單輸入、單輸出」(Single-input Single-output,簡稱SISO),其特性可用一條曲線來表示
迴歸分析之分類
若模型是線性模型,則此類問題稱為線性迴歸(Linear Regression)
若模型是非線性模型,則稱為非線性迴歸(Nonlinear Regression)。
觀察資料是美國自 1790 至 1990 年(以 10 年為一單位)的總人口,此資料可由載入檔案 census.mat 得到:
範例10-1: censusPlot01.m
曲線擬合:美國人口範例
load census.mat % 載入人口資料
plot(cdate, pop, o); % cdate 代表年度,pop 代表人口總數
xlabel(年度);
ylabel(美國人口總數);
模型選取
由上圖資料分佈,可猜測這適合的曲線可能是二次拋物線
其中y為輸出,x為輸入, 則為此模型的參數。由於參數相對於y呈線性關係,所以此模型為稱線性模型
目標
找出最好的參數值,使得模型輸出與實際資料越接近越好,此過程即稱為線性迴歸
曲線擬合之模型選取
曲線擬和的平方誤差
假設觀察資料可寫成 ,i= 1~21。當輸入為 時,實際輸出為 。
模型的預測值為
平方誤差:
總平方誤差 是參數 的函數,這也是我們要最小化的目標函數,可表示如下:
曲線擬合之目標函數
求得參數 、 、 的最佳值
求出 對 、 、 的導式,令其為零,即可解出 、 、 的最佳值。
總平方誤差 為 的二次式
導式 、 及 為 的一次式
令上述導式為零之後,我們可以得到一組三元一次線性聯立方程式,就可以解出參數 、 、 的最佳值。
目標函數之求解
假設 21 個觀察點均通過此拋物線,將這 21 個點帶入拋物線方程式,得到下列21個等式:
亦可寫成
其中 、 為已知, 為未知向量。
矩陣表示法
觀察
上述21個方程式,只有 3 個未知數 ,所以通常不存在一組解來滿足這 21 個方程式。
在一般情況下,只能找到一組 ,使得等號兩邊的差異為最小,此差異可寫成
此即為前述的總平方誤差
MATLAB 提供一個簡單方便的「左除」(\)指令,來解出最佳的 ,使得總平方誤差為最小。
MATLAB的最小平方解
利用「左除」來算出最佳的參數值,並同時畫出具有最小平方誤差的二次曲線
範例10-2: census01.m
曲線擬合運算範例
load census.mat % 載入人口資料
plot(cdate, pop, o); % cdate 代表年度,pop 代表人口總數
A = [ones(size(cdate)), cdate, cdate.^2];
y = pop;
theta = A\y; % 利用「左除」,找出最佳的 theta 值
plot(cdate, pop, o, cdate, A*theta, -);
legend(實際人口數, 預測人口數);
xlabel(年度);
ylabel(美國人口總數);
曲線擬合結果
由上述範例,我們可以找出最佳的
因此具有最小平方誤差的拋物線可以寫成:
提示:左除及右除
左除的概念,可記憶如下:原先的方程式是 A*theta = y,我們可將 A移項至等號右邊,而得到 theta = A\y。必須小心的是:原先 A 在乘式的第一項,所以移到等號右邊後,A 仍然必須是除式的第一項。
若我們要解的方程式是 theta*A = y,則同樣的概念可得到最小平方解 theta = y/A。
根據上拋物線數學模型,我們可以預測美國在 2000 年的人口總數為:
範例10-3: census02.m
以模型預測人口總數
load census.mat % 載入人口資料
A = [ones(size(cdate)), cdate, cdate.^2];
theta = A\po
您可能关注的文档
- (信息)毕业设计(论文)中期答辩分组-安徽建筑大学.doc
- (GPS)简介.doc-郭艳光.doc
- 0.解题报告范例(cata)-算法设计与分析.ppt
- 023310000数据结构课程考试说明.doc.doc
- 05资讯安全-攻击.ppt
- 06年《线性代数与几何》(下)第1次课-北京大学力学系.ppt
- 051230@52RD_实验5低噪声放大器的设计制作与调试.ppt-微波EDA网.ppt
- 07.图形结构.doc.doc
- 06图02-数据结构课程教学网站.ppt
- 09-3-9离散命题逻辑3.doc.doc
- 10302-1三年级数学.doc-光华国中.doc
- 104年物理学科能力测验试卷.docdoc.doc
- 1080P高清超低照度MINI防暴半球网络摄像机_NCC-恒业国际.doc
- 12.2线性方程组的相容性定理.ppt
- 12春天盛开的紫罗兰――现代数学选论.ppt
- 13.4_课题学习_最短路径问题课件_(新版).ppt
- 13.2电路连接的基本方式(第三课时)学习目标1、掌握根据电路图连.doc
- 16.2010级计算机科学与技术专业专科起点本科业余(夜大)教学计划.doc.doc
- 16第九章常微分方程初值问题的数值解法1.ppt.ppt
- 166232中山翠亨新区起步区第一小学项目设计招标项目2016-9-2(V7).doc
文档评论(0)