吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

線性回歸背景下交互作用術語的直觀解釋

jf_pJlTbmA9 ? 來源:NVIDIA ? 作者:NVIDIA ? 2023-07-05 16:30 ? 次閱讀

線性回歸是一種強大的統計工具,用于對因變量和一個或多個自變量(特征)之間的關系進行建模。回歸分析中一個重要且經常被遺忘的概念是交互作用項。簡而言之,交互術語使您能夠檢查目標和自變量之間的關系是否會根據另一個自變量的值而變化。

交互術語是回歸分析的一個關鍵組成部分,了解它們的工作原理可以幫助從業者更好地訓練模型和解釋數據。然而,盡管交互術語很重要,但它們可能很難理解。

這篇文章提供了線性回歸背景下交互作用術語的直觀解釋。

回歸模型中的交互項是什么?

首先,這是一個更簡單的案例;也就是說,一個沒有相互作用項的線性模型。這樣的模型假設每個特征或預測器對因變量(目標)的影響獨立于模型中的其他預測器。

以下等式描述了具有兩個特征的此類模型規范:

latex.php?latex=y+%3D+%5Cbeta_0+%2B+%5Cbeta_1+x_1+%2B+%5Cbeta_2+x_2+%2B+%5Cepsilon&bg=transparent&fg=000&s=0&c=20201002

為了使解釋更容易理解,這里有一個例子。想象一下,你對房地產價格建模感興趣 (y) 使用兩個功能:它們的大小 (X1 個) 以及指示公寓是否位于市中心的布爾標志 (2 個) .latex.php?latex=%5Cbeta_0&bg=transparent&fg=000&s=0&c=20201002是截距,latex.php?latex=%5Cbeta_1&bg=transparent&fg=000&s=0&c=20201002latex.php?latex=%5Cbeta_2&bg=transparent&fg=000&s=0&c=20201002是線性模型的系數,以及latex.php?latex=%5Cepsilon&bg=transparent&fg=000&s=0&c=20201002是誤差項(模型無法解釋)。

在收集數據并估計線性回歸模型后,可以獲得以下系數:

latex.php?latex=y+%3D+300+%2B+20x_1+%2B+10x_2&bg=transparent&fg=000&s=0&c=20201002

知道估計的系數和2 個是一個布爾功能,您可以根據的值寫出兩種可能的情況2 個.

市中心

latex.php?latex=y+%3D+310+%2B+20x_1&bg=transparent&fg=000&s=0&c=20201002

市中心外

latex.php?latex=y+%3D+300+%2B+20x_1&bg=transparent&fg=000&s=0&c=20201002

如何解讀這些?雖然這在房地產領域可能沒有多大意義,但你可以說,市中心一套 0 平方米的公寓的價格是 310 (截距的價值)。每增加一平方米的空間,價格就會上漲 20 。在另一種情況下,唯一的區別是截距小于 10 個單位。圖 1 顯示了兩條最佳擬合線。

Figure-1.-Regression-lines-for-properties-in-the-city-center-and-outside-of-it.png 圖 1 。市中心和城外房產的回歸線

正如你所看到的,這些線是平行的,它們有相同的斜率 — 系數由X1 個,這在兩種情況下都是一樣的。

交互作用術語表示聯合效應

在這一點上,你可能會爭辯說,在市中心的公寓里多住一平方米比在郊區的公寓里多花一平方米要貴。換句話說,這兩個特征可能會對房地產價格產生共同影響。

所以,你認為不僅兩種情況下的截距應該不同,而且直線的斜率也應該不同。如何做到這一點?這正是互動術語發揮作用的時候。它們使模型的規范更加靈活,并使您能夠考慮到這些模式。

交互項實際上是你認為對目標有共同影響的兩個特征的乘積。以下等式表示模型的新規范:

latex.php?latex=y+%3D+%5Cbeta_0+%2B+%5Cbeta_1+x_1+%2B+%5Cbeta_2+x_2+%2B+%5Cbeta_3x_1x_2+%2B+%5Cepsilon&bg=transparent&fg=000&s=0&c=20201002

再次假設你已經估計了你的模型,并且你知道系數。為了簡單起見,我保留了與前面示例中相同的值。請記住,在現實生活中,它們可能會有所不同。

latex.php?latex=y+%3D+300+%2B+20x_1+%2B+10x_2+%2B+5x_1x_2&bg=transparent&fg=000&s=0&c=20201002

市中心

latex.php?latex=y+%3D+310+%2B+25x_1&bg=transparent&fg=000&s=0&c=20201002

市中心外

latex.php?latex=y+%3D+300+%2B+20x_1&bg=transparent&fg=000&s=0&c=20201002

在你寫出兩個場景之后2 個(市中心或市中心外),您可以立即看到坡度(系數X1 個) 兩條線中的一條不同。正如假設的那樣,現在市中心增加一平方米的空間比郊區更貴。

用交互項解釋系數

向模型中添加交互項會改變對所有系數的解釋。如果沒有交互項,則可以將系數解釋為預測器對因變量的獨特影響。

所以在這種情況下,你可以這么說latex.php?latex=%5Cbeta_1&bg=transparent&fg=000&s=0&c=20201002是公寓大小對價格的獨特影響。然而,對于交互項,公寓大小對不同值的影響是不同的2 個換句話說,公寓規模對價格的獨特影響不再局限于latex.php?latex=%5Cbeta_1&bg=transparent&fg=000&s=0&c=20201002.

為了更好地理解每個系數代表什么,這里再看一看具有交互項的線性模型的原始規范。作為提醒,2 個是一個布爾特征,指示特定公寓是否位于市中心。

latex.php?latex=y+%3D+%5Cbeta_0+%2B+%5Cbeta_1+x_1+%2B+%5Cbeta_2+x_2+%2B+%5Cbeta_3x_1x_2+%2B+%5Cepsilon&bg=transparent&fg=000&s=0&c=20201002

現在,您可以通過以下方式解釋每個系數:

latex.php?latex=%5Cbeta_0&bg=transparent&fg=000&s=0&c=20201002: 攔截市中心以外的公寓(或布爾特征為零值的任何組2 個) .

latex.php?latex=%5Cbeta_1&bg=transparent&fg=000&s=0&c=20201002: 市中心以外公寓的坡度(價格的影響)。

latex.php?latex=%5Cbeta_2&bg=transparent&fg=000&s=0&c=20201002: 兩組之間的截距差異。

latex.php?latex=%5Cbeta_3&bg=transparent&fg=000&s=0&c=20201002: 市中心和城外公寓之間的坡度差異。

例如,假設你正在測試一個假設,即無論公寓是否在市中心,公寓的大小對價格的影響都是相等的。然后,您將使用交互項來估計線性回歸,并檢查latex.php?latex=%5Cbeta_3&bg=transparent&fg=000&s=0&c=20201002與 0 顯著不同。

關于交互術語的一些附加注釋:

我提出了雙向交互術語;然而,高階相互作用(例如,三個特征的相互作用)也是可能的。

在這個例子中,我展示了一個數字特征(公寓的大小)與布爾特征(公寓在市中心嗎?)的交互。但是,您也可以為兩個數字特征創建交互項。例如,您可以創建一個公寓大小與房間數量的交互項。有關詳細信息,請參閱相關資源部分。

這種情況下,相互作用項可能具有統計學意義,但主要影響并不顯著。然后,你應該遵循分層原則,即如果你在模型中包括一個交互項,你也應該包括主要影響,即使它們的影響在統計上并不顯著。

Python 中的實際操作示例

在所有的理論介紹之后,下面是如何在 Python 中為線性回歸模型添加交互項。一如既往,首先導入所需的庫。

import numpy as np
import pandas as pd

import statsmodels.api as sm
import statsmodels.formula.api as smf

# plotting
import seaborn as sns
import matplotlib.pyplot as plt

# settings
plt.style.use("seaborn-v0_8")
sns.set_palette("colorblind")
plt.rcParams["figure.figsize"] = (16, 8)
%config InlineBackend.figure_format = 'retina'

在本例中,您使用statsmodels圖書館對于數據集,使用mtcars數據集。我敢肯定,如果你曾經使用過 R ,你就會對這個數據集很熟悉。

首先,加載數據集:

mtcars = sm.datasets.get_rdataset("mtcars", "datasets", cache=True)
print(mtcars.__doc__)

執行代碼示例將打印數據集的全面描述。在這篇文章中,我只展示了相關部分 — 列的總體描述和定義:

  ====== ===============
  mtcars R Documentation
  ====== ===============

數據摘自 1974 年的美國雜志MotorTrend,由 32 輛汽車( 1973-74 車型)的油耗和汽車設計和性能的 10 個方面組成。

這是一個 DataFrame ,它對 11 個(數字)變量進行了 32 次觀測:

  ===== ==== ========================================
  [, 1] mpg  Miles/(US) gallon
  [, 2] cyl  Number of cylinders
  [, 3] disp Displacement (cu.in.)
  [, 4] hp   Gross horsepower
  [, 5] drat Rear axle ratio
  [, 6] wt   Weight (1000 lbs)
  [, 7] qsec 1/4 mile time
  [, 8] vs   Engine (0 = V-shaped, 1 = straight)
  [, 9] am   Transmission (0 = automatic, 1 = manual)
  [,10] gear Number of forward gears
  [,11] carb Number of carburetors
  ===== ==== ========================================

然后,從加載的對象中提取實際數據集:

df = mtcars.data
df.head()

英里/加侖 氣缸 顯示 馬力 德拉特 重量 質量安全委員會 排擋 碳水化合物
馬自達 RX4 21 6 160 110 3 . 90 2 . 620 16 . 46 0 1 4 4
馬自達 RX4 Wag 21 6 160 110 3 . 90 2 . 875 17 . 02 0 1 4 4
達特桑 710 22 . 8 4 108 93 3 . 85 2 . 320 18 . 61 1 1 4 1
大黃蜂 4 號驅動器 21 . 4 6 258 110 3 . 08 3 . 215 19 . 44 1 0 3 1
大黃蜂運動型 18 . 7 8 360 175 3 . 15 3 . 440 17 . 02 0 0 3 2

表 1 。的預覽動車組數據集

對于這個例子,假設你想調查每加侖英里數之間的關系 (mpg) 和兩個特征:重量 (wt,連續)和變速器類型 (am,布爾值)。

首先,繪制數據以獲得一些初步見解:

sns.lmplot(x="wt", y="mpg", hue="am", data=df, fit_reg=False)
plt.ylabel("Miles per Gallon")
plt.xlabel("Vehicle Weight");

Figure-2.-Scatterplot-of-miles-per-gallon-vs.-vehicle-weight-color-per-transmission-type.png 圖 2 :每加侖英里數與車輛重量、每種變速器類型顏色的散點圖

通過觀察圖 2 ,您可以看到 am 變量的兩個類別的回歸線將大不相同。為了進行比較,從一個沒有交互項的模型開始。

model_1 = smf.ols(formula="mpg ~ wt + am", data=df).fit()
model_1.summary()

下表顯示了在沒有交互項的情況下擬合線性回歸的結果。

OLS Regression Results                       	 
==============================================================================
Dep. Variable:                	  mpg   	R-squared:             	0.753
Model:                        	  OLS      Adj. R-squared:             	0.736
Method:                 Least Squares         F-statistic:             	44.17
Date:                Sat, 22 Apr 2023  Prob (F-statistic):           1.58e-09
Time:                        23:15:11      Log-Likelihood:            -80.015
No. Observations:              	   32   	      AIC:      	166.0
Df Residuals:                  	   29  	              BIC:          	170.4
Df Model:           	            2                                    	 
Covariance Type:            nonrobust                                    	 
==============================================================================
               coef     std err         t      P>|t|       [0.025       0.975]
------------------------------------------------------------------------------
Intercept   37.3216  	  3.055    12.218      0.000       31.074  	43.569
wt          -5.3528  	  0.788    -6.791      0.000       -6.965  	-3.741
am          -0.0236  	  1.546    -0.015      0.988       -3.185        3.138
==============================================================================
Omnibus:                    	3.009   Durbin-Watson:                  1.252
Prob(Omnibus):                  0.222   Jarque-Bera (JB):            	2.413
Skew:                       	0.670   Prob(JB):                    	0.299
Kurtosis:                   	2.881   Cond. No.                      21.7
==============================================================================

從匯總表中可以看出, am 特征的系數在統計上并不顯著。使用您已經學習的系數的解釋,您可以為 am 特征的兩類繪制最佳擬合線。

X = np.linspace(1, 6, num=20)
sns.lmplot(x="wt", y="mpg", hue="am", data=df, fit_reg=False)
plt.title("Best fit lines for from the model without interactions")
plt.ylabel("Miles per Gallon")
plt.xlabel("Vehicle Weight")
plt.plot(X, 37.3216 - 5.3528 * X, "blue")
plt.plot(X, (37.3216 - 0.0236) - 5.3528 * X, "orange");

Figure-4.-Best-fit-lines-for-both-types-of-transmission.png 圖 3 。兩種變速器的最佳匹配線路

圖 3 顯示了線條幾乎重疊,因為 am 特征的系數基本為零。

接下來是第二個模型,這一次是兩個功能之間的交互項。以下是如何在statsmodels公式

model_2 = smf.ols(formula="mpg ~ wt + am + wt:am", data=df).fit()
model_2.summary()

以下匯總表顯示了用交互項擬合線性回歸的結果。

OLS Regression Results                       	 
==============================================================================
Dep. Variable:                	 mpg      R-squared:                  0.833
Model:                        	 OLS      Adj. R-squared:             0.815
Method:                Least Squares      F-statistic:               46.57
Date:               Mon, 24 Apr 2023      Prob (F-statistic):         5.21e-11
Time:                       21:45:40      Log-Likelihood:           -73.738
No. Observations:              	  32      AIC:                      155.5
Df Residuals:                  	  28      BIC:                      161.3
Df Model:                          3                                    	 
Covariance Type:           nonrobust                                    	 
===============================================================================
                coef     std err         t      P>|t|       [0.025       0.975]
------------------------------------------------------------------------------
Intercept    31.4161  	   3.020    10.402  	0.000  	    25.230  	 37.602
wt           -3.7859  	   0.786    -4.819  	0.000  	    -5.395  	 -2.177
am           14.8784  	   4.264     3.489  	0.002        6.144  	 23.613
wt:am        -5.2984  	   1.445    -3.667  	0.001  	    -8.258  	 -2.339
==============================================================================
Omnibus:                    	3.839   Durbin-Watson:               	1.793
Prob(Omnibus):              	0.147   Jarque-Bera (JB):            	3.088
Skew:                       	0.761   Prob(JB):                    	0.213
Kurtosis:                   	2.963   Cond. No.                      40.1
==============================================================================

以下是您可以從具有交互項的匯總表中快速得出的兩個結論:

所有的系數,包括相互作用項,都具有統計學意義。

通過檢查 R2 (及其調整后的變體,因為模型中有不同數量的功能),您可以聲明具有交互項的模型會產生更好的擬合。

與前面的情況類似,繪制最佳擬合線:

X = np.linspace(1, 6, num=20)
sns.lmplot(x="wt", y="mpg", hue="am", data=df, fit_reg=False)
plt.title("Best fit lines for from the model with interactions")
plt.ylabel("Miles per Gallon")
plt.xlabel("Vehicle Weight")
plt.plot(X, 31.4161 - 3.7859 * X, "blue")
plt.plot(X, (31.4161 + 14.8784) + (-3.7859 - 5.2984) * X, "orange");

Figure-6.-Best-fit-lines-for-both-types-of-transmission-including-interaction-terms.png 圖 4 。兩種類型變速器的最佳匹配線路,包括相互作用項

在圖 4 中,您可以立即看到配備自動變速器和手動變速器的汽車在截距和坡度方面的擬合線差異。

這里有一個好處:您還可以使用添加交互術語scikit-learn的PolynomialFeaturestransformer 不僅提供了添加任意階的交互項的可能性,而且還創建了多項式特征(例如,可用特征的平方值)。有關詳細信息,請參閱sklearn.preprocessing.PolynomialFeatures.

結束語

在處理線性回歸中的交互項時,需要記住以下幾點:

交互術語使您能夠檢查目標和功能之間的關系是否會根據另一個功能的值而變化。

添加交互項作為原始特征的乘積。通過將這些新變量添加到回歸模型中,可以測量它們與目標之間相互作用的效果。仔細解釋相互作用項的系數對于理解關系的方向和強度至關重要。

通過使用交互項,可以使線性模型的規范更加靈活(不同線的斜率不同),從而更好地擬合數據并具有更好的預測性能。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • NVIDIA
    +關注

    關注

    14

    文章

    5076

    瀏覽量

    103730
  • 人工智能
    +關注

    關注

    1796

    文章

    47683

    瀏覽量

    240313
收藏 人收藏

    評論

    相關推薦

    LED燈帶常用規格術語解釋

    下面就把LED燈帶常用的5種規格術語進行一解釋和分享,同時也供采購朋友們參考:
    發表于 04-20 15:11 ?1.5w次閱讀

    線性回歸的標準方程法使用

    線性回歸-標準方程法示例(python原生實現)
    發表于 05-07 16:44

    線性回歸定義

    線性回歸與評價指標-2
    發表于 09-03 14:24

    關于多傳感器模糊—概率交互作用的數據關聯算法

    本文基于估計理論和模糊系統理論,提出了一種多傳感器多回波模糊一概率交互作用的數據關聯濾波算法,以解決密集雜波干擾環境中多傳感器跟蹤機動目標的數據關聯問題.模糊關聯度和關聯概率共同組成了各有效回波的加權系數,彌補了概率數據關聯濾波方法(PDAF)的不足.提高了雜波環境中機動目標的跟蹤性能.  
    發表于 04-24 06:09

    生產應用中使用線性回歸進行實際操練

    線性回歸】生產應用中使用線性回歸進行實際操練
    發表于 05-08 07:45

    Tensorflow的非線性回歸

    Tensorflow 非線性回歸
    發表于 05-12 10:19

    TensorFlow實現多元線性回歸(超詳細)

    在 TensorFlow 實現簡單線性回歸的基礎上,可通過在權重和占位符的聲明中稍作修改來對相同的數據進行多元線性回歸。在多元線性
    發表于 08-11 19:35

    Allegro做padstack時的術語解釋

    Allegro做padstack時的術語解釋 做padstack的一些問題:在本圖片中的 regular pad , thermal relief , anti pad 在做padstack中的具體區別是什么麻煩大嚇幫我詳細解說一
    發表于 03-22 16:39 ?3307次閱讀
    Allegro做padstack時的<b class='flag-5'>術語</b><b class='flag-5'>解釋</b>

    多傳感器模糊—概率交互作用的數據關聯算法

    多傳感器模糊—概率交互作用的數據關聯算法 本文基于估計理論和模糊系統理論,提出了一種多傳感器多回波模糊一概率交互作用的數據關聯濾波
    發表于 10-21 18:35 ?821次閱讀
    多傳感器模糊—概率<b class='flag-5'>交互作用</b>的數據關聯算法

    LED專業術語解釋

    LED專業術語解釋VF、IV、WL、IR 解釋及光通量換算關系,LED的Vf值是什么意思?它的大小對LED有什么影響?
    發表于 01-06 15:34 ?5600次閱讀

    LED專業術語解釋

    LED專業術語解釋,LED燈飾入門知識。
    發表于 03-04 14:15 ?0次下載

    電力系統多FACTS交互作用

    況,然后闡述了線性控制理論、非線性控制理論、智能控制理論等在多FACTS協調控制方面的研究和應用現狀,最后探討了多FACTS交互作用與協調控制研究領域所面臨的重要問題和未來研究方向。
    發表于 01-17 18:08 ?1次下載

    科普:示波器常用的術語解釋

    科普:示波器常用的術語解釋
    發表于 07-15 18:55 ?3次下載
    科普:示波器常用的<b class='flag-5'>術語</b><b class='flag-5'>解釋</b>

    多元線性回歸的特點是什么

    何為多元線性回歸?對比于前一天學習的線性回歸,多元線性回歸的特點是什么? 多元
    的頭像 發表于 10-31 10:34 ?1523次閱讀
    多元<b class='flag-5'>線性</b><b class='flag-5'>回歸</b>的特點是什么

    電磁兼容基本術語和定義的應用與解釋.zip

    電磁兼容基本術語和定義的應用與解釋
    發表于 12-30 09:21 ?2次下載
    百家乐马渚| 凯时百家乐技巧| 沙巴娱乐| 如何玩百家乐的玩法技巧和规则 | 澳门百家乐官网哪家信誉最好| 太阳城在线娱乐城| 优博百家乐现金网| 百家乐官网注码投注论坛| 爱赢娱乐城资讯网| 尊龙百家乐娱乐场开户注册| 玩百家乐官网的玩法技巧和规则| 真钱现金斗地主| 威尼斯人娱乐城购物| 88百家乐现金网| 百家乐官网赌场论坛| 静宁县| 大发888娱乐城官方下载lm0| 澳门百家乐大家乐眼| 百家乐官网tt赌场娱乐网规则 | 百家乐官网导航| 百家乐官网桌子北京| 淘金盈赌场有假吗| 网上百家乐试| 百家乐赌王有哪些| 百家乐官网千术手法| 澳门百家乐官网自杀| 网上棋牌游戏赚钱| 百家乐技巧开户| 优博百家乐现金网平台| 百家乐官网7scs娱乐场| 哪个百家乐官网最好| bet365 备用网址| 百家乐庄闲出现几| 百家乐庄闲桌子| 做生意如何风水| 百家乐官网赌场娱乐城大全| 涿鹿县| 最新娱乐城注册送体验金| 全讯网433234| 至尊百家乐娱乐场开户注册| 新澳门百家乐娱乐城|