インポートのパスと構造¶
statsmodelsから関数とクラスをインポートする方法は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
現在のところ、サブモジュールのエイリアスに関する規則はありません。