1樓:匿名使用者
我們以一簡單資料組來說明什麼是線性迴歸。假設有一組資料型態為 y=y(x),其中 x=, y= 如果我們要以一個最簡單的方程式來近似這組資料,則非一階的線性方程式莫屬。先將這組資料繪圖如下 圖中的斜線是我們隨意假設一階線性方程式 y=20x,用以代表這些資料的一個方程式。
以下將上述繪圖的 matlab 指令列出,並計算這個線性方程式的 y 值與原資料 y 值間誤差平方的總合。 >> x=[0 1 2 3 4 5]; >> y=[0 20 60 68 77 110]; >> y1=20*x; % 一階線性方程式的 y1 值 >> sum_sq = sum(y-y1).^2); % 誤差平方總合為 573 >> axis([-1,6,-20,120]) >> plot(x,y1,x,y,'o'), title('linear estimate'), grid 如此任意的假設一個線性方程式並無根據,如果換成其它人來設定就可能採用不同的線性方程式;所以我們 須要有比較精確方式決定理想的線性方程式。
我們可以要求誤差平方的總合為最小,做為決定理想的線性方 程式的準則,這樣的方法就稱為最小平方誤差(least squares error)或是線性迴歸。matlab的polyfit函式提供了 從一階到高階多項式的迴歸法,其語法為polyfit(x,y,n),其中x,y為輸入資料組n為多項式的階數,n=1就是一階 的線性迴歸法。polyfit函式所建立的多項式可以寫成 從polyfit函式得到的輸出值就是上述的各項係數,以一階線性迴歸為例n=1,所以只有 二個輸出值。
如果指令為coef=polyfit(x,y,n),則coef(1)= , coef(2)=,...,coef(n+1)= 。注意上式對n 階的多 項式會有 n+1 項的係數。
我們來看以下的線性迴歸的示範: >> x=[0 1 2 3 4 5]; >> y=[0 20 60 68 77 110]; >> coef=polyfit(x,y,1); % coef 代表線性迴歸的二個輸出值 >> a0=coef(1); a1=coef(2); >> ybest=a1*x+a0; % 由線性迴歸產生的一階方程式 >> sum_sq=sum(y-ybest).^2); % 誤差平方總合為 356.
82 >> axis([-1,6,-20,120]) >> plot(x,ybest,x,y,'o'), title('linear regression estimate'), grid
參考資料
2樓:秒懂百科
一元線性迴歸方程:表示為y=a bx的方程
什麼是毒力迴歸方程,毒力迴歸方程
毒力迴歸方程是什麼,迴歸係數中的r表示負相關係數,r的平方是表示自變數能夠解釋因變數的變異程度。請詳細說明你的問題,或許我能幫你解決。毒力迴歸方程 需要先做個預備試驗,得知大概的濃度,然後在該濃度上下分別設濃度,如200,400,800,1600,3200。你那樣做在理論上是可以算出結果,但是可能會...
高中數學,線性迴歸方程公式b怎麼求,解釋的詳細點
第二 分別計算分子和分母 兩個公式任選其一 分子 x1y1 x2y2 x3y3 xnyn nx y 分母 x1 2 x2 2 x3 2 xn 2 n x 2 第三 計算 b b 分子 分母 用最小二乘法估計引數b,設服從正態分佈,分別求對a b的偏導數並令它們等於零,得方程組解為 其中 且為觀測值的...
用MATLAB求下面的迴歸方程,謝謝!求過程
秦晶輝聲涵 可以不用擬合工具箱,直接用矩陣除法即可!因為為線性求a1,a2即把a1,a2當成未知數,x1,x2,y a0當成已知量則x1 a1 x2 a2 y a0,即 x1,x2 a1 a2 y a0 令矩陣a x1,x2 x1 0 x2 0 x1 1 x2 1 x1 10 x2 10 b y a...