預測和回歸的區別是什麼?

知道回歸的一些概念,但是不清楚預測的原理。

看到回答說回歸是預測的一種工具,那具體是怎麼利用這個工具的。因為按照我的認知,擬合是兩個變數x和y的關係,而預測是以前的y和現在的y的關係


謝邀。把這兩個名詞擺在一起並不合適。預測是目的,回歸是工具。

從目的上來看,「預測」更應該和「解釋」相對應,即,我們使用統計工具的目的是什麼?是為了「預測」某一個y,還是為了知道某一個x有沒有「解釋」y?比較一下這兩個任務:

  1. 預測2016年我國GDP增速
  2. 生產率的提高在多大程度上解釋了我國的GDP增速?

而回歸,則是為了達到這兩個目的都可以使用的工具。

基於不同的目的,統計工具的選取、處理方法都有千差萬別。

比如如果單獨為了預測,除了回歸之外,還可以使用決策樹、神經網路之類的工具。而即使使用回歸,一般來說儘可能的擴充信息集總是可以讓預測效果至少不變差。

而如果為了解釋,決策樹、神經網路可能不是那麼的適用了,而在做回歸的時候,也不能一味的擴充信息集了。

此外,即使是為了預測,短期預測和長期預測的工具經常也是不一樣的。而即便是為了解釋,即使對於相同的問題,在不同的背景下使用的工具通常也是不一樣的。回歸併非唯一解決辦法。


預測和回歸的區別是什麼?

慧航的答案說得透徹了。

首先預測和回歸是兩個層面的問題,建議樓主先不用一起討論。

一、先說預測層面的問題,你可以理解預測是我們的目標(或者說任務):

一般來說,建立統計學習模型,簡單是指利用一個或多個輸入變數(一般也稱為自變數,預測變數)通過擬合適當的關係式來預測輸出變數(也稱因變數,響應變數)的方法。其中f(x)是我們希望探求的關係式,但一般來說是固定但未知。儘管f(x)未知,但是我們的目標就是利用一系列的統計/數據挖掘方法來儘可能求出接近f(x)的形式,這個形式可以是一個簡單的線性回歸模型(y=a+bx),也可能是一個曲線形式(y=a+b(x的平方)),當然也有可能是一個神經網路模型或者一個決策樹模型。

而我們建立統計學習模型的任務,從應用角度來說,一般可以分為「預測任務」以及「控制任務」

1在預測任務中,我們希望模型儘可能地精確,相反預測模型f的形式可能是一個黑箱模型(即模型的本身我們不能很好的解釋或者並不清楚,我們更加關心這當中的輸入和輸出,並不試圖考察其內部結構),只要能夠提高我們的預測精度我們就認可達到目的了。一般認為,神經網路模型屬於黑箱模型,如幾年前Google X實驗室開發出一套具有自主學習能力的神經網路模型,它能夠從一千萬中圖片中找出那些有小貓的照片。在這裡,輸入就是這一千萬張圖片,輸出就是對於這些圖片的識別。

2在控制任務中,預測結果固然重要,但是我們也十分關心模型的形式具體是怎麼樣,或者藉助統計挖掘模型幫助我們生成了怎樣的判別規則。例如在銀行業,我們希望通過客戶的個人信用信息來評價個人的借貸風險,這就要求我們不但能夠回答這個客戶的風險是高是低,還要求我們回答哪些因素對客戶風險高低有直接作用,每個因素的影響程度有多大。

二、在明確目標(任務)的情況下,我們就可以選擇合適的工具(統計學習方法)來幫我們完整這個任務

首先,回歸就屬於其中一種我們可以使用的工具。與此同時,我們「回歸」工具既可以幫助我們完成預測任務也可以幫助我們完成控制任務。

補充一點,在慧航的答案中,「而如果為了解釋,決策樹、神經網路可能不是那麼的適用了」,我認為決策樹模型是具備解釋能力的,因為通過決策樹我們能夠輸出預測類別的分類規則,而這些分類規則就有助於我們進行解釋。

三、樓主提到怎麼利用這個工具的問題?

可能這才是困擾樓主最大的問題。

樓主提到一點非常有意思「因為按照我的認知,擬合是兩個變數x和y的關係,而預測是以前的y和現在的y的關係」,再看看樓主的話題分類「機器學習」,「回歸分析」,「時間序列分析」,我在想,樓主可能在把時序歸納到預測中,回歸歸納到分析關係中?

首先明確一點,我們在做預測任務中,簡單也可以劃分兩類(有點粗暴了,不太嚴謹):

一是研究y本身的發展規律,也就是樓主說的「預測是以前的y和現在的y的關係」,一般我們可以通過時間序列分析完成,例如我通過2000-2015年的GDP預測2016年的GDP

二是研究其他因素如何影響y的發展,也就是樓主說的「擬合是兩個變數x和y的關係」。舉個簡單的例子,生產率是影響GDP的重要因素,假如我們知道擬合出「GDP=a+b生產率」,那在我們知道生產率的情況下,我們就可以利用回歸公式來預測GDP了。(雖然不太嚴謹,將就用用吧~)。

我更喜歡的例子是,在信用分析中,我們利用一個人的背景信息(家庭情況,職業情況,收入情況)以及銀行交易信息(存款,交易信息)來預測他未來是否能夠準時還款


回答一下提問者在評論區提的問題:「能不能在操作層面說下預測怎麼利用回歸?」

根據數據類型,預測可以分為兩個大的類別。如果是discrete data,稱為classification,這也是目前機器學習中比較重要的組成部分。如果是continuous data,稱為regression。

http://www.cbcb.umd.edu/~hcorrada/PracticalML/pdf/lectures/intro.pdf

我手機不方便打鏈接,這篇paper詳細介紹了prediction和regression的關係,其中涉及到loss function和regression function等的定義,希望閱讀愉快^_^

-------------------------------------------------------------

說一個project里學習到的區別。預測和回歸都屬於建立模型,既然是建立模型,就要有選擇機制(model selection criteria)。

先說我大學課程里系統學過的回歸。現有的很多selection criteria都可以用在回歸里,比如AIC,BIC等等都是很常用的。另外還有常用的likelihood ratio test,比較full model和nested reduced model。我非常同意@慧航說的,回歸是一種手段,而其目的是通過統計學模型高度總結數據。(根據我目前所學)一般情況下,人們更傾向於選擇簡單但是在描述數據時又不缺失信息的模型,而這也是LRT的核心思想。另外,當你在R中summary一個model,這個model中每個predictor的p value決定了它是否是significant的,即在高度總結數據的過程中它是否是有用的。假如p value很大的話,我們會考慮不把它放進model里。

接著再說預測。我用過的prediction model的criteria只有一個,是mean squear prediction error,error越小,預測的越好。而在prediction model里,我們也不再追求簡單的model,不再過於關注這些predictor是否significant,因為此時的目的是預測,而任何一點點的extra information都可能會讓預測結果變得更準確。

ps.學的時候都是英語,有些單詞確實不知道中文怎麼說,多多包涵。

pps.這些都是我做project的時候和教授討論的,可能有很強的針對性,不是很全面,歡迎大家批評指正,也期待和大家交流。


回歸是已經發生了的,預測是沒發生的。

假設事情的發展具有規律性,收集一段時間的數據來推導規律——回歸。

得出規律公式了,按照規律推論事情某段時間之後是什麼樣子——預測。


@慧航 說的對。

用自己的話講,回歸就是在歷史數據特徵集的基礎上做擬合。

發現,找出特徵集對於結果的影響關係,其實就是一種建模。

我們建模是為了解決問題,所以,@慧航 說回歸是工具,其實也是手段,方法。

預測是一種目的,而達成這種目的的工具方法有很多,回歸是一種,還有分類,聚類的方法。

希望幫到你!


回歸是為了得到PRF,主要任務是確定函數形式和參數估計。

而在得到了PRF之後,就可以對解釋變數進行賦值計算,得出預測結果了。


Classification is a model of the labels given the data p(y|x), while regression is modeling the data distribution p(x). It may seem confusing because we can predict y class labels in with data x using classification, and predict y values using regression over data. However, when conducting regression, we take the data as (x, y) samples, and complete new samples when given a new x or y. In that sense we are filling in partially completed samples, rather than actually predicting values.


預測是目的,回歸是工具。回歸就是擬合輸入和輸出的關係,這個關係模型可能是線性,可能是神經網路等非線性。預測就是在測試階段由輸入變數根據回歸得到的模型得到的連續性輸出變數;若是得到是離散的輸出變數就變成分類問題。


回歸是尋找x和y的關係,然後通過x來預測y


推薦閱讀:

語音識別中,如何理解HMM是一個生成模型,而DNN是一個判別模型呢?
如何高效地調整PID參數?
機器學習「判定模型」和「生成模型『有什麼區別?
機器學習論文的疑惑,求教?
設計embedding維數的時候有什麼講究?

TAG:機器學習 | 回歸分析 | 時間序列分析 |