大資料分析筆記 (4.1) - 線性迴歸分析(Linear Regression)
大資料分析筆記 - 線性迴歸分析
總覽
迴歸分析:試圖解釋一組變數對另外一個變數的結果的影響。結果變數被稱為因變數(dependent variable)。其他變數被稱為輸入變數(input variable) 或者自變數(independent variable) 。
迴歸分析可用於解答:
人們期望的收入是多少?
貸款申請人拖欠還款的概率有多少?
線性迴歸 (Linear Regression)
線性迴歸是一種用來對若干輸入變數與一個連續結果變數(continuous outcome variable)之間關係建模的分析技術。
關鍵假設(key assumption): 輸入變數和結果變數之間的關係是線性的。
不確定性(Non-deterministic nature) :線性迴歸模型是基於概率的,以解釋可以影響任何特定結果的隨機性(randomness)。基於已知的輸入值,線性迴歸模型提供了結果變數的預期值(expected value),但是預測結果仍然可能存在某些不確定性。
應用
- 房地產 (real estate):房屋價格 ~ {面積,臥室數量,學區排名,周邊犯罪率等}
- 需求預測 (demand forecasting):客戶將消耗的食物數量 ~ {天氣,星期幾,折扣如何等}
- 醫療類 (medical):治療效果 ~ {持續時間,劑量,患者自身屬性等}
模型 (Model Description)
線性迴歸模型假設在輸入變數與結果變數之間存線上性關係,這種關係可以由以下公式表示。
在這個線性模型中,β(j)代表了未知的模型引數。
目標:未知模型引數的取值應該讓線性迴歸模型能根據輸入變數對結果變數提供一個平均意義上的合理估算。換言之,擬合出的模型需要將從線性模型預測的結果(the value predicted by the linear regression model)與實際觀察值(the actual observations collected)之間的總體誤差(error)降到最低。
普通最小二乘法(Ordinary Least Squares - OLS):一個估計引數的常用技術。OLS通過找到通過輸入點的直線,使得每個點與這條直線在垂直方向的差值的平方和最小。(OSL沒有關於誤差項error term的假設)
誤差項 (error term)
線性迴歸模型在OSL之上進行其他假設。這些額外假設(additional assumption)為利用線性迴歸模型提供了進一步的功能。通用假設:誤差項(error term)是正態分佈的隨機變數(normal distributed random variable)。
對於給定的輸入變數,這個額外假設對於y的期望值E(y)產生了以下結果:
因為β和X是常量,因此E(y)是線性迴歸模型對於給定的 (X1, X2, …, Xp-1) 產生的結果值。此時,對於給定的 (X1, X2, …, Xp-1),y的方差V(y)如下:
因此,對於給定的輸入變數,y是以 E(y) 為均值和以 σ2 為方差的正態分佈。因此,迴歸模型針對給定的x值估計y的期望值。下圖表示了給定x值得情況下,誤差值的正態分佈以及對結果變數y的影響。
誤差項的正態性假設(normality assumption)幫助對迴歸模型進行假設檢驗(hypothesis testing)。提供β0和E(y)的置信區間 (confidence intervals)。
注意事項
- 特徵選擇的時候,可以使用散點圖矩陣來看各引數之間是否有線性關係。散點圖矩陣是一個用來檢視變數間成對關係的資訊工具。
- 如果一個係數和0沒有統計學上顯著不同,則應該排除模型中該係數和相關變數。
- 當使用線性迴歸模型針對模型訓練資料集中不具代表性的輸入變數預測結果時,可能會得到有誤導性的結果。
- 處理分類變數(categorical variables):
錯誤方法:基於字母順序給它們分配數字。
合適方法:我們可以採用m個不同的值,我們應該將m-1個二進位制變數新增到迴歸模型中。
- 引數的置信區間 (confidence interval): t-test可以以引數的置信區間的形式表示。
- 預期結果的置信區間和預測區間(prediction interval): 置信區間不應被視為代表特定結果的不確定性。區別:置信區間適用於落在迴歸線上的預期結果。預測區間適用於可能出現在正態分佈中帶有E(y)和V(y)的任何位置。
- 分析過程的早期考慮所有可能的輸入變數。
- 新增更多變數時要小心。
- 檢查任何離群值(outliers),或者那些和大多數其他點不同的觀測點。
- 檢查估計引數(estimated parameters)的大小(magnitudes)和符號(signs)是否有意義。
標準化殘差 (residual standard error)
是觀測殘差的標準偏差。這個值以及相關的自由度,可以用來審查假定的正態分佈的誤差項方差。
R-squared
是一個常用的報告度量(reported metric),用來衡量線性迴歸模型解釋資料時的偏差。R-squared的取值範圍為0~1,越接近於1表示模型可以更好地解釋資料。R-squared正好等於1表示模型完美地解釋了資料(所有殘差值等於0)。(考慮過擬合的問題)
F統計 (F-statistic)
提供了方法來測試整個迴歸模型。在之前的t-test中,進行個體檢驗是為了確定每個引數的統計意義。而F統計和相應的p-value則允許執行者檢驗假設:
診斷 (Diagnostics)
再次重申,線性迴歸模型取決於假設。
我們需要驗證擬合的迴歸模型(fitted regression model):
評估線性假設(linearity assumption)
針對每個輸入變數和結果變數之間關係繪圖。如果無法使用線性模型(如拋物線狀),則轉換結果變數,或者轉換輸入變數,或者在迴歸模型中新增額外輸入變數或項。(包括取變數的平方根或對數。或者建立新的輸入變數,如年齡的平方。然後新增入線性迴歸模型來擬合輸入變數和結果之間的平方關係)
評估殘差(residuals)
如之前所述,線性迴歸模型中的誤差項被假設為一個均值為零且方差為常數的正態分佈。(若該假設不成立,則基於假設檢驗,置信區間和預測區間所做的各種推論則需要被懷疑)
如果要檢查迴歸線上所有y值得常數方差,可以使用一個簡單的擬合結果值的殘差圖。
殘差: 是基於OLS引數估計的擬合值和觀測結果變數之間的差值。
如上圖,無論擬合線性迴歸模型上的outcome是什麼,都可以觀測到在參考零線兩側比較均勻地分佈的殘差,而且殘差從上一個擬合值到下一個擬合值的分佈相當恆定。這一類分佈圖能夠支援關於誤差項的均值為0以及方差為常數的假設。
如果殘差圖看起來像上圖中這些模型那樣,那麼需要考慮和嘗試之前討論的一些轉換或新增額外的輸入變數。
評估正態性假設(normality assumption)
觀察殘差圖之後,仍然需要驗證正態假設。
從直方圖中可以看到,殘差的分佈以零線居中而且以零值對稱,這正如人們對正態分佈的隨機變數所期望的那樣。
另一個方法是檢查分位數圖(Q-Q plot),該圖可以比較並觀測資料和假定分佈的分位數 (Q)。
N重交叉驗證 (N-fold Cross-Validation)
為了防止過度擬合一個給定的資料集,一種通常的做法是將整個資料集隨機分成訓練集和測試集。一旦模型在訓練集上開發完成,就需要在測試集上進行評估。當沒有足夠的資料來建立訓練集和測試集的時候,則可以使用一種 N 重交叉驗證技術來比較各種擬合模型。
- 整個資料集會被隨機劃分成近似相等大小的 N 個資料集。
- 模型在 N−1 個資料集上進行訓練,然後在剩下的資料集上進行測試並度量模型誤差。
- 上述整個過程一共重複 N 次,每次在 N 個資料集中取不同的 N−1 個資料集組合。
- 觀測到的 N 個模型誤差是 N 重的平均值。
一個模型的平均誤差與另一個模型的平均誤差會被用來進行比較。這項技術還可以幫助確定在現有的模型新增更多的變數是否有益,或者是否可能導致過度擬合。
相關文章
- 通俗理解線性迴歸(Linear Regression)
- 機器學習-----線性迴歸淺談(Linear Regression)機器學習
- 線性迴歸(Linear Regression)演算法優缺點演算法
- 資料分析:線性迴歸
- 線性迴歸-如何對資料進行迴歸分析
- 線性迴歸——lasso迴歸和嶺迴歸(ridge regression)
- 【機器學習筆記】:大話線性迴歸(二)機器學習筆記
- 【機器學習筆記】:大話線性迴歸(一)機器學習筆記
- 線性判別分析(Linear Discriminant Analysis)NaN
- Python學習筆記-StatsModels 統計迴歸(1)線性迴歸Python筆記
- 【深度學習基礎-13】非線性迴歸 logistic regression深度學習
- spss迴歸分析的基本步驟 spss線性迴歸怎麼做SPSS
- 線性判別分析(Linear Discriminant Analysis, LDA)NaNLDA
- 深度學習筆記002-線性迴歸深度學習筆記
- Python數模筆記-Sklearn(4)線性迴歸Python筆記
- 迴歸樹(Regression Tree)
- 一文帶你深入分析:線性迴歸模型的線性假設分析及其意義模型
- 線性迴歸
- 多功能非線性迴歸分析繪圖工具GraphPad Prism 9繪圖PHP
- 線性迴歸與邏輯迴歸邏輯迴歸
- 迴歸資料分析,資料運營的三種角色!
- 大資料分析筆記 (7) - 時間序列分析(Time Series Analysis)大資料筆記
- 1.3 - 線性迴歸
- Machine Learning (1) - Linear RegressionMac
- 前言以及迴歸分析
- 迴歸分析類別
- 資料探勘從入門到放棄(一):線性迴歸和邏輯迴歸邏輯迴歸
- 4.邏輯迴歸(Logistic Regression)邏輯迴歸
- Python資料分析 Series 筆記Python筆記
- Python資料分析 DataFrame 筆記Python筆記
- Python資料分析 numpy 筆記Python筆記
- 線性迴歸推導
- 4-線性迴歸
- 線性迴歸實戰
- 1維線性迴歸
- 線性迴歸總結
- 多元線性迴歸模型模型
- R資料分析:變數間的非線性關係,多項式,樣條迴歸和可加模型變數模型