Nous avons utilisé 2 ensembles de données pour cela. Le premier ensemble de données a été obtenu du site Web du «World Gold Council». Cet ensemble de données est pour les prix mondiaux de l'or de 1978 à 2018. Il s'agit de données mensuelles.
Étant donné que cet ensemble de données n'est pas le prix du marché réel de l'or, nous avons décidé d'obtenir le prix du marché de l'or en Inde. Aucun ensemble de données n'était disponible pour le même. Nous avons gratté les données du marché de Gold Price India de 2011 à 2018 pour chaque mois. Étant donné que les données ont été grattées du Web, nous l'avons vérifiée manuellement avant de l'utiliser pour l'analyse.
Nous préparons toutes les données en utilisant des techniques de base comme supprimer toutes les lignes avec des valeurs manquantes (il n'y en avait pas!). Le plus de prétraitement a été effectué aux dates, car les données ont été collectées à partir de différentes sources, les dates étaient dans différents formats et ils ont été formatés à un format commun qui serait compris par Matplotlib pour le tracer de manière appropriée.
● Régression multiple
Nous essayons de créer un modèle de régression simple. Il s'agit d'un modèle de régression multiple avec des paramètres d'entrée comme moyenne mobile du dernier mois et des 2 derniers mois. Nous pouvons clairement observer un sur-ajustement dans ce modèle. Cette sur-ajustement peut être attribuée aux données non stationnaires.
● Vérifiez la stationnarité
Pour vérifier la stationnarité des données, nous tracez les données avec les dates. Juste en regardant l'intrigue, nous pouvons conclure que les données sont non stationnaires. Nous pouvons également voir à partir des histogrammes (dans le code) que les données ont la saisonnalité et une certaine composante des tendances. Nous avons également effectué le test de Dickey-Fuller pour confirmer la stationnarité. Nous pouvons voir que la statistique ADF est plus élevée que toutes les valeurs critiques, et la valeur P est bien supérieure à 0,05, nous ne pouvons donc pas rejeter l'hypothèse nulle que les données sont non stationnaires.
● Faire des données stationnaires pour rendre les données stationnaires, nous utilisons la technique la plus simple pour prendre une transformée de journal.
Nous pouvons observer qu'il n'y a pas de changement et que les données sont toujours non stationnaires. Nous essayons maintenant d'effectuer la différence sur ces données. Nous effectuons la différence de l'ordre 2 et observons les résultats suivants. Nous pouvons voir que la statistique ADF est inférieure à 1% de la valeur critique, donc nous pouvons rejeter l'hypothèse nulle et conclure avec un niveau de confiance de 99% que les données sont stationnaires. Nous pouvons désormais utiliser ces données pour une modélisation ultérieure.
● Modèle de régression à nouveau
Nous utilisons à nouveau l'ancien modèle de régression pour ces données stationnaires. Nous voyons les résultats suivants. Nous obtenons une valeur carrée R de 30%, ce qui est inférieur à la pair. Et l'erreur quadratique moyenne racine est également très élevée. Bien que le RMSE soit une statistique absolue et qu'il ne peut pas être utilisé pour juger de la bonté de l'ajustement, nous utiliserons cette valeur pour une comparaison supplémentaire avec d'autres modèles
● Vacles ACF et PACF
Nous essayons maintenant de tracer ACF, c'est-à-dire l'autocorrélation et les graphiques d'autocorrélation partiels IE pour ces données pour trouver les valeurs P, Q, D pour créer un modèle ARIMA.
● Modèle Sarima
Nous modélissons ces données à l'aide d'un modèle Sarima. Un modèle Sarima représente un modèle de saison Arima saisonnier. Le modèle Sarima est meilleur sur un modèle ARIMA simple lorsqu'il y a des données saisonnières. C'est-à-dire que les données de tising ont des cycles répétitifs. Nous observons que le modèle s'adapte beaucoup mieux que n'importe lequel des modèles précédents.
Vous trouverez ci-dessous les résultats et les diagnostics du modèle.Nous voyons que la valeur carrée R est de 73%, ce qui est acceptable et l'erreur RMS est réduite à 1715 de 5000, ce qui est un bon signe.
Nous utilisons maintenant l'autre (ensemble de données du marché indien) pour essayer et trouver toutes les tendances intéressantes de la fluctuation des prix. Nous pouvons également voir une tendance cyclique dans le prix, il y a 6 à 8 ans de croissance haussière suivie de 6 à 8 ans de marché baissier. Autrement, à part cela, il n'y a pas de tendances évidentes dans les données. Le prix maximum a toujours été mars-avril ou septembre-octobre qui tombe pendant ou juste avant la saison des mariages.
Nous avons maintenant un modèle qui peut prédire le prix de l'or avec une précision de près de 73% et avons trouvé une corrélation intéressante entre le prix du marché de l'or et la saison des mariages en Inde.
Nous pouvons conclure en toute sécurité que le prix de l'or sur le marché mondial et le marché régional indien sont très volatils et dépendent de nombreux facteurs externes qui ne peuvent pas être modélisés si facilement.
Pour les travaux futurs, nous pouvons utiliser et s'appuyer sur notre modèle existant pour construire un système de recommandation suggérant aux utilisateurs le bon moment pour acheter et vendre de l'or aux personnes qui s'intéressent à l'investissement dans l'or.