2013-01-15 2 views
1

데이터 세트에서 팬더 OLS를 실행합니다. x 값으로 20 개 미만의 시계열로 실행하면 모든 것이 제대로 작동합니다. pandas.ols에서 처리 할 수있는 최대 부양 가족이 있습니까?팬더의 최대 종속성은?

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 : 이 내가 DataReader를 함께 가져 오는 대신 내가 파일의 데이터를 가지고 있다는 것을 제외하고는, 뭘하는지입니다. vals dict은 단지 내 로컬 데이터 구조가 ols가 좋아하지 않는 모든 DataFrame에 동일한 이름을 부여하고 DataFrames의 이름을 바꾸는 더 좋은 방법을 찾지 못했기 때문입니다.

답변

0

좋아, 이것은 pandas 0.9.0 및/또는 statsmodels 0.4.2의 버그/기능인 것으로 보입니다. pandas 0.10.0 및 statsmodels 0.5.0으로 업그레이드되었으며 현재 모든 것이 잘 작동합니다.