我正在通过python主题进行统计。我被一只手打动了。
问题陈述:
对使用mtcars数据集时获得的第一个线性模型执行ANOVA。显示F统计值。
我为问题陈述做了什么:
import statsmodels.api as sm
import statsmodels.formula.api as smf
from statsmodels.stats import anova
mtcars_data = sm.datasets.get_rdataset("mtcars").data
print(mtcars_data.columns)
mt_model1 = smf.ols('mpg ~ cyl', mtcars_data ).fit()
print(anova.anova_lm(mt_model1))
如何显示上述问题的F统计量?
因此,如果您想从anova表中获取cyl属性的F Statistic值,那么就像这样
print(anova.anova_lm(mt_model1).F["cyl"])
由于您已经在mt_model1中使用所需变量拟合模型,因此您可以直接调用F-statistic,
print(mt_model1.fvalue)
当模型中有多个预测变量时,也可以使用此选项。
经过多次试验得到了这个。
import statsmodels.api as sm
from statsmodels.formula.api import ols
mtcars = sm.datasets.get_rdataset('mtcars').data
lm = ols('mpg ~ wt', mtcars).fit()
av = sm.stats.anova_lm(lm,type=2)
print(av.F.wt)