导入路径和结构¶
我们提供两种从 statsmodels 导入函数和类的方式
-
允许选项卡自动补全
-
避免导入不必要的模块和命令
交互式使用的 API 导入¶
对于交互式使用,建议的导入方式是
import statsmodels.api as sm
导入 statsmodels.api 将加载 statsmodels 的大部分公共部分。这使得大多数函数和类在一个或两个级别内方便地可用,而不会使“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
我们目前没有针对子模块别名的约定。
上次更新:2024 年 10 月 3 日