statsmodels.regression.rolling.RollingWLS¶
-
class statsmodels.regression.rolling.RollingWLS(endog, exog, window=
None, *, weights=None, min_nobs=None, missing='drop', expanding=False)[source]¶ 滚动加权最小二乘法
- Parameters:¶
- endogarray_like
一个一维的内生响应变量。因变量。
- exogarray_like
一个 nobs x k 的数组,其中 nobs 是观测值的数量,k 是回归变量的数量。默认情况下不包含截距,应由用户添加。请参阅
statsmodels.tools.add_constant。- window
int 滚动窗口的长度。必须严格大于模型中的变量数量。
- weightsarray_like,
optional 一维权重数组。 如果你提供 1/W,那么变量会预乘以 1/sqrt(W)。 如果没有提供权重,默认值为 1,WLS 结果与 OLS 相同。
- min_nobs{
int,None} 当数据缺失时,估计模型所需的最小观测数量。如果为None,最小值取决于模型中的回归变量数量。必须小于窗口大小。
- missing
str,default“drop” 可用的选项有“drop”、“skip”和“raise”。如果选择“drop”,任何包含nans的观测值都会被删除,并且估计值会使用每个窗口中的非缺失值来计算。如果选择‘skip’,包含缺失值的块会被跳过,并且相应的结果会包含NaN。如果选择‘raise’,则会引发错误。默认值是‘drop’。
- expandingbool,
defaultFalse 如果为真,则在min_nobs之后的初始观测值将使用扩展方案进行填充,直到
window个观测值可用,之后使用滚动方法。
另请参阅
statsmodels.regression.linear_model.WLSWLS估计和参数检验。
注释
针对WLS进行了准确性测试。
如果此模型包含隐式常数(即,包含所有类别的虚拟变量)而不是显式常数(例如,一列1),则结果可能与应用于数据窗口的WLS不同。
示例
>>> from statsmodels.regression.rolling import RollingWLS >>> from statsmodels.datasets import longley >>> data = longley.load() >>> exog = add_constant(data.exog, prepend=False) >>> mod = RollingWLS(data.endog, exog) >>> rolling_res = mod.fit(reset=50)使用 params_only 跳过所有计算,除了参数估计
>>> rolling_params = mod.fit(params_only=True)使用扩展和min_nobs来填充初始结果,使用扩展方案直到窗口观察,然后滚动。
>>> mod = RollingWLS(data.endog, exog, window=60, min_nobs=12, ... expanding=True) >>> rolling_res = mod.fit()方法
fit([method, cov_type, cov_kwds, reset, ...])估计模型参数。
from_formula(公式, 数据, 窗口[, ...])从公式和数据框创建模型。
Last update:
Oct 16, 2024