命名约定

文件和目录名称

我们的目录树简化后看起来像

statsmodels/
    __init__.py
    api.py
    discrete/
        __init__.py
        discrete_model.py
        tests/
            results/
    tsa/
        __init__.py
        api.py
        tsatools.py
        stattools.py
        arima_process.py
        vector_ar/
            __init__.py
            var_model.py
            tests/
                results/
        tests/
            results/
    stats/
        __init__.py
        api.py
        stattools.py
        tests/
    tools/
        __init__.py
        tools.py
        decorators.py
        tests/

子模块按主题排列,discrete 表示离散选择模型,或 tsa 表示时间序列分析。可以大量导入的子模块包含一个空的 __init__.py,除了用于运行子模块测试的一些测试代码。要导入的命名空间在 api.py 中。这样,我们可以有选择地导入,并且不必导入很多不需要的代码。辅助函数通常放在名为 tools.py 的文件中,统计函数(例如统计检验)放在 stattools.py 中。所有内容都有用于 测试 的目录。

endog & exog

我们对统计模型的工作定义是一个对象,该对象既有定义为内生变量和外生变量的数据,也有统计关系。代替内生变量和外生变量,人们通常可以代之以左手侧 (LHS) 和右手侧 (RHS)、因变量和自变量、被解释变量和解释变量、结果和设计、响应变量和解释变量。用法通常特定于领域;然而,我们选择几乎完全使用 endogexog,因为 statsmodels 的主要开发者拥有计量经济学背景,这感觉最自然。这意味着所有模型都是定义了 endogexog 的对象,尽管在某些情况下为了方便起见 exog 为 None(例如,使用自回归过程)。每个对象还定义了一个 fit(或类似)方法,该方法返回一个特定于模型的结果对象。此外,还有一些函数,例如用于统计检验或方便函数。

另请参见 endog、exog,这是什么? 中的相关解释。

变量名称

我们所有的模型都假设数据按列排列变量。因此,在内部,数据都是二维数组。按照惯例,我们将在表示跨越轴 1(列)的变量名称前面加上一个 k_,并在表示跨越轴 0(行)的变量名称前面加上一个 n_。下划线的唯一例外是 nobs 应该表示观测值的个数。例如,在时间序列 ARMA 模型中,我们有

`k_ar` - The number of AR lags included in the RHS variables
`k_ma` - The number of MA lags included in the RHS variables
`k_trend` - The number of trend variables included in the RHS variables
`k_exog` - The number of exogenous variables included in the RHS variables excluding the trend terms
`n_totobs` - The total number of observations for the LHS variables including the pre-sample values

选项

我们在许多类、方法和函数中使用类似的选项。如果它们经常出现,则应该遵循标准化模式。

`missing` ['none', 'drop', 'raise'] define whether inputs are checked for
    nans, and how they are treated
`alpha` (float in (0, 1)) significance level for hypothesis tests and
    confidence intervals, e.g. `alpha=0.05`

模式

`return_xxx` : boolean to indicate optional or different returns
    (not `ret_xxx`)

上次更新:2024 年 10 月 3 日