Jusqu'à la dernière fois
Utilisez Deep Learning pour prévoir la météo à partir d'images météorologiques 1 Utilisez Deep Learning pour prévoir la météo à partir d'images météorologiques 2
En résumé,
Météo | Precision | Recall | F-Score |
---|---|---|---|
pluie | 0.54 | 0.67 | 0.6 |
Bien | 0.83 | 0.74 | 0.78 |
moyenne | 0.74 | 0.72 | 0.72 |
Cette fois, je voudrais améliorer la précision en améliorant le modèle, les données des enseignants et les variables explicatives.
En particulier
Ce sera là.
Jusqu'à présent, c'était une classification binaire de «fin» et de «pluie». Cependant, cela contient une grande quantité de "trouble", qui était l'un des facteurs qui réduisaient la précision. Par conséquent, je vais simplement l'essayer comme une classification ternaire incluant "nuageux".
Les conditions pour générer des données sur les enseignants sont les suivantes.
flag = []
for tk in tenki_list:
if "pluie" in tk:
flag.append(0)
elif "Bien" in tk:
flag.append(2)
else:
flag.append(1)
La pluie est la priorité absolue, suivie du beau temps et du dernier nuage restant.
Le résultat du test est le suivant. Chaque probabilité est la probabilité moyenne du temps. Trié par ordre décroissant de probabilité de pluie.
Météo | Probabilité de pluie | Probabilité nuageuse | Probabilité claire |
---|---|---|---|
Parfois ensoleillé après de fortes pluies, accompagné de déversements | 98% | 0% | 2% |
Nuageux après la pluie, accompagné de grêle | 97% | 0% | 3% |
pluie | 96% | 1% | 3% |
forte pluie | 95% | 1% | 4% |
Pluie temporaire ensoleillée | 95% | 0% | 5% |
Nuageux et parfois ensoleillé après une pluie temporaire | 91% | 1% | 8% |
Parfois ensoleillé après nuageux | 90% | 3% | 6% |
Pluie Parfois ensoleillé Brouillard temporaire Pluie | 89% | 2% | 10% |
Nuageux temporairement après de fortes pluies | 80% | 3% | 17% |
Nuageux et parfois pluvieux | 77% | 4% | 19% |
Nuageux et parfois ensoleillé avec pluie temporaire et tonnerre | 74% | 5% | 21% |
Temps nuageux après la pluie | 72% | 6% | 22% |
Ensoleillé après la pluie | 72% | 4% | 24% |
Nuageux pluie temporaire | 71% | 5% | 24% |
Nuageux après la pluie | 71% | 3% | 26% |
Nuageux parfois pluie | 70% | 5% | 25% |
Parfois nuageux après la pluie | 67% | 3% | 29% |
Pluie nuageuse temporaire | 63% | 7% | 30% |
Nuageux après ensoleillé | 63% | 4% | 33% |
Pluvieux et parfois nuageux | 62% | 8% | 30% |
Pluie parfois nuageux | 61% | 4% | 35% |
Ensoleillé et parfois nuageux | 60% | 3% | 37% |
Nuageux et parfois ensoleillé | 59% | 5% | 36% |
Pluie après nuageux | 57% | 7% | 36% |
Pluie temporaire après beau temps, accompagnée de tonnerre | 52% | 11% | 36% |
Amende temporaire après nuageux | 51% | 6% | 44% |
Parfois nuageux après une pluie temporaire | 50% | 7% | 44% |
Pluie temporaire après nuageux | 49% | 10% | 41% |
Nuageux | 45% | 8% | 47% |
Nuage léger | 42% | 7% | 52% |
Légèrement nuageux temporaire clair | 38% | 10% | 52% |
Ensoleillé Temporairement nuageux | 38% | 8% | 55% |
Parfois ensoleillé après de légers nuages | 38% | 11% | 52% |
Légèrement nuageux après le beau temps | 34% | 9% | 57% |
Légèrement nuageux et parfois ensoleillé | 34% | 8% | 58% |
Nuageux | 33% | 7% | 60% |
Partiellement nuageux | 33% | 9% | 58% |
Nuageux et ensoleillé après la pluie | 31% | 13% | 56% |
Bien | 30% | 9% | 61% |
Ensoleillé et temporairement nuageux | 30% | 8% | 62% |
Légèrement nuageux après beau temps | 28% | 11% | 61% |
Parfois nuageux après le beau temps | 27% | 8% | 65% |
Ensoleillé | 25% | 7% | 68% |
Ensoleillé après nuageux | 22% | 10% | 68% |
Parfois pluie après nuageux | 20% | 8% | 72% |
Nuageux et ensoleillé après une pluie temporaire | 20% | 11% | 70% |
Nuageux et parfois ensoleillé puis pluie temporaire | 18% | 10% | 73% |
Après une pluie ensoleillée parfois nuageux | 4% | 5% | 91% |
En conséquence, aucune nébulosité n'est prévue. (sérieusement)
Puisque les données d'enseignant dans l'expression conditionnelle ci-dessus sont les suivantes, je pense qu'il est très difficile d'estimer la nébulosité.
Météo | Pourcentage |
---|---|
pluie | 33% |
Nuageux | 7% |
Bien | 59% |
Avec cela, on a l'impression de ne jouer que le "nuageux" évident. Cependant, par exemple, si vous introduisez d'abord la condition que «la nébulosité est incluse», le nombre de pluie et de beau temps diminuera trop, et ce sera inutile. Hmmm difficile.
Cependant, lorsque l'ASC moyenne est calculée uniquement pour «pluie» et «fine», elle est de 0,720, et il semble que la précision de ces deux se soit améliorée. La pluie et les statistiques claires sont les suivantes.
Météo | precision | recall | f1-score |
---|---|---|---|
pluie | 0.60 | 0.76 | 0.67 |
Bien | 0.69 | 0.71 | 0.70 |
moyenne | 0.65 | 0.74 | 0.69 |
Apparemment, la précision de l'estimation de «pluie» s'est améliorée.
La dernière fois, je l'ai fait avec Epoch = 50, mais cette fois, je définirai Epoch sur 100. Les données de l'enseignant sont les mêmes que la dernière fois et sont une classification binaire de «pluie» et «bien».
L'AUC moyenne était de 0,724, ce qui est plus précis que les classifications précédentes et ternaires. (Epoque importante)
Les statistiques sont les suivantes.
Météo | precision | recall | f1-score |
---|---|---|---|
pluie | 0.53 | 0.77 | 0.63 |
Bien | 0.86 | 0.68 | 0.76 |
moyenne | 0.76 | 0.71 | 0.72 |
On a l'impression que Precision est en place.
Jusqu'à présent, les variables explicatives ont été utilisées comme données d'image de la veille pour 3 canaux. Cependant, les données de l'image cartographique d'origine sont des informations communes à tout moment et qui n'ont aucune signification dans la classification. Par conséquent, nous envisagerons d'incorporer des informations «modifiées» en prenant la différence par rapport à la veille.
Écrit en code, cela ressemble à ceci:
"""Convertir en série différentielle"""
img_mat_new = np.zeros((img_mat.shape[0],3*2,img_mat.shape[2],img_mat.shape[3]),dtype=np.float32)
img_mat_new = img_mat_new[0:-1] #Réduisez de un
for l in range(1,len(img_mat)):
"""Différence"""
img_mat_new[l-1,0,:,:] = img_mat[l-1,0,:,:] - img_mat[l,0,:,:]
img_mat_new[l-1,1,:,:] = img_mat[l-1,1,:,:] - img_mat[l,1,:,:]
img_mat_new[l-1,2,:,:] = img_mat[l-1,2,:,:] - img_mat[l,2,:,:]
"""Ce jour là"""
img_mat_new[l-1,3,:,:] = img_mat[l,0,:,:]
img_mat_new[l-1,4,:,:] = img_mat[l,1,:,:]
img_mat_new[l-1,5,:,:] = img_mat[l,2,:,:]
N'oubliez pas de réduire d'un jour les données des enseignants.
Dans cet état, définissez le canal d'entrée sur 6 et introduisez-le dans le modèle.
Ensuite, l'ASC moyenne tombe à 0,658. (C'est tout)
Les statistiques sont les suivantes.
Météo | precision | recall | f1-score |
---|---|---|---|
pluie | 0.57 | 0.48 | 0.52 |
Bien | 0.78 | 0.83 | 0.8 |
moyenne | 0.71 | 0.72 | 0.71 |
La précision du beau temps s'est améliorée, mais la pluie n'est pas bonne. Eh bien difficile.
Que faire si je change les données d'image en un autre type? Jusqu'à présent, la résolution était de 640x480, mais changeons-la en une image haute résolution de 3000x3000. Cependant, le problème est l'image ** visible **. (C'est-à-dire la lumière du soleil, influencée par les saisons)
L'image ressemblera à celle ci-dessous.
Source: Fourni par l'Université de Kochi, Université de Tokyo, Agence météorologique
Wow, il y a une tache noire. .. ..
Eh bien, c'est un essai.
L'AUC moyenne est de 0,675, ce qui est inférieur à la valeur conventionnelle.
Les statistiques sont les suivantes.
Météo | precision | recall | f1-score |
---|---|---|---|
pluie | 0.69 | 0.45 | 0.54 |
Bien | 0.77 | 0.9 | 0.83 |
moyenne | 0.75 | 0.76 | 0.74 |
En regardant FScore, la précision est améliorée. Puisque l'AUC est de 0,79, la précision du beau temps s'est améliorée, mais la précision de la pluie semble avoir légèrement diminué.
J'ai essayé diverses choses,
C'est devenu comme.
Est-ce un bon modèle pour augmenter Epoch, en faire une classification ternaire (je veux améliorer la précision de la pluie) et en faire une image visible (je veux améliorer la précision du beau temps)?
Je veux viser AUC 0.8 pour le moment.
Puisqu'il existe des éléments de séries chronologiques, est-il plus précis de l'étendre à RNN? (Je dois étudier)
Recommended Posts