python - Statsmodels OLS 公式中的数据帧计数
问题描述
我正在尝试进行线性回归,以根据另一个数据帧的计数来预测数据帧的计数。我正在使用统计模型。我尝试了以下方法:
X = df1.count()
Y = df2.count()
from statsmodels.formula.api import ols
fit = ols(Y ~ X, data=kak).fit()
fit.summary()
不允许在 OLS 公式中使用 X 和 Y 变量,我不知道在data=
关键字参数处填写什么。我该怎么做呢?
解决方案
假设您必须使用一维数组X
和Y
:
import numpy as np
X = np.arange(100)
Y = 2*X + 5
然后,您可以使用下面的行运行线性回归。有两个重要的事情:
- to 的第一个参数
ols
是str
包含公式的 a。"Y ~ X"
而不是Y ~ X
(注意双引号)。 - 第二个参数
data
可以是任何 Python 对象,只要它有键data["X"]
和data["Y"]
. 我在dict
这里写了一个,但它也适用于DataFrame
. 它基本上可以让statsmodels
你了解谁是谁X
以及Y
你给它的公式。
ols("Y ~ X", {"X": X, "Y": Y}).fit().summary()
输出:
OLS Regression Results
==============================================================================
Dep. Variable: Y R-squared: 1.000
Model: OLS Adj. R-squared: 1.000
Method: Least Squares F-statistic: 1.916e+33
Date: Fri, 21 May 2021 Prob (F-statistic): 0.00
Time: 14:01:48 Log-Likelihood: 3055.1
No. Observations: 100 AIC: -6106.
Df Residuals: 98 BIC: -6101.
Df Model: 1
Covariance Type: nonrobust
==============================================================================
coef std err t P>|t| [0.025 0.975]
------------------------------------------------------------------------------
Intercept 5.0000 2.62e-15 1.91e+15 0.000 5.000 5.000
X 2.0000 4.57e-17 4.38e+16 0.000 2.000 2.000
==============================================================================
Omnibus: 220.067 Durbin-Watson: 0.015
Prob(Omnibus): 0.000 Jarque-Bera (JB): 9.816
Skew: 0.159 Prob(JB): 0.00739
Kurtosis: 1.498 Cond. No. 114.
==============================================================================
Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
推荐阅读
- amazon-web-services - AWS AMI:从仿生配置 AMI 时需要显式删除 apt 锁
- php - Cakephp 3.6.14:在控制器中为视图中的选择框进行选择并禁用它
- c++ - 在 Windows 上使用 WinSSL 构建静态 libcurl 库
- python - Python中随机包代码的问题
- javascript - 为什么 cancelledPromise 模式被认为比 React 中的 isMounted() “反模式”更好?
- excel - 获取“无法获取 WorksheetFunction 类的匹配属性”错误
- postgresql - 如何从 Grafana 的数据库中选择 DISTINCT 记录
- android - 在 onResume 中使用处理程序检查服务状态
- xml - 将 XML 转换为 CSV 时获取空 CSV
- vuejs2 - Flatpickr 不使用计算道具(VueJs)重新渲染