インポートのパスと構造

statsmodelsから関数とクラスをインポートする方法は2つあります:

  1. インタラクティブに使用するための API インポート

    • タブ補完を許可します

  2. プログラムの直接インポート

    • 不要なモジュールやコマンドのインポートを回避します

インタラクティブに使用するための API インポート

対話型で使用する場合、推奨されるインポートは次のとおりです :

import statsmodels.api as sm

statsmodels. api をインポートすると、statsmodelsの公開部分のほとんどがロードされます。これにより、ほとんどの関数とクラスが1つまたは2つのレベル内で簡単に使用できるようになり、 "sm" 名前空間が混雑することはありません。

使用可能な関数とクラスを確認するには、次のように入力します (または、IPython、Spyder、IDLE などの名前空間探索機能を使用します):

>>> dir(sm)
['GLM', 'GLS', 'GLSAR', 'Logit', 'MNLogit', 'OLS', 'Poisson', 'Probit', 'RLM',
'WLS', '__builtins__', '__doc__', '__file__', '__name__', '__package__',
'add_constant', 'categorical', 'datasets', 'distributions', 'families',
'graphics', 'iolib', 'nonparametric', 'qqplot', 'regression', 'robust',
'stats', 'test', 'tools', 'tsa', 'version']

>>> dir(sm.graphics)
['__builtins__', '__doc__', '__file__', '__name__', '__package__',
'abline_plot', 'beanplot', 'fboxplot', 'interaction_plot', 'qqplot',
'rainbow', 'rainbowplot', 'violinplot']

>>> dir(sm.tsa)
['AR', 'ARMA', 'SVAR', 'VAR', '__builtins__', '__doc__',
'__file__', '__name__', '__package__', 'acf', 'acovf', 'add_lag',
'add_trend', 'adfuller', 'ccf', 'ccovf', 'datetools', 'detrend',
'filters', 'grangercausalitytests', 'interp', 'lagmat', 'lagmat2ds', 'kpss',
'pacf', 'pacf_ols', 'pacf_yw', 'periodogram', 'q_stat', 'range_unit_root_test',
'stattools', 'tsatools', 'var']

ノート

API モジュールには、statsmodels のすべての公開機能が含まれていない場合があります。API に追加すべきものを見つけた場合は、github に問題を提出するか、メーリング リストに報告してください。

statsmodelsのサブパッケージには、主にこれらのサブパッケージに必要なインポートを収集するための api.py モジュールが含まれています。 subpackage/api.py ファイルはstatsmodels apiにインポートされます。次に例を示します:

from .nonparametric import api as nonparametric

ユーザは subpackage/api.py モジュールを直接ロードする必要はありません。

プログラムの直接インポート

statsmodels のサブモジュールはトピックごとに配置されます(例えば、離散選択モデルの場合は discrete 、時系列解析の場合は tsa )。ディレクトリツリーは以下のようになります:

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/

インポートが多い可能性のあるサブモジュールには、空の __init__.py が含まれています。ただし、サブモジュールのテストを実行するためのテストコードは含まれています。次のリリースでは、すべてのディレクトリが api.py を持ち、 __init__.py が空になるように変更する予定です。

インポート例

関数とクラス:

from statsmodels.regression.linear_model import OLS, WLS
from statsmodels.tools.tools import rank, add_constant

モジュール

from statsmodels.datasets import macrodata
import statsmodels.stats import diagnostic

エイリアスを持つモジュール

import statsmodels.regression.linear_model as lm
import statsmodels.stats.diagnostic as smsdia
import statsmodels.stats.outliers_influence as oi

現在のところ、サブモジュールのエイリアスに関する規則はありません。


最終更新日: 2025年01月28日