spss線性回歸 回歸方程 - CSDN

2020-12-24 CSDN技術社區

我是一隻正在迭代的分析獅天天。

最近看了B站UP主好好玩量化的視頻《回答沈逸老師,新冠疫情下越民主死越多嗎?》,用到的分析方法就是線性回歸,決定猛學習一下,再來評判視頻裡的結論。

圖片來源:B站視頻截圖

提前預習

統計學

  • 定距、定序、定類

  • 線性回歸方程

  • 復相關與決定係數

  • 偏相關係數、標準化偏相關係數

  • 殘差

SPSS操作

01 線性回歸的應用場景

線性回歸,首先應用於定距變量之間,本質上是分析一個因變量和一組自變量之間的相關關係,既可以解釋,也可以做預測。

沈逸老師提出的,新冠疫情下越民主死越多嗎?就是一個用線性回歸解釋相關性的問題。

再舉幾個商業應用的簡單例子:

1、根據投資規模、員工數量,對生產規模進行預測;

2、探索潮牌店的收入,與人均收入水平、年輕人數量的關係;

3、價格、促銷、季節因素等對銷量的影響;

……

02 重要!線性回歸的適用條件

【案例】今天用到的是一個分析交通運輸需求的數據集。在這個案例中,需要預測的是因變量Y「每周乘客數量」,自變量分別是X1至X4。

國內的小夥伴,可以直接在bing國際版 or 搜狗英文裡,搜索第一個變量的名稱「Number of weekly riders」,就可以找到很多提供該數據集的網址,自行下載就好了。

【適用條件】

根據我總結的學SPSS的黃金三步法,區分場景-適用的統計學條件-操作及報告解讀

對於回歸分析,適用條件這一part特別重要,一定要拿小本本記下來!

1、最重要!自變量與因變量之間是線性關係,嚴格要求,如果不滿足,可以做非線性回歸,不要硬上;

2、樣本量要足夠,經驗值是希望分析的自變量數量的20倍。比如根據理論,有5個變量是必須進入模型的,還有6個是可以考慮的,即使最後用不上,希望分析的自變量數量也是11個,20倍就是最少220個樣本;案例是一個練習用的數據集,有4個自變量,但只有27個樣本量,湊合用;

3、因變量和自變量都是定距變量。有時候,定序自變量會作為定距變量處理,或者和定類變量一樣,變換為虛擬變量(啞變量)放入模型;

4、殘差的獨立性、正態性和方差齊性,殘差是估計值與真實測量值之間的差,所以要在構建模型後,才能計算殘差,再分析、調整;如果只是做相關關係的探索,不做預測,這一條可以放寬;

5、強影響點的診斷;

6、自變量的多重共線性問題,即自變量之間有較強的相關性,這條很常見,要根據理論框架和嚴重程度做取捨。

03  建模的流程

回歸分析的SPSS操作特別簡單,但相應的準備、診斷、調整流程比較複雜,我先按教科書上的標準流程分享,日後有機會多應用,再分享經驗。

3.1線性關係的考察

方法:每一個自變量與因變量的散點圖

案例數據裡有四個自變量X1-X4,與因變量的關係基本都滿足線性關係,存在的問題主要是個別數據離擬合曲線有點遠,可能是強影響點,建模時會進一步考察。

X1

X2

X3

X4

3.2因變量的分布觀察

前面提到的適用條件裡,有一條是因變量殘差的正態性,在建模前,也應該先看一下因變量的分布,經驗告訴我們,非常偏態的數據,殘差的正態性也不會太好。

3.3自變量的篩選

下面就進入建模流程了,把哪些自變量放到模型裡呢?

在問卷調研中,數據的採集都是有「預謀」的,也就是說從在設計問卷時,就需要考慮要做哪種分析,哪些問題會作為自變量放進模型裡。

「預謀」的根據首先是已有模型,模型就是分析問題的方法,很多國外的調研公司之所以牛,模型的積累和應用是重要原因。年輕人,有機會還是要進大公司,多見識些模型。

其次,可以根據理論的操作化探索新模型,比如社會學裡講財富、權力和聲望是社會分層的三個關鍵維度,在問卷調研裡,就可以轉換為收入、職業、教育程度、社會影響力等指標建模。所以,數據分析人員也要加強理論學習,並參考一些學術模型。

最後,才是根據自變量的重要性,做篩選和調整。

SPSS裡有自動篩選的功能,即「步進」的方法(或者稱逐步回歸法),把變量放入模型,但有30%+概率不是最優方程,而且也面臨如何解釋模型的問題,所以教程上還是建議手工選擇自變量。

沒有找到這個案例的背景說明,我個人理解,應該是預測公共運輸的乘客數量(如果不對,歡迎指教)

案例數據集裡放了4個自變量,來探索和因變量 Number of weekly riders的關係。

X1→Price per week

X2→Population of city

X3→Monthly income of riders

X4→Average parking rates per month

04  建模後的解讀、診斷和調整

根據殘差分析、強影響點、多重共線性的診斷和調整,才是建模的核心。下面就進入重頭戲的學習。

4.1模型的解讀

紅框裡的方法先用輸入法,將自變量和因變量都選進來即可

第一步,看決定係數。

R平方的意思是因變量的變異能夠通過回歸關係被自變量解釋的比例。

決定係數的大小決定了模型的好壞。如何判斷R平方的大小呢?很不幸,沒有統一的標準,而且各行業的差距很大,醫學上,99%都不夠,做股市分析20-30%就很牛了。

案例數據集的結果,R方達到94.5%,是個不錯的結果。

第二步,看模型的假設檢驗結果。

方差分析的H0假設是,所有X的偏相關係數都是0,這裡的結果是拒絕零假設,即至少一個係數不為0。

第三步,做自變量重要性的比較。

看下圖B值那一列,是方程裡各自變量的係數,稱為偏相關係數,即控制了其他自變量,與因變量的相關關係。因為有量綱的影響,接下來會用標準化後的偏相關係數beta,來衡量自變量的重要性。

在這個案例中,X1(Price per week)的Beta值最高,其次是X4(Average parking rates per month),最後是X3和X2。

看每一行後面的假設檢驗,X2和X3的顯著性值分別為0.456和0.432,>0.05,即接受H0,係數=0,不相關。所以,調整模型的時候可以考慮排除這兩個自變量。

結合實際場景的解讀,影響乘客數量最重要的因素是票價,負相關,票價越高,乘車人數越低。然後是替代方案的成本,即停車費,正相關,停車費越高,乘車人數越高。聽起來也比較合理。

4.2殘差分析

如果只是做相關關係的探索,不做預測,殘差檢驗可以放寬。反之,則需要嚴格的殘差檢驗。

第一步,獨立性。

在定義自變量、因變量的界面,統計選項,勾選Durbin-Watson檢驗。

Durbin-Watson檢驗值在0-4之間,經驗值在1-3之間滿足獨立性,超過這個區間就不太靠譜了。案例結果顯示,數值為1.438,滿足獨立性,符合建模需求。

第二步,正態性。

根據圖形來考察。圖形選項-勾選標準化的直方圖和P-P圖。

先看直方圖,形態比較符合,數值分布在3和-3之間。

再看P-P圖 ,如果滿足正態性,實測累計概率與預期累計概率應該一致,即散點應該分布在主對角線上。考慮到樣本量比較小,案例結果在可接受範圍,理想情況應該是貼合一些。

第三步,方差齊性

還在圖選項裡,畫一張X為標準化預測值,Y為標準化殘差的散點圖。

雙擊圖表,添加一條坐標為0的參考線。

教科書上給出了三張殘差散點圖的常見情況。

案例的數據基本符合標準圖,散點在0附近上下均勻分布,不超過正負3,也沒有明顯的分布規律。其中不超過正負3就是強影響點的考察。

書中的第二張圖屬於方差不齊,即隨著預測值越來越大,方差越來越大,需要做變量變換(超綱啦,以後慢慢學啊)

第三張圖,說明回歸方程裡缺少高次項,比如平方項。即本來是曲線方程,但現在做成了線性方程,所以隱藏的曲線關係就體現在殘差裡了(因為殘差是預測值和真實值之間的差)

4.3強影響點

在前面的殘差散點圖觀察中,提到超過正負3的點,就是非常可疑強影響點。可以在統計選項-個案診斷中設置,然後輸出案例號。

對強影響點的一般處理方法有幾種:

1、先檢查數據是否錄入錯誤;

2、如果有合理的理由,證明樣本沒有代表性,可以直接剔除不放入模型。樣本越大,刪除的影響越小。

3、把這個樣本的數據放入和拿出模型,看一下對模型的影響大不大,如果不大也就無所謂了。

4、用更穩健的回歸分析方法,降低強影響點的影響。(這條超綱啦,以後慢慢學啊)

4.4多重共線性

還是在統計選項裡,為了讓大家一步步理解,所以把殘差、強影響點和多重共線性分開講了,實戰中可同時在統計選項裡設置,然後一起看結果。

容差的含義,用案例的情況舉例,假設X1為因變量,X2-X4為自變量的回歸方程的決定係數為R1平方。容差=1-R12。那麼,容差越小,說明多重共線性越嚴重,所以經驗值要大於0.1。

VIF是容差的倒數,經驗值是<< span="">10。

接著看共線性診斷的表

特徵根(翻譯成了特徵值):原理是對模型的自變量和常數項提取主成分,如果前面的特徵根比較高,後面趨於0,則提示多重共線性比較嚴重。

條件指數(翻譯成了條件指標):如果多個指數值>30,提示有問題。

後面的方差比例,如果某個主成分解釋其他各項的比例較高,提示有問題。

綜合以上標準,本案例數據的多重共線性是比較嚴重的。

可以用逐步回歸(stepwisse,翻譯成步進)的方法自動篩選自變量,將解釋力較小的自變量排除在外。在這個案例中,會自動把X2-X4都排除了,只保留了X1。即只有票價的高低對乘客數量的多少有很大影響。

多重共線性的問題很普遍,在實際數據的診斷和和理論框架之間,應該更聽從理論的召喚,畢竟模型要可解釋。


最後,來回答沈逸老師的問題,新冠疫情下越民主死越多嗎?

根據UP好好玩量化的回歸模型,R平方太小了,只有0.182(雖然做成這樣已經很牛了),所以我覺得這個結論不能成立。

不過這位UP主找數據,做分析的思路還是很贊的,大家可以找來康康~

圖片來源:B站視頻截圖 

參考書

  • 張文彤《SPSS20.0統計分析高級教程第2版》

  • 李沛良 《社會研究的統計應用》

軟體版本 | SPSS 25.0

題圖 | Pexels

相關焦點

  • 的方法 線性回歸方程檢驗專題及常見問題 - CSDN
    回歸方程建立及回歸參數的區間估計,但是它們都是建立在假定因變量和自變量線性相關的基礎上。解:運用Excel對數據進行回歸分析,得到回歸方程和決定係數R平方;三種檢驗方法雖然各有側重,但在一元線性回歸方程的檢驗中,三種檢驗的作用是相同的,因此對於一元線性回歸方程而言,只要選擇一種方法進行檢驗即可。
  • eviews 線性回歸模型 - CSDN
    分享經典書籍: A Modern Approach to Regression with R.pdf  連結: https://pan.baidu.com/s/14NJt7CrOpUUe2hYyrJn_rg  提取碼: 7fv6  多元線性回歸
  • eviews線性回歸模型專題及常見問題 - CSDN
    分享經典書籍: A Modern Approach to Regression with R.pdf  連結: https://pan.baidu.com/s/14NJt7CrOpUUe2hYyrJn_rg  提取碼: 7fv6  多元線性回歸
  • 線性回歸假設檢驗 - CSDN
    機器學習眼中的線性回歸左圖是原始建模數據,目的是用來尋找玩偶數量和成本的某種關係。右圖將數據可視化得到散點圖。第一步 進行場景確定第二步 定義損失函數建模的目的:模型預測值與真實值之間的差距越小越好。下面有兩種定義損失函數的方法。
  • 回歸系列(一)|怎樣正確地理解線性回歸
    作者:丁點helper 來源:丁點幫你線性回歸,可能是統計學上運用最廣泛的一類方法了,之所以說它是一類方法,是因為它包括了我們熟知的各種模型:簡單線性回歸、多重線性回歸、Logistic回歸等等。確實如此,線性回歸,尤其是一般線性模型(一個Y,多個X)使用起來沒什麼障礙,但大家是否完全理解清楚了所有應該掌握的內容(非數學計算)可能有待思考,這個系列的文章我們以「線性回歸」為主題,希望能讓大家對這個問題的認識能再全面一丁點。
  • 簡單線性回歸模型
    本期我們的主題便是通過R來解決線性回歸分析中的若干問題。2 基礎回顧回歸的概念來源於實際問題,那麼現在我們所說的線性回歸分析問題具體指的是什麼呢?3 求解線性回歸模型函數3.1 極大似然法最小二乘法和極大似然法都可以用來求解線性回歸模型,我們在往期文章中討論過最小二乘法,這裡對似然法進行簡單介紹。
  • spss 非線性回歸 - CSDN
    主要採用層次回歸的方法進行數據分析,操作起來並不難。首先,對授權型領導行為、自我決定感進行中心化處理(即變量減去它的均值),分別構建二次項。其次,引入控制變量,構建基準模型,分別為Model1 與Model3,操作如下:分析—線性回歸—引入控制變量 再次,以任務績效為結果變量,依次引入授權型領導行為、授權型領導行為平方分別構建Model4與Model5,在這裡我們主要是驗證授權型領導行為對任務績效產生倒U型影響,主要是通過Model5來判斷,如果授權型領導行為平方對任務績效產生顯著負向影響,且相比Model4
  • Python數據分析|線性回歸
    Python數據分析學習筆記,今天分享下利用Python對業務進行數據預處理,並利用線性回歸進行數據預測。④先以我們後續需要用來做線性回歸的列「內容閱讀量」為標準,將不含該值的數據行去除:調用dropna函數,並執行info函數看數據情況。
  • 一文輕鬆看懂線性回歸分析的交互作用!
    如果想要研究兩個自變量如X1和X2的交互作用,通常的做法就是將兩個變量相乘,即X1*X2,然後把乘積項納入到回歸方程。操作起來很簡單,但交互項的納入對於回歸係數的解讀卻帶來了新的問題。以一個很經典的例子來說明。
  • 7種執行簡單的線性回歸的分析與討論!
    由於scikit-learn是一種免費的機器學習庫,它具有回歸、分類、聚類、模型選擇和降維等功能,所以常用的方法是從該庫調用線性模型類並擬合數據。雖然這可以為應用機器學習的其他流水線特性(例如數據規範化,模型係數正則化,將線性模型提供給另一個下遊模型)提供額外的優勢,但這通常不是確定回歸係數(和一些基本的相關統計)最快或最乾淨、簡單的方法。
  • Python環境下的8種簡單線性回歸算法
    GitHub 地址:對於大多數數據科學家而言,線性回歸方法是他們進行統計學建模和預測分析任務的起點。但我們不可誇大線性模型(快速且準確地)擬合大型數據集的重要性。如本文所示,在線性回歸模型中,「線性」一詞指的是回歸係數,而不是特徵的 degree。
  • 入門| 貝葉斯線性回歸方法的解釋和優點
    本文對比了頻率線性回歸和貝葉斯線性回歸兩種方法,並對後者進行了詳細的介紹,分析了貝葉斯線性回歸的優點和直觀特徵。我認為貝葉斯學派和頻率學派之間的紛爭是「可遠觀而不可褻玩」的學術爭論之一。與其熱衷於站隊,我認為同時學習這兩種統計推斷方法並且將它們應用到恰當的場景之下會更加富有成效。
  • r語言一元回歸模型專題及常見問題 - CSDN
    一元線性回歸介紹回歸分析(Regression Analysis)是用來確定2個或2個以上變量間關係的一種統計分析方法。如果回歸分析中,只包括一個自變量X和一個因變量Y時,且它們的關係是線性的,那麼這種回歸分析稱為一元線性回歸分析。回歸分析屬於統計學的基本模型,涉及統計學基礎,就會有一大堆的名詞和知識點需要介紹。
  • 用Excel求解回歸方程的3種方法:LINEST、散點圖和數據分析工具
    但是,我們必須學會和掌握一元回歸分析,因為,一元回歸是多元回歸的基礎,我們只有學會和掌握了一元回歸,才能夠繼續去學習和掌握多元回歸。《從入門到高手:線性回歸分析詳解》專欄總目錄見上圖。一元線性回歸方程。
  • 一文教你全面掌握用Python實現線性回歸
    全文共4968字,預計學習時長15分鐘或更長本文旨在為讀者理解和應用線性回歸時提供參考。雖然線性回歸算法很簡單,但是只有少數人能真正理解其基本原則。本文首先會深入挖掘線性回歸理論,理解其內在的工作機制,然後利用Python實現該算法,為商業問題建模。理論線性回歸或許是學習統計學最簡單的方法。
  • 深入研究線性回歸
    當我說到「線性回歸」時,大多數人開始想到的是最小二乘法(OLS)。如果你不熟悉這個術語,下面的方程可能會有幫助:學過最小二乘法嗎?如果學過,那麼你就走在正確的道路上了。但是線性回歸不僅僅是最小二乘法。首先,讓我們更仔細地看看最小二乘法。
  • 線性回歸和梯度下降的初學者教程
    方法是用線性回歸。首先找到最佳擬合線,然後用這條直線做預測。線性回歸是尋找數據集的最佳擬合線,這條線可以用來做預測。如何找到最佳擬合線?梯度下降法是一種通過多次迭代最小化誤差平方和來逼近最小平方回歸線的算法。梯度下降算法在機器學習術語中,誤差平方和稱為「成本」(cost)。這個成本公式是:因此,這個方程是「誤差平方和」,它計算的是預測值減去實際值平方的總和。
  • 8種用Python實現線性回歸的方法,究竟哪個方法最高效?
    ,但事實是,Python至少有8種執行線性回歸的方法,sklearn並不是最高效的。  今天,讓我們來談談線性回歸。沒錯,作為數據科學界元老級的模型,線性回歸幾乎是所有數據科學家的入門必修課。拋開涉及大量數統的模型分析和檢驗不說,你真的就能熟練應用線性回歸了麼?未必!  在這篇文章中,文摘菌將介紹8種用Python實現線性回歸的方法。  了解了這8種方法,就能夠根據不同需求,靈活選取最為高效的方法實現線性回歸。
  • 【Python機器學習】系列之線性回歸篇【深度詳細】
    本次推文介紹用線性模型處理回歸問題。從簡單問題開始,先處理一個響應變量和一個解釋變量的一元問題。然後,介紹多元線性回歸問題(multiple linear regression),線性約束由多個解釋變量構成。
  • python多重線性回歸分析
    python多重線性回歸分析多重線性回歸分析定義多重線性回歸模型:Mulitiple Linear Regression多元線性回歸模型:MultivariateLinear Regression數據準備#多重線性回歸#數據準備import pandas as pddf=pd.read_csv('e:/python/out/corr.csv',encoding='utf8')df根據預測目標,確定自變量和因變量#多重線性回歸