Tests de stationnarité :

  1. Test de Dickey-Fuller augmenté (ADF) :
from statsmodels.tsa.stattools import adfuller

# Appliquer le test de Dickey-Fuller Augmenté (ADF)
result = adfuller(data['Visits'])

# Afficher les résultats
print('ADF Statistic:', result[0])
print('p-value:', result[1])
print('Critical Values:')
for key, value in result[4].items():
    print(f'   {key}: {value}')

Vérifications de l'autocorrélation :

  1. Fonction d'autocorrélation (ACF) :
from statsmodels.graphics.tsaplots import plot_acf

# Tracer la fonction d'autocorrélation (ACF)
plot_acf(data['Visits'], lags=30)
plt.xlabel('Lag')
plt.ylabel('Autocorrelation')
plt.title('Autocorrelation Function (ACF)')
plt.show()

Vérifications de la saisonnalité :

  1. Saisonnalité visuelle :
from statsmodels.tsa.seasonal import seasonal_decompose

# Décomposition saisonnière des données
decomposition = seasonal_decompose(data['Visits'], model='additive', period=30)  # période saisonnière à ajuster
trend = decomposition.trend
seasonal = decomposition.seasonal
residual = decomposition.resid

# Visualisation de la décomposition saisonnière
plt.figure(figsize=(12, 8))
plt.subplot(411)
plt.plot(data['Visits'], label='Original')
plt.legend(loc='best')
plt.subplot(412)
plt.plot(trend, label='Trend')
plt.legend(loc='best')
plt.subplot(413)
plt.plot(seasonal, label='Seasonality')
plt.legend(loc='best')
plt.subplot(414)
plt.plot(residual, label='Residuals')
plt.legend(loc='best')
plt.tight_layout()
plt.show()

Test de normalité :

  1. Test de normalité des résidus :
from scipy.stats import shapiro

# Test de normalité des résidus
stat, p = shapiro(residual.dropna())

# Afficher les résultats
print('Test Statistic:', stat)
print('p-value:', p)

# Interprétation
alpha = 0.05
if p > alpha:
    print('Les résidus semblent être distribués normalement')
else:
    print('Les résidus ne sont pas distribués normalement')