首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多元线性回归中解释变量的平方处理

多元线性回归中解释变量的平方处理
EN

Stack Overflow用户
提问于 2018-10-24 03:25:22
回答 2查看 92关注 0票数 1

因此,我希望将我的解释变量空气质量与吸烟状况和吸烟状况的平方作为线性回归的一部分。因此,我可以通过在我正在读取的.csv文件中添加值来轻松地解决这个问题,但我想使用python来处理它。有没有一种方法可以通过对吸烟状态进行平方处理并利用部分多重线回归来控制吸烟状态?我的csv文件只有3列,包括空气质量、吸烟状态和哮喘。

代码语言:javascript
复制
x = df[['Air_quality', 'Smoking_Status']]
y = df['Asthma_Death_Rate']

x = sm.add_constant(x)

est = sm.OLS(y,x).fit()
EN

回答 2

Stack Overflow用户

发布于 2018-10-24 03:37:07

要在数据框中显示吸烟状态,请执行以下操作:

代码语言:javascript
复制
df['Smoking_Status'] = df['Smoking_Status']**2

或下面较慢的循环版本

代码语言:javascript
复制
df['Smoking_Status'] = df['Smoking_Status'].apply(lambda x: x * x)

有关更多详细信息,请参阅How to use Apply。这将覆盖数据框中吸烟状态的值。

票数 0
EN

Stack Overflow用户

发布于 2018-10-24 04:16:53

使用formula接口。使用patsy表示法,您应该能够平方一个项,但是有些东西对我不起作用。它仍然接受函数;在本例中,我们使用numpy.power

代码语言:javascript
复制
import statsmodels.formula.api as smf
import numpy as np

mod = smf.ols('Asthma_Death_Rate ~ Air_quality + np.power(Smoking_Status, 2)', data=df).fit()

示例数据:

代码语言:javascript
复制
import pandas as pd
np.random.seed(123)
s = 100

df = pd.DataFrame({'Air_quality': np.random.randint(1, 20, s),
                   'Smoking_Status': np.arange(0, s, 1) + np.random.normal(size=s),
                   'Asthma_Death_Rate': np.arange(0, s, 1)**2})

输出:mod.summary()的一部分

代码语言:javascript
复制
===============================================================================================
                                  coef    std err          t      P>|t|      [0.025      0.975]
-----------------------------------------------------------------------------------------------
Intercept                       3.4253     33.039      0.104      0.918     -62.148      68.999
Air_quality                     3.2522      2.721      1.195      0.235      -2.148       8.653
np.power(Smoking_Status, 2)     0.9916      0.005    193.833      0.000       0.981       1.002

正如设计的那样,Asthma_Death_Rate与Smoking_Status的平方有很好的相关性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52956500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档