似然比检验 statsmodels
在statsmodels这个库中,普通最小二乘法(OLS)有实现似然比检验。
OLSResults.compare_lr_test(restricted)
但是广义线性模型(GLM)就没有这个功能。我试着通过复制OLS的实现来做:
from scipy import stats
llf_full = results.llf
llf_restr = results_res.llf
df_full = results.df_resid
df_restr = results_res.df_resid
lrdf = (df_restr - df_full)
lrstat = -2*(llf_restr - llf_full)
lr_pvalue = stats.chi2.sf(lrstat, df=lrdf)
lr_pvalue
这看起来很简单,但因为没有这个功能让我有点怀疑。这是对的吗?
1 个回答
4
我觉得没有什么问题。
广义线性模型是一种最大似然模型,前提是使用的尺度符合所选的模型类型。
目前,statsmodels.GLM并没有实现准似然方法,这种方法允许尺度与基础模型的尺度有所不同,比如说过度离散的泊松分布,这样就可以使用似然比检验。
实现细节:compare_lr_test
本来是打算为所有的似然模型添加的,但我没有检查它在所有继承自这个模型的情况下是否正确(或者是否会抛出异常)。