рд╢реБрдн рджреЛрдкрд╣рд░, рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВред
рдЖрдЬ рдХреЗ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдЕрдЬрдЧрд░ рдФрд░
рд╕реНрдЯреИрдЯреНрд╕рдореЙрдбрд▓ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕
рдХрд░реВрдВрдЧрд╛ ред рдпрд╣ рдореЙрдбреНрдпреВрд▓ рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдЕрд░реНрдердорд┐рддрд┐ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдгреЛрдВ рдФрд░ рддрд░реАрдХреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдРрд╕реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдореБрдЦреНрдп рдЪрд░рдгреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ, рд╣рдо
ARIMA рдореЙрдбрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВрдЧреЗред
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдорд╛рд╕реНрдХреЛ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдПрдХ рдЧреЛрджрд╛рдо рдкрд░рд┐рд╕рд░ рдХреЗ рдЯрд░реНрдирдУрд╡рд░ рдкрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрдЯрд╛ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕ рдбреЗрдЯрд╛
рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рджреЗрдЦреЗрдВ:
from pandas import read_csv, DataFrame import statsmodels.api as sm from statsmodels.iolib.table import SimpleTable from sklearn.metrics import r2_score import ml_metrics as metrics In [2]: dataset = read_csv('tovar_moving.csv',';', index_col=['date_oper'], parse_dates=['date_oper'], dayfirst=True) dataset.head()
| Otgruzka | priemka |
---|
date_oper | | |
---|
2009-09-01 | 179,667 | 276,712 |
---|
2009-09-02 | 177,670 | 164,999 |
---|
2009-09-03 | 152,112 | 189,181 |
---|
2009-09-04 | 142,938 | 254,581 |
---|
2009-09-05 | 130,741 | 192,486 |
---|
рддреЛ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк
read_csv () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдХреЙрд▓рдо рдФрд░ рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рддрд┐рдерд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 3 рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВред рдЖрдЗрдП рд╣рдо рдЙрди рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдзреНрдпрд╛рди рджреЗрдВред
parse_dates рд╕реНрддрдВрдн рдирд╛рдореЛрдВ рдХреЛ
DateTime рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдпрджрд┐ рдЗрд╕ рдХреЙрд▓рдо рдореЗрдВ рдЦрд╛рд▓реА рдорд╛рди рд╣реИрдВ, рддреЛ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧреА рдФрд░ рдЯрд╛рдЗрдк
рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдПрдХ рдХреЙрд▓рдо рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП,
Keep_default_na = рдЧрд▓рдд рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝реЗрдВред
рдЕрдВрддрд┐рдо
рдбреЗрдлрд░реНрд╕реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд▓рд╛рдЗрди рдореЗрдВ рдкрд╣рд▓рд╛ рджрд┐рди рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдкрд╣рд▓рд╛ рд╣реИ, рди рдХрд┐ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрддред рдпрджрд┐ рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдлрд╝рдВрдХреНрд╢рди рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рддрд┐рдерд┐рдпреЛрдВ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдорд╣реАрдиреЗ рдФрд░ рджрд┐рди рдХреЛ рднреНрд░рдорд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
02/01/2013 рдХреЛ
02-01-2013 рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рдЧрд▓рдд рд╣реЛрдЧрд╛ред
рд╣рдо рд╢рд┐рдкрдореЗрдВрдЯ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреА рдПрдХ рдЕрд▓рдЧ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ:
otg = dataset.Otgruzka otg.head()
date_oper |
2009-09-01 | 179,667 |
2009-09-02 | 177,670 |
2009-09-03 | 152,112 |
2009-09-04 | 142,938 |
2009-09-05 | 130,741 |
рдирд╛рдо: Otgruzka, dtype: int64 |
рдЗрд╕рд▓рд┐рдП рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╣реИ рдФрд░ рд╣рдо рдЗрд╕рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг
рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рд╣рдорд╛рд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдЧреНрд░рд╛рдл рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдВ:
otg.plot(figsize=(12,6))

рдЧреНрд░рд╛рдл рд╕реЗ рдпрд╣ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдЙрддреНрд╕рд░реНрдЬрди рдХреА рдПрдХ рдЫреЛрдЯреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ рдЬреЛ рдкреНрд░рд╕рд╛рд░ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рддреНрдпреЗрдХ рджрд┐рди рдХреЗ рд▓рд┐рдП рд╢рд┐рдкрдореЗрдВрдЯ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдкреНрддрд╛рд╣ рдХреЗ рдЕрдВрдд рдпрд╛ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдРрд╕реЗ рджрд┐рди рд╣реЛрдВрдЧреЗ рдЬрд┐рди рдкрд░ рдорд╛рд▓ рдмрд╛рдХреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рднреЗрдЬ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╕рд╛рдкреНрддрд╛рд╣рд┐рдХ рдЕрдВрддрд░рд╛рд▓ рдФрд░ рдЙрд╕ рдкрд░ рд▓рджрд╛рди рдХреЗ рдФрд╕рдд рдореВрд▓реНрдп рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдпрд╣ рд╣рдореЗрдВ рдЙрддреНрд╕рд░реНрдЬрди рд╕реЗ рдмрдЪрд╛рдПрдЧрд╛ рдФрд░ рд╣рдорд╛рд░реА рд╕реАрдорд╛ рдореЗрдВ рдЙрддрд╛рд░-рдЪрдврд╝рд╛рд╡ рдХреЛ рдХрдо рдХрд░реЗрдЧрд╛ред
рдкрдВрдбреЛрдВ рдореЗрдВ , рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ
рдкреБрдирд░рд╛рд╡рд░реНрддрди () рдлрд╝рдВрдХреНрд╢рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд░рд╛рдЙрдВрдбрд┐рдВрдЧ рдЕрд╡рдзрд┐ рдФрд░ рдХреБрд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
otg = otg.resample('W', how='mean') otg.plot(figsize=(12,6))

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдирдП рдЪрд╛рд░реНрдЯ рдореЗрдВ рдХреЛрдИ рдЙрдЬреНрдЬреНрд╡рд▓ рдЙрддреНрд╕рд░реНрдЬрди рдирд╣реАрдВ рд╣реИ рдФрд░ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдкреНрд░рд╡реГрддреНрддрд┐ рд╣реИред рдЗрд╕рд╕реЗ рд╣рдо рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕реНрдерд┐рд░ рдирд╣реАрдВ рд╣реИ
[1] ред
itog = otg.describe() otg.hist() itog
рдЧрд┐рдирддреА | 225 |
рдорддрд▓рдм | 270858.285365 |
рдПрд╕рдЯреАрдбреА | 118371.082975 |
рдорд┐рдирдЯ | 872.857143 |
25% | 180263.428571 |
50% | 277898.714286 |
75% | 355587.285714 |
рдЕрдзрд┐рдХрддрдо | 552485.142857 |
dtype: float64 |

рдЬреИрд╕рд╛ рдХрд┐ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдФрд░ рд╣рд┐рд╕реНрдЯреЛрдЧреНрд░рд╛рдо рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╣рдорд╛рд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрдо рд╕рдЬрд╛рддреАрдп рд╣реИ рдФрд░ рдПрдХ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЫреЛрдЯрд╛ рдмрд┐рдЦрд░рд╛рд╡ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐
рднрд┐рдиреНрдирддрд╛ рдХреЗ
рдЧреБрдгрд╛рдВрдХ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реИ:

рдЬрд╣рд╛рдБ

-
рдорд╛рдирдХ рд╡рд┐рдЪрд▓рди 
- рдирдореВрдиреЗ рдХрд╛ рдЕрдВрдХрдЧрдгрд┐рдд рдорд╛рдзреНрдпред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдмрд░рд╛рдмрд░ рд╣реИ:
print 'V = %f' % (itog['std']/itog['mean'])
рд╡реА = 0.437022рд╣рдо рд╕рдорд░реВрдкрддрд╛ рдХреА рдзрд╛рд░рдгрд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рддрд░рдг рдирд╛рдордорд╛рддреНрд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд░реНрдХреЗ
- рдмреЗрд╣рд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдлрд╝рдВрдХреНрд╢рди
jarque_bera () рд╣реИ , рдЬреЛ рдЗрд╕ рдЖрдВрдХрдбрд╝реЗ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд▓реМрдЯрд╛рддрд╛ рд╣реИ:
row = [u'JB', u'p-value', u'skew', u'kurtosis'] jb_test = sm.stats.stattools.jarque_bera(otg) a = np.vstack([jb_test]) itog = SimpleTable(a, row) print itog

рдЗрд╕ рдЖрдВрдХрдбрд╝реЗ рдХрд╛ рдореВрд▓реНрдп рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рддрд░рдг рдХреА рд╕рд╛рдорд╛рдиреНрдпрддрд╛ рдХреА рдЕрд╢рдХреНрдд рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдХреЛ рдХрдо рд╕рдВрднрд╛рд╡рдирд╛ (
рд╢рд╛рдпрдж> 0.05 ) рдХреЗ рд╕рд╛рде рдЦрд╛рд░рд┐рдЬ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рддрд░рдг рд╣реЛрддрд╛ рд╣реИред
SimpleTable () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд╡рд░реВрдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдорд╛рдиреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА (2 рд╕реЗ рдЕрдзрд┐рдХ рдЖрдпрд╛рдо рдирд╣реАрдВ) рдФрд░ рд╕реНрддрдВрднреЛрдВ рдпрд╛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдирд╛рдо рд╡рд╛рд▓реА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
рдХрдИ рд╡рд┐рдзрд┐рдпрд╛рдБ рдФрд░ рдореЙрдбрд▓ рдХрд┐рд╕реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреА рд╕реНрдерд┐рд░рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдорд╛рдиреНрдпрддрд╛рдУрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╣рдорд╛рд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдРрд╕реА рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╕реНрдерд┐рд░рддрд╛ рдкрд░реАрдХреНрд╖рдг рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рд╣рдо рдпреВрдирд┐рдЯ рдХреА рдЬрдбрд╝реЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ
рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдбрд┐рдХреА-рдлреБрд▓рд░ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ ред рдЗрд╕рдХреЗ рд▓рд┐рдП
рд╕реНрдЯреИрдЯрд╕реНрдореЙрдбрд▓ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдПрдХ
рдПрдбрдлреБрд▓рд░ () рдлрд╝рдВрдХреНрд╢рди рд╣реИ:
test = sm.tsa.adfuller(otg) print 'adf: ', test[0] print 'p-value: ', test[1] print'Critical values: ', test[4] if test[0]> test[4]['5%']: print ' , ' else: print ' , '
adf: -1.38835541357
рдкреА-рдореВрд▓реНрдп: 0.58784577297
рдорд╣рддреНрд╡рдкреВрд░реНрдг рдорд╛рди: {'5%': -2.8753374677799957, '1%': -3.4617274344627398, '10% ': -2.5741240890815571}
рдПрдХрд▓ рдЬрдбрд╝реЗрдВ рд╣реИрдВ, рдкрдВрдХреНрддрд┐ рд╕реНрдерд┐рд░ рдирд╣реАрдВ рд╣реИ
рдкреНрд░рд╕реНрддреБрдд рдкрд░реАрдХреНрд╖рдг рдиреЗ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдЧреИрд░-рд╕реНрдерд┐рд░рддрд╛ рдХреА рдзрд╛рд░рдгрд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХреАред рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдЕрдВрддрд░ рдХреЛ рд▓реЗрдиреЗ рд╕реЗ рдпрд╣ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрджрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдкрд╣рд▓реЗ рдЕрдВрддрд░ рд╕реНрдерд┐рд░ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдПрдХ
рдПрдХреАрдХреГрдд рдкреНрд░рдердо-рдХреНрд░рдо рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рддреЛ, рдЪрд▓реЛ рд╣рдорд╛рд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд▓рд┐рдП
рдПрдХреАрдХреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ
рдХреНрд░рдо рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
otg1diff = otg.diff(periods=1).dropna()
рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдореЗрдВ,
рдЕрдВрддрд░ () рдлрд╝рдВрдХреНрд╢рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЕрд╡рдзрд┐ рдСрдлрд╕реЗрдЯ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдореВрд▓ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдЕрдВрддрд░ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред рдСрдлрд╕реЗрдЯ рдЕрд╡рдзрд┐ рдХреЛ
рдЕрд╡рдзрд┐ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдЪреВрдВрдХрд┐ рдкрд╣рд▓рд╛ рдореВрд▓реНрдп рдЕрд╕реНрдкрд╖реНрдЯ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдбреНрд░реЙрдкрдирд╛ () рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕реНрдЯреЗрд╢рдирд░реА рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдореА рд╢реНрд░реГрдВрдЦрд▓рд╛ рджреЗрдЦреЗрдВ:
test = sm.tsa.adfuller(otg1diff) print 'adf: ', test[0] print 'p-value: ', test[1] print'Critical values: ', test[4] if test[0]> test[4]['5%']: print ' , ' else: print ' , '
adf: -5.95204224907
рдкреА-рд╡реИрд▓реНрдпреВ: 2.13583392404e-07
рдорд╣рддреНрд╡рдкреВрд░реНрдг рдорд╛рди: {'5%': -2.8755379867788462, '1%': -3.4621857592784546, '10% ': -2.574231080806213}
рдПрдХ рднреА рдЬрдбрд╝реЗрдВ рдирд╣реАрдВ рд╣реИрдВ, рдкрдВрдХреНрддрд┐ рд╕реНрдерд┐рд░ рд╣реИ
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкрд╣рд▓реЗ рдЕрдВрддрд░ рдХреА рдкрд░рд┐рдгрд╛рдореА рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕реНрдерд┐рд░ рдПрдХ рдХреЗ рдкрд╛рд╕ рдкрд╣реБрдВрдЪ рдЧрдИред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕реЗ рдХрдИ рдЕрдВрддрд░рд╛рд▓реЛрдВ рдореЗрдВ рддреЛрдбрд╝реЗрдВрдЧреЗ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЪрдЯрд╛рдИ рдмрди рдЬрд╛рдПрдЧреАред рд╡рд┐рднрд┐рдиреНрди рдЕрдВрддрд░рд╛рд▓ рдкрд░ рдЕрдкреЗрдХреНрд╖рд╛рдПрдБ:
m = otg1diff.index[len(otg1diff.index)/2+1] r1 = sm.stats.DescrStatsW(otg1diff[m:]) r2 = sm.stats.DescrStatsW(otg1diff[:m]) print 'p-value: ', sm.stats.CompareMeans(r1,r2).ttest_ind()[1]
рдкреА-рдореВрд▓реНрдп: 0.693072039563рдЙрдЪреНрдЪ
рдкреА-рдореВрд▓реНрдп рд╣рдореЗрдВ рдпрд╣ рджрд╛рд╡рд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╕рд╛рдзрдиреЛрдВ рдХреА рд╕рдорд╛рдирддрд╛ рдХреА рд╢реВрдиреНрдп рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рд╕рдЪ рд╣реИ, рдЬреЛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреА рд╕реНрдерд┐рд░рддрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкреНрд░рд╡реГрддреНрддрд┐ рдирд╣реАрдВ рд╣реИ, рд╣рдо рдЕрдкрдиреА рдирдИ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдПрдХ рдЧреНрд░рд╛рдл рдмрдирд╛рддреЗ рд╣реИрдВ:
otg1diff.plot(figsize=(12,6))

рдкреНрд░рд╡реГрддреНрддрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкрд╣рд▓реЗ рдорддрднреЗрджреЛрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕реНрдерд┐рд░ рд╣реИ, рдФрд░ рд╣рдорд╛рд░реА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╢реНрд░реГрдВрдЦрд▓рд╛
рдкрд╣рд▓реЗ рдХреНрд░рдо рдХреА рдПрдХ
рдПрдХреАрдХреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╣реИ ред
рдПрдХ рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЙрдбрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг
рдореЙрдбрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкрд╣рд▓реЗ рдХрдИ рдЕрдВрддрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд┐рдд
ARIMA рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
рдЗрд╕рд▓рд┐рдП, рдПрдХ рдореЙрдбрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЗрд╕рдХреЗ рдЖрджреЗрд╢ рдХреЛ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ 2 рдкреИрд░рд╛рдореАрдЯрд░ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреЗ:
- p , рдШрдЯрдХ AR рдХрд╛ рдХреНрд░рдо рд╣реИ
- рдбреА рдПрдХреАрдХреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдХреНрд░рдо рд╣реИ
- рдХреНрдпреВ рдШрдЯрдХ рдПрдордП рдХрд╛ рдХреНрд░рдо рд╣реИ
рдкреИрд░рд╛рдореАрдЯрд░
d рд╣реИ рдФрд░ рдпрд╣ 1 рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИ, рдпрд╣
p рдФрд░
q рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдкрд╣рд▓реЗ рдорддрднреЗрджреЛрдВ рдХреЗ рд▓рд┐рдП рдСрдЯреЛрдХреЙрд░реЗрд▓реЗрд╢рди
(рдПрд╕реАрдПрдл) рдФрд░ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдСрдЯреЛрдХреЙрд░реЗрд▓реЗрд╢рди (рдкреАрдПрд╕реАрдПрдл) рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
ACF рд╣рдореЗрдВ
q рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рдХреЛрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рджреНрд╡рд╛рд░рд╛, рд╣рдо рдСрдЯреЛрдХреЙрд░реНрдкреЛрд░реЗрд╢рди рдЧреБрдгрд╛рдВрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ
MA рдореЙрдбрд▓ рдореЗрдВ 0 рд╕реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рд╣реИрдВ
PACF рд╣рдореЗрдВ
p рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ correlogram рджреНрд╡рд╛рд░рд╛ рдЖрдк
AR рдореЙрдбрд▓ рдореЗрдВ 0 рд╕реЗ рднрд┐рдиреНрди рдЕрдзрд┐рдХрддрдо рдЧреБрдгрд╛рдВрдХ рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдВрдмрдВрдзрд┐рдд correlograms рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдБрдХрдбрд╝реЗ рдлрд╝рдВрдХреНрд╢рди рдкреИрдХреЗрдЬ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдЙрдкрд▓рдмреНрдз рд╣реИрдВ:
plot_acf () рдФрд░
plot_pacf () ред рд╡реЗ
рдПрд╕реАрдПрдл рдФрд░
рдкреАрдПрд╕реАрдПрдл рдЧреНрд░рд╛рдл рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ
рд╣реИрдВ , рдЬрд┐рд╕рдореЗрдВ рд▓реИрдЧ рдирдВрдмрд░ рдПрдХреНрд╕ рдЕрдХреНрд╖ рдХреЗ рд╕рд╛рде рдкреНрд▓реЙрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рд╡рд╛рдИ рдЕрдХреНрд╖ рдХреЗ рд╕рд╛рде рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдореВрд▓реНрдпред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдЕрдВрддрд░рд╛рд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЧреБрдгрд╛рдВрдХ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИред рддреЛ, рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдп рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВ:
ig = plt.figure(figsize=(12,8)) ax1 = fig.add_subplot(211) fig = sm.graphics.tsa.plot_acf(otg1diff.values.squeeze(), lags=25, ax=ax1) ax2 = fig.add_subplot(212) fig = sm.graphics.tsa.plot_pacf(otg1diff, lags=25, ax=ax2)
PACF correlogram рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж,
рд╣рдо рдЙрд╕
p = 1 рдХрд╛ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдкрд░ рдХреЗрд╡рд▓ 1 рдЕрдВрддрд░рд╛рд▓ рд╢реВрдиреНрдп рд╕реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рд╣реИред
ACF correlogram рд╕реЗ, рд╣рдо рдЙрд╕
q = 1 рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд▓реИрдЧ 1 рдХреЗ рдмрд╛рдж, рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдореВрд▓реНрдп рддреЗрдЬреА рд╕реЗ рдЧрд┐рд░рддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдЬрдм рд╕рднреА рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ рдореЙрдбрд▓ рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд╣рдо рд╕рднреА рдбреЗрдЯрд╛ рдирд╣реАрдВ рд▓реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рд╣рдо рдЙрд╕ рднрд╛рдЧ рд╕реЗ рдбреЗрдЯрд╛ рдЫреЛрдбрд╝ рджреЗрдВрдЧреЗ рдЬреЛ рд╣рдорд╛рд░реЗ рдореЙрдбрд▓ рдХреЗ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдХреА рд╕рдЯреАрдХрддрд╛ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рдерд╛:
src_data_model = otg[:'2013-05-26'] model = sm.tsa.ARIMA(src_data_model, order=(1,1,1), freq='W').fit(full_output=False, disp=0)
рдореЙрдбрд▓ рдореЗрдВ рдПрдХ рд╕реНрдерд┐рд░ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП
рдкреНрд░рд╡реГрддреНрддрд┐ рдкреИрд░рд╛рдореАрдЯрд░ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рд╣рдо рдкрд░рд┐рдгрд╛рдореА рдореЙрдбрд▓ рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:
print model.summary()

рдЬреИрд╕рд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рдореЙрдбрд▓ рдореЗрдВ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╕рднреА рдЧреБрдгрд╛рдВрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ рдФрд░ рд╣рдо рдореЙрдбрд▓ рдХреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдореЙрдбрд▓ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди
рд╣рдо
"рд╕рдлреЗрдж рд╢реЛрд░" рдХреЗ рдЕрдиреБрдкрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЗрд╕ рдореЙрдбрд▓ рдХреЗ рдЕрд╡рд╢реЗрд╖реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдЕрд╡рд╢реЗрд╖реЛрдВ рдХреЗ рдХреЛрд░рд▓реЛрдЧреНрд░рд╛рдо рдХрд╛ рднреА рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рд╣рдореЗрдВ рдкреНрд░рддрд┐рдЧрдорди рддрддреНрд╡реЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИ рдЬреЛ рд╢рд╛рдорд┐рд▓ рдФрд░ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред
рддреЛ рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рд╣рдо рдХрд░реЗрдВрдЧреЗ, рд╡рд╣ рд╣реИ
- рд▓рд┐рдВрдЧ - рдмреЙрдХреНрд╕ Q- рдкрд░реАрдХреНрд╖рдг рдХреА рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдХрд╛
рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЕрд╡рд╢реЗрд╖ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН, рд╡реЗ "рд╕рдлреЗрдж рд╢реЛрд░" рд╣реИрдВред рдпрд╣ рдкрд░реАрдХреНрд╖рдг
ARIMA рдореЙрдбрд▓ рдХреЗ рдЕрд╡рд╢реЗрд╖реЛрдВ рдкрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдореЗрдВ рдкрд╣рд▓реЗ рдореЙрдбрд▓ рдХреЗ рдЕрд╡рд╢реЗрд╖ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рдПрд╕реАрдПрдл рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдкрд░рд┐рдгрд╛рдореА рдЧреБрдгрд╛рдВрдХ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВред
рдЖрдБрдХрдбрд╝реЗрдорд╛рдбрд▓реНрд╕ рдХреЗ рд╕рд╛рде
, рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
q_test = sm.tsa.stattools.acf(model.resid, qstat=True)
рдкрд░рд┐рдгрд╛рдо | рдХреНрдпреВ рд╕реНрдЯреЗрдЯ | рдкреА-рдореВрд▓реНрдп |
---|
0 | 0.531426 | 0.466008 |
1 | 3.073217 | 0.215109 |
2 | 3.644229 | 0.302532 |
3 | 3.906326 | 0.418832 |
4 | 4.701433 | 0.453393 |
5 | 5.433745 | 0.489500 |
6 | 5.444254 | 0.605916 |
7 | 5.445309 | 0.709091 |
8 | 5.900762 | 0.749808 |
9 | 6.004928 | 0.814849 |
10 | 6.155966 | 0.862758 |
11 | 6.299958 | 0.900213 |
12 | 12.731542 | 0.468755 |
13 | 14.707894 | 0.398410 |
14 | 20.720607 | 0.145996 |
15 | 23.197433 | 0.108558 |
16 | 23.949801 | 0.120805 |
17 | 24.119236 | 0.151160 |
18 | 25.616184 | 0.141243 |
19 | 26.035165 | 0.164654 |
20 | 28.969880 | 0.114727 |
21 | 28.973660 | 0.145614 |
22 | 29.017716 | 0.179723 |
23 | 32.114006 | 0.124191 |
24 | 32.284805 | 0.149936 |
25 | 33.123395 | 0.158548 |
26 | 33.129059 | 0.192844 |
27 | 33.760488 | 0.208870 |
28 | 38.421053 | 0.113255 |
29 | 38.724226 | 0.132028 |
30 | 38.973426 | 0.153863 |
31 | 38.978172 | 0.184613 |
32 | 39.318954 | 0.207819 |
33 | 39.382472 | 0.241623 |
34 | 39.423763 | 0.278615 |
35 | 40.083689 | 0.293860 |
36 | 43.849515 | 0.203755 |
37 | 45.704476 | 0.182576 |
38 | 47.132911 | 0.174117 |
39 | 47.365305 | 0.197305 |
рдЗрди рдЖрдВрдХрдбрд╝реЛрдВ рдФрд░ рдкреА-рдорд╛рдиреЛрдВ рдХреЗ рдореВрд▓реНрдп рд╕реЗ рд╕рдВрдХреЗрдд рдорд┐рд▓рддрд╛ рд╣реИ рдХрд┐ рдЕрд╡рд╢реЗрд╖реЛрдВ рдХреА рдпрд╛рджреГрдЪреНрдЫрд┐рдХрддрд╛ рдХреА рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ "рд╕рдлреЗрдж рд╢реЛрд░" рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреА рд╣реИред
рдЕрдм рдЪрд▓реЛ рдирд┐рд░реНрдзрд╛рд░рдг рдХреЗ рдЧреБрдгрд╛рдВрдХ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ

рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдореЙрдбрд▓ рдХрд┐рддрдиреЗ рдкреНрд░рддрд┐рд╢рдд рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ:
pred = model.predict('2013-05-26','2014-12-31', typ='levels') trn = otg['2013-05-26':] r2 = r2_score(trn, pred[1:32]) print 'R^2: %1.2f' % r2
рдЖрд░ ^ 2: -0.03рд╣рдорд╛рд░реЗ рдореЙрдбрд▓ рдХрд╛ рдорд╛рдирдХ рд╡рд┐рдЪрд▓рди
[2] :
metrics.rmse(trn,pred[1:32])
реореж,репрезреп.режрелренрейремренремрекреирелрезреирдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдХреА рдФрд╕рдд рдкреВрд░реНрдг рддреНрд░реБрдЯрд┐
[2] :
metrics.mae(trn,pred[1:32])
ремрей,режрепреи.ренремрейреиренренремрелрезреорепрелрдпрд╣ рдЪрд╛рд░реНрдЯ рдкрд░ рд╣рдорд╛рд░реЗ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╣реБрдЖ рд╣реИ:
otg.plot(figsize=(12,6)) pred.plot(style='r--')

рдирд┐рд╖реНрдХрд░реНрд╖
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЧреНрд░рд╛рдл рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдорд╛рд░рд╛ рдореЙрдбрд▓ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдирд╣реАрдВ рдмрдирд╛ рд░рд╣рд╛ рд╣реИред рдпрд╣ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рд╕реНрд░реЛрдд рдбреЗрдЯрд╛ рдореЗрдВ
рдЖрдЙрдЯрд▓реЗрд░ рдХреЗ рдХрд╛рд░рдг рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛ рдирд╣реАрдВ рджрд┐рдпрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде
рдЖрдБрдХрдбрд╝реЗрдорд╛рдбреЗрд▓ рдкреИрдХреЗрдЬ рдХреЗ
рдПрдЖрд░рдЖрдИрдПрдордП рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП,
рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд╛рдлреА рдирдпрд╛ рд╣реИред рд▓реЗрдЦ рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЬрдЧрд░ рдореЗрдВ рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рдпрд╣ рднреА рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдЖрдЬ рдЬрд╛рдВрдЪ рдХрд┐рдП рдЧрдП рдкреИрдХреЗрдЬ рдореЗрдВ рдкреНрд░рддрд┐рдЧрдорди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдореИрдВ рдЖрдЧреЗ рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рджрд┐рдЦрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛)ред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЫреЛрдЯреЗ рдЕрдзреНрдпрдпрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдореЙрдбрд▓ рдкреИрдХреЗрдЬ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╣реИ, рд▓реЗрдХрд┐рди рдЧрдВрднреАрд░ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрднреА рднреА рдХрдЪреНрдЪрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдЖрдВрдХрдбрд╝реЗ рдЧрд╛рдпрдм рд╣реИрдВред
рд╕рдВрджрд░реНрдн
- рджреНрд╡рд┐рддреАрдп Eliseevред рдЕрд░реНрдердорд┐рддрд┐
- рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдореЙрдбрд▓ рдХреА рддреБрд▓рдирд╛