一元線性回歸的求解

2021-02-21 NLP的人生拓撲Transform變換器
1 最小二乘法及代數求解

最小二乘法中的「二乘」代表平方,最小二乘也就是最小平方。例如,使用最小二乘法求解平方損失函數最小值,推導如下:首先,平方損失函數為:

求取平方損失函數𝑚𝑖𝑛(𝑓) 最小時,對應的 𝑤。首先求 𝑓 的 1 階偏導數:

以及  ,解得:

即為平方損失函數最小時對應的 w 參數值,也就是最佳擬合直線。

使用Python實現:

def w_calculator(x, y):
   n = len(x)
   w1 = (n*sum(x*y) - sum(x)*sum(y))/(n*sum(x*x) - sum(x)*sum(x))
   w0 = (sum(x*x)*sum(y) - sum(x)*sum(x*y))/(n*sum(x*x)-sum(x)*sum(x))
   return w0, w1

2 使用scipy.optimize.leastsq求解

leastsq就是使用最小二乘法求解的工具包。

關於 scipy.optimize.leastsq() 的具體使用介紹,可以閱讀 官方文檔。特別注意的是,上面我們定義的 p_init 並不是官方文檔中最小化初始參數的意思,因為最小二乘法是解析解,其不會涉及到從某個參數開始迭代的過程。實際上,這裡 p_init 的具體取值不會影響求解結果,所以我們使用了隨機值,但是其值的個數決定了最終多項式的次數。具體來說,n 個值則最終求解出的是 n−1 次多項式。

本例是求解一元線性回歸,因此n取2,即w0和w1。

from scipy.optimize import leastsq
import numpy as np

w_init = np.random.randn(2)

def loss_func(w, x, y):
   w0, w1 = w
   y_hat = w0 + w1*x
   loss = y_hat - y
   return loss

W = leastsq(loss_func, w_init, args=(x, y))

3 使用sklearn.linear_model.LinearRegression求解
sklearn.linear_model.LinearRegression(fit_intercept=True, normalize=False, copy_X=True, n_jobs=1)

- fit_intercept: 默認為 True,計算截距項。
- normalize: 默認為 False,不針對數據進行標準化處理。
- copy_X: 默認為 True,即使用數據的副本進行操作,防止影響原數據。
- n_jobs: 計算時的作業數量。默認為 1,若為 -1 則使用全部 CPU 參與運算

from sklearn.linear_model import LinearRegression

model = LinearRegression()
model.fit(x.reshape(len(x), 1), y)  # 注意,fit必須要求x的shape為n行1列,y的shape沒有這個要求

model.intercept_, model.coef_

其實,LinearRegression求解過程中不僅使用了最小二乘法,還融合了部分嶺回歸,LASSO回歸等。

相關焦點

  • 多元線性回歸分析:納入多元回歸自變量的確定及求解多元回歸方程
    許栩原創專欄《從入門到高手:線性回歸分析詳解》第五章,多元線性回歸分析:如何求解多元線性回歸方程。在前面的章節中我講到,實際需求預測場景中,通常,影響需求的因素不止一個,對需求影響的因素可能多種多樣,也就是說自變量多種多樣,很少能用單一的變量(也即一元線性回歸分析)來做好需求預測。這時,我們需要用到多元線性回歸分析。回歸分析在需求預測的應用,也主要是多元線性回歸分析。對需求預測而言,多元線性回歸更具有實用性和有效性。
  • 線性回歸與最小二乘法
    線性回歸模型是使用最廣泛的模型之一,也最經典的回歸模型,如下所示x軸表示自變量x的值,y軸表示因變量y的值,圖中的藍色線條就代表它們之間的回歸模型
  • 線性回歸分析詳解10(完結篇):線性回歸分析預測的十大步驟
    許栩原創專欄《從入門到高手:線性回歸分析詳解》第10章,這是本專欄的最後一章,是專欄的完結篇:用線性回歸分析做預測,多元線性回歸分析預測的十大步驟。線性回歸分析專格欄總目錄請見上圖,前9章,我分別講述了回歸分析及與回分析相關的概念,一元、多元線性回歸分析的公式與計算方法,以及多重共線性、回歸方程的精度、顯著性驗證和置信區間等進行回歸分析的重要步驟及其計算方法。至此,以回歸分析進行需求預測的各項知識點及各項準備工作全部完成,我們可以正式的以回歸分析進行需求預測。
  • 線性回歸:簡單線性回歸詳解
    【導讀】本文是一篇專門介紹線性回歸的技術文章,討論了機器學習中線性回歸的技術細節。線性回歸核心思想是獲得最能夠擬合數據的直線。
  • SPSS統計分析案例:一元線性回歸
    微信號後臺有非常之多的關於回歸分析的留言,作為最常見的統計分析方法,在工作生活中的應用需求量巨大,這兩天已經為大家選好了案例數據,先從一元線性回歸分析開始。一元線性回歸,顧名思義,僅有一個自變量的回歸模型,研究的是一個因素對結果的影響,可以用於預測,也經常被稱之為簡單線性回歸分析。
  • 入門機器學習之線性回歸
    如果在回歸分析中,只包括一個自變量和一個因變量,且二者的關係可用一條直線近似表示,這種回歸分析稱為一元線性回歸分析。如果回歸分析中包括兩個或兩個以上的自變量,且自變量之間存在線性相關,則稱為多重線性回歸分析。
  • 機器學習的線性回歸分析
    回歸分析中,只包括一個自變量和一個因變量,且二者的關係可用一條直線近似表示,這種回歸分析稱為一元線性回歸分析。如果回歸分析中包括兩個或兩個以上的自變量,且因變量和自變量之間是線性關係,則稱為多元線性回歸分析。
  • 零基礎的同學如何用stata做一元線性回歸模型?
    零基礎的同學如何做一元線性回歸模型首先,什麼是一元線性回歸?一元線性回歸:一元線性回歸是分析只有一個自變量(自變量x和因變量y)線性相關關係的方法。一個經濟指標的數值往往受許多因素影響,若其中只有一個因素是主要的,起決定性作用,則可用一元線性回歸進行預測分析。其次,什麼情況下做一元線性回歸?一元線性回歸,通常是指某種市場現象只受一個或者主要受該因素的影響,進而將其作為自變量,建立X與Y的線性回歸方程。如果某種現象受到多種因素的影響,就不能只選取一個變量,要綜合考慮做出全面的分析。
  • 簡單線性回歸模型
    2 基礎回顧回歸的概念來源於實際問題,那麼現在我們所說的線性回歸分析問題具體指的是什麼呢?「注意,線性回歸問題的確定並不是通過自變量的形式,而是問題中待估計的未知參數最高次都為一次且關於未知參數呈線性關係。
  • 用Excel求解回歸方程的3種方法:LINEST、散點圖和數據分析工具
    許栩原創專欄《從入門到高手:線性回歸分析詳解》第四章,一元線性回歸分析。實際場景中,對需求影響的因素很多,也就是說自變量很多,很少能用單一的變量,也即一元回歸分析來做好預測。回歸分析在預測裡的應用,主要是多元回歸。
  • 線性回歸模型
    回歸問題就是擬合輸入變量x與數值型的目標變量y之間的關係,而線性回歸就是假定了x和y之間的線性關係,公式如下:          如下圖所示,我們可以通過繪製繪製(x,y)的散點圖的方式來查看x和y之間是否有線性關係,線性回歸模型的目標是尋找一條穿過這些散點的直線,讓所有的點離直線的距離最短。
  • 一文讀懂線性回歸和梯度下降
    這個問題就是典型的回歸問題,這邊文章主要講回歸中的線性回歸問題。 線性回歸(Linear Regression)    首先要明白什麼是回歸。回歸的目的是通過幾個已知數據來預測另一個數值型數據的目標值。
  • 【從入門到高手:回歸分析】多元回歸分析:如何求解多元回歸方程
    許栩原創專欄《從入門到高手:線性回歸分析詳解》第五章,多元線性回歸分析:如何求解多元回歸方程
  • 一元線性回歸顯著性檢驗專題及常見問題 - CSDN
    一、σ2 的估計  因為假設檢驗以及構造與回歸模型有關的區間估計都需要σ2的估計量,所以先對σ2作估計。  3.相關係數的顯著性檢驗  因為一元線性回歸方程討論的是變量 x 與變量 y 之間的線性關係,所以變量 x 與 y 之間的相關係數來檢驗回歸方程的顯著性。用相關係數來反應 x 與 y 的線性關係的密切程度。
  • 線性回歸的幾何與概率視角
    Content線性回歸-幾何視角線性回歸-概率視角Pseudo-inverse偽逆的介紹局部加權線性回歸多個output的線性回歸情況線性回歸的幾何角度但現實情況是這個矩陣可能沒有逆,比如某些variables是線性相關的,再比如我們的樣本數量小於variables的個數的情況。
  • 一元線性回歸分析python - CSDN
    python多重線性回歸分析多重線性回歸分析定義多重線性回歸模型:Mulitiple Linear Regression多元線性回歸模型:MultivariateLinear Regression數據準備#多重線性回歸#數據準備import pandas as pddf=pd.read_csv('e:/python/out/corr.csv',encoding='utf8')df根據預測目標,確定自變量和因變量#多重線性回歸
  • 最小二乘法與線性回歸
    回歸分析按照涉及的變量的多少,分為一元回歸和多元回歸分析;按照自變量和因變量之間的關係類型,可分為線性回歸分析和非線性回歸分析。        線性回歸是一種最為我們熟悉的方式,故接下來我們就來詳細了解線性回歸。1.
  • 2015年諮詢工程師:一元線性回歸
    一元線性回歸  (一)基本公式  如果預測對象與主要影響因素之間存在線性關係,將預測對象作為因變量y,將主要影響因素作為自變量x,即引起因變量y變化的變量,則它們之間的關係可以用一元回歸模型表示為如下形式:  y=a+bx+e  其中:a和b是揭示x和y之間關係的係數
  • f p 線性回歸專題及常見問題 - CSDN
    \(\omega^{(i)}=\exp(-\frac{(x^{(i)}-x)^2}{2\tau^2})\)單元多項式回歸上邊提到的局部加權線性回歸屬於多元線性回歸,除此之外還有類線性的單元多項式回歸.線性回歸求解思路在求一個點的預測值時,在該點附近一段區間內,擬合一條直線,從而求得預測值.多元線性回歸的求解方法可以是梯度下降和Normal Equation,以及二階的牛頓法等。最小二乘法可以求出全局最優,但是大規模矩陣的求逆運算複雜度較高,因此在數據量較大時常使用梯度下降算法。牛頓法的收斂速度較快,但同樣求逆運算複雜度較高.
  • 兩個例子告訴你:什麼是「線性」回歸模型?
    全文共1534字,預計學習時長3分鐘在機器學習和統計領域,線性回歸模型是最簡單的模型之一。這意味著,人們經常認為對線性回歸的線性假設不夠準確。圖1 同一數據集的兩種不同線性回歸模型若對此表示驚訝,那麼本文值得你讀一讀。