pandas中的最大依赖数ols?

时间:2013-01-15 09:45:26

标签: python pandas linear-regression

我在数据集上运行pandas OLS。如果我在x值中使用少于20个时间序列运行它,一切正常 是否有最多的家属pandas.ols可以处理? 这就是我正在做的事情,除了我有数据存档而不是使用DataReader获取它:

from pandas import Series, DataFrame, ols
from pandas.io.data import DataReader
from DataContainer import DataContainer
import random

window = 21
basic = DataReader("BHI", "yahoo")
print len(basic)
dependance = 15

sp100 = [
            "AAPL", "ABT", "ACN", "AEP", "ALL", "AMGN", "AMZN", "APC",
            "AXP", "BA", "BAC", "BAX", "BK", "BMY", "BRK.B", "CAT", "C", "CL",
            "CMCSA", "COF", "COP", "COST", "CPB", "CSCO", "CVS", "CVX", "DD", "DELL",
            "DIS", "DOW", "DVN", "EBAY", "EMC", "EXC", "F", "FCX", "FDX", "GD", "GE",
            "GILD", "GOOG", "GS", "HAL", "HD", "HNZ", "HON", "HPQ", "IBM", "INTC",
            "JNJ", "JPM_1", "KFT", "KO", "LLY", "LMT", "LOW", "MA", "MCD", "MDT", "MET",
            "MMM", "MO", "MON", "MRK", "MS", "MSFT", "NKE", "NOV", "NSC", "NWSA",
            "NYX", "ORCL", "OXY", "PEP", "PFE", "PG", "PM", "QCOM", "RF", "RTN",
            "SBUX", "SLB", "SLE", "SO", "SPG", "T", "TGT", "TWX", "TXN", "UNH", "UPS",
            "USB", "UTX", "VZ", "WAG", "WFC", "WMB", "WMT", "XOM"
        ]

keys = random.sample(sp100, dependance)

data = {key: DataReader(key, "yahoo") for key in keys}
vals = {key: DataFrame(data=Series(data[key], name=key), index=basic.index) for key in data}
model = ols(y=basic, x=vals, window=window)

一旦依赖> = 20就会发生错误,但从不依赖于< 20。 vals dict就在那里,因为我的本地数据结构为每个DataFrame提供了相同的名称,ols并不喜欢,而且我没有找到更好的方法来重命名DataFrame。

1 个答案:

答案 0 :(得分:0)

好吧,这似乎是pandas 0.9.0和/或statsmodels 0.4.2的错误/特征。升级到pandas 0.10.0和statsmodels 0.5.0,现在一切正常。