statsmodels.genmod.generalized_estimating_equations.GEE¶
-
class statsmodels.genmod.generalized_estimating_equations.GEE(endog, exog, groups, time=
None, family=None, cov_struct=None, missing='none', offset=None, exposure=None, dep_data=None, constraint=None, update_dep=True, weights=None, **kwargs)[source]¶ 使用广义估计方程的边际回归模型。
使用广义估计方程拟合的边际回归模型。
GEE 可以用于拟合广义线性模型(GLMs),当数据具有分组结构时,观测值在组内可能相关,但在组间不相关。
- Parameters:¶
- endogarray_like
内生值的一维数组(即响应、结果、因变量或‘Y’值)。
- exogarray_like
外生变量的二维数组(即协变量、预测变量、自变量、回归变量或‘X’值)。一个nobs x k的数组,其中nobs是观测值的数量,k是回归变量的数量。默认情况下不包含截距,应由用户添加。请参阅statsmodels.tools.add_constant。
- groupsarray_like
长度为 nobs 的一维数组,包含组标签。
- timearray_like
一个二维数组的时间(或其他索引)值,用于某些依赖结构中,以定义集群内观测值之间的相似性关系。
- family
familyclassinstance 默认是高斯分布。要指定二项分布,请使用 family=sm.families.Binomial()。每个分布族都可以接受一个链接实例作为参数。有关更多信息,请参阅 statsmodels.genmod.families.family。
- cov_struct
CovStructclassinstance 默认是独立性。要指定可交换结构,请使用 cov_struct = Exchangeable()。更多信息请参见 statsmodels.genmod.cov_struct.CovStruct。
- offsetarray_like
拟合中要包含的偏移量。如果提供,必须是与exog行数相同长度的数组。
- dep_dataarray_like
传递给依赖结构的附加数据。
- constraint(
ndarray,ndarray) 如果提供,约束是一个元组 (L, R),使得模型参数在约束 L * param = R 下进行估计,其中 L 是一个 q x p 矩阵,R 是一个 q 维向量。如果提供了约束,将执行一个得分检验,以比较受约束模型与无约束模型。
- update_depbool
如果为真,依赖参数将被优化,否则它们将保持在初始值不变。
- weightsarray_like
用于分析的案例权重数组。
- missing
str 可用的选项是‘none’、‘drop’和‘raise’。如果选择‘none’,则不进行nan检查。如果选择‘drop’,则会删除任何包含nan的观测值。如果选择‘raise’,则会引发错误。默认值是‘none’。
- Attributes:¶
- cached_means
endog_names内生变量的名称。
exog_names外生变量的名称。
注释
以下组合对 family 和 link 有意义
+ ident log logit probit cloglog pow opow nbinom loglog logc Gaussian | x x x inv Gaussian | x x x binomial | x x x x x x x x x Poisson | x x x neg binomial | x x x x gamma | x x x并非所有这些链接函数当前都可用。
Endog 和 exog 是引用,因此如果它们所引用的数据已经是数组并且这些数组发生了变化,endog 和 exog 也会随之变化。
“稳健”协方差类型是标准的“三明治估计量”(例如,Liang和Zeger(1986))。它是这里的默认值,也是大多数其他包中的默认值。“朴素”估计量给出的标准误差较小,但仅在工作的相关结构正确指定时才是正确的。Mancl和DeRouen(《生物统计学》,2001)的“偏差减少”估计量减少了稳健估计量的向下偏差。
这里提供的稳健协方差遵循Liang和Zeger(1986)的方法,并与R的gee实现一致。要获得Stata中报告的稳健标准误差,请乘以sqrt(N / (N - g)),其中N是总样本大小,g是平均组大小。
示例
具有自回归工作依赖的逻辑回归:
>>> import statsmodels.api as sm >>> family = sm.families.Binomial() >>> va = sm.cov_struct.Autoregressive() >>> model = sm.GEE(endog, exog, group, family=family, cov_struct=va) >>> result = model.fit() >>> print(result.summary())使用公式拟合具有独立工作依赖性的泊松广义线性模型:
>>> import statsmodels.api as sm >>> fam = sm.families.Poisson() >>> ind = sm.cov_struct.Independence() >>> model = sm.GEE.from_formula("y ~ age + trt + base", "subject", data, cov_struct=ind, family=fam) >>> result = model.fit() >>> print(result.summary())等效地,使用公式 API:
>>> import statsmodels.api as sm >>> import statsmodels.formula.api as smf >>> fam = sm.families.Poisson() >>> ind = sm.cov_struct.Independence() >>> model = smf.gee("y ~ age + trt + base", "subject", data, cov_struct=ind, family=fam) >>> result = model.fit() >>> print(result.summary())方法
cluster_list(数组)返回 数组 分割成与聚类结构相对应的子数组。
compare_score_test(submodel)对给定的子模型对此模型执行得分检验。
估计离散度/尺度。
estimate_tweedie_power(mu[, method, low, high])Tweedie 特定函数用于估计尺度参数和方差参数。
fit([maxiter, ctol, start_params, ...])使用广义估计方程(GEE)拟合边际回归模型。
fit_constrained(约束[, start_params])拟合受线性等式约束的模型
fit_regularized(pen_wt[, scad_param, ...])GEE 的正则化估计。
from_formula(formula, groups, data[, ...])从公式和数据框创建模型。
get_distribution(params[, scale, exog, ...])返回预测分布的一个实例。
hessian(params[, scale, observed])Hessian,对数似然函数的二阶导数
hessian_factor(params[, scale, observed])计算Hessian的权重
information(params[, scale])费舍尔信息矩阵。
初始化一个广义线性模型。
loglike(params[, scale])评估广义线性模型的对数似然值。
loglike_mu(mu[, scale])评估广义线性模型的对数似然值。
mean_deriv(exog, lin_pred)关于参数的预期内生变量的导数。
mean_deriv_exog(exog, params[, offset_exposure])预期内生变量对自变量的导数。
predict(params[, exog, exposure, offset, ...])返回设计矩阵的预测值
qic(params, scale, cov_params[, n_step])返回准信息准则和准似然值。
score(params[, scale])得分,对数似然函数的导数
score_factor(params[, scale])每个观测值的分数权重
score_obs(params[, scale])每个观测值的对数似然的一阶导数得分。
score_test(params_constrained[, ...])用于限制条件或遗漏变量的得分检验
update_cached_means(mean_params)cached_means 应始终包含组别均值向量的最新计算结果。
属性
内生变量的名称。
外生变量的名称。