如何使用statsmodel
- 安装statsmodel
- 使用easy_install或pip安装statsmodels
easy_install -U statsmodels
pip install -U statsmodels
- 使用源代码安装statsmodels
-
最小二乘法拟合
- 加载数据
import statsmodels.api
data = statsmodels.api.datasets.copper.load_pandas()
- 拟合数据
x, y = data.exog, data.endog
fit = statsmodels.api.OLS(y, x).fit()
import statsmodels.api
data = statsmodels.api.datasets.copper.load_pandas()
x, y = data.exog, data.endog
fit = statsmodels.api.OLS(y, x).fit()
print "Fit params", fit.params
print
print "Summary"
print
print fit.summary()
-
重采样时间序列数据
- 创建一个日期时间索引对象
dt_idx = pandas.DatetimeIndex(quotes.date)
- 创建DataFrame对象
df = pandas.DataFrame(quotes.close, index = dt_idx, columns = [symbol])
- 重采样
resampled = df.resample('M', how=numpy.mean)
- 绘图
df.plot()
resampled.plot()
show()
import pandas
from matplotlib.pyplot import show, legend
from datetime import datetime
from matplotlib import finance
import numpy
start = datetime(2011, 01, 01)
end = datetime(2012, 01, 01)
symbol = "AAPL"
quotes = finance.quotes_historical_yahoo_ochl(symbol, start, end, asobject = True)
dt_idx = pandas.DatetimeIndex(quotes.date)
df = pandas.DataFrame(quotes.close, index = dt_idx, columns = [symbol])
resampled = df.resample('M', how=numpy.mean)
print resampled
df.plot()
resampled.plot()
show()
什么是statsmodel
statsmodels的发行版有很多的范例数据集。