如何用線性回歸模型做數據分析?

2020-12-24 騰訊網

編輯導語:在日常工作中,很多時候都會用到數據分析的方法,線性回歸模型看起來非常簡單,但實際上它的十分重要;本文作者分享了關於如何用線性回歸模型做數據分析的方法,我們一起來學習一下。

一、什麼是線性回歸

線性回歸是利用線性的方法,模擬因變量與一個或多個自變量之間的關係;對於模型而言,自變量是輸入值,因變量是模型基於自變量的輸出值,適用於x和y滿足線性關係的數據類型的應用場景。

線性回歸應用於數據分析的場景主要有兩種:

驅動力分析:某個因變量指標受多個因素所影響,分析不同因素對因變量驅動力的強弱(驅動力指相關性,不是因果性);

預測:自變量與因變量呈線性關係的預測;

模型數學形式:=0+11+22+ +

例如要衡量不同的用戶特徵對滿意分數的影響程度,轉換成線性模型的結果可能就是:分數=-2.1+0.56*年齡。

線性回歸模型分為一元線性回歸與多元線性回歸:區別在於自變量的個數。

二、線性係數的計算:最小二乘法

我們知道了模型的公式,那麼模型的係數是如何得來呢?我們用最小二乘法來確定模型的係數——最小二乘法,它通過最小化誤差的平方和尋找數據的最佳函數匹配,利用最小二乘法可以求得一條直線,並且使得擬合數據與實際數據之間誤差的平方和為最小。

將上述模型公式簡化成一個四個點的線性回歸模型來具體看:分數=-2.1+0.56*年齡

最小二乘法選取能使模型 誤差平方和= 1+ 2+ 3+ 4最小化的直線,生成直線後即可得出模型自變量的係數和截距。

三、決定係數R方(R-squared)與調整R方

R方(適用一元線性回歸)。

R方也叫決定係數,它的主要作用是衡量數據中的因變量有多準確可以被某一模型所計算解釋。

公式:

離差平方和:代表因變量的波動,即因變量實際值與其平均值之間的差值平方和。

誤差平方和:代表因變量實際值與模型擬合值之間的誤差大小。

故R方可以解釋因變量波動中,被模型擬合的百分比,即R方可以衡量模型擬合數據的好壞程度;R方的取值範圍>

使用不同模型擬合自變量與因變量之間關係的R方舉例:

R方=1 模型完美的擬合數據(100%)

R方=0.91 模型在一定程度較好的擬合數據(91%)

R方>

調整R方(適用多元線性回歸):

一般的R方會存在一些問題,即把任意新的自變量加入到線性模型中,都可能會提升R方的值,模型會因加入無價值的變量導致R方提升,對最終結果產生誤導。

故在建立多元線性回歸模型時,我們把R方稍稍做一些調整,引進數據量、自變量個數這兩個條件,輔助調整R方的取值,我們把它叫調整R方;調整R方值會因為自變量個數的增加而降低(懲罰),會因為新自變量帶來的有價值信息而增加(獎勵);可以幫助我們篩選出更多有價值的新自變量。

n:數據量大小(行數)->數據量越大,新自變量加入所影響越小;

p:自變量個數->自變量個數增加,調整R方變小,對這個量進行懲罰;

一句話,調整R方不會因為模型新增無價值變量而提升,而R方會因為模型新增無價值變量而提升!通過觀測調整R方可以在後續建模中去重多重共線性的幹擾,幫助我們選擇最優自變量組合。

R方/調整R方值區間經驗判斷:

非常弱的模型擬合

0.3-0.5->弱的模型擬合

0.5-0.7->適度的模型擬合

>0.7->較好的模型擬合

四、線性回歸在數據分析中的實戰流程

我們以共享單車服務滿意分數據為案例進行模型實戰,想要去分析不同的特徵對滿意分的影響程度,模型過程如下:

1. 讀取數據

2. 切分因變量和自變量、分類變量轉換啞變量

3. 使用VIF去除多重共線性

多重共線性:就是在線性回歸模型中,存在一對以上強相關變量,多重共線性的存在,會誤導強相關變量的係數值。

強相關變量:如果兩個變量互為強相關變量,當一個變量變化時,與之相應的另一個變量增大/減少的可能性非常大。

當我們加入一個年齡強相關的自變量車齡時,通過最小二乘法所計算得到的各變量係數如下,多重共線性影響了自變量車齡、年齡的線性係數。

這時候,可以使用VIF消除多重共線性:VIF=1/(1-R方),R方是拿其他自變量去線性擬合此數值變量y得到的線性回歸模型的決定係數。某個自變量造成強多重共線性判斷標準通常是:VIF>10

我們發現,年齡的VIF遠大於10,故去除年齡這一變量,去除後重新計算剩餘變量VIF發現所有均>

4. 計算調整R方

5. 數據標準化

我們希望不同自變量的線性係數,相互之間有可比性,不受它們取值範圍影響。

6. 擬合模型,計算回歸係數

共享單車分數案例,因變量是分數,自變量是年齡、組別、城區,線性回歸的結果為:分數 = 5.5 + 2.7 * 年齡 +0.48 * 對照組 + 0.04 * 朝陽區 + 0.64 * 海澱區 + 0.19 * 西城區。

7. 生成分析洞見——驅動力因素

最終產出不同用戶特徵對用戶調研分數的驅動性排名——驅動力分數反應各個變量代表因素,對目標變量分數的驅動力強弱,驅動力分數絕對值越大,目標變量對因素的影響力越大;反之越小,驅動力分數為負時,表明此因素對目標變量的影響為負向。

8. 根據回歸模型進行預測

至此,回歸模型已經建好,預測就不寫了,把要預測的數據x自變量導入模型即可預測y。

相信大家讀完這篇文章,對線性回歸模型已經有了一些了解,大家快快動起手來把模型應用到自己的實際工作中吧!

作者:趙小洛,公眾號:趙小洛洛洛

本文由 @趙小洛 原創發布於人人都是產品經理。未經許可,禁止轉載

題圖來自Unsplash,基於CC0協議

相關焦點

  • 簡單線性回歸模型
    2 基礎回顧回歸的概念來源於實際問題,那麼現在我們所說的線性回歸分析問題具體指的是什麼呢?3 求解線性回歸模型函數3.1 極大似然法最小二乘法和極大似然法都可以用來求解線性回歸模型,我們在往期文章中討論過最小二乘法,這裡對似然法進行簡單介紹。
  • Python數據分析|線性回歸
    Python數據分析學習筆記,今天分享下利用Python對業務進行數據預處理,並利用線性回歸進行數據預測。②將待處理的數據讀取:read_excel進行Excel文件讀取,用sheet_name指定導入的sheet。③數據初視:用head函數將讀取的數據表格展示前幾行用於初步觀察,可以看到初步的數據形式、欄位。
  • python多重線性回歸分析
    python多重線性回歸分析多重線性回歸分析定義多重線性回歸模型:Mulitiple Linear Regression多元線性回歸模型:MultivariateLinear Regression數據準備#多重線性回歸#數據準備import pandas as pddf=pd.read_csv('e:/python/out/corr.csv',encoding='utf8')df根據預測目標,確定自變量和因變量#多重線性回歸
  • 數據科學25 | 回歸模型-均值回歸與線性回歸推斷
    均值回歸回顧前面galton數據集中父母與孩子身高的例子,1886年英國遺傳學家Francis Galton在研究人類身高的時候,發現父母平均身高高於人群平均值的時候,孩子的身高也較高但會比父母低一點,而父母平均身高低於人群平均值的時候,他們孩子的身高也比較低但會比父母高一點。下一代的身高會向均值「回歸」。
  • 原理+代碼|Python實戰多元線性回歸模型
    其中多元共線性這個問題將貫穿所有的機器學習模型,所以本文會「將原理知識穿插於代碼段中」,爭取以不一樣的視角來敘述和講解「如何更好的構建和優化多元線性回歸模型」。原理其實非常簡單,將無法直接用於建模的名義變量轉換成可放入模型的虛擬變量的核心就短短八個字:「四散拆開,非此即彼」。下面用一個只有 4 行的微型數據集輔以說明。
  • 多元線性回歸的模型解釋、假設檢驗、特徵選擇
    多元線性回歸:這是一種線性回歸的形式,當有兩個或多個預測因子時使用。我們將看到多個輸入變量如何共同影響輸出變量,同時還將了解計算與簡單LR模型的不同之處。我們還將使用Python構建一個回歸模型。最後,我們將深入學習線性回歸,學習共線性、假設檢驗、特徵選擇等內容。
  • eviews 線性回歸模型 - CSDN
    掌握多元線性回歸模型的估計方法、掌握多重共線性模型的識別和修正。多元線性回歸模型,並識別和修正多重共線性。普通最小二乘法、簡單相關係數檢驗法、綜合判斷法、逐步回歸法。最小二乘估計的原理、t檢驗、F檢驗、擬合優度R方值。
  • 7種執行簡單的線性回歸的分析與討論!
    【IT168 資訊】對於無數的數據科學家來說,線性回歸是許多統計建模和預測分析項目的起點。擬合的重要性,無論是準確的還是快速的,對於大數據集的線性模型都不能被誇大。隨著Python迅速成為實際的程式語言的一大選擇,關鍵是數據科學家必須意識到他或她可以使用的各種方法來快速將線性模型擬合到一個相當大的數據集,並評估每個特徵在過程、結果中的重要性。
  • spss線性回歸 回歸方程 - CSDN
    >線性回歸,首先應用於定距變量之間,本質上是分析一個因變量和一組自變量之間的相關關係,既可以解釋,也可以做預測。就是一個用線性回歸解釋相關性的問題。所以,數據分析人員也要加強理論學習,並參考一些學術模型。最後,才是根據自變量的重要性,做篩選和調整。SPSS裡有自動篩選的功能,即「步進」的方法(或者稱逐步回歸法),把變量放入模型,但有30%+概率不是最優方程,而且也面臨如何解釋模型的問題,所以教程上還是建議手工選擇自變量。
  • 16種常用的數據分析方法-回歸分析
    4、其他回歸方法 非線性回歸、有序回歸、Probit回歸、加權回歸等 之所以有不同類型的回歸分析,是由於原始分析數據X、Y變量的數據類型不同,不同類型的數據在進行回歸分析時,要採用合適的回歸分析類型。
  • 一文教你全面掌握用Python實現線性回歸
    預估係數假設僅有一個自變量和因變量,那麼線性回歸表達如下:一個自變量和因變量線性模型的方程式在上圖的方程中,兩個β就是係數。在模型中預測結果需要用到這些係數。那麼,如何算出這些參數呢?為此,需要最小化最小二乘法或者誤差平方和。當然,線性模型也不是完美的,也不能準確預測出所有數據,這就意味著實際值和預測值間存在差異。
  • eviews線性回歸模型專題及常見問題 - CSDN
    掌握多元線性回歸模型的估計方法、掌握多重共線性模型的識別和修正。多元線性回歸模型,並識別和修正多重共線性。普通最小二乘法、簡單相關係數檢驗法、綜合判斷法、逐步回歸法。最小二乘估計的原理、t檢驗、F檢驗、擬合優度R方值。
  • 8種用Python實現線性回歸的方法,究竟哪個方法最高效?
    大數據文摘作品  作者:TirthajyotiSarkar  編譯:丁慧、katherine Hou、錢天培  說到如何用Python執行線性回歸,大部分人會立刻想到用sklearn的linear_model
  • 在 Python 中使用線性回歸預測數據
    3) 替換數據集中的缺失值我們經常要和帶有缺失值的數據集打交道。這部分沒有實戰例子,不過我會教你怎麼去用線性回歸替換這些值。所以,讓我們投入編程吧(馬上)在動手之前,去把我以前的文章(Python Packages for Data Mining)中的程序包安裝了是個好主意。
  • 我用Excel發現了數據分析的本質:回歸分析
    最近很多人都問我,為什麼感覺數據分析越學越亂,經常是學了一大堆名詞,真正遇到問題的時候卻更多是直接套用模型,很難將這些理論聯繫起來。這其實就回歸到了一個至關重要的問題:數據分析的本質是什麼?比如,用戶點擊率與網站訪問量之間是否有關係、廣告曝光量與投入成本的關係等等,這個方程的求取過程也就是所謂的「回歸分析」。回歸分析在統計學中包含了很多類別,比如一元回歸、多遠回歸、方差回歸、線性回歸、非線性回歸等,但我們不必涉及這麼深,只需要了解其本質即可。
  • 【Python機器學習】系列之線性回歸篇【深度詳細】
    緊接著,介紹多項式回歸分析(polynomial regression問題),一種具有非線性關係的多元線性回歸問題。最後,介紹如果訓練模型獲取目標函數最小化的參數值。在研究一個大數據集問題之前,先從一個小問題開始學習建立模型和學習算法    假設你想計算匹薩的價格。
  • Python環境下的8種簡單線性回歸算法
    GitHub 地址:對於大多數數據科學家而言,線性回歸方法是他們進行統計學建模和預測分析任務的起點。但我們不可誇大線性模型(快速且準確地)擬合大型數據集的重要性。如本文所示,在線性回歸模型中,「線性」一詞指的是回歸係數,而不是特徵的 degree。
  • 文科生都能看懂的機器學習教程:梯度下降、線性回歸、邏輯回歸
    總而言之,算法是模型背後的數學生命力。沒有模型,算法只是一個數學方程式。模型的不同,取決於用的算法的不同。梯度下降/最佳擬合線(雖然這個傳統上並不被認為是一種機器學習算法,但理解梯度對於了解有多少機器學習算法可用,及如何優化至關重要。)梯度下降幫助我們根據一些數據,獲得最準確的預測。舉個例子。你有一個大的清單,列出每個你認識的人身高體重。
  • 線性回歸假設檢驗 - CSDN
    機器學習眼中的線性回歸左圖是原始建模數據,目的是用來尋找玩偶數量和成本的某種關係。右圖將數據可視化得到散點圖。第一步 進行場景確定第二步 定義損失函數建模的目的:模型預測值與真實值之間的差距越小越好。下面有兩種定義損失函數的方法。
  • 回歸系列(一)|怎樣正確地理解線性回歸
    作者:丁點helper 來源:丁點幫你線性回歸,可能是統計學上運用最廣泛的一類方法了,之所以說它是一類方法,是因為它包括了我們熟知的各種模型:簡單線性回歸、多重線性回歸、Logistic回歸等等。確實如此,線性回歸,尤其是一般線性模型(一個Y,多個X)使用起來沒什麼障礙,但大家是否完全理解清楚了所有應該掌握的內容(非數學計算)可能有待思考,這個系列的文章我們以「線性回歸」為主題,希望能讓大家對這個問題的認識能再全面一丁點。