Мы представили векторную авторегрессию или VAR в предыдущей статье. Но действительно ли имеет смысл использовать две (или более) разные переменные для составления прогноза? Ответ — нет, по крайней мере, не всегда. Это будет действительно полезно только в том случае, если между ними есть какие-то отношения. Использование несвязанных переменных может внести шум в модель, ухудшив прогнозы, а не улучшив их.

Отказ от ответственности: некоторые части этой статьи были улучшены с помощью ИИ, с использованием сгенерированного ИИ кода Python в качестве основы или перефразирования абзаца для повышения ясности.

Простым способом проверки наличия какой-либо связи может быть проверка корреляции между переменными. Но это не единственный тип отношений, которые могут иметь две переменные.

Мы также можем проверить, есть ли между ними какая-то причинно-следственная связь. Тем не менее, сначала нужно понять кое-что важное: наши тесты показывают, что причинно-следственная связь не обязательно означает, что одно является причиной другого, это просто означает, что в прошлых данных существует какая-то корреляция.

Давайте лучше разберемся в этой концепции на примере, целью которого является выяснить, связаны ли как-то случаи COVID и смерти.

Данные: случаи COVID и смерти в Германии

Давайте сначала импортируем данные и выполним базовую обработку. Мы будем использовать данные COVID из Германии. Данные разделены по штатам, округам, возрасту и полу; но для простоты мы сгруппируем их вместе.

# Read csv file
df_input = pd.read_csv('/kaggle/input/covid19-tracking-germany/covid_de.csv')

# Convert the date column to datetime
df_input['date'] = pd.to_datetime(df_input.date, format='%Y-%m-%d')

# Group the data by day and keep only number of cases and deaths
df = df_input.groupby(['date']).sum()[['cases', 'deaths']]

# Display data
df.plot(figsize=(10,5))
plt.grid(alpha=.3)
plt.ylabel('Number of cases/deaths')
plt.show()

Обработка данных