统计模型 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=关键字参数中填写什么。我将如何做到这一点?

假设您必须将 1D 数组XY

import numpy as np
X = np.arange(100)
Y = 2*X + 5

然后,您可以使用以下行运行线性回归。有两件重要的事情:

  1. ols的第一个参数是包含公式的str"Y ~ X"而不是Y ~ X(请注意双引号)。
  2. 第二个参数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.

最新更新