因此,如果我对多个治疗组和一个对照组进行实验,我会使用Statsmodel ols分析结果,看看是否有任何治疗组在统计学上与对照组不同:
y~C(治疗组,治疗组(“对照组”)
然后,我会运行results.t_test_pairwise()来确定每个治疗组的系数是否相等。也就是说,要知道每个治疗组的结果是否在统计学上彼此显著不同
在目前的情况下,我不只是运行标准的ols,而是使用Statsmodel/Linearmodel的2SLS分析工具变量。我可以很好地运行分析,并得到结果。但现在我需要看看不同工具(三个不同的治疗组)的系数都是一样的,所以我知道不同治疗组的疗效是否不同
statsmodel的代码:
from statsmodels.sandbox.regression.gmm import IV2SLS as SM2SLS
model = SM2SLS(tdf[endog],tdf['elect_lpd'],tdf[inst]).fit()
或对于Linearmodel:
model = LM2SLS(tdf.elect_lpd, tdf[controls], tdf[endog], tdf[inst]).fit(cov_type='clustered')
Josef的response here建议你可以使用wald t-test,但我需要使用限制矩阵而不是公式。因此,如果有人对如何做到这一点有任何想法,那将不胜感激
如果其他人被困在这个问题上…我在使用Linearmodels时找到了解决方案
因此,在运行模型之后:
然后,您可以运行wald测试来比较每个治疗组之间的差异。就我而言,我有两个治疗组(sbs和wing):
相关问题 更多 >
编程相关推荐