1. 程式人生 > >迴歸分析方法

迴歸分析方法

迴歸分析是一種預測性的建模技術,它研究的是因變數(目標)和自變數(預測器)之間的關係。這種技術通常用於預測分析,時間序列模型以及發現變數之間的因果關係。例如,司機的魯莽駕駛與道路交通事故數量之間的關係,最好的研究方法就是迴歸。


迴歸分析是建模和分析資料的重要工具。在這裡,我們使用曲線/線來擬合這些資料點,在這種方式下,從曲線或線到資料點的距離差異最小。我會在接下來的部分詳細解釋這一點。


我們為什麼使用迴歸分析?


如上所述,迴歸分析估計了兩個或多個變數之間的關係。下面,讓我們舉一個簡單的例子來理解它:


比如說,在當前的經濟條件下,你要估計一家公司的銷售額增長情況。現在,你有公司最新的資料,這些資料顯示出銷售額增長大約是經濟增長的2.5倍。那麼使用迴歸分析,我們就可以根據當前和過去的資訊來預測未來公司的銷售情況。


使用迴歸分析的好處良多。具體如下:


  1. 它表明自變數和因變數之間的顯著關係;

  2. 它表明多個自變數對一個因變數的影響強度。


迴歸分析也允許我們去比較那些衡量不同尺度的變數之間的相互影響,如價格變動與促銷活動數量之間聯絡。這些有利於幫助市場研究人員,資料分析人員以及資料科學家排除並估計出一組最佳的變數,用來構建預測模型。


我們有多少種迴歸技術?


有各種各樣的迴歸技術用於預測。這些技術主要有三個度量(自變數的個數,因變數的型別以及迴歸線的形狀)。我們將在下面的部分詳細討論它們。


對於那些有創意的人,如果你覺得有必要使用上面這些引數的一個組合,你甚至可以創造出一個沒有被使用過的迴歸模型。但在你開始之前,先了解如下最常用的迴歸方法:


1.Linear Regression線性迴歸


它是最為人熟知的建模技術之一。線性迴歸通常是人們在學習預測模型時首選的技術之一。在這種技術中,因變數是連續的,自變數可以是連續的也可以是離散的,迴歸線的性質是線性的。


線性迴歸使用最佳的擬合直線(也就是迴歸線)在因變數(Y)和一個或多個自變數(X)之間建立一種關係。


用一個方程式來表示它,即Y=a+b*X+e,其中a表示截距,b表示直線的斜率,e是誤差項。這個方程可以根據給定的預測變數(s)來預測目標變數的值。

一元線性迴歸和多元線性迴歸的區別在於,多元線性迴歸有(>1)個自變數,而一元線性迴歸通常只有1個自變數。現在的問題是“我們如何得到一個最佳的擬合線呢?”。


如何獲得最佳擬合線(a和b的值)?


這個問題可以使用最小二乘法輕鬆地完成。最小二乘法也是用於擬合迴歸線最常用的方法。對於觀測資料,它通過最小化每個資料點到線的垂直偏差平方和來計算最佳擬合線。因為在相加時,偏差先平方,所以正值和負值沒有抵消。

我們可以使用R-square指標來評估模型效能。想了解這些指標的詳細資訊,可以閱讀:模型效能指標Part 1,Part 2.


要點:

1.自變數與因變數之間必須有線性關係

2.多元迴歸存在多重共線性,自相關性和異方差性。

3.線性迴歸對異常值非常敏感。它會嚴重影響迴歸線,最終影響預測值。

4.多重共線性會增加係數估計值的方差,使得在模型輕微變化下,估計非常敏感。結果就是係數估計值不穩定

5.在多個自變數的情況下,我們可以使用向前選擇法,向後剔除法和逐步篩選法來選擇最重要的自變數。


2.Logistic Regression邏輯迴歸


邏輯迴歸是用來計算“事件=Success”和“事件=Failure”的概率。當因變數的型別屬於二元(1 / 0,真/假,是/否)變數時,我們就應該使用邏輯迴歸。這裡,Y的值從0到1,它可以用下方程表示。

odds= p/ (1-p) = probability of event occurrence / probability of not event occurrenceln(odds) = ln(p/(1-p))logit(p) = ln(p/(1-p)) = b0+b1X1+b2X2+b3X3....+bkXk


上述式子中,p表述具有某個特徵的概率。你應該會問這樣一個問題:“我們為什麼要在公式中使用對數log呢?”。


因為在這裡我們使用的是的二項分佈(因變數),我們需要選擇一個對於這個分佈最佳的連結函式。它就是Logit函式。在上述方程中,通過觀測樣本的極大似然估計值來選擇引數,而不是最小化平方和誤差(如在普通迴歸使用的)。



要點:

1.它廣泛的用於分類問題。

2.邏輯迴歸不要求自變數和因變數是線性關係。它可以處理各種型別的關係,因為它對預測的相對風險指數OR使用了一個非線性的log轉換。

3.為了避免過擬合和欠擬合,我們應該包括所有重要的變數。有一個很好的方法來確保這種情況,就是使用逐步篩選方法來估計邏輯迴歸。

4.它需要大的樣本量,因為在樣本數量較少的情況下,極大似然估計的效果比普通的最小二乘法差。

5.自變數不應該相互關聯的,即不具有多重共線性。然而,在分析和建模中,我們可以選擇包含分類變數相互作用的影響。

6.如果因變數的值是定序變數,則稱它為序邏輯迴歸。

7.如果因變數是多類的話,則稱它為多元邏輯迴歸。


3.Polynomial Regression多項式迴歸


對於一個迴歸方程,如果自變數的指數大於1,那麼它就是多項式迴歸方程。如下方程所示:y=a+b*x^2


在這種迴歸技術中,最佳擬合線不是直線。而是一個用於擬合數據點的曲線。

重點:

雖然會有一個誘導可以擬合一個高次多項式並得到較低的錯誤,但這可能會導致過擬合。你需要經常畫出關係圖來檢視擬合情況,並且專注於保證擬合合理,既沒有過擬合又沒有欠擬合。


下面是一個圖例,可以幫助理解:


明顯地向兩端尋找曲線點,看看這些形狀和趨勢是否有意義。更高次的多項式最後可能產生怪異的推斷結果。


4.Stepwise Regression逐步迴歸


在處理多個自變數時,我們可以使用這種形式的迴歸。在這種技術中,自變數的選擇是在一個自動的過程中完成的,其中包括非人為操作。


這一壯舉是通過觀察統計的值,如R-square,t-stats和AIC指標,來識別重要的變數。逐步迴歸通過同時新增/刪除基於指定標準的協變數來擬合模型。


下面列出了一些最常用的逐步迴歸方法:

  • 標準逐步迴歸法做兩件事情。即增加和刪除每個步驟所需的預測。

  • 向前選擇法從模型中最顯著的預測開始,然後為每一步新增變數。

  • 向後剔除法與模型的所有預測同時開始,然後在每一步消除最小顯著性的變數。


這種建模技術的目的是使用最少的預測變數數來最大化預測能力。這也是處理高維資料集的方法之一。


5.Ridge Regression嶺迴歸


嶺迴歸分析是一種用於存在多重共線性(自變數高度相關)資料的技術。在多重共線性情況下,儘管最小二乘法(OLS)對每個變數很公平,但它們的差異很大,使得觀測值偏移並遠離真實值。嶺迴歸通過給迴歸估計上增加一個偏差度,來降低標準誤差。


上面,我們看到了線性迴歸方程。還記得嗎?它可以表示為:

y=a+b*x這個方程也有一個誤差項。完整的方程是:

y=a+b*x+e (error term),  [error term is the value needed to correct for a prediction error between the observed and predicted value]

=> y=a+y= a+ b1x1+ b2x2+....+e, for multiple independent variables.


在一個線性方程中,預測誤差可以分解為2個子分量。一個是偏差,一個是方差。預測錯誤可能會由這兩個分量或者這兩個中的任何一個造成。在這裡,我們將討論由方差所造成的有關誤差。


嶺迴歸通過收縮引數λ(lambda)解決多重共線性問題。看下面的公式

在這個公式中,有兩個組成部分。第一個是最小二乘項,另一個是β2(β-平方)的λ倍,其中β是相關係數。為了收縮引數把它新增到最小二乘項中以得到一個非常低的方差。


要點:

1.除常數項以外,這種迴歸的假設與最小二乘迴歸類似;

2.它收縮了相關係數的值,但沒有達到零,這表明它沒有特徵選擇功能

3.這是一個正則化方法,並且使用的是L2正則化。


6.Lasso Regression套索迴歸


它類似於嶺迴歸,Lasso (Least Absolute Shrinkage and Selection Operator)也會懲罰迴歸係數的絕對值大小。此外,它能夠減少變化程度並提高線性迴歸模型的精度。看看下面的公式:

Lasso 迴歸與Ridge迴歸有一點不同,它使用的懲罰函式是絕對值,而不是平方。這導致懲罰(或等於約束估計的絕對值之和)值使一些引數估計結果等於零。使用懲罰值越大,進一步估計會使得縮小值趨近於零。這將導致我們要從給定的n個變數中選擇變數。


要點:

1.除常數項以外,這種迴歸的假設與最小二乘迴歸類似;

2.它收縮係數接近零(等於零),這確實有助於特徵選擇;

3.這是一個正則化方法,使用的是L1正則化;

如果預測的一組變數是高度相關的,Lasso 會選出其中一個變數並且將其它的收縮為零。


7.ElasticNet迴歸


ElasticNet是Lasso和Ridge迴歸技術的混合體。它使用L1來訓練並且L2優先作為正則化矩陣。當有多個相關的特徵時,ElasticNet是很有用的。Lasso 會隨機挑選他們其中的一個,而ElasticNet則會選擇兩個。

Lasso和Ridge之間的實際的優點是,它允許ElasticNet繼承迴圈狀態下Ridge的一些穩定性。


要點:

1.在高度相關變數的情況下,它會產生群體效應;

2.選擇變數的數目沒有限制;

3.它可以承受雙重收縮。


除了這7個最常用的迴歸技術,你也可以看看其他模型,如Bayesian、Ecological和Robust迴歸。


如何正確選擇迴歸模型?


當你只知道一個或兩個技術時,生活往往很簡單。我知道的一個培訓機構告訴他們的學生,如果結果是連續的,就使用線性迴歸。如果是二元的,就使用邏輯迴歸!然而,在我們的處理中,可選擇的越多,選擇正確的一個就越難。類似的情況下也發生在迴歸模型中。


在多類迴歸模型中,基於自變數和因變數的型別,資料的維數以及資料的其它基本特徵的情況下,選擇最合適的技術非常重要。以下是你要選擇正確的迴歸模型的關鍵因素


1.資料探索是構建預測模型的必然組成部分。在選擇合適的模型時,比如識別變數的關係和影響時,它應該首選的一步。


2. 比較適合於不同模型的優點,我們可以分析不同的指標引數,如統計意義的引數,R-square,Adjusted R-square,AIC,BIC以及誤差項,另一個是Mallows’ Cp準則。這個主要是通過將模型與所有可能的子模型進行對比(或謹慎選擇他們),檢查在你的模型中可能出現的偏差。


3.交叉驗證是評估預測模型最好額方法。在這裡,將你的資料集分成兩份(一份做訓練和一份做驗證)。使用觀測值和預測值之間的一個簡單均方差來衡量你的預測精度。


4.如果你的資料集是多個混合變數,那麼你就不應該選擇自動模型選擇方法,因為你應該不想在同一時間把所有變數放在同一個模型中。


相關推薦

迴歸分析方法

迴歸分析是一種預測性的建模技術,它研究的是因變數(目標)和自變數(預測器)之間的關係。這種技術通常用於預測分析,時間序列模型以及發現變數之間的因果關係。例如,司機的魯莽駕駛與道路交通事故數量之間的關係,最好的研究方法就是迴歸。 迴歸分析是建模和分析資料的重要工具。在這裡,我們使用曲線/線來擬合

你應該要掌握的7種迴歸分析方法

什麼是迴歸分析? 迴歸分析是一種預測性的建模技術,它研究的是因變數(目標)和自變數(預測器)之間的關係。這種技術通常用於預測分析,時間序列模型以及發現變數之間的因果關係。例如,司機的魯莽駕駛與道路交通事故數量之間的關係,最好的研究方法就是迴歸。 迴歸分析是建模和分

迴歸分析中的評價方法

       迴歸(Regression)不同於分類問題,在迴歸方法中我們預測一系列連續的值,在預測完後有個問題是如何評價預測的結果好壞,關於這個問題目前學術界也沒有統一的標準。下面是我在論文中的看到的一些常用方法,希望對有緣人有用。 1 MAE(Mean Absolute

量化投資學習筆記19——迴歸分析:實操,泰坦尼克號乘客生還機會預測,線性迴歸方法

用kaggle上的泰坦尼克的資料來實操。 https://www.kaggle.com/c/titanic/overview 在主頁上下載了資料。 任務:使用泰坦尼克號乘客資料建立機器學習模型,來預測乘客在海難中是否生存。 在實際海難中,2224位乘客中有1502位遇難了。似乎有的乘客比其它乘客更有機會獲救。

【轉】軟件需求分析方法

2.6 業務層 而且 客戶 數據類型 追蹤 回顧 經驗 矛盾 軟件需求分析(Software Reguirement Analysis)是研究用戶需求得到的東西,完全理解用戶對軟件需求的完整功能,確認用戶軟件功能需求,建立可確認的、可驗證的一個基本依據。 軟件需求分析是一

mysql慢查詢分析工具和分析方法

mysql 慢查詢 分析工具 1.mysql慢查詢分析工具1.參考文檔:http://www.ttlsa.com/mysql/analyse-slow-query-log-using-anemometer/http://isadba.com/?p=655官方文檔:https://github.co

聚類分析方法

實際應用 多少 三種 輸入 k-means 情況 度量 分析方法 差異 一、層次聚類(系統聚類) 原理:合並法(分解法方向相反算法相同,SPSS只提供合並法) 1、將每一個樣本作為一類,如果是k個樣本就分k成類 2、按照某種方法度量樣本之間的距離,並將距離最近的兩個樣本合並

vcpkg錯誤分析方法

使用 all http att 找到 發現 ros ash 信息 最近在使用vcpkg時,經常會碰到CMake錯誤。 有些以前能編譯通過的包, 過一段時間又不能編譯錯誤了。 錯誤提示一般是CMake錯誤, 弄得很郁悶。 我采用以下步驟解決了問題: 分析錯誤 查看錯誤日誌

ICONIX方法(用例分析方法實例教程)

cnblogs 實例教程 png -1 alt 實例 分析方法 分析 image ICONIX方法(用例分析方法實例教程)

第二節課:功能測試需求分析方法

需要 參加 中斷 思維 服務器 網易雲 了解 image 權限不足 1.功能測試、測哪些內容 2、需求文檔--測試需求 1、了解需求想要做什麽 要完成哪些功能模塊 2、明確用戶,不同用戶角色的權限等 3、要完成功能,用戶需要哪些步驟 分析功能步驟方法: 用思維導圖 網絡

北京賽車8碼滾雪球規律走勢技巧分析方法

存在 彩票 註意 概率 趨勢 方案 會有 並且 實踐 此文章是適合5-8碼的玩家去下註。(內附冷熱原理講解) 及需要無解刷水方法的直接找我,在這裏重申一遍,此教程免費 本人任何方法是以走勢冷熱原理去研究出的一套方法,明白原理,方法可以千變萬化 任何人以我名義及

【統計分析方法】1.統計學知識圖譜

tis div 內容 body pos logs alt 分享圖片 做了 前言 前段時間想著系統學習統計分析方法,又想著基於應用的目的來學習,所以有了前篇《統計分析方法知識圖譜》。寫完之後開始學了張文彤老師的《SPSS20.0統計分析基礎教程》的初中和高階教程,初中階沒問題

十大互聯網數據分析方法之-漏鬥分析

.com 時間 細節 quora 之間 因此 設置 常數 過多 一、如何將轉化率提升10倍?Danny·Jon,是一名數據分析師,曾效力於 Facebook、Twitter、Quora。在他的增長黑客生涯中,曾遇到這樣一個難題:來自搜索引擎的流量占到網站流量的60%,但其中

互聯網十大數據分析方法-對比分析

ffffff water bdc 時間序列 互聯網 結果 .com tro 過程 什麽是對比分析對比分析是數據分析中一種基礎分析方法。對於互聯網產品經常關註的轉化率指標,如果轉化率為5%,不能說明這個指標的好壞,如果該細分行業的行業平均轉化率為10%,通過對比其實指標還是有

十大互聯網數據分析方法之—細分分析

sha col 沒有 客戶 其余 針對 需要 互聯 href 一、原理“細分是一切分析的本源!不細分無分析!” 這是我們學習細分分析時常見的一句話,對細分分析冠於如此高的評價,不只是因為它在分析方法上的強大,更重要的是在當前流量紅利逐步消逝的時代,籠統的網站統計和網站分析已

流程分析方法與流程分級

流程分析 流程分析方法 流程分級 現實的企業流程是客觀存在的,流程分析是基於企業現實展開;流程分析是流程優化和流程管理的基礎和前提。任何企業的流程都是企業戰略和企業目標持續作用的結果,也就是說企業戰略與目標決定企業的組織架構,組織架構引導企業崗位的設置,每個崗位之間工作銜接的方式就產生了企業的現有

常見的數據分析方法有哪些?大數據開發

建立 size 很好 參數 本質 技術 表現 檢測 啤酒 數據分析是從數據中提取有價值信息的過程,過程中需要對數據進行各種處理和歸類,只有掌握了正確的數據分類方法和數據處理模式,才能起到事半功倍的效果,以下是數據分析員必備的9種數據分析思維模式:1. 分類分類是一種基本的數

HP P2000兩塊硬盤物理故障修復過程+raid條帶分析方法

技術 color 進行 ima 服務器 raid5 raid陣列 vpd cfb 1.服務器數據恢復故障描述 服務器型號:HP P2000服務器操作系統:VMWARE ESX服務器文件系統:VMFS磁盤陣列級別:RAID-5需要進行數據恢復的服務器掛載了8塊硬盤組成RAID

appium 3-31603調試分析方法

out quit 分析 driver int generator tomat serve waiting Appium Log 清晰記錄了所有的請求和結果 [Appium] Welcome to Appium v1.8.1 [Appium] Appium REST http

Android程序backtrace分析方法

rev rate rom regress 信息 frame err abi eas 如何分析Android程序的backtrace 最近碰到Android apk crash的問題,單從log很難定位。從tombstone裏面得到下面的backtrace。 *** ***