如何解讀r方很低但是p值顯著的線性回歸

一、線性回歸r方很低但是p值顯著

在進行線性回歸分析的時候,我們通常會關注兩個指標:r方和p值。r方是反映自變量對因變量的解釋力度,範圍在0~1之間,而p值則是反映自變量與因變量之間是否存在顯著性關係。

然而,在實際分析中,我們也可能會遇到一種情況,即r方很低但是p值顯著。這種情況意味着什麼呢?我們一起來探討。

假設我們有一組數據集,我們使用線性回歸進行分析,得出結果如下:

import numpy as np
import statsmodels.api as sm

# 構造數據
x = np.array([1, 2, 3, 4, 5])
y = np.array([10, 9, 11, 8, 12])

# 構建模型
x_1 = sm.add_constant(x) 
model = sm.OLS(y, x_1).fit()

# 輸出結果
print(model.summary())

結果顯示,r方為0.087,p值卻為0.015。這種情況是很常見的,但是又該如何解釋呢?

二、回歸顯著但是r方很低

要解釋r方很低但是p值顯著這種現象,我們需要先了解回歸顯著但是r方很低的情況。在這種情況下,雖然模型的r方很低,但是模型中的自變量與因變量之間的顯著性關係是有意義的,即p值小於顯著性水平,也就是說所選的自變量對因變量的解釋是有意義的。

與回歸顯著但是r方很低的情況類似,線性回歸模型中,雖然r方很低,但是模型中的自變量與因變量之間的顯著性關係是有意義的。這種情況可能會出現在多種場景中,下面我們將介紹其中幾種常見的情況。

三、r方很小但是係數顯著

首先,我們來看r方很小但是係數顯著的情況。在這種情況下,雖然模型的r方很低,但是模型中的自變量係數是顯著的。這說明,雖然自變量無法很好地解釋因變量的變異,但是自變量確實對因變量的變異有一定程度的解釋。

舉個例子,假設我們對於一組數據,使用線性回歸進行分析,得出結果如下:

import numpy as np
import statsmodels.api as sm

# 構造數據
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 6, 8, 10])

# 構建模型
x_1 = sm.add_constant(x) 
model = sm.OLS(y, x_1).fit()

# 輸出結果
print(model.summary())

結果顯示,r方為0.020,p值卻為0.009。模型中的自變量係數為1.8,而且p值小於顯著性水平。這意味着,儘管自變量無法很好地解釋因變量的變異,自變量係數確實是顯著的,因此,我們還是可以通過這個模型得出一些有用的信息。

四、自變量之間存在共線性

另一個導致r方很低但是p值顯著的原因是,自變量之間存在共線性。共線性是指自變量之間存在線性關係,或者說自變量可以用其它自變量來預測。當我們用這些自變量去解釋因變量的時候,會發現雖然p值小於顯著性水平,但是r方很低,這是因為r方只能反映每個自變量對因變量的解釋力度,而無法反映多個自變量之間的共同作用。

下面,我們來看一個實例。假設我們有一個數據集,其中變量y與變量x1和x2有關,而且變量x1和x2之間存在線性關係。我們對這個數據集進行線性回歸,得到下面的結果:

import numpy as np
import statsmodels.api as sm

# 構造數據
x1 = np.array([1, 2, 3, 4, 5])
x2 = np.array([1, 3, 5, 7, 9])
y = np.array([2, 4, 6, 8, 10])

x_1 = sm.add_constant(np.column_stack((x1, x2)))
model = sm.OLS(y, x_1).fit()

# 輸出結果
print(model.summary())

結果顯示,r方為0.038,p值卻為0.006。這是因為變量x1和x2之間存在共線性,所以他們對因變量的解釋力度並不是獨立的,因此r方的值不會很高。但是由於它們分別與因變量之間存在顯著性關係,因此p值小於顯著性水平。

五、結論

綜上所述,r方很低但是p值顯著的情況很常見,可能是因為模型中的自變量之間存在共線性,或者是因為自變量之間的解釋力度不是很獨立。但是,儘管r方很低,我們仍可以通過模型中的係數和p值來得出一些有用的信息。

原創文章,作者:IKTXS,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/360954.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
IKTXS的頭像IKTXS
上一篇 2025-02-24 00:33
下一篇 2025-02-24 00:33

相關推薦

  • Python實現一元線性回歸模型

    本文將從多個方面詳細闡述Python實現一元線性回歸模型的代碼。如果你對線性回歸模型有一些了解,對Python語言也有所掌握,那麼本文將對你有所幫助。在開始介紹具體代碼前,讓我們先…

    編程 2025-04-29
  • Python線性插值法:用數學建模實現精確預測

    本文將會詳細介紹Python線性插值法的實現方式和應用場景。 一、插值法概述 插值法是基於已知數據點得出缺失數據點的一種方法。它常用於科學計算中的函數逼近,是一種基礎的數學建模技術…

    編程 2025-04-27
  • 簡單線性回歸

    一、什麼是簡單線性回歸 簡單線性回歸是一種基本的統計方法,用於描述兩個變量之間的關係。其中一個變量是自變量(解釋變量),另一個變量是因變量(響應變量)。 簡單線性回歸通常用於預測。…

    編程 2025-02-25
  • 線性回歸數據集的實踐與探究

    一、數據集介紹 線性回歸數據集是機器學習中最基礎的數據集之一,通常包含訓練集和測試集。在這個數據集中,我們希望通過輸入不同的特徵值來預測輸出的目標值。 例如,一個房屋價格預測的線性…

    編程 2025-02-24
  • 深入理解PyTorch中的線性層

    一、線性層簡介 在深度學習中,線性層是最基本的模型之一。PyTorch作為流行的深度學習框架,也提供了很好的線性層構建機制。 線性層(Linear Layer),也稱為全連接層(F…

    編程 2025-02-05
  • 使用Python進行線性回歸預測房價

    一、了解線性回歸 線性回歸是一種用於建立變量之間關係的方法,通常用於預測連續型變量。它假設不同變量之間存在一種線性關係,即每個自變量對因變量的影響是相加的。 在房價預測中,我們可以…

    編程 2025-02-05
  • 線性篩素數詳解

    一、簡介 線性篩素數,顧名思義,是一種用線性時間複雜度求出所有素數的方法。相比於其他素數篩法,線性篩素數更加高效,因此在實際應用中經常被使用。 二、原理 線性篩素數的核心思想是將每…

    編程 2025-01-20
  • 廣義線性混合模型

    一、簡介 廣義線性混合模型是一種統計模型,在許多實際問題中都有廣泛的應用。該模型的主要特點是可以同時處理連續型變量、二元型變量、計數型變量以及其他類型的變量。同時,廣義線性混合模型…

    編程 2025-01-14
  • 聯合顯著性檢驗

    在實際的統計研究中,我們常常需要對多個變量進行分析,以便更好地理解它們之間的關係。而聯合顯著性檢驗就是這樣的一種分析方法,它可以幫助我們判斷多個自變量對因變量的影響是否顯著,並且可…

    編程 2025-01-11
  • 用python編寫線性回歸程序,4python簡單線性回歸代碼案例完整

    本文目錄一覽: 1、關於python簡單線性回歸 2、用python寫一個小程序,輸入坐標求線性回歸 3、python線性回歸有哪些方法 4、python怎麼用線性回歸擬合 5、如…

    編程 2025-01-09

發表回復

登錄後才能評論