рдореБрдЦреНрдп рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЬрд╛рдПрдБ

Python рдХреЗ рд╕рд╛рде рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓

'diet' рдФрд░ 'gym' рдЬреИрд╕реЗ рдХреАрд╡рд░реНрдбреНрд╕ рдХреЗ Google Trends рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рдЯреНрд░реЗрдВрдбреНрд╕ рд╡ рдореМрд╕рдореАрдкрди рд╕реАрдЦрддреЗ рд╣реБрдП рджреЗрдЦреЗрдВ рдХрд┐ рд╕рдордп рдХреЗ рд╕рд╛рде рд╡реЗ рдХреИрд╕реЗ рдмрджрд▓рддреЗ рд╣реИрдВред
┬╖ 15 рдорд┐ре░ рдкрдврд╝реЗрдВ

AI рдХреЗ рд╕рд╛рде рдЦреЛрдЬреЗрдВ

4 рдЬрдирд╡рд░реА рдХреЗ Facebook Live рдХреЛрдб-рдЕрд▓реЙрдиреНрдЧ рд╕рддреНрд░ рдореЗрдВ, рд╣рдордиреЗ 'diet', 'gym' рдФрд░ 'finance' рдХреАрд╡рд░реНрдбреНрд╕ рдХреЗ Google Trends рдбреЗрдЯрд╛ рдХреЛ рджреЗрдЦрд╛ рдХрд┐ рд╕рдордп рдХреЗ рд╕рд╛рде рдпреЗ рдХреИрд╕реЗ рдмрджрд▓рддреЗ рд╣реИрдВред рд╣рдордиреЗ рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдкреВрдЫрд╛ рдХрд┐ рдХреНрдпрд╛ рдЬрдирд╡рд░реА рдореЗрдВ, рдЬрдм рд╣рдо рд╕рдм рдирдИ рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдХреА рд╕реЛрдЪрддреЗ рд╣реИрдВ, рдЗрди рд╢рдмреНрджреЛрдВ рдХреА рдЦреЛрдЬреЗрдВ рдЬреНрдпрд╛рджрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ?

рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ, рдЖрдк рд╕рддреНрд░ рдХреЗ рджреМрд░рд╛рди рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдХреЛрдб рдХреЛ рдХрджрдо-рджрд░-рдХрджрдо рджреЗрдЦреЗрдВрдЧреЗред рдЖрдкрдХреЛ рдЬреНрдпрд╛рджрд╛ рдЧрдгрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХрд╛ рдлреЛрдХрд╕ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреА рджреГрд╢реНрдпрд╛рддреНрдордХ рдЦреЛрдЬ рдкрд░ рд╣реЛрдЧрд╛ред


pandas рдкрд░ рдФрд░ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, DataCamp рдХрд╛ Data Manipulation with Python рдЯреНрд░реИрдХ рджреЗрдЦреЗрдВред pandas рдХреЗ рд╕рд╛рде рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдкрд░ рдФрд░ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, Manipulating Time Series Data in Python рдХреЛрд░реНрд╕ рджреЗрдЦреЗрдВред

рдкреИрдХреЗрдЬ рдФрд░ рдбреЗрдЯрд╛ рдЗрдВрдкреЛрд░реНрдЯ рдХрд░рдирд╛

рддреЛ рд╕рд╡рд╛рд▓ рд╡рд╣реА рд╣реИ: рдХреНрдпрд╛ рдЬрдирд╡рд░реА рдореЗрдВ, рдЬрдм рд╣рдо рд╕рдм рдирдИ рд╢реБрд░реБрдЖрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрди рд╢рдмреНрджреЛрдВ рдХреА рдЦреЛрдЬреЗрдВ рдЬреНрдпрд╛рджрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ?

рдЖрдЗрдП рдпрд╣рд╛рдБ рдЬрд╛рдХрд░ рдбреЗрдЯрд╛ рджреЗрдЦрддреЗ рд╣реИрдВред рдиреЛрдЯ рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ FiveThirtyEight рдХреЗ рдЗрд╕ рд▓реЗрдЦ рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рд╣реИред

рдЖрдк рдбреЗрдЯрд╛ .csv рдХреЗ рд░реВрдк рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реЗрд╡ рдХрд░реЗрдВ рдФрд░ рдЕрдкрдиреА Python рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рдореЗрдВ рдЗрдВрдкреЛрд░реНрдЯ рдХрд░рдХреЗ рдЦреБрдж рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВред рдЖрдк рдЕрднреА рдпрд╣реА рдХрд░реЗрдВрдЧреЗред рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ!

рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдХреБрдЫ рдкреИрдХреЗрдЬ рдЗрдВрдкреЛрд░реНрдЯ рдХрд░реЗрдВрдЧреЗ: рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк numpy, pandas, matplotlib рдФрд░ seaborn рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдЧрд░ рдЖрдк рдЗрдореЗрдЬреЗрдЬрд╝ рдХреЛ Jupyter Notebook рдореЗрдВ рдкреНрд▓реЙрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк IPython рдореИрдЬрд┐рдХ %matplotlib inline рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдк sns.set() рдХреЗ рд╕рд╛рде Seaborn рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯреНрд╕ рднреА рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

# Import packages
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
sns.set()

.read_csv() рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдбреЗрдЯрд╛ рдЗрдВрдкреЛрд░реНрдЯ рдХрд░реЗрдВ рдФрд░ .head() рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрддреА рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рджреЗрдЦреЗрдВред

рдиреЛрдЯ рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдлрд╝рд╛рдЗрд▓ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдХреЛ рд╕реНрдХрд┐рдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП skiprows рдЖрд░реНрдЧреБрдореЗрдВрдЯ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред

 df = pd.read_csv('data/multiTimeline.csv', skiprows=1)
df.head()
┬аMonthdiet: (Worldwide)gym: (Worldwide)finance: (Worldwide)
02004-011003148
12004-02752649
22004-03672447
32004-04702248
42004-05722243

рдЖрдк .info() рдореЗрдердб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдкреНрд╕, рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЕрдзрд┐рдХ рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:

df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 168 entries, 0 to 167
Data columns (total 4 columns):
Month                   168 non-null object
diet: (Worldwide)       168 non-null int64
gym: (Worldwide)        168 non-null int64
finance: (Worldwide)    168 non-null int64
dtypes: int64(3), object(1)
memory usage: 5.3+ KB

рдЕрдм рдЬрдм рдЖрдкрдиреЗ Google Trends рд╕реЗ рдбреЗрдЯрд╛ рдЗрдВрдкреЛрд░реНрдЯ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ рдФрд░ рдЙрд╕ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓ рд▓реА рд╣реИ, рддреЛ рдбреЗрдЯрд╛ рдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕реЗ рдордирдЪрд╛рд╣реЗ рд╕реНрд╡рд░реВрдк рдореЗрдВ рдврд╛рд▓рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред

рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░реЗрдВ

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдк рдЕрдкрдиреЗ DataFrame df рдХреЗ рдХреЙрд▓рдореНрд╕ рдХреЗ рдирд╛рдо рдмрджрд▓рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ рддрд╛рдХрд┐ рдЙрдирдореЗрдВ рд╕реНрдкреЗрд╕реЗрдЬрд╝ рди рд╣реЛрдВред рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрднреА рдХреЗ рд▓рд┐рдП, рдЖрдк df.columns рдХреЛ рдХреЙрд▓рдореНрд╕ рдХреЗ рдордирдЪрд╛рд╣реЗ рдирд╛рдореЛрдВ рдХреА рд╕реВрдЪреА рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВрдЧреЗред

df.head() рдХреЙрд▓ рдХрд░рдХреЗ рдЕрдкрдиреЗ рд░реАрдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рджреЛрдмрд╛рд░рд╛ рдЬрд╛рдВрдЪреЗрдВ:

df.columns = ['month', 'diet', 'gym', 'finance']
df.head()
┬аmonthdietgymfinance
02004-011003148
12004-02752649
22004-03672447
32004-04702248
42004-05722243

рдЕрдЧрд▓рд╛ рдХрджрдо, рдЖрдк 'month' рдХреЙрд▓рдо рдХреЛ DateTime рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рдореЗрдВ рдмрджрд▓реЗрдВрдЧреЗ рдФрд░ рдЙрд╕реЗ DataFrame рдХрд╛ рдЗрдВрдбреЗрдХреНрд╕ рдмрдирд╛ рджреЗрдВрдЧреЗред

рдиреЛрдЯ рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ .info() рдореЗрдердб рдХреЗ рдкрд░рд┐рдгрд╛рдо рдореЗрдВ рджреЗрдЦрд╛ рдХрд┐ 'Month' рдХреЙрд▓рдо рдХрд╛ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк object рдерд╛ред рдпрд╣ рдЬрдирд░рд▓ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рд╕реЗ рд▓реЗрдХрд░ рдЗрдВрдЯреАрдЬрд░реНрд╕ рддрдХ рд╕рдмрдХреЛ рд╕рдореЗрдЯрддрд╛ рд╣реИред рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдбреЗрдЯрд╛ рджреЗрдЦрддреЗ рд╕рдордп рдпрд╣ рд╡рд╛рдВрдЫрд┐рдд рдирд╣реАрдВ рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдк .to_datetime() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ DataFrame рдХреЗ 'month' рдХреЙрд▓рдо рдХреЛ DateTime рдореЗрдВ рдХрдиреНрд╡рд░реНрдЯ рдХрд░реЗрдВрдЧреЗред

рд╕рд╛рд╡рдзрд╛рдиреА рд░рдЦреЗрдВ! рдЬрдм рдЖрдк DataFrame df рдХрд╛ рдЗрдВрдбреЗрдХреНрд╕ рд╕реЗрдЯ рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рддреЛ inplace рдЖрд░реНрдЧреБрдореЗрдВрдЯ рдЬрд╝рд░реВрд░ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореВрд▓ рдЗрдВрдбреЗрдХреНрд╕ рдмрджрд▓ рдЬрд╛рдП рдФрд░ 'month' рдХреЙрд▓рдо рдкрд░ рд╕реЗрдЯ рд╣реЛ рдЬрд╛рдПред

df.month = pd.to_datetime(df.month)
df.set_index('month', inplace=True)
df.head()
┬аdietgymfinance
month┬а┬а┬а
2004-01-011003148
2004-02-01752649
2004-03-01672447
2004-04-01702248
2004-05-01722243

рдЕрдм рдЕрдкрдиреЗ DataFrame рдХреА рджреГрд╢реНрдпрд╛рддреНрдордХ рдЦреЛрдЬ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред

рдереЛрдбрд╝рд╛ Exploratory Data Analysis (EDA)

рдЖрдк рдмрд┐рд▓реНрдЯ-рдЗрди pandas рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдореЗрдердб .plot() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рд╣реА рдлрд╝рд┐рдЧрд░ рдкрд░ 3 рд▓рд╛рдЗрди рдкреНрд▓реЙрдЯреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд▓реЙрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдкреНрд░рддреНрдпреЗрдХ рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП рдПрдХ, рдпрд╛рдиреА 'diet', 'gym', рдФрд░ 'finance')ред

рдиреЛрдЯ рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдЗрд╕ рдореЗрдердб рдХреЛ рдХреБрдЫ рдЖрд░реНрдЧреБрдореЗрдВрдЯреНрд╕ рднреА рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ figsize, linewidth рдФрд░ fontsize рддрд╛рдХрд┐ рдХреНрд░рдорд╢рдГ рдлрд╝рд┐рдЧрд░ рдХрд╛ рдЖрдХрд╛рд░, рд▓рд╛рдЗрди рдХреА рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдкреНрд▓реЙрдЯ рдХрд╛ рдлрд╝реЙрдиреНрдЯ рдЖрдХрд╛рд░ рд╕реЗрдЯ рд╣реЛ рд╕рдХреЗред

рд╕рд╛рде рд╣реА, рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ x-рдЕрдХреНрд╖ рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд▓реЗрдмрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдорд╣реАрдиреЗ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рд╕рд╛рд▓ рджрд┐рдЦ рд░рд╣реЗ рд╣реИрдВред рдЕрдкрдиреЗ рдкреНрд▓реЙрдЯ рдХреЛ рдереЛрдбрд╝рд╛ рд╕рдЯреАрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк x-рдЕрдХреНрд╖ рдХрд╛ рд▓реЗрдмрд▓ 'Year' рд╕реЗрдЯ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдлрд╝реЙрдиреНрдЯ рд╕рд╛рдЗрдЬ 20 рд░рдЦреЗрдВрдЧреЗред

рдЯрд┐рдк: рдЕрдЧрд░ рдЖрдк Matplotlib рдЖрдЙрдЯрдкреБрдЯ рджрдмрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЕрдкрдиреА рдЖрдЦрд┐рд░реА рдХреЛрдб рд▓рд╛рдЗрди рдХреЗ рдЕрдВрдд рдореЗрдВ рд╕реЗрдореАрдХреЛрд▓рди ; рдЬреЛрдбрд╝ рджреЗрдВ!

df.plot(figsize=(20,10), linewidth=5, fontsize=20)
plt.xlabel('Year', fontsize=20);

pandas visualization line graph

рдиреЛрдЯ рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдбреЗрдЯрд╛ рд╕рд╛рдкреЗрдХреНрд╖ (relative) рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ Google Trends рдкрд░ рд▓рд┐рдЦрд╛ рд╣реИ:

рд╕рдВрдЦреНрдпрд╛рдПрдБ рджрд┐рдП рдЧрдП рдХреНрд╖реЗрддреНрд░ рдФрд░ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЪрд╛рд░реНрдЯ рдкрд░ рд╕рдмрд╕реЗ рдКрдБрдЪреЗ рдмрд┐рдВрджреБ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╕рд░реНрдЪ рдЗрдВрдЯрд░реЗрд╕реНрдЯ рдХреЛ рджрд░реНрд╢рд╛рддреА рд╣реИрдВред 100 рдХрд╛ рдорд╛рди рдЙрд╕ рд╢рдмреНрдж рдХреА рдЪрд░рдо рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рд╣реИред 50 рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╢рдмреНрдж рдЖрдзрд╛ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИред рдЗрд╕реА рддрд░рд╣ 0 рдХрд╛ рд╕реНрдХреЛрд░ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рд╢рдмреНрдж рдЪрд░рдо рдХреЗ 1% рд╕реЗ рднреА рдХрдо рд▓реЛрдХрдкреНрд░рд┐рдп рдерд╛ред

рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ, рддреЛ рдЖрдк 'diet' рдХреЙрд▓рдо рдХреЛ рдЕрдХреЗрд▓реЗ рдПрдХ рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдкреНрд▓реЙрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

df[['diet']].plot(figsize=(20,10), linewidth=5, fontsize=20)
plt.xlabel('Year', fontsize=20);

pandas visualization graph time series

рдиреЛрдЯ: рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдзреНрдпрд╛рди рджреЗрдиреЗ рд╡рд╛рд▓реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдореМрд╕рдореАрдкрди (seasonality) рд╣реИ: рд╣рд░ рдЬрдирд╡рд░реА рдПрдХ рдмрдбрд╝рд╛ рдЙрдЫрд╛рд▓ рдЖрддрд╛ рд╣реИред рд╕рд╛рде рд╣реА, рдПрдХ рдЯреНрд░реЗрдВрдб рднреА рджрд┐рдЦрддрд╛ рд╣реИ: рдпрд╣ рдереЛрдбрд╝рд╛ рдКрдкрд░ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдиреАрдЪреЗ, рдлрд┐рд░ рдКрдкрд░ рдФрд░ рдлрд┐рд░ рдиреАрдЪреЗред рдпрд╛рдиреА, рдЗрди рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдореЗрдВ рдЯреНрд░реЗрдВрдб рдФрд░ рдореМрд╕рдореА рджреЛрдиреЛрдВ рдШрдЯрдХ рджрд┐рдЦрддреЗ рд╣реИрдВред

рдЗрд╕реЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдЖрдк рд╕реАрдЦреЗрдВрдЧреЗ рдХрд┐ рдЕрдкрдиреА рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдореЗрдВ рдЯреНрд░реЗрдВрдбреНрд╕ рдХреА рдкрд╣рдЪрд╛рди рдХреИрд╕реЗ рдХрд░реЗрдВ!

рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдореЗрдВ рдЯреНрд░реЗрдВрдбреНрд╕ рдХреА рдкрд╣рдЪрд╛рди рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рддрд░реАрдХрд╛ рд╣реИ рд░реЛрд▓рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рд▓реЗрдирд╛, рдЬрд┐рд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рд░ рд╕рдордп рдмрд┐рдВрджреБ рдХреЗ рд▓рд┐рдП рдЖрдк рдЙрд╕рдХреЗ рджреЛрдиреЛрдВ рдУрд░ рдХреЗ рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рдФрд╕рдд рд▓реЗрддреЗ рд╣реИрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдмрд┐рдВрджреБрдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╡рд┐рдВрдбреЛ рд╕рд╛рдЗрдЬ рджреНрд╡рд╛рд░рд╛ рддрдп рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рдЪреБрдирдирд╛ рд╣реЛрддрд╛ рд╣реИред

рдФрд╕рдд рд▓реЗрдиреЗ рд╕реЗ рд╢реЛрд░ рдФрд░ рдореМрд╕рдореАрдкрди рд╕реНрдореВрдж рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдЖрдк рдЕрднреА рдЗрд╕рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВрдЧреЗред 'diet' рдХреА рдЗрд╕ рд░реЛрд▓рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдХреЛ рдмрд┐рд▓реНрдЯ-рдЗрди pandas рдореЗрдердбреНрд╕ рд╕реЗ рджреЗрдЦреЗрдВред

рд╡рд┐рдВрдбреЛ рд╕рд╛рдЗрдЬ рддрдп рдХрд░рдиреЗ рдХреА рдмрд╛рдд рдЖрдП рддреЛ рдпрд╣рд╛рдБ, рдЪреВрдБрдХрд┐ рдЖрдк рд╡рд╛рд░реНрд╖рд┐рдХ рдореМрд╕рдореАрдкрди рдХреА рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдкрд╣рд▓реЗ рдмрд╛рд░рд╣ рдорд╣реАрдиреЛрдВ рдХреА рд╡рд┐рдВрдбреЛ рд╕рд╛рдЗрдЬ рдЖрдЬрд╝рдорд╛рдирд╛ рд╕рдордЭрджрд╛рд░реА рд╣реИред

diet = df[['diet']]
diet.rolling(12).mean().plot(figsize=(20,10), linewidth=5, fontsize=20)
plt.xlabel('Year', fontsize=20);

time series graph

рдиреЛрдЯ рдХрд░реЗрдВ рдХрд┐ рдКрдкрд░ рджрд┐рдП рдХреЛрдб рдЦрдВрдб рдореЗрдВ рдЖрдкрдиреЗ 'diet' рдХреЙрд▓рдо рдХреЛ DataFrame рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рд╕реЗрдЯ рд╕реНрдХреНрд╡реЗрдпрд░ рдмреНрд░реИрдХреЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛; рдЕрдЧрд░ рдЖрдк рдПрдХ рд╕реЗрдЯ, рдЬреИрд╕реЗ df['diet'], рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ, рддреЛ рдПрдХ pandas Series рдмрдирддреАред

рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдЦрдВрдб рдореЗрдВ, рдЖрдкрдиреЗ рдореЗрдердб рдЪреЗрдирд┐рдВрдЧ рднреА рдХреА: рдЖрдкрдиреЗ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рдПрдХ рдХреЗ рдмрд╛рдж рдПрдХ рдореЗрдердбреНрд╕ рдХреЙрд▓ рдХрд┐рдПред рдореЗрдердб рдЪреЗрдирд┐рдВрдЧ рдХрд╛рдлрд╝реА рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИ рдФрд░ pandas рдРрд╕рд╛ рдкреИрдХреЗрдЬ рд╣реИ рдЬреЛ рдЗрд╕ рд╢реИрд▓реА рдХрд╛ рднрд░рдкреВрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИ!

рдЕрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд╣ рдЯреНрд░реЗрдВрдб рд╣реИ рдЬрд┐рд╕рдХреА рдЖрдкрдХреЛ рддрд▓рд╛рд╢ рдереА! рдЖрдкрдиреЗ рдкрд┐рдЫрд▓реЗ рдкреНрд▓реЙрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЬреНрдпрд╛рджрд╛рддрд░ рдореМрд╕рдореАрдкрди рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реИред

рдЖрдк 'gym' рдХреА рд░реЛрд▓рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рдХреЛ рднреА рдЙрд╕реА рд╡рд┐рдВрдбреЛ рд╕рд╛рдЗрдЬ рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдЯ-рдЗрди pandas рдореЗрдердбреНрд╕ рд╕реЗ рдкреНрд▓реЙрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕рд╛ рдЖрдкрдиреЗ 'diet' рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рд▓рд┐рдпрд╛ рдерд╛:

gym = df[['gym']]
gym.rolling(12).mean().plot(figsize=(20,10), linewidth=5, fontsize=20)
plt.xlabel('Year', fontsize=20);

time series graph 2

рдЖрдкрдиреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдореМрд╕рдореАрдкрди рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдЖрдк "gym" рдХреЗ рд▓рд┐рдП рдПрдХ рдКрдкрд░ рдЬрд╛рддрд╛ рд╣реБрдЖ рдЯреНрд░реЗрдВрдб рджреЗрдЦрддреЗ рд╣реИрдВ! рд▓реЗрдХрд┐рди рдпреЗ рджреЛ рд╕рд░реНрдЪ рдЯрд░реНрдореНрд╕ рдЖрдкрд╕ рдореЗрдВ рдХреИрд╕реЗ рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВ?

рдЖрдк рдЗрд╕реЗ 'gym' рдФрд░ 'diet' рдХреЗ рдЯреНрд░реЗрдВрдбреНрд╕ рдХреЛ рдПрдХ рд╣реА рдлрд╝рд┐рдЧрд░ рдкрд░ рдкреНрд▓реЙрдЯ рдХрд░рдХреЗ рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВ:

df_rm = pd.concat([diet.rolling(12).mean(), gym.rolling(12).mean()], axis=1)
df_rm.plot(figsize=(20,10), linewidth=5, fontsize=20)
plt.xlabel('Year', fontsize=20);

time series graph 3

рдЖрдкрдиреЗ рдПрдХ рдирдпрд╛ DataFrame df_rm рдмрдирд╛рдпрд╛ рдЬрд┐рд╕рдореЗрдВ 'diet' рдФрд░ 'gym' рдХреА рд░реЛрд▓рд┐рдВрдЧ рдПрд╡рд░реЗрдЬ рд╡рд╛рд▓реА рджреЛ рдХреЙрд▓рдореНрд╕ рд╣реИрдВред рдЖрдкрдиреЗ pd.concat() рдлрдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЬреЛ рдкрд╣рд▓реА рдЖрд░реНрдЧреБрдореЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрд▓рдореНрд╕ рдХреА рд╕реВрдЪреА рд▓реЗрддрд╛ рд╣реИ рдФрд░, рдЪреВрдБрдХрд┐ рдЖрдкрдХреЛ рдЗрдиреНрд╣реЗрдВ рдХреЙрд▓рдореНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдерд╛, рдЖрдкрдиреЗ axis рдЖрд░реНрдЧреБрдореЗрдВрдЯ рдХреЛ 1 рд╕реЗрдЯ рдХрд┐рдпрд╛ред

рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рд╣реА plot() рдореЗрдердб рд╕реЗ рдЗрд╕ DataFrame рдХреЛ рдкреНрд▓реЙрдЯ рдХрд┐рдпрд╛! рддреЛ рдЕрдм, рдореМрд╕рдореАрдкрди рд╣рдЯрд╛рдиреЗ рдкрд░, рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ diet рдореЗрдВ рд╕рдВрднрд╡рддрдГ рдХреБрдЫ рдореМрд╕рдореАрдкрди рд╣реИ, рдЬрдмрдХрд┐ gym рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрдврд╝ рд░рд╣рд╛ рд╣реИ!

рдбреЗрдЯрд╛ рдореЗрдВ рдЯреНрд░реЗрдВрдбреНрд╕ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЕрдм рдореМрд╕рдореАрдкрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХрд╛ рд╕рдордп рд╣реИ, рдЬреЛ рдЖрдкрдХреА рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдХреА рдЖрд╡реГрддреНрддрд┐рдордп рдкреНрд░рдХреГрддрд┐ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рджреЗрдЦрд╛, рдбреЗрдЯрд╛ рдХреА рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдореЗрдВ рдЯреНрд░реЗрдВрдб рдФрд░ рдореМрд╕рдореА рджреЛрдиреЛрдВ рдШрдЯрдХ рджрд┐рдЦ рд░рд╣реЗ рдереЗред

рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдбреЗрдЯрд╛ рдореЗрдВ рдореМрд╕рдореА рдкреИрдЯрд░реНрди

рдореМрд╕рдореА рдШрдЯрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рд╕реЗ рдЯреНрд░реЗрдВрдб рд╣рдЯрд╛ рджреЗрдВ, рддрд╛рдХрд┐ рдЖрдк рдореМрд╕рдореАрдкрди рдХреА рдЖрд╕рд╛рдиреА рд╕реЗ рдЬрд╛рдБрдЪ рдХрд░ рд╕рдХреЗрдВред рдЯреНрд░реЗрдВрдб рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдКрдкрд░ рдЧрдгрдирд╛ рдХрд┐рдП рдЧрдП рдЯреНрд░реЗрдВрдб (рд░реЛрд▓рд┐рдВрдЧ рдореАрди) рдХреЛ рдореВрд▓ рд╕рд┐рдЧреНрдирд▓ рд╕реЗ рдШрдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░реЗрдЧрд╛ рдХрд┐ рдЖрдкрдиреЗ рдХрд┐рддрдиреЗ рдбреЗрдЯрд╛ рдкреЙрдЗрдВрдЯреНрд╕ рдХрд╛ рдФрд╕рдд рд▓рд┐рдпрд╛ред

рдЯреНрд░реЗрдВрдб рд╣рдЯрд╛рдиреЗ рдХрд╛ рдПрдХ рдФрд░ рддрд░реАрдХрд╛ "рдбрд┐рдлрд░реЗрдВрд╕рд┐рдВрдЧ" рдХрд╣рд▓рд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЖрдк рд▓рдЧрд╛рддрд╛рд░ рдбреЗрдЯрд╛ рдкреЙрдЗрдВрдЯреНрд╕ рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ (рдЗрд╕реЗ "рдлрд░реНрд╕реНрдЯ-рдСрд░реНрдбрд░ рдбрд┐рдлрд░реЗрдВрд╕рд┐рдВрдЧ" рдХрд╣рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдХреЗрд╡рд▓ рдПрдХ рдбреЗрдЯрд╛ рдкреЙрдЗрдВрдЯ рдФрд░ рдЙрд╕рд╕реЗ рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рджреЗрдЦрддреЗ рд╣реИрдВ)ред

рдлрд░реНрд╕реНрдЯ-рдСрд░реНрдбрд░ рдбрд┐рдлрд░реЗрдВрд╕рд┐рдВрдЧ

рдЖрдк pandas рдФрд░ diff() рд╡ plot() рдореЗрдердбреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ 'diet' Series рдХрд╛ рдлрд░реНрд╕реНрдЯ рдСрд░реНрдбрд░ рдбрд┐рдлрд░реЗрдВрд╕ рдирд┐рдХрд╛рд▓ рдФрд░ рдкреНрд▓реЙрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

diet.diff().plot(figsize=(20,10), linewidth=5, fontsize=20)
plt.xlabel('Year', fontsize=20);

time series graph 3

рджреЗрдЦреЗрдВ рдХрд┐ рдЖрдкрдиреЗ рдЯреНрд░реЗрдВрдб рдХрд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╣рд┐рд╕реНрд╕рд╛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдЕрдм рдЖрдк рд╣рд░ рд╕рд╛рд▓ рдЬрдирд╡рд░реА рдХреЗ рдкреАрдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд░ рдЬрдирд╡рд░реА, рдЖрдкрдиреЗ рджреЗрдЦреЗ рдЧрдП рд╕рдмрд╕реЗ рдКрдБрдЪреЗ рд╕рд░реНрдЪ рдЖрдЗрдЯрдо рдкрд░ 20 рдпрд╛ рдЙрд╕рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рд╢рдд рдХрд╛ рдмрдбрд╝рд╛ рд╕реНрдкрд╛рдЗрдХ рдЖрддрд╛ рд╣реИ!

рдиреЛрдЯ: рдЖрдк 2nd рдСрд░реНрдбрд░ рдбрд┐рдлрд░реЗрдВрд╕рд┐рдВрдЧ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛рдиреА рдЕрдЧрд░ рдЯреНрд░реЗрдВрдб рдЕрднреА рдкреВрд░реА рддрд░рд╣ рдирд╣реАрдВ рд╣рдЯрд╛ рд╣реИ рддреЛ рдЖрдк рдПрдХ рдбреЗрдЯрд╛ рдкреЙрдЗрдВрдЯ рдФрд░ рдЙрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХреЗ рджреЛ рдкреЙрдЗрдВрдЯреНрд╕ рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВред рдбрд┐рдлрд░реЗрдВрд╕рд┐рдВрдЧ рдкрд░ рдФрд░ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдБ рджреЗрдЦреЗрдВред

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

рдЗрди рд╕рдм рдХреЗ рд╕рд╛рде, рдЕрдм рдЖрдк рдЕрдкрдиреА рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдХреА рдЖрд╡реГрддреНрддрд┐ (periodicity) рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрд╕рдХреЗ рдСрдЯреЛрдХреЛрд░рд┐рд▓реЗрд╢рди рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджреЗрдЦрдХрд░ рдХрд░реЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рдЙрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдк рд╕рд╣рд╕рдВрдмрдВрдз (correlation) рдкрд░ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдореЛрдбрд╝ рд▓реЗрдВрдЧреЗред

рдЖрд╡реГрддреНрддрд┐ рдФрд░ рдСрдЯреЛрдХреЛрд░рд┐рд▓реЗрд╢рди

рдХреЛрдИ рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдЖрд╡реГрддреНрддрд┐рдордп (periodic) рд╣реИ рдпрджрд┐ рд╡рд╣ рдмрд░рд╛рдмрд░ рдЕрдВрддрд░рд╛рд▓ рдкрд░ рдЦреБрдж рдХреЛ рджреЛрд╣рд░рд╛рддреА рд╣реИ, рдЬреИрд╕реЗ рд╣рд░ 12 рдорд╣реАрдиреЗред

рдЗрд╕реЗ рдРрд╕реЗ рднреА рд╕реЛрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдореЗрдВ рдХрд╣реАрдВ рдкреАрдХ рд╣реИ, рддреЛ 12 рдорд╣реАрдиреЗ рдмрд╛рдж рднреА рдкреАрдХ рд╣реЛрдЧрд╛ рдФрд░ рдЕрдЧрд░ рдХрд╣реАрдВ рдЯреНрд░рдл рд╣реИ, рддреЛ 12 рдорд╣реАрдиреЗ рдмрд╛рдж рдлрд┐рд░ рдЯреНрд░рдл рд╣реЛрдЧрд╛ред

рдЗрд╕реЗ рдПрдХ рдФрд░ рддрд░реАрдХреЗ рд╕реЗ рднреА рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдЕрдкрдиреЗ рдЖрдк рд╕реЗ, 12 рдорд╣реАрдиреЗ рд╢рд┐рдлреНрдЯ рдХреА рдЧрдИ рд╡рд░реНрдЬрд╝рди рдХреЗ рд╕рд╛рде, рд╕рд╣рд╕рдВрдмрджреНрдз рд╣реИред рдпрд╛рдиреА рдЕрдЧрд░ рдЖрдк рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдХреЛ 12 рдорд╣реАрдиреЗ рдЖрдЧреЗ рдпрд╛ рдкреАрдЫреЗ рдЦрд┐рд╕рдХрд╛рдПрдБ, рддреЛ рд╡рд╣ рдХрд┐рд╕реА рд╣рдж рддрдХ рдЦреБрдж рдкрд░ рдореИрдк рд╣реЛ рдЬрд╛рдПрдЧреАред

рдХрд┐рд╕реА рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдХрд╛ рдЕрдкрдиреЗ рд╣реА рд╢рд┐рдлреНрдЯ рдХрд┐рдП рдЧрдП рд╡рд░реНрдЬрд╝рди рдХреЗ рд╕рд╛рде рд╕рд╣рд╕рдВрдмрдВрдз рджреЗрдЦрдирд╛ рдСрдЯреЛрдХреЛрд░рд┐рд▓реЗрд╢рди рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рд╕реЗ рдкрдХрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЖрдк рдЕрднреА рдЗрд╕ рдкрд░ рдкрд╣реБрдБрдЪреЗрдВрдЧреЗред

рдкрд╣рд▓реЗ, рд╕рд╣рд╕рдВрдмрдВрдз рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЦреБрдж рдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рдПрдБ рдФрд░ рдЗрд╕ рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рд╕рд╣рдЬ рд░реВрдк рд╕реЗ рд╕рдордЭреЗрдВ!

рджреЛ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХрд╛ рдХреЙрд░рд┐рд▓реЗрд╢рди рдХреЛрдПрдлрд┐рд╢рд┐рдПрдВрдЯ рдЗрд╕ рдмрд╛рдд рдХреЛ рдкрдХрдбрд╝рддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдХрд┐рддрдиреЗ рд░реИрдЦрд┐рдХ рд░реВрдк рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред рдЗрд╕реЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк iris рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреА рдорджрдж рд╕реЗ рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВрдЧреЗ, рдЬрд┐рд╕рдореЗрдВ рдлреВрд▓реЛрдВ рдХреЗ рдорд╛рдк рд╣реИрдВред

рдЗрд╕реЗ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк scikit-learn рд╕реЗ iris рдбреЗрдЯрд╛рд╕реЗрдЯ рдЗрдВрдкреЛрд░реНрдЯ рдХрд░реЗрдВрдЧреЗ, рдЙрд╕реЗ DataFrame рдореЗрдВ рдмрджрд▓реЗрдВрдЧреЗ рдФрд░ .head() рдХреА рдорджрдж рд╕реЗ рд╢реБрд░реБрдЖрддреА рдкрдВрдХреНрддрд┐рдпрд╛рдБ рджреЗрдЦреЗрдВрдЧреЗ:

from sklearn import datasets
iris = datasets.load_iris()
df_iris = pd.DataFrame(data= np.c_[iris['data'], iris['target']],
                     columns= iris['feature_names'] + ['target'])
df_iris.head()
┬аsepal length (cm)sepal width (cm)petal length (cm)petal width (cm)target
05.13.51.40.20.0
14.93.01.40.20.0
24.73.21.30.20.0
34.63.11.50.20.0
45.03.61.40.20.0

рдЗрд╕ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рд╕рднреА рдлреВрд▓реЛрдВ рдореЗрдВ рд╕реЗрдкрд▓ рдФрд░ рдкрдВрдЦреБрдбрд╝реА (petal) рд╣реЛрддреА рд╣реИрдВред рд╕реЗрдкрд▓ рдкрдВрдЦреБрдбрд╝рд┐рдпреЛрдВ рдХреЛ рдврдБрдХрддрд╛ рд╣реИ рдФрд░ рдЖрдорддреМрд░ рдкрд░ рд╣рд░рд╛ рдФрд░ рдкрддреНрддреЗ рдЬреИрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдкрдВрдЦреБрдбрд╝рд┐рдпрд╛рдБ рдЖрдорддреМрд░ рдкрд░ рд░рдВрдЧреАрди рд╣реЛрддреА рд╣реИрдВред 'target' рдХреЙрд▓рдо, рдЬреЛ рд▓рдХреНрд╖реНрдп рд╡реЗрд░рд┐рдПрдмрд▓ рд╣реИ, рдЖрдИрд░рд┐рд╕ рдлреВрд▓реЛрдВ рдХреА рдкреНрд░рдЬрд╛рддрд┐ рд╣реИ, рдЬреЛ Versicolor, Virginica рдпрд╛ Setosa рд╣реЛ рд╕рдХрддреА рд╣реИред рдКрдкрд░ рдХреА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЗрдиреНрд╣реЗрдВ 0, 1, рдФрд░ 2 рдХреЗ рд░реВрдк рдореЗрдВ рдПрдиреНрдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЕрдм, рд╕рд╣рд╕рдВрдмрдВрдз рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдЖрдИрд░рд┐рд╕ рдлреВрд▓реЛрдВ рдХреА рд╕реЗрдкрд▓ рд▓рдВрдмрд╛рдИ рдХрд╛ рд╕реЗрдкрд▓ рдЪреМрдбрд╝рд╛рдИ рд╕реЗ рдХреНрдпрд╛ рд╕рдВрдмрдВрдз рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк pandas рдпрд╛ seaborn рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ 'sepal length' рдмрдирд╛рдо 'sepal width' рдХрд╛ рд╕реНрдХреИрдЯрд░ рдкреНрд▓реЙрдЯ рдмрдирд╛рдПрдБрдЧреЗ:

sns.lmplot(x='sepal length (cm)', y='sepal width (cm)', fit_reg=False, data=df_iris);

correlation graph

рдиреЛрдЯ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдиреЗ fit_reg рдЖрд░реНрдЧреБрдореЗрдВрдЯ рдХреЛ False рд╕реЗрдЯ рдХрд░рдХреЗ рд▓реАрдирд┐рдпрд░ рд░реАрдЧреНрд░реЗрд╢рди рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рд╣реИред

рдХреНрдпрд╛ рд╕рднреА рдлреВрд▓реЛрдВ рдореЗрдВ рд╕реЗрдкрд▓ рд▓рдВрдмрд╛рдИ рдФрд░ рдЪреМрдбрд╝рд╛рдИ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд╕рд╣рд╕рдВрдмрджреНрдз рд╣реИрдВ рдпрд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рд░реВрдк рд╕реЗ? рдХреНрдпрд╛ рд╡реЗ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдЬрд╛рддрд┐ рдХреЗ рднреАрддрд░ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдпрд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд╕рд╣рд╕рдВрдмрджреНрдз рд╣реИрдВ? рдпрд╣ рдПрдХ рдЖрд╡рд╢реНрдпрдХ рднреЗрдж рд╣реИред

рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдКрдкрд░ рдХреЗ рдкреНрд▓реЙрдЯ рдореЗрдВ рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рд╣рд╕рдВрдмрдВрдз рд▓рдЧрддрд╛ рд╣реИ: рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рд╕реЗрдкрд▓ рд▓рдВрдмрд╛рдИ рдмрдврд╝рддреА рд╣реИ, рд╕реЗрдкрд▓ рдЪреМрдбрд╝рд╛рдИ рдереЛрдбрд╝рд╛ рдХрдо рд╣реЛрддреА рджрд┐рдЦрддреА рд╣реИред

рдЕрдм 'sepal length' рдмрдирд╛рдо 'sepal width' рдХрд╛ рд╕реНрдХреИрдЯрд░ рдкреНрд▓реЙрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рд▓рдХреНрд╖реНрдп (species) рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд░рдВрдЧ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

sns.lmplot(x='sepal length (cm)', y='sepal width (cm)', fit_reg=False, data=df_iris, hue='target');

correlation graph 2

рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдКрдкрд░ рдХрд╛ рдкреНрд▓реЙрдЯ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╕рд╣рд╕рдВрдмрдВрдз рджрд┐рдЦрд╛рддрд╛ рд╣реИ: рдЖрдИрд░рд┐рд╕ рдлреВрд▓ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдЬрд╛рддрд┐ рдХреЗ рд▓рд┐рдП, рдЬрдм рд╕реЗрдкрд▓ рд▓рдВрдмрд╛рдИ рдмрдврд╝рддреА рд╣реИ, рддреЛ рд╕реЗрдкрд▓ рдЪреМрдбрд╝рд╛рдИ рднреА рдмрдврд╝рддреА рджрд┐рдЦрддреА рд╣реИред

рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рд╕рд╣рд╕рдВрдмрдВрдз рдХреА рд╕рд╣рдЬ рд╕рдордЭ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░реАрди рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╕рдордЭрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЙрд░рд┐рд▓реЗрд╢рди рдХреЛрдПрдлрд┐рд╢рд┐рдПрдВрдЯ рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рдПред

рдЖрдк .corr() рдореЗрдердб рдХреА рдорджрдж рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЬреЛрдбрд╝реА рдХреЗ рдорд╛рдк рдХрд╛ рдХреЙрд░рд┐рд▓реЗрд╢рди рдХреЛрдПрдлрд┐рд╢рд┐рдПрдВрдЯ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ:

df_iris.corr()
┬аsepal length (cm)sepal width (cm)petal length (cm)petal width (cm)target
sepal length (cm)1.000000-0.1093690.8717540.8179540.782561
sepal width (cm)-0.1093691.000000-0.420516-0.356544-0.419446
petal length (cm)0.871754-0.4205161.0000000.9627570.949043
petal width (cm)0.817954-0.3565440.9627571.0000000.956464
target0.782561-0.4194460.9490430.9564641.000000

рдиреЛрдЯ рдХрд░реЗрдВ рдХрд┐ 'sepal length (cm)' рдФрд░ 'sepal width (cm)' рдирдХрд╛рд░рд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд╕рд╣рд╕рдВрдмрджреНрдз рд▓рдЧрддреЗ рд╣реИрдВ! рдФрд░ рд╡реЗ рд╣реИрдВ рднреА, рдорд╛рдкреЗ рдЧрдП рд╕рднреА рдлреВрд▓реЛрдВ рдХреА рдЖрдмрд╛рджреА рдкрд░ред рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХреЙрд░рд┐рд▓реЗрд╢рди рдХреЛрдПрдлрд┐рд╢рд┐рдПрдВрдЯ -0.1 рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╡реЗ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдЬрд╛рддрд┐ рдХреЗ рднреАрддрд░ рдирдХрд╛рд░рд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд╕рд╣рд╕рдВрдмрджреНрдз рдирд╣реАрдВ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдПрдлрд┐рд╢рд┐рдПрдВрдЯ 0.78 рд╣реИред

рджрд┐рд▓рдЪрд╕реНрдкреА рд░рдЦрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ Simpson's paradox рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХрд╛рд░рдгрд╛рддреНрдордХ рдирд┐рд╖реНрдХрд░реНрд╖ (causal inference) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╕рдордп рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдФрд░ рдкрдврд╝реЗрдВ рдпрд╣рд╛рдБред

рдЗрд╕реЗ рдФрд░ рдЖрдЧреЗ рдмрдврд╝рд╛рддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдЬрд╛рддрд┐ рдХреЗ рднреАрддрд░ рдорд╛рдкреЛрдВ рдХреА рдЬреЛрдбрд╝реА рдХреЗ рдХреЙрд░рд┐рд▓реЗрд╢рди рдХреЛрдПрдлрд┐рд╢рд┐рдПрдВрдЯреНрд╕ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВред рддрд░реАрдХрд╛ рд╣реИ .groupby() рдФрд░ .corr() рдореЗрдердбреНрд╕ рдХреЛ рдЪреЗрди рдХрд░рдирд╛, рд▓рдХреНрд╖реНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЧреНрд░реБрдк рдХрд░рдирд╛ рдФрд░ рдХреЙрд░рд┐рд▓реЗрд╢рди рдХреЛрдПрдлрд┐рд╢рд┐рдПрдВрдЯ рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛:

df_iris.groupby(['target']).corr()
┬а┬аpetal length (cm)petal width (cm)sepal length (cm)sepal width (cm)
target┬а┬а┬а┬а┬а
0.0petal length (cm)1.0000000.3063080.2638740.176695
petal width (cm)0.3063081.0000000.2790920.279973
sepal length (cm)0.2638740.2790921.0000000.746780
sepal width (cm)0.1766950.2799730.7467801.000000
1.0petal length (cm)1.0000000.7866680.7540490.560522
petal width (cm)0.7866681.0000000.5464610.663999
sepal length (cm)0.7540490.5464611.0000000.525911
sepal width (cm)0.5605220.6639990.5259111.000000
2.0petal length (cm)1.0000000.3221080.8642250.401045
petal width (cm)0.3221081.0000000.2811080.537728
sepal length (cm)0.8642250.2811081.0000000.457228
sepal width (cm)0.4010450.5377280.4572281.000000

рдЗрд╕ рдХреЙрд░рд┐рд▓реЗрд╢рди рдореИрдЯреНрд░рд┐рдХреНрд╕ рдореЗрдВ, рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐:

  • рдЯрд╛рд░реНрдЧреЗрдЯ 0 рдХреЗ рд▓рд┐рдП, рд╕реЗрдкрд▓ рд▓рдВрдмрд╛рдИ рдФрд░ рдЪреМрдбрд╝рд╛рдИ рдХрд╛ рдХреЙрд░рд┐рд▓реЗрд╢рди 0.75 рд╣реИ;
  • рдЯрд╛рд░реНрдЧреЗрдЯ 1 рдХреЗ рд▓рд┐рдП, рдХреЛрдПрдлрд┐рд╢рд┐рдПрдВрдЯ 0.5 рд╣реИ; рдФрд░
  • рдЯрд╛рд░реНрдЧреЗрдЯ 2 рдХреЗ рд▓рд┐рдП, рдХреЙрд░рд┐рд▓реЗрд╢рди 0.46 рд╣реИред

рдпреЗ рд╕рднреА рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╕рд╣рд╕рдВрдмрдВрдз рдХреЗ рдШрдЯрддреЗ рд╣реБрдП рдорд╛рди рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпреЗ рд╕рднреА рдЖрдкрдХреЗ рдореВрд▓ рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рд╣рд╕рдВрдмрдВрдз рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╣реИрдВред

рдпрд╣ рдмреЗрд╣рдж рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдВрдХреЗрдд рд╣реИ рдФрд░ рдЖрдкрдХреЗ рдбреЗрдЯрд╛ рдХреЗ рдЧрд╣рди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреА рдЕрд╣рдорд┐рдпрдд рдХрд╛ рд╕реНрдкрд╖реНрдЯ рд╕реНрдорд░рдг рдХрд░рд╛рддрд╛ рд╣реИред

рдЕрдм рдЬрдм рдЖрдкрдиреЗ рд╕рд╣рд╕рдВрдмрдВрдз рдкрд░ рдирдЬрд╝рджреАрдХреА рдирдЬрд╝рд░ рдбрд╛рд▓ рд▓реА рд╣реИ, рддреЛ рдЖрдк рдЕрдкрдиреА рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрд╕рдХреА рдСрдЯреЛрдХреЛрд░рд┐рд▓реЗрд╢рди рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджреЗрдЦрдХрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ!

рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреА рд╕рднреА рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рджреЛрдмрд╛рд░рд╛ рдкреНрд▓реЙрдЯ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рдпрд╛рдж рд░рд╣реЗ рдХрд┐ рд╡реЗ рдХреИрд╕реА рджрд┐рдЦрддреА рд╣реИрдВ:

df.plot(figsize=(20,10), linewidth=5, fontsize=20)
plt.xlabel('Year', fontsize=20);

time series graph 4

рдлрд┐рд░, .corr() рдХреА рдорджрдж рд╕реЗ рдЗрди рд╕рднреА рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдХреЗ рдХреЙрд░рд┐рд▓реЗрд╢рди рдХреЛрдПрдлрд┐рд╢рд┐рдПрдВрдЯреНрд╕ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ:

df.corr()
┬аdietgymfinance
diet1.000000-0.100764-0.034639
gym-0.1007641.000000-0.284279
finance-0.034639-0.2842791.000000

рдКрдкрд░ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдЖрдкрдХреЛ рдХреНрдпрд╛ рдмрддрд╛рддрд╛ рд╣реИ?

рдЖрдЗрдП 'diet' рдФрд░ 'gym' рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ; рдпреЗ рдирдХрд╛рд░рд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд╕рд╣рд╕рдВрдмрджреНрдз рд╣реИрдВред рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ! рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдореМрд╕рдореА рдФрд░ рдЯреНрд░реЗрдВрдб рдШрдЯрдХ рд╣реИрдВред рдХреЙрд░рд┐рд▓реЗрд╢рди рдХреЛрдПрдлрд┐рд╢рд┐рдПрдВрдЯ рд╕реЗ 'diet' рдФрд░ 'gym' рдирдХрд╛рд░рд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд╕рд╣рд╕рдВрдмрджреНрдз рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдХреЛ рджреЗрдЦрдХрд░ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрдирдХреЗ рдореМрд╕рдореА рдШрдЯрдХ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд╕рд╣рд╕рдВрдмрджреНрдз рд╣реЛрдВрдЧреЗ рдФрд░ рдЗрдирдХреЗ рдЯреНрд░реЗрдВрдб рдирдХрд╛рд░рд╛рддреНрдордХ рд░реВрдк рд╕реЗред

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЙрд░рд┐рд▓реЗрд╢рди рдХреЛрдПрдлрд┐рд╢рд┐рдПрдВрдЯ рджрд░рдЕрд╕рд▓ рджреЛрдиреЛрдВ рдХреЛ рд╣реА рдкрдХрдбрд╝ рд░рд╣рд╛ рд╣реИред

рдЕрдм рдЖрдк рдЬреЛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╡рд╣ рд╣реИ рдЗрди рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдХреА рдлрд░реНрд╕реНрдЯ-рдСрд░реНрдбрд░ рдбрд┐рдлрд░реЗрдВрд╕ рдХреЛ рдкреНрд▓реЙрдЯ рдХрд░рдирд╛ рдФрд░ рдлрд┐рд░ рдЙрдирдХрд╛ рдХреЙрд░рд┐рд▓реЗрд╢рди рдирд┐рдХрд╛рд▓рдирд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣ рд▓рдЧрднрдЧ рдореМрд╕рдореА рдШрдЯрдХреЛрдВ рдХрд╛ рдХреЙрд░рд┐рд▓реЗрд╢рди рд╣реЛрдЧрд╛ред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЯреНрд░реЗрдВрдб рд╣рдЯрд╛рдиреЗ рд╕реЗ рдореМрд╕рдореАрдкрди рдореЗрдВ рд╕рд╣рд╕рдВрдмрдВрдз рд╕рд╛рдордиреЗ рдЖ рд╕рдХрддрд╛ рд╣реИред

.diff() рдФрд░ .plot() рдХреА рдорджрдж рд╕реЗ рдлрд░реНрд╕реНрдЯ-рдСрд░реНрдбрд░ рдбрд┐рдлрд░реЗрдВрд╕реЗрдЬрд╝ рдкреНрд▓реЙрдЯ рдХрд░рдХреЗ рд╢реБрд░реБрдЖрдд рдХрд░реЗрдВ:

df.diff().plot(figsize=(20,10), linewidth=5, fontsize=20)
plt.xlabel('Year', fontsize=20);

time series graph 5

рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ 'diet' рдФрд░ 'gym' рдЯреНрд░реЗрдВрдб рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдмреЗрд╣рдж рд╕рд╣рд╕рдВрдмрджреНрдз рд╣реИрдВред рдЕрдм, рдЖрдк рдЗрди рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдХреА рдлрд░реНрд╕реНрдЯ-рдСрд░реНрдбрд░ рдбрд┐рдлрд░реЗрдВрд╕ рдХреЗ рдХреЙрд░рд┐рд▓реЗрд╢рди рдХреЛрдПрдлрд┐рд╢рд┐рдПрдВрдЯреНрд╕ рдирд┐рдХрд╛рд▓реЗрдВрдЧреЗ:

df.diff().corr()
┬аdietgymfinance
diet1.0000000.7587070.373828
gym0.7587071.0000000.301111
finance0.3738280.3011111.000000

рдиреЛрдЯ рдХрд░реЗрдВ рдХрд┐ рдлрд┐рд░ рд╕реЗ, рдЬрдм рдЖрдк рдЯреНрд░реЗрдВрдб рдФрд░ рдореМрд╕рдореА рдШрдЯрдХ рджреЛрдиреЛрдВ рдХреЛ рд╕рд╛рде рд╕реЛрдЪ рд░рд╣реЗ рдереЗ рддреЛ рд╣рд▓реНрдХрд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рд╣рд╕рдВрдмрдВрдз рдерд╛ред рдЕрдм, рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдореМрд╕рдореА рдШрдЯрдХ рдХреЗ рд╕рд╛рде, 'diet' рдФрд░ 'gym' рдЕрддреНрдпрдзрд┐рдХ рд╕рд╣рд╕рдВрдмрджреНрдз рд╣реИрдВ, 0.76 рдХреЗ рдХреЛрдПрдлрд┐рд╢рд┐рдПрдВрдЯ рдХреЗ рд╕рд╛рдеред

рдСрдЯреЛрдХреЛрд░рд┐рд▓реЗрд╢рди

рдЕрдм рдЬрдм рдЖрдкрдиреЗ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдФрд░ рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдХреЗ рд╕рд╣рд╕рдВрдмрдВрдз рдореЗрдВ рдЭрд╛рдБрдХ рд▓рд┐рдпрд╛ рд╣реИ, рддреЛ 'diet' рд╕реАрд░реАрдЬрд╝ рдХрд╛ рдСрдЯреЛрдХреЛрд░рд┐рд▓реЗрд╢рди рдкреНрд▓реЙрдЯ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ: x-рдЕрдХреНрд╖ рдкрд░ рд▓реИрдЧ рд╣реЛрдЧрд╛ рдФрд░ y-рдЕрдХреНрд╖ рдкрд░ рдпрд╣ рдХрд┐ рджрд┐рдП рдЧрдП рд▓реИрдЧ рдкрд░ рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдХрд┐рддрдиреА рд╕рд╣рд╕рдВрдмрджреНрдз рд╣реИред

рддреЛ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдореВрд▓ рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рд╣рд░ рджреЛ рджрд┐рдиреЛрдВ рдореЗрдВ рдЦреБрдж рдХреЛ рджреЛрд╣рд░рд╛рддреА рд╣реИ, рддреЛ рдЖрдк рдСрдЯреЛрдХреЛрд░рд┐рд▓реЗрд╢рди рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ 2 рджрд┐рдиреЛрдВ рдкрд░ рд╕реНрдкрд╛рдЗрдХ рджреЗрдЦрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░реЗрдВрдЧреЗред

рдпрд╣рд╛рдБ, рдЖрдк рдкреНрд▓реЙрдЯ рджреЗрдЦреЗрдВрдЧреЗ рдФрд░ рдЖрдкрдХреЛ 12 рдорд╣реАрдиреЛрдВ рдкрд░ рдСрдЯреЛрдХреЛрд░рд┐рд▓реЗрд╢рди рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╕реНрдкрд╛рдЗрдХ рдХреА рдЙрдореНрдореАрдж рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП: рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдмрд╛рд░рд╣ рдорд╣реАрдиреЗ рд╢рд┐рдлреНрдЯ рдХреА рдЧрдИ рд╡рд░реНрдЬрд╝рди рдХреЗ рд╕рд╛рде рд╕рд╣рд╕рдВрдмрджреНрдз рд╣реИред

pandas рдХреЗ plotting рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬрд┐рд╕рдореЗрдВ autocorrelation_plot() рдлрдВрдХреНрд╢рди рд╣реИред рдЖрдк рдЗрд╕ рдлрдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ 'diet' рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдХреЛ рдкреНрд▓реЙрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

pd.plotting.autocorrelation_plot(diet);

autocorrelation plot

рдпрджрд┐ рдЖрдк рдЕрдкрдиреА рдзреБрд░реА (axes) рдореЗрдВ рдФрд░ рд▓реИрдЧреНрд╕ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ, рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ 12 рдорд╣реАрдиреЛрдВ рдкрд░ рдХреЙрд░рд┐рд▓реЗрд╢рди рдореЗрдВ рдмрдбрд╝рд╛ рдкреАрдХ рдЖрддрд╛ рд╣реИред 24 рдорд╣реАрдиреЛрдВ рдкрд░ рдПрдХ рдФрд░ рдкреАрдХ рдЖрддрд╛ рд╣реИ, рдЬрд╣рд╛рдБ рдпрд╣ рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рд╕рд╣рд╕рдВрдмрджреНрдз рд╣реИред 36 рдкрд░ рдПрдХ рдФрд░ рдкреАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдЖрдк рдФрд░ рджреВрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рд╕рд╣рд╕рдВрдмрдВрдз рдХрдо рд╣реЛрддрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдмреЗрд╢рдХ, рд▓реИрдЧ 0 рдкрд░ рдЕрдкрдиреЗ рдЖрдк рдХреЗ рд╕рд╛рде рд╕рд╣рд╕рдВрдмрдВрдз 1 рд╣реЛрддрд╛ рд╣реИред

рдКрдкрд░ рджрд┐рдП рдкреНрд▓реЙрдЯ рдХреА рдбреЙрдЯреЗрдб рд▓рд╛рдЗрдиреЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╣рд╕рдВрдмрдВрдз рдХреА рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рдорд╣рддреНрд╡рдкреВрд░реНрдгрддрд╛ (statistical significance) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рддреА рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ 'diet' рд╕реАрд░реАрдЬрд╝ рдмрд╛рд░рд╣ рдорд╣реАрдиреЛрдВ рдХреЗ рд▓реИрдЧ рдХреЗ рд╕рд╛рде рд╕рдЪрдореБрдЪ рдСрдЯреЛрдХреЛрд░рд┐рд▓реЗрдЯреЗрдб рд╣реИред

рдЖрдкрдиреЗ рдЗрд╕ 12 рдорд╣реАрдиреЗ рдХреЗ рджреЛрд╣рд░рд╛рд╡ рдХреА рдореМрд╕рдореАрдкрди рдХреА рдкрд╣рдЪрд╛рди рдХрд░ рд▓реА рд╣реИ!

рдирд┐рд╖реНрдХрд░реНрд╖

рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдЖрдкрдиреЗ рдХрд╛рдлреА рдХреБрдЫ рдХрд╡рд░ рдХрд┐рдпрд╛! рдЖрдкрдиреЗ 'diet', 'gym' рдХреЗ рдХреАрд╡рд░реНрдбреНрд╕ рдХреЗ Google Trends рдбреЗрдЯрд╛ рдХреЛ рджреЗрдЦрд╛ рдФрд░ 'finance' рдкрд░ рднреА рд╕рд░рд╕рд░реА рдирдЬрд╝рд░ рдбрд╛рд▓реА рдХрд┐ рд╕рдордп рдХреЗ рд╕рд╛рде рдпреЗ рдХреИрд╕реЗ рдмрджрд▓рддреЗ рд╣реИрдВред рдЖрдкрдиреЗ seasonality, trends, correlation, autocorrelation рдЬреИрд╕реЗ рдХреЙрдиреНрд╕реЗрдкреНрдЯреНрд╕ рдХрд╡рд░ рдХрд┐рдП...

рдЬрд┐рди рдбреЗрдЯрд╛ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХреЛрдВ рдореЗрдВ рдЙрддреНрд╕рд╛рд╣ рд╣реИ, рдЙрдирдХреЗ рд▓рд┐рдП рджреЛ рдЪреАрдЬрд╝реЗрдВ рд╣реИрдВ рдЬреЛ рдЖрдк рддреБрд░рдВрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  • 'finance' рдХреЙрд▓рдо рдкрд░ рдЧреМрд░ рдХрд░реЗрдВ рдФрд░ рдЬреЛ рдкрд╛рддреЗ рд╣реИрдВ рдЙрд╕рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВ;
  • ARIMA рдореЙрдбрд▓рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдпреЗ рд╕рд░реНрдЪ рдЯреНрд░реЗрдВрдбреНрд╕ рдХреИрд╕реЗ рджрд┐рдЦреЗрдВрдЧреЗ, рдЗрд╕ рдкрд░ рдЯрд╛рдЗрдо рд╕реАрд░реАрдЬрд╝ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдмрдирд╛рдПрдВред Machine Learning Mastery рдХреЗ Jason Brownlee рдХрд╛ Python рдореЗрдВ ARIMA рдореЙрдбрд▓рд┐рдВрдЧ рдкрд░ рдмрдврд╝рд┐рдпрд╛ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╣реИ, DataCamp рдХрд╛ ARIMA Modeling with R рдФрд░ Time┬аSeries with Python рдХреЛрд░реНрд╕ рднреА рд╣реИред

рд╡рд┐рд╖рдп