Re: [問題] 線性回歸 強迫截距為零

看板MATLAB作者 (彩色筆)時間10年前 (2014/11/23 02:31), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
剛剛無聊推導了一下 線性回歸方程式 令理想的直線方程式為 y=ax+b 而我們手上有的資料點為 yi=ax+b+c 此時c為描述實際資料與模型的誤差 我們目標是令誤差越小越好,有很多種求法 最簡單的就是最小平方法 所以我們的目標函數建立如下 Q = Σ(yi-axi-b)^2 做偏微分運算 ∂/∂a (Q) = 2*Σ[(yi-axi-b)xi] = 0 ∂/∂b (Q) = 2*Σ(yi-axi-b) = 0 整理方程式 Σ(xi^2) * a + Σ(xi) * b = Σ(xiyi) Σ(xi) * a + n * b = Σ(yi) 解聯立,克拉瑪簡單解一下 |Σ(xi^2) Σ(xi)| | a | | Σ(xiyi)| | | | | = | | | Σ(xi) n | | b | | Σ(yi) | Δ = n*Σ(xi^2) - Σ(xi)Σ(xi) Δa = n*Σ(xiyi) - Σ(xi)Σ(yi) Δb = Σ(xi^2)*Σ(yi) - Σ(xiyi)*Σ(xi) a = [n*Σ(xiyi) - Σ(xi)Σ(yi)] / [n*Σ(xi^2) - Σ(xi)Σ(xi)] b = [Σ(xi^2)*Σ(yi) - Σ(xiyi)*Σ(xi)] / [n*Σ(xi^2) - Σ(xi)Σ(xi)] 有更簡單的形式,不過原則點到此 --------------------------------------- 好der,剛剛只是複習,接下來回到你的問題 Q = Σ(yi-axi)^2 ∂/∂a (Q) = 2*Σ[(yi-axi)xi] = 0 Σ(xiyi) - aΣ(xi^2) = 0 a = Σ(xiyi)/Σ(xi^2) 故得證 ※ 引述《fxxkjoe1231 (糟糕)》之銘言: : 大家好,我手邊有兩筆資料。 : 按照理論的推導,這兩筆資料應為y=ax的關係, : 然而實際在進行回歸的時候仍會有截距的存在, : 請問該如何強迫截距為零呢? : 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.125.75 ※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1416681060.A.461.html

11/23 10:16, , 1F
非常感謝!
11/23 10:16, 1F
文章代碼(AID): #1KSDPaHX (MATLAB)
文章代碼(AID): #1KSDPaHX (MATLAB)