import pandas as pd
# Load the dataset
file_path = '/mnt/data/ChatGPT清理後-越南累計確診-累計死亡.csv'
data = pd.read_csv(file_path)
# Display the first few rows of the dataset to understand its structure
data.head()
資料包括日期 (date)、累計確診人數 (Total Case) 和累計死亡人數 (Total Death)。我將使用 ARIMA 模型來預測這些數據的未來趨勢。
首先,我將對累計確診人數和累計死亡人數進行建模和預測。讓我們從累計確診人數開始。
import matplotlib.pyplot as plt
from statsmodels.tsa.arima.model import ARIMA
import numpy as np
# Convert date to datetime format
data['date'] = pd.to_datetime(data['date'])
# Set date as the index
data.set_index('date', inplace=True)
# Plot the Total Case to visualize
plt.figure(figsize=(10, 6))
plt.plot(data['Total Case'], label='Total Case')
plt.title('Cumulative COVID-19 Cases in Vietnam')
plt.xlabel('Date')
plt.ylabel('Total Case')
plt.legend()
plt.grid(True)
plt.show()
# Fit ARIMA model for Total Case
model_case = ARIMA(data['Total Case'], order=(5, 2, 2))
model_case_fit = model_case.fit()
# Forecasting the next 30 days
forecast_case = model_case_fit.forecast(steps=30)
forecast_case

根據 ARIMA 模型對越南累計確診人數的預測,未來 30 天的累計確診人數將保持在大約 11,624,000 例左右。這表明根據目前的數據,模型預測累計確診人數的增長趨勢已經趨於平穩。
接下來,我將使用相同的方法對累計死亡人數進行預測。
# Plot the Total Death to visualize
plt.figure(figsize=(10, 6))
plt.plot(data['Total Death'], label='Total Death', color='red')
plt.title('Cumulative COVID-19 Deaths in Vietnam')
plt.xlabel('Date')
plt.ylabel('Total Death')
plt.legend()
plt.grid(True)
plt.show()
# Fit ARIMA model for Total Death
model_death = ARIMA(data['Total Death'], order=(5, 2, 2))
model_death_fit = model_death.fit()
# Forecasting the next 30 days
forecast_death = model_death_fit.forecast(steps=30)
forecast_death

根據 ARIMA 模型對越南累計死亡人數的預測,未來 30 天內累計死亡人數將緩慢增加,大約會增加至 43,711 人左右。這表明累計死亡人數在未來仍可能持續小幅上升,但整體趨勢相對平緩。
當然,我可以根據你提供的數據進行更深入的分析。以下是一些可以進行的數據分析類型: