Statsmodels中函数介绍

sm.add_constant

在 statsmodels 中,sm.add_constant 是一个用于在回归分析中添加常数项(截距项)的函数。在执行线性回归等分析时,经常需要在自变量矩阵中添加一个常数列,以便模型可以包括截距项。

该函数接受一个数组或者 DataFrame 作为输入,然后在输入数据的第一列添加一个常数项(通常是1),以便用于回归模型中的截距项。

示例

import statsmodels.api as sm
import pandas as pd

# 创建一个包含自变量的 DataFrame
data = pd.DataFrame({'x1': [1, 2, 3, 4], 'x2': [2, 4, 5, 4]})

# 使用 add_constant 函数为自变量添加常数项
X = sm.add_constant(data)

# 现在 X 包含了常数列
print(X)

   const  x1  x2
0    1.0   1   2
1    1.0   2   4
2    1.0   3   5
3    1.0   4   4

sm.formula.ols函数 和 sm.OLS函数

在 statsmodels 库中,sm.formula.ols 和 sm.OLS 都是用于执行普通最小二乘(OLS)回归分析的函数,但它们之间存在一些区别。

sm.formula.ols:

  1. 这个函数使用公式字符串来指定回归模型,类似于 R 语言中的模型指定方式。
  2. 通过公式字符串,可以方便地指定因变量和自变量之间的关系,以及交互项等。
  3. 适合于对模型公式比较熟悉的用户,或者希望使用 R风格公式的用户。

sm.OLS:

  1. 这个函数则是基于数组的接口,需要显式地传入因变量和自变量的数组。
  2. 适合于对模型公式不太熟悉,或者更倾向于直接操作数组的用户。

示例:

import statsmodels.api as sm
import pandas as pd

data = pd.DataFrame({'x': [1, 2, 3, 4], 'y': [2, 4, 5, 4]})
model = sm.formula.ols(formula='y ~ x', data=data).fit()
print(model.predict(data['x']))
print(model.params)

0    2.7
1    3.4
2    4.1
3    4.8
dtype: float64
Intercept    2.0
x            0.7
dtype: float64
import statsmodels.api as sm
import pandas as pd

data = pd.DataFrame({'x': [1, 2, 3, 4], 'y': [2, 4, 5, 4]})
X = data['x']
y = data['y']
X = sm.add_constant(X) # 添加常数项
model = sm.OLS(y, X).fit()
print(model.predict(X))
print(model.params)

0    2.7
1    3.4
2    4.1
3    4.8
dtype: float64
const    2.0
x        0.7
dtype: float64
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值