我有一个连续的因变量y和一个独立的类别变量x,名为control_grid。 x包含两个变量:c和g
使用python包statsmodel,我试图查看自变量是否对y变量产生重大影响,例如:
model = smf.ols('y ~ c(x)', data=df)
results = model.fit()
table = sm.stats.anova_lm(results, typ=2)
打印表将其作为输出:
OLS Regression Results
==============================================================================
Dep. Variable: sedimentation R-squared: 0.167
Model: OLS Adj. R-squared: 0.165
Method: Least Squares F-statistic: 86.84
Date: Fri, 13 Jul 2018 Prob (F-statistic): 5.99e-19
Time: 16:15:51 Log-Likelihood: -2019.2
No. Observations: 436 AIC: 4042.
Df Residuals: 434 BIC: 4050.
Df Model: 1
Covariance Type: nonrobust
=====================================================================================
coef std err t P>|t| [0.025 0.975]
-------------------------------------------------------------------------------------
Intercept -6.0243 1.734 -3.474 0.001 -9.433 -2.616
control_grid[T.g] 22.2504 2.388 9.319 0.000 17.558 26.943
==============================================================================
Omnibus: 30.623 Durbin-Watson: 1.064
Prob(Omnibus): 0.000 Jarque-Bera (JB): 45.853
Skew: -0.510 Prob(JB): 1.10e-10
Kurtosis: 4.218 Cond. No. 2.69
==============================================================================
在显示系数的表中,我不了解我的因变量的描述。
它说:
control_grid[T.g]
什么是“ T”? 并且它仅查看两个变量之一吗?只是在“ g”的作用下而不是在“ c”的作用?
如果您去here,您会发现在摘要中还显示了所有四个变量“ N”,“ S”,“ E”和“ W”的分类数据区域。
P.S。我的数据看起来像这样:
index sedimentation control_grid
0 5.0 c
1 10.0 g
2 0.0 c
3 -10.0 c
4 0.0 g
5 -20.0 g
6 30.0 g
7 40.0 g
8 -10.0 c
9 45.0 g
10 45.0 g
11 10.0 c
12 10.0 g
13 10.0 c
14 6.0 g
15 10.0 c
16 29.0 c
17 3.0 g
18 23.0 c
19 34.0 g
答案 0 :(得分:0)
我不是专家,但我会尽力解释。首先,您应该知道ANOVA是回归分析,因此您正在建立模型Y〜X,但在Anova X中则是类别变量。在您的情况下,Y =沉降,而X = control_grid(属于分类),因此模型为“沉降〜control_grid”。
Ols执行回归分析,因此它计算线性模型的参数:Y = Bo + B1X,但是,鉴于您的X是分类的,您的X是伪编码的,这意味着X只能是0或1,这是什么?与分类数据保持一致。请注意,在Anova中,估计的参数数量等于类别数量-1,您的数据中只有2个类别(g和c),因此ols报告中仅显示一个参数。 “ T.g”表示此参数对应于“ g”类别。那么您的模型为Y = Bo + T.g * X
现在,T.c的参数被视为Bo,所以实际上,您的模型是:
Y = T.c X + T.g X,其中X是O或1,具体取决于它是“ c”还是“ g”。
所以,你在问:
1)什么是“ T”? T(T.g)仅表示您估计和显示的参数对应于类别“ g”。
2)并且它仅查看两个变量之一吗? 不,分析估计了两个类别(c和g)的参数,但是截距Bo代表数据“ c”中该类别其他级别的系数。
3)仅在“ g”的作用下而不在“ c”的作用下? 不,实际上,分析着眼于“ g”和“ c”的影响。如果查看系数T.g和Intercept(T.c)的值,您会发现它们是否有意义(p值),并且可以说出它们是否对“沉降”有影响。
干杯