forked from pandas-dev/pandas
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathregressions.py
51 lines (32 loc) · 994 Bytes
/
regressions.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
from datetime import datetime
import string
import numpy as np
from pandas.core.api import Series, DataFrame, DatetimeIndex
from pandas.stats.api import ols
N = 100
start = datetime(2009, 9, 2)
dateRange = DatetimeIndex(start, periods=N)
def makeDataFrame():
data = DataFrame(np.random.randn(N, 7),
columns=list(string.ascii_uppercase[:7]),
index=dateRange)
return data
def makeSeries():
return Series(np.random.randn(N), index=dateRange)
#-------------------------------------------------------------------------------
# Standard rolling linear regression
X = makeDataFrame()
Y = makeSeries()
model = ols(y=Y, x=X)
print(model)
#-------------------------------------------------------------------------------
# Panel regression
data = {
'A': makeDataFrame(),
'B': makeDataFrame(),
'C': makeDataFrame()
}
Y = makeDataFrame()
panelModel = ols(y=Y, x=data, window=50)
model = ols(y=Y, x=data)
print(panelModel)