考虑以下示例:
df = pd.read_csv('myFile.txt',delim_whitespace=True,header=None)
df.columns=['vary','vax1','varx2']
y,X = ps.dmatrices('vary ~ varx1 + varx2',data=df, return_type='dataframe')
model = sm.OLS(y,X) # Describe Model
results = model.fit() # Fit model
print results.summary()
hypotheses = 'varx1 = 0.0'
t_test = results.t_test(hypotheses)
print(t_test)
这是针对备择假设“H1:varX1 的系数不为零”来测试“H0:varX1 的系数为零”
我想做“H1:VarX1的系数小于-c,c>0”(单方面的替代方案)。
可能吗?
Statsmodels 似乎不允许单尾测试。您可以改为调用 scipy.stats拟合模型后:
from scipy import stats
c = 0.5 #lower bound
print(stats.t.cdf(var_x1, df, loc=c, scale=1))
这将为您提供 c 右侧 t 距离下的面积。
我是一名优秀的程序员,十分优秀!