从Stata迁移到Python
一些同事在使用Stata 11时遇到困难,正在寻求我的帮助,希望能自动化他们繁琐的工作。他们主要使用Stata中的三个命令:
tsset(设置时间序列分析)
比如:tsset year_column, yearly
varsoc(获取VAR模型的滞后顺序选择统计量)
比如:varsoc column_a column_b
vec(向量误差修正模型)
比如:vec column_a column_b, trend(con) lags(1) noetable
有没有人知道可以通过Python使用的科学库,能实现相同功能的?
5 个回答
可以看看 scikits.statsmodels.tsa.api.VAR(可能需要获取最新的开发版本——用谷歌搜索一下)。同时,查看一下它的文档:
http://statsmodels.sourceforge.net/devel/vector_ar.html#var
这些模型也可以和 pandas 一起使用。我将在接下来的几个月里努力改善 pandas 和 statsmodels 其他部分的结合。
向量误差修正模型还没有实现,但它在待办事项列表上!
scikits.timeseries 主要用于处理数据,它提供了一些统计和经济计量分析的功能,但没有向量自回归(VAR)的功能。pytrix 有一些经济计量的函数,但同样也没有 VAR。
(至少我上次查看时是这样的。)
scikits.statsmodels 和 pandas 都支持 VAR,pandas 还可以处理时间序列的数据。我还没有在 Python 中看到任何向量误差修正模型,但 scikits.statsmodels 正在逐渐接近这个功能。
我觉得 scikits.timeseries 和 econpy / pytrix 这两个工具都可以用来做向量自回归的方法,不过我还没有实际使用过这两个工具。