Usamos 2 conjuntos de dados para isso. O primeiro conjunto de dados foi obtido no site do "World Gold Council". Esse conjunto de dados é para os preços globais do ouro de 1978 a 2018. Esses são dados mensais.
Como esse conjunto de dados não é o preço de mercado real do ouro, decidimos obter o preço de mercado do ouro na Índia. Não havia conjuntos de dados disponíveis para o mesmo. Reduzimos os dados do mercado da Gold Price India de 2011 a 2018 para cada mês. Como os dados foram raspados da Web, verificamos -os manualmente antes de usar o mesmo para análises.
Pré -processamos todos os dados usando técnicas básicas, como soltar todas as linhas com valores ausentes (não havia nenhum!). O mais pré -processamento foi feito nas datas, uma vez que os dados foram coletados de diferentes fontes, as datas estavam em diferentes formatos e foram formatadas em um formato comum que seria entendido por Matplotlib para plotá -lo adequadamente.
● Regressão múltipla
Tentamos criar um modelo de regressão simples. É um modelo de regressão múltipla com parâmetros de entrada como a média móvel dos últimos 1 mês e nos últimos 2 meses. Podemos observar claramente o excesso de ajuste neste modelo. Esse excesso de ajuste pode ser atribuído aos dados não estacionários.
● Verifique a estacionariedade
Para verificar a estacionariedade dos dados, plotamos os dados junto com as datas. Apenas olhando para o enredo, podemos concluir que os dados não são estacionários. Também podemos ver nos histogramas (no código) que os dados têm sazonalidade e algum componente das tendências. Também realizamos o teste Dickey-Fuller para confirmar a estacionariedade. Podemos ver que a estatística do ADF é maior que qualquer um dos valores críticos, e o valor de P é muito maior que 0,05, portanto, não podemos rejeitar a hipótese nula de que os dados não são estacionários.
● Tornar os dados estacionários para fazer os dados estacionários, usamos a técnica mais simples de fazer uma transformação de log.
Podemos observar que não há alteração e os dados ainda não são estacionários. Agora tentamos executar diferenciação nesses dados. Realizamos diferenciação da Ordem 2 e observamos os seguintes resultados. Podemos ver que a estatística do ADF é menor que 1% de valor crítico, portanto, podemos rejeitar a hipótese nula e concluir com um nível de confiança de 99% que os dados estão estacionários. Agora podemos usar esses dados para modelagem adicional.
● Modelo de regressão novamente
Usamos o modelo de regressão antigo novamente para esses dados estacionários. Vemos os seguintes resultados. Obtemos o valor quadrado R de 30%, que está abaixo do par. E o erro quadrado médio da raiz também é muito alto. Embora o RMSE seja uma estatística absoluta e não possa ser usada para julgar a bondade do ajuste, usaremos esse valor para uma comparação adicional com outros modelos
● Gráficos ACF e PACF
Agora, tentamos plotar ACF, ou seja, a autocorrelação e o PACF, ou seja, gráficos de autocorrelação parcial para esses dados encontrarem os valores P, Q, D para criar um modelo ARIMA.
● Modelo SARIMA
Modelamos esses dados usando um modelo SARIMA. Um modelo Sarima significa um modelo sazonal de ARIMA. O modelo SARIMA é melhor em relação a um modelo ARIMA simples quando há dados sazonais. Ou seja, os dados do timeSeries têm ciclos repetidos. Observamos que o modelo se encaixa muito melhor do que qualquer um dos modelos anteriores.
Abaixo estão os resultados e os diagnósticos do modelo. Vemos que o valor quadrado R é 73%, o que é aceitável e o erro RMS reduzido para 1715 de 5000, o que é um bom sinal.
Agora usamos o outro (conjunto de dados do mercado indiano) para tentar e encontrar tendências interessantes na flutuação de preços. INTERESSENTE Por vários anos, os preços do ouro foram máximos durante a temporada de casamento correspondente a esse ano. Também podemos ver uma tendência cíclica no preço, há 6-8 anos de crescimento de alta, seguido de 6 a 8 anos de mercado de baixa. Alhando além disso, não há tendências óbvias nos dados. O preço máximo sempre foi março a abril ou setembro-outubro, que cai durante ou pouco antes da temporada de casamentos.
Agora temos um modelo que pode prever o preço do ouro com quase 73% de precisão e encontramos uma correlação interessante entre o preço de mercado do ouro e a temporada de casamentos na Índia.
Podemos concluir com segurança que o preço do ouro no mercado mundial e no mercado regional indiano é muito volátil e depende de muitos fatores externos que não podem ser modelados com tanta facilidade.
Para trabalhos futuros, podemos usar e desenvolver nosso modelo existente para criar um sistema de recomendação, sugerindo aos usuários o momento certo para comprar e vender ouro para pessoas que se interessam por investir em ouro.