econml.sklearn_extensions.linear_model.StatsModelsLinearRegression

class econml.sklearn_extensions.linear_model.StatsModelsLinearRegression(fit_intercept=True, cov_type='HC0', *, enable_federation=False)[source]

基类: econml.sklearn_extensions.linear_model._StatsModelsWrapper

模拟 statsmodels 包中加权线性回归的类。

然而,与 statsmodels WLS 不同,此类除了支持样本权重外,还支持样本方差,这使得处理汇总数据时能进行更准确的推断。

参数
  • fit_intercept (bool, 默认 True) – 是否在此模型中拟合截距

  • cov_type (string, 默认 “HC0”) – 要使用的协方差方法。支持的值包括 “HCO”、“HC1” 和 “nonrobust”。

  • enable_federation (bool, 默认 False) – 是否启用联邦(在分布式设置中将此模型的结果与其他模型聚合)。这需要额外的内存,其大小与 X 中列数的四次方成正比。

__init__(fit_intercept=True, cov_type='HC0', *, enable_federation=False)[source]

方法

__init__([fit_intercept, cov_type, ...])

aggregate(models)

将多个模型聚合成一个。

coef__interval([alpha])

获取拟合系数的置信区间。

fit(X, y[, sample_weight, freq_weight, ...])

拟合模型。

get_params([deep])

获取此估计器的参数。

intercept__interval([alpha])

获取截距的置信区间(如果未拟合截距则为 0)。

predict(X)

给定实例数组,预测输出。

predict_interval(X[, alpha])

获取预测的置信区间。

prediction_stderr(X)

获取预测的标准误差。

set_params(**params)

设置此估计器的参数。

属性

coef_

获取模型在协变量上的系数。

coef_stderr_

获取拟合系数的标准误差。

intercept_

获取截距(如果未拟合截距则为 0)。

intercept_stderr_

获取截距的标准误差(如果未拟合截距则为 0)。

static aggregate(models: List[econml.sklearn_extensions.linear_model.StatsModelsLinearRegression])[source]

将多个模型聚合成一个。

参数

models (StatsModelsLinearRegression 列表) – 要聚合的模型

返回

agg_model – 聚合后的模型

返回类型

StatsModelsLinearRegression

coef__interval(alpha=0.05)

获取拟合系数的置信区间。

参数

alpha (float, 默认 0.05) – 置信水平。将计算参数分布的 alpha/2 分位数和 (1-alpha/2) 分位数作为置信区间

返回

coef__interval – 系数的置信区间下限和上限

返回类型

{tuple ((p, d) array, (p,d) array), tuple ((d,) array, (d,) array)}

fit(X, y, sample_weight=None, freq_weight=None, sample_var=None)[source]

拟合模型。

参数
  • X ((N, d) nd array_like) – 协变量

  • y ({(N,), (N, p)} nd array_like) – 输出变量

  • sample_weight ((N,) array_like 或 None) – 每个样本的个体权重。如果为 None,则假定权重相等。

  • freq_weight ((N, ) int 类型的 array_like 或 None) – 观测的权重。观测 i 被视为 freq_weight[i] 个独立观测的平均结果。当 sample_var 不为 None 时,应提供此参数。

  • sample_var ({(N,), (N, p)} nd array_like 或 None) – 用于计算观测 i 所代表的平均结果的原始 freq_weight[i] 个观测结果的方差。

返回

self

返回类型

StatsModelsLinearRegression

get_params(deep=True)

获取此估计器的参数。

参数

deep (bool, 默认=True) – 如果为 True,将返回此估计器以及包含的作为估计器的子对象的参数。

返回

params – 参数名与其值的映射。

返回类型

dict

intercept__interval(alpha=0.05)

获取截距的置信区间(如果未拟合截距则为 0)。

参数

alpha (float, 默认 0.05) – 置信水平。将计算参数分布的 alpha/2 分位数和 (1-alpha/2) 分位数作为置信区间

返回

intercept__interval – 截距的置信区间下限和上限

返回类型

{tuple ((p,) array, (p,) array), tuple (float, float)}

predict(X)

给定实例数组,预测输出。

参数

X ((n, d) array_like) – 用于预测的协变量

返回

predictions – 预测的平均结果

返回类型

{(n,) array, (n,p) array}

predict_interval(X, alpha=0.05)

获取预测的置信区间。

参数
  • X ((n, d) array_like) – 用于预测的协变量

  • alpha (float, 默认 0.05) – 置信水平。将计算参数分布的 alpha/2 分位数和 (1-alpha/2) 分位数作为置信区间

返回

prediction_intervals – 预测平均结果的置信区间下限和上限

返回类型

{tuple ((n,) array, (n,) array), tuple ((n,p) array, (n,p) array)}

prediction_stderr(X)

获取预测的标准误差。

参数

X ((n, d) array_like) – 用于预测的协变量

返回

prediction_stderr – 在每个预测点上,输出的每个坐标的标准误差

返回类型

(n, p) array_like

set_params(**params)

设置此估计器的参数。

此方法适用于简单估计器以及嵌套对象(例如 Pipeline)。后者具有 <component>__<parameter> 形式的参数,因此可以更新嵌套对象的每个组件。

参数

**params (dict) – 估计器参数。

返回

self – 估计器实例。

返回类型

估计器实例

property coef_

获取模型在协变量上的系数。

返回

coef_ – 线性回归中变量的系数。如果标签 y 是 p 维的,则结果是系数矩阵,其第 p 行包含与标签的第 p 个坐标对应的系数。

返回类型

{(d,), (p, d)} nd array_like

property coef_stderr_

获取拟合系数的标准误差。

返回

coef_stderr_ – 系数的标准误差

返回类型

{(d,), (p, d)} nd array_like

property intercept_

获取截距(如果未拟合截距则为 0)。

返回

intercept_ – 线性回归的截距。如果标签 y 是 p 维的,则结果是一个向量,其第 p 个分量包含与标签的第 p 个坐标对应的截距。

返回类型

float 或 (p,) nd array_like

property intercept_stderr_

获取截距的标准误差(如果未拟合截距则为 0)。

返回

intercept_stderr_ – 截距的标准误差

返回类型

float 或 (p,) nd array_like