簡體   English   中英

如何使用statsmodels和sklearn在回歸中添加控制變量?

[英]How to add control variable in regression using statsmodels and sklearn?

我正在嘗試使用statsmodels和sklearn進行多元線性回歸,同時控制諸如社會經濟地位(年齡,性別,種族)之類的協變量。 我已經在SPSS中做到了這一點,這非常容易,因為我可以單擊要控制的變量,但是我必須切換到python,並且不知道是否有任何函數可以執行此操作? 非常感謝!

如果我正確理解了您的問題,那么您正在嘗試找出如何編寫多元回歸的代碼?

您想做:

import statsmodels.formula.api as smf
results = smf.ols('y ~ x1 + age', data=df).fit()
print(results.summary())

這會將y回歸到您的x1和年齡。

如果要包括性別或種族,則需要引入虛擬變量。 Statsmodels可以通過在您的偽變量周圍編寫C()來快速做到這一點。 這使變量成為類別變量(請記住,數據中的第一個種族或性別將被省略)。

results_2 = smf.ols('y ~ x1 + age + C(ethnicity) + C(gender)', data=df).fit()
print(results_2.summary())

希望能有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM