using ols from statsmodels.formula.api - how to remove constant term?

denfromufa picture denfromufa · Apr 4, 2016 · Viewed 10k times · Source

I'm following this first example in statsmodels tutorial:

http://statsmodels.sourceforge.net/devel/

How do I specify not to use constant term for linear fit in ols?

# Fit regression model (using the natural log of one of the regressors)
results = smf.ols('Lottery ~ Literacy + np.log(Pop1831)', data=dat).fit()

Answer

ely picture ely · Apr 4, 2016

As shown here in the section on Operators, you can use "-1" in the formula string to remove an intercept term:

results = smf.ols('Lottery ~ Literacy + np.log(Pop1831) - 1', data=dat).fit()