Étape 5: Algorithme prédictif
Maintenant, pour le fun partie. Future Sight!
Pour implémenter l’algorithme de prédiction, nous allons utiliser une technique d’Apprentissage artificiel appelée Régression linéaire. Il estime que la valeur future d’un dataset par une ligne passant par tous les points de données, en cours d’exécution et déterminer le meilleur ajustement à l’aide de la méthode des moindres carrés. En termes simples, il parcourt toutes les valeurs de ligne possible dans l’espace et décide que celui avec l’erreur ou l’écart par rapport à des lectures de moins est le mieux adapté. Cette ligne est ensuite extrapolée pour trouver la valeur suivante de l’objet dataset. Comme notre dataset est une série de temps définie, le point suivant correspond à la prochaine lecture dans le temps !
Donc maintenant que nous avons l’ensemble de données de points dans notre base de données, nous pouvons utiliser les paquets numpy et matplotlib en Python pour tracer ces données et extrapoler la ligne pour trouver la prochaine valeur possible. Une fois cela prédit la valeur est trouvée, le Raspberry Pi envoie à l’Edison Intel, où elle est comparée avec la valeur existante. Si la valeur actuelle est inférieure à la valeur prédite, l’Edison met en marche la pompe à l’eau de la plante.
Vous pouvez implémenter cet algorithme en MatLab, aussi bien à l’aide de l’exemple ci-joint. Téléchargez vos valeurs de Thingspeak dans un fichier CSV et copiez-les dans le dossier correspondant à votre exécutable MatLab. L’exécution, vous devriez obtenir une ligne de forme linéaire comme indiqué.