рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХрд╛ рдХреЛрдб рдСрдирд▓рд╛рдЗрди рдЪрд▓рд╛рдПрдВ рдФрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
рдХреЛрдб рдЪрд▓рд╛рдПрдВ| ┬а | month | demand |
|---|---|---|
| 0 | 1 | 290 |
| 1 | 2 | 260 |
| 2 | 3 | 288 |
| 3 | 4 | 300 |
| 4 | 5 | 310 |
рдЖрдЗрдП 3 рдХреА рд╡рд┐рдВрдбреЛ рд╕рд╛рдЗрдЬ рдХреЗ рд▓рд┐рдП SMA рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдк рд╣рд░ рдмрд╛рд░ рддреАрди рдорд╛рдиреЛрдВ рдХреЛ рд▓реЗрдХрд░ рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдирд┐рдХрд╛рд▓реЗрдВрдЧреЗ, рдФрд░ рд╣рд░ рдирдП рдорд╛рди рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдкреБрд░рд╛рдирд╛ рдорд╛рди рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк pandas рдХреЗ iloc рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЪреВрдВрдХрд┐ рдЖрдкрдХреЛ demand рдХреЙрд▓рдо рдЪрд╛рд╣рд┐рдП, рдЖрдк iloc рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЙрд╕рдХреА рдкреЛрдЬреАрд╢рди рдлрд┐рдХреНрд╕ рдХрд░реЗрдВрдЧреЗ, рдЬрдмрдХрд┐ рдкрдВрдХреНрддрд┐ рдПрдХ рдЪрд░ i рд╣реЛрдЧреА рдЬрд┐рд╕реЗ рдЖрдк рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдХреЗ рдЕрдВрдд рддрдХ рдЗрдЯрд░реЗрдЯ рдХрд░рддреЗ рд░рд╣реЗрдВрдЧреЗред
for i in range(0,df.shape[0]-2):
df.loc[df.index[i+2],'SMA_3'] = np.round(((df.iloc[i,1]+ df.iloc[i+1,1] +df.iloc[i+2,1])/3),1)
| ┬а | month | demand | SMA_3 |
|---|---|---|---|
| 0 | 1 | 290 | NaN |
| 1 | 2 | 260 | NaN |
| 2 | 3 | 288 | 279.3 |
| 3 | 4 | 300 | 282.7 |
| 4 | 5 | 310 | 299.3 |
рдПрдХ рд╕реИрдиреАрдЯреА рдЪреЗрдХ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП pandas рдХреА рдЗрди-рдмрд┐рд▓реНрдЯ rolling рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╣рдорд╛рд░реЗ рдХрд╕реНрдЯрдо Python-рдЖрдзрд╛рд░рд┐рдд рд╕рд┐рдВрдкрд▓ рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред
df['pandas_SMA_3'] = df.iloc[:,1].rolling(window=3).mean()
df.head()
| ┬а | month | demand | SMA_3 | pandas_SMA_3 |
|---|---|---|---|---|
| 0 | 1 | 290 | NaN | NaN |
| 1 | 2 | 260 | NaN | NaN |
| 2 | 3 | 288 | 279.3 | 279.333333 |
| 3 | 4 | 300 | 282.7 | 282.666667 |
| 4 | 5 | 310 | 299.3 | 299.333333 |
рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдХрд╕реНрдЯрдо рдФрд░ pandas рдХреЗ рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдмрд┐рд▓реНрдХреБрд▓ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ SMA рдЗрдореНрдкреНрд▓реАрдореЗрдВрдЯреЗрд╢рди рд╕рд╣реА рдерд╛ред
рдЖрдЗрдП window_size 4 рдХреЗ рд▓рд┐рдП рднреА рд╕рд┐рдВрдкрд▓ рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдЬрд▓реНрджреА рд╕реЗ рдЧрдгрдирд╛ рдХрд░реЗрдВред
for i in range(0,df.shape[0]-3):
df.loc[df.index[i+3],'SMA_4'] = np.round(((df.iloc[i,1]+ df.iloc[i+1,1] +df.iloc[i+2,1]+df.iloc[i+3,1])/4),1)
df.head()
| ┬а | month | demand | SMA_3 | pandas_SMA_3 | SMA_4 |
|---|---|---|---|---|---|
| 0 | 1 | 290 | NaN | NaN | NaN |
| 1 | 2 | 260 | NaN | NaN | NaN |
| 2 | 3 | 288 | 279.3 | 279.333333 | NaN |
| 3 | 4 | 300 | 282.7 | 282.666667 | 284.5 |
| 4 | 5 | 310 | 299.3 | 299.333333 | 289.5 |
df['pandas_SMA_4'] = df.iloc[:,1].rolling(window=4).mean()
df.head()
| ┬а | month | demand | SMA_3 | pandas_SMA_3 | SMA_4 | pandas_SMA_4 |
|---|---|---|---|---|---|---|
| 0 | 1 | 290 | NaN | NaN | NaN | NaN |
| 1 | 2 | 260 | NaN | NaN | NaN | NaN |
| 2 | 3 | 288 | 279.3 | 279.333333 | NaN | NaN |
| 3 | 4 | 300 | 282.7 | 282.666667 | 284.5 | 284.5 |
| 4 | 5 | 310 | 299.3 | 299.333333 | 289.5 | 289.5 |
рдЕрдм, рдЖрдк рдЙрди рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд▓реЙрдЯ рдХрд░реЗрдВрдЧреЗ рдЬрд┐рдирдХреА рдЖрдкрдиреЗ рдЧрдгрдирд╛ рдХреА рд╣реИред
import matplotlib.pyplot as plt
%matplotlib inline
plt.figure(figsize=[15,10])
plt.grid(True)
plt.plot(df['demand'],label='data')
plt.plot(df['SMA_3'],label='SMA 3 Months')
plt.plot(df['SMA_4'],label='SMA 4 Months')
plt.legend(loc=2)
<matplotlib.legend.Legend at 0x11fe15080>

рдХреНрдпреВрдореНрдпреБрд▓реЗрдЯрд┐рд╡ рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ
рдореЗрд░рд╛ рдорд╛рдирдирд╛ рд╣реИ рдХрд┐ рдЕрдм рд╣рдо рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВред
рдХреНрдпреВрдореНрдпреБрд▓реЗрдЯрд┐рд╡ рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдПрдХ air quality dataset рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рдЗрд╕ рд▓рд┐рдВрдХ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
df = pd.read_csv("AirQualityUCI/AirQualityUCI.csv", sep = ";", decimal = ",")
df = df.iloc[ : , 0:14]
df.head()
| ┬а | Date | Time | CO(GT) | PT08.S1(CO) | NMHC(GT) | C6H6(GT) | PT08.S2(NMHC) | NOx(GT) | PT08.S3(NOx) | NO2(GT) | PT08.S4(NO2) | PT08.S5(O3) | T | RH |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 10/03/2004 | 18.00.00 | 2.6 | 1360.0 | 150.0 | 11.9 | 1046.0 | 166.0 | 1056.0 | 113.0 | 1692.0 | 1268.0 | 13.6 | 48.9 |
| 1 | 10/03/2004 | 19.00.00 | 2.0 | 1292.0 | 112.0 | 9.4 | 955.0 | 103.0 | 1174.0 | 92.0 | 1559.0 | 972.0 | 13.3 | 47.7 |
| 2 | 10/03/2004 | 20.00.00 | 2.2 | 1402.0 | 88.0 | 9.0 | 939.0 | 131.0 | 1140.0 | 114.0 | 1555.0 | 1074.0 | 11.9 | 54.0 |
| 3 | 10/03/2004 | 21.00.00 | 2.2 | 1376.0 | 80.0 | 9.2 | 948.0 | 172.0 | 1092.0 | 122.0 | 1584.0 | 1203.0 | 11.0 | 60.0 |
| 4 | 10/03/2004 | 22.00.00 | 1.6 | 1272.0 | 51.0 | 6.5 | 836.0 | 131.0 | 1205.0 | 116.0 | 1490.0 | 1110.0 | 11.2 | 59.6 |
рдЬрдм рднреА рдЖрдк рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдПрдХ рдЖрд╡рд╢реНрдпрдХ рдЪрд░рдг рд╣реИред рдиреНрдпреВрдореЗрд░рд┐рдХрд▓ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП, рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдЪрд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ NaN (Null) рдорд╛рдиреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ред рдпрджрд┐ рдХреЛрдИ NaN рдорд╛рди рд╣реИрдВ, рддреЛ рдЖрдк рдЙрдиреНрд╣реЗрдВ 0 рдпрд╛ рдФрд╕рдд рдпрд╛ рдкрд┐рдЫрд▓реЗ/рдЕрдЧрд▓реЗ рдорд╛рдиреЛрдВ рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛ рднреА рд╕рдХрддреЗ рд╣реИрдВред рдпрджреНрдпрдкрд┐ рд╕рд╛рдорд╛рдиреНрдпрддрдГ рд╣рдЯрд╛рдиреЗ рдХреА рдмрдЬрд╛рдп рдмрджрд▓рдирд╛ рдмреЗрд╣рддрд░ рд╡рд┐рдХрд▓реНрдк рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдЗрд╕ рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ рдХреБрдЫ рд╣реА NULL рдорд╛рди рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛рдиреЗ рд╕реЗ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреА рдирд┐рд░рдВрддрд░рддрд╛ рдкрд░ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝реЗрдЧрд╛ред
df.isna().sum()
Date 114
Time 114
CO(GT) 114
PT08.S1(CO) 114
NMHC(GT) 114
C6H6(GT) 114
PT08.S2(NMHC) 114
NOx(GT) 114
PT08.S3(NOx) 114
NO2(GT) 114
PT08.S4(NO2) 114
PT08.S5(O3) 114
T 114
RH 114
dtype: int64
рдКрдкрд░ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рднреА рдХреЙрд▓рдореНрд╕ рдореЗрдВ рд▓рдЧрднрдЧ 114 NaN рдорд╛рди рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдк рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рд╡реЗ рд╕рднреА рдЯрд╛рдЗрдо-рд╕реАрд░реАрдЬрд╝ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╣реИрдВ, рддреЛ рдЖрдЗрдП рдЙрдиреНрд╣реЗрдВ рдЬрд▓реНрджреА рд╕реЗ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВред
df.dropna(inplace=True)
df.isna().sum()
Date 0
Time 0
CO(GT) 0
PT08.S1(CO) 0
NMHC(GT) 0
C6H6(GT) 0
PT08.S2(NMHC) 0
NOx(GT) 0
PT08.S3(NOx) 0
NO2(GT) 0
PT08.S4(NO2) 0
PT08.S5(O3) 0
T 0
RH 0
dtype: int64
рдЖрдк Temperature рдХреЙрд▓рдо (T) рдкрд░ рдХреНрдпреВрдореНрдпреБрд▓реЗрдЯрд┐рд╡ рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рд▓рд╛рдЧреВ рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдЖрдЗрдП рдЙрд╕ рдХреЙрд▓рдо рдХреЛ рдкреВрд░реЗ рдбреЗрдЯрд╛ рд╕реЗ рдЕрд▓рдЧ рдХрд░ рд▓реЗрддреЗ рд╣реИрдВред
df_T = pd.DataFrame(df.iloc[:,-2])
df_T.head()
| ┬а | T |
|---|---|
| 0 | 13.6 |
| 1 | 13.3 |
| 2 | 11.9 |
| 3 | 11.0 |
| 4 | 11.2 |
рдЕрдм, рдЖрдк pandas рдХреЗ expanding рдореЗрдердб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдКрдкрд░ рджрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХрд╛ рдХреНрдпреВрдореНрдпреБрд▓реЗрдЯрд┐рд╡ рдФрд╕рдд рдирд┐рдХрд╛рд▓реЗрдВрдЧреЗред рдпрджрд┐ рдЖрдкрдХреЛ рдкрд░рд┐рдЪрдп рднрд╛рдЧ рд╕реЗ рдпрд╛рдж рд╣реЛ, рддреЛ рд╕рд┐рдВрдкрд▓ рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдХреНрдпреВрдореНрдпреБрд▓реЗрдЯрд┐рд╡ рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдФрд╕рдд рдирд┐рдХрд╛рд▓рддреЗ рд╕рдордп рд╕рднреА рдкреВрд░реНрд╡рд╡рд░реНрддреА рдорд╛рдиреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИред
df_T['CMA_4'] = df_T.expanding(min_periods=4).mean()
df_T.head(10)
| ┬а | T | CMA_4 |
|---|---|---|
| 0 | 13.6 | NaN |
| 1 | 13.3 | NaN |
| 2 | 11.9 | NaN |
| 3 | 11.0 | 12.450000 |
| 4 | 11.2 | 12.200000 |
| 5 | 11.2 | 12.033333 |
| 6 | 11.3 | 11.928571 |
| 7 | 10.7 | 11.775000 |
| 8 | 10.7 | 11.655556 |
| 9 | 10.3 | 11.520000 |
рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдбреЗрдЯрд╛ рдХреЛ рд╕рдордп рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдкреНрд▓реЙрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдЗрдП рддрд╛рд░реАрдЦ рдФрд░ рд╕рдордп рдХреЙрд▓рдо рдХреЛ рдорд┐рд▓рд╛рдХрд░ рдПрдХ datetime рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВред рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк Python рдХреЗ datetime рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ (рд╕реНрд░реЛрдд: Time Series Tutorial)ред
import datetime
df['DateTime'] = (df.Date) + ' ' + (df.Time)
df.DateTime = df.DateTime.apply(lambda x: datetime.datetime.strptime(x, '%d/%m/%Y %H.%M.%S'))
рдЖрдЗрдП temperature рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдХрд╛ рдЗрдВрдбреЗрдХреНрд╕ datetime рд╕реЗ рдмрджрд▓рддреЗ рд╣реИрдВред
df_T.index = df.DateTime
рдЕрдм рд╕рдордп рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддрд╛рдкрдорд╛рди рдФрд░ рдХреНрдпреВрдореНрдпреБрд▓реЗрдЯрд┐рд╡ рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдХреЛ рдкреНрд▓реЙрдЯ рдХрд░рддреЗ рд╣реИрдВред
plt.figure(figsize=[15,10])
plt.grid(True)
plt.plot(df_T['T'],label='temperature')
plt.plot(df_T['CMA_4'],label='CMA_4')
plt.legend(loc=2)
<matplotlib.legend.Legend at 0x1210a2d30>

рдПрдХреНрд╕рдкреЛрдиреЗрдВрд╢рд┐рдпрд▓ рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ
df_T['EMA'] = df_T.iloc[:,0].ewm(span=40,adjust=False).mean()
df_T.head()
| ┬а | T | CMA_4 | EMA |
|---|---|---|---|
| DateTime | ┬а | ┬а | ┬а |
| 2004-03-10 18:00:00 | 13.6 | NaN | 13.600000 |
| 2004-03-10 19:00:00 | 13.3 | NaN | 13.585366 |
| 2004-03-10 20:00:00 | 11.9 | NaN | 13.503153 |
| 2004-03-10 21:00:00 | 11.0 | 12.45 | 13.381048 |
| 2004-03-10 22:00:00 | 11.2 | 12.20 | 13.274655 |
plt.figure(figsize=[15,10])
plt.grid(True)
plt.plot(df_T['T'],label='temperature')
plt.plot(df_T['CMA_4'],label='CMA_4')
plt.plot(df_T['EMA'],label='EMA')
plt.legend(loc=2)
<matplotlib.legend.Legend at 0x14b2a41d0>

рд╡рд╛рд╣! рддреЛ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдКрдкрд░ рджрд┐рдП рдЧрдП рдЧреНрд░рд╛рдл рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХреНрд╕рдкреЛрдиреЗрдВрд╢рд┐рдпрд▓ рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ (EMA) рдбреЗрдЯрд╛ рдХреЗ рдкреИрдЯрд░реНрди рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдореЗрдВ рдмреЗрд╣рддрд░реАрди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдХреНрдпреВрдореНрдпреБрд▓реЗрдЯрд┐рд╡ рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ (CMA) рдХрд╛рдлреА рд╣рдж рддрдХ рдкреАрдЫреЗ рд░рд╣ рдЬрд╛рддрд╛ рд╣реИред
рдФрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВ!
рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдкреВрд░рд╛ рдХрд░рдиреЗ рдкрд░ рдмрдзрд╛рдИред
рдпрд╣ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдЗрд╕ рдмрд╛рдд рдкрд░ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рдерд╛ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЗ рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдХреИрд╕реЗ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕реЗ рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВред
pandas рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдХреНрдпреВрдореНрдпреБрд▓реЗрдЯрд┐рд╡ рдФрд░ рдПрдХреНрд╕рдкреЛрдиреЗрдВрд╢рд┐рдпрд▓ рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдХрд╛ Python рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдЗрд╕рд╕реЗ рдЖрдкрдХреЛ рдЙрдирдХреА рдЧрдгрдирд╛ рдХреЗ рддрд░реАрдХреЗ рдФрд░ рдЖрдкрд╕ рдореЗрдВ рдЕрдВрддрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЧрд╣рди рдЬрд╛рдирдХрд╛рд░реА рдорд┐рд▓реЗрдЧреАред
рдЕрднреА рдмрд╣реБрдд рдХреБрдЫ рдПрдХреНрд╕рдкреЗрд░рд┐рдореЗрдВрдЯ рдХрд░рдирд╛ рдмрд╛рдХреА рд╣реИред рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдФрд░ рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдХреЗ рдмреАрдЪ рдЖрдВрд╢рд┐рдХ рдСрдЯреЛрдХреЙрд░рд┐рд▓реЗрд╢рди рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ рдФрд░ рджреЛрдиреЛрдВ рдХреЗ рдмреАрдЪ рдХреБрдЫ рд╕рдВрдмрдВрдз рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред
рдпрджрд┐ рдЖрдк pandas рдореЗрдВ DataFrames рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рд╕реАрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ DataCamp рдХрд╛ pandas Foundations рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдХреЛрд░реНрд╕ рд▓реЗрдВред
рд╕рдВрджрд░реНрдн:
рдХреГрдкрдпрд╛ рдиреАрдЪреЗ рдЯрд┐рдкреНрдкрдгреА рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдИ рднреА рдкреНрд░рд╢реНрди рдирд┐рдГрд╕рдВрдХреЛрдЪ рдкреВрдЫреЗрдВред
рдкрд░рд┐рдЪрдп
рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ, рдЬрд┐рд╕реЗ рд░реЛрд▓рд┐рдВрдЧ рдпрд╛ рд░рдирд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкреВрд░реНрдг рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдмрд╕реЗрдЯреНрд╕ рдХреЗ рдФрд╕рдд рдирд┐рдХрд╛рд▓рдХрд░ рдЯрд╛рдЗрдо-рд╕реАрд░реАрдЬрд╝ рдбреЗрдЯрд╛ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд╕рдордп рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд╛ рдФрд╕рдд рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕реЗ рдореВрд╡рд┐рдВрдЧ рдореАрди (MM) рдпрд╛ рд░реЛрд▓рд┐рдВрдЧ рдореАрди рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рд░реЛрд▓рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдПрдХ рдкреВрд░реНрдг рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕реЗ рдПрдХ рдирд┐рдпрдд рдЖрдХрд╛рд░ рдХрд╛ рд╕рдмрд╕реЗрдЯ рд▓рд┐рдпрд╛ рдЬрд╛рдПред рдкрд╣рд▓рд╛ рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ, рдкрд╣рд▓реЗ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдмрд╕реЗрдЯ рдХрд╛ рдФрд╕рдд рд▓реЗрдХрд░ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╕рдмрд╕реЗрдЯ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рддреЗ рд╣реБрдП рдЕрдЧрд▓реЗ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдмрд╕реЗрдЯ рдкрд░ рд╢рд┐рдлреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬрд╣рд╛рдВ рдирдП рдЙрдкрд╕рдореВрд╣ рдореЗрдВ рднрд╡рд┐рд╖реНрдп рдХрд╛ рдорд╛рди рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдкрд┐рдЫрд▓реЗ рдорд╛рди рдХреЛ рдмрд╛рд╣рд░ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред
рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдзрд┐рдХрддрд░ рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рдЙрддрд╛рд░-рдЪрдврд╝рд╛рд╡ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдЬрдмрдХрд┐ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд░реБрдЭрд╛рдиреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдмрдирд╛ рд░рд╣реЗред
рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдбреЗрдЯрд╛ рдХреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ: рд╢реЗрдпрд░ рдХреАрдорддреЗрдВ, рдореМрд╕рдо рд░рд┐рдкреЛрд░реНрдЯ, рд╡рд╛рдпреБ рдЧреБрдгрд╡рддреНрддрд╛, рд╕рдХрд▓ рдШрд░реЗрд▓реВ рдЙрддреНрдкрд╛рдж, рд░реЛрдЬрд╝рдЧрд╛рд░ рдЖрджрд┐ред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдореВрдж рдХрд░рддрд╛ рд╣реИред
рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдХрдИ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рдХреА рд░реАрдврд╝ рд╣реИ, рдФрд░ рдРрд╕рд╛ рд╣реА рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рджреНрдо рд╣реИ рдСрдЯреЛрд░рд┐рдЧреНрд░реЗрд╕рд┐рд╡ рдЗрдВрдЯреАрдЧреНрд░реЗрдЯреЗрдб рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдореЙрдбрд▓ (ARIMA), рдЬреЛ рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдбреЗрдЯрд╛ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдХреЗ рдХрдИ рдкреНрд░рдХрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВ:
рд╕рд┐рдВрдкрд▓ рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ (SMA): рд╕рд┐рдВрдкрд▓ рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ (SMA) рдПрдХ рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧ рд╡рд┐рдВрдбреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдХреА рд╕рдордп рдЕрд╡рдзрд┐рдпреЛрдВ рдкрд░ рдФрд╕рдд рд▓реЗрддрд╛ рд╣реИред рдпрд╣ рдкрд┐рдЫрд▓реЗ n рдбреЗрдЯрд╛ рдХрд╛ рд╕рдорд╛рди-рднрд╛рд░рд┐рдд рдореАрди рд╣реЛрддрд╛ рд╣реИред
SMA рдХреЛ рдФрд░ рдмреЗрд╣рддрд░ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП n рдорд╛рдиреЛрдВ рдХрд╛ рдПрдХ рдЕрдиреБрдХреНрд░рдо рд▓реЗрдВ:
рддреЛ n рдбреЗрдЯрд╛ рдкреЙрдЗрдВрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди-рднрд╛рд░рд┐рдд рд░реЛрд▓рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдореВрд▓рддрдГ рдкрд┐рдЫрд▓реЗ M рдбреЗрдЯрд╛-рдкреЙрдЗрдВрдЯреНрд╕ рдХрд╛ рдФрд╕рдд рд╣реЛрдЧрд╛, рдЬрд╣рд╛рдВ M рд╕реНрд▓рд╛рдЗрдбрд┐рдВрдЧ рд╡рд┐рдВрдбреЛ рдХрд╛ рдЖрдХрд╛рд░ рд╣реИ:
рдЗрд╕реА рддрд░рд╣, рдмрд╛рдж рдХреЗ рд░реЛрд▓рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдорд╛рдиреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдирдпрд╛ рдорд╛рди рд╕рдо рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдкрд┐рдЫрд▓реА рд╕рдордп рдЕрд╡рдзрд┐ рдХрд╛ рдорд╛рди рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЪреВрдВрдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд┐рдЫрд▓реА рд╕рдордп рдЕрд╡рдзрд┐рдпреЛрдВ рдХрд╛ рдФрд╕рдд рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рд░ рдмрд╛рд░ рдкреВрд░реНрдг рд╕рдореЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА:
рдХреНрдпреЛрдВрдХрд┐ EMA рдкреБрд░рд╛рдиреЗ рдбреЗрдЯрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╣рд╛рд▓ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдЕрдзрд┐рдХ рд╡реЗрдЯ рджреЗрддрд╛ рд╣реИ, рдпрд╣ рдирд╡реАрдирддрдо рдореВрд▓реНрдп рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдкреНрд░рддрд┐ рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рд╣реЛрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ SMA рдореЗрдВ рдпрд╣ рдХрдо рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ EMA рдХреЗ рдкрд░рд┐рдгрд╛рдо рдЕрдзрд┐рдХ рд╕рдордпреЛрдЪрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рд▓рд┐рдП EMA рдЕрдиреНрдп рддрдХрдиреАрдХреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдкрд╕рдВрдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХрд╛рдлреА рд╕рд┐рджреНрдзрд╛рдВрдд рд╣реЛ рдЧрдпрд╛, рд╣реИ рди? рдЖрдЗрдП рдЕрдм рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЗрдореНрдкреНрд▓реАрдореЗрдВрдЯреЗрд╢рди рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВред
рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдбреЗрдЯрд╛ рдкрд░ рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рд▓рд╛рдЧреВ рдХрд░рдирд╛
рд╕рд┐рдВрдкрд▓ рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ (SMA)
рдкрд╣рд▓реЗ, рдЖрдЗрдП рдбрдореА рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдбреЗрдЯрд╛ рдмрдирд╛рдПрдВ рдФрд░ рдХреЗрд╡рд▓ Python рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ SMA рдЗрдореНрдкреНрд▓реАрдореЗрдВрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐рд╕реА рдЙрддреНрдкрд╛рдж рдХреА рдорд╛рдВрдЧ 12 рдорд╣реАрдиреЛрдВ (1 рд╡рд░реНрд╖) рддрдХ рджреЗрдЦреА рдЧрдИ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ 3 рдФрд░ 4 рдорд╣реАрдиреЗ рдХреА рд╡рд┐рдВрдбреЛ рдЕрд╡рдзрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдореВрд╡рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдирд┐рдХрд╛рд▓рдиреЗ рд╣реИрдВред
рдореЙрдбреНрдпреВрд▓ рдЖрдпрд╛рдд рдХрд░реЗрдВ