一、線性回歸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