命名規則

ファイル名とディレクトリ名

簡略化したディレクトリツリーは次のようになります。

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)、従属変数と独立変数、被説明変数と説明変数、結果とデザイン、応答変数と説明変数という用語をそれぞれ代用することがよくあります。使用法はドメインによって大きく異なりますが、statsmodelsの主要開発者は計量経済学のバックグラウンドを持っているため、最も自然に感じられるため、`endog`と`exog`をほぼ排他的に使用することを選択しました。これは、すべてのモデルが`endog`と`exog`が定義されたオブジェクトであることを意味しますが、場合によっては、便宜上`exog`がNoneになることもあります(たとえば、自己回帰過程の場合)。各オブジェクトは、モデル固有の結果オブジェクトを返す`fit`(または類似の)メソッドも定義します。さらに、統計検定や便宜のための関数など、いくつかの関数があります。

endog、exogとは?の関連説明も参照してください。

変数名

すべてのモデルは、データが列に変数が配置されていることを想定しています。したがって、内部的にはデータはすべて2次元配列です。慣例により、軸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日