Python STATSOLS线性回归模型-为什么我有多重回归参数?
我正在进行一个线性回归来拟合y=x+c1+c2+c3+c4+…+cn(c1..cn是协变量) 在我输出总结结果后,出现了一些奇怪的情况,我不确定为什么会出现这种情况:Python STATSOLS线性回归模型-为什么我有多重回归参数?,python,statsmodels,Python,Statsmodels,我正在进行一个线性回归来拟合y=x+c1+c2+c3+c4+…+cn(c1..cn是协变量) 在我输出总结结果后,出现了一些奇怪的情况,我不确定为什么会出现这种情况: OLS Regression Results ============================================================================== Dep. Variable:
OLS Regression Results
==============================================================================
Dep. Variable: pgrs R-squared: 0.038
Model: OLS Adj. R-squared: -0.012
Method: Least Squares F-statistic: 0.7565
Date: Wed, 16 Aug 2017 Prob (F-statistic): 0.716
Time: 11:12:02 Log-Likelihood: -18.623
No. Observations: 284 AIC: 67.25
Df Residuals: 269 BIC: 122.0
Df Model: 14
Covariance Type: nonrobust
================================================================================
coef std err t P>|t| [0.025 0.975]
--------------------------------------------------------------------------------
Intercept 0.5331 0.272 1.957 0.051 -0.003 1.069
x[T.0] -0.2568 0.327 -0.786 0.433 -0.900 0.387
x[T.1] -0.0574 0.280 -0.205 0.837 -0.608 0.493
x[T.2] -0.1556 0.277 -0.562 0.575 -0.701 0.390
x[T.3] 0.0182 0.273 0.067 0.947 -0.519 0.555
x[T.4] -0.0114 0.271 -0.042 0.967 -0.545 0.523
x[T.5] 0.0067 0.272 0.025 0.980 -0.529 0.542
x[T.6] -0.0321 0.269 -0.119 0.905 -0.562 0.498
x[T.7] 0.0262 0.271 0.097 0.923 -0.507 0.559
x[T.8] -0.0542 0.270 -0.200 0.841 -0.586 0.478
x[T.9] -0.0529 0.272 -0.195 0.846 -0.588 0.482
c1 0.0625 0.039 1.615 0.107 -0.014 0.139
c2 -0.0016 0.007 -0.219 0.827 -0.016 0.013
c3 0.2052 0.356 0.576 0.565 -0.496 0.906
c4 0.0986 0.397 0.249 0.804 -0.682 0.880
==============================================================================
Omnibus: 2.789 Durbin-Watson: 1.865
Prob(Omnibus): 0.248 Jarque-Bera (JB): 3.018
Skew: -0.000 Prob(JB): 0.221
Kurtosis: 3.505 Cond. No. 525.
==============================================================================
Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
为什么我有多个x参数?只有当x是我的数据集中的一个特定功能时,才会发生这种情况。有没有办法解决这个问题,或者这是一种有意的行为,这意味着什么?具体来说,[T.0]。。。[T.9]什么意思
我使用statsmodels来适应上述功能
# Returns a string y ~ trait + c1 + ... + cn
f = math_expr([trait] + covariates, y)
lm = ols(formula=f, data=df).fit()
您的数据似乎没有被解释为数字,可能是因为数据中有一个占位符用于表示缺少的值(例如“?”),这意味着整个列将被分配给字符串类型。您需要将列转换为数值,例如,在导入dataframe之后,插入以下代码片段:
df[column_name] = pd.to_numeric(df[column_name], errors='coerce')
第二个参数会将任何错误值(如“?”)更改为数字NaN。请您向我们展示您用于此匹配的statsmodels代码,好吗?当然,我现在已经包括了它们。我不熟悉
数学表达式。如果它有用的话,当我一直试图理解使用了什么模型时,我就求助于运行来查看设计矩阵。patsy将x视为一个分类变量。也许x的值是字符串。这就是问题所在。或者,我在从csv文件读入时更正了pandas数据帧,以忽略我设置为“”的值