Мы представили векторную авторегрессию или 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()