Hava Durum Tahmini

Yayın: 15 Mart 2022

Hava Durum Tahmini

Aşağıdaki konumda fotoğraf çekildiğinde sıcaklığı tahmin edebilir misiniz?

Tokyo'daki Rainbow Köprüsü, güneşli ama bulutlu bir günde

Bu zor bir görev, değil mi? Bu görüntü soğuk bir sabahın erken saatlerinden veya sıcak bir geç öğleden sonra olabilir. Atmosferik sıcaklık ayrıca mevsim ve konuma bağlı olacaktır. Sonuçta, atmosferik sıcaklık, birçok parametrenin sonucudur, bu da bunu ilk bakışta belirlememizi zorlaştırır. Bilginiz için, yukarıdaki örnekteki sıcaklık 5.4 °C idi.

Amaç

Tokyo'daki Rainbow Köprüsü'nde gerçekleşen ve tahmin edilen sıcaklıkların karşılaştırılması, 2 gün boyunca

Bu makalede, Tokyo'daki Rainbow Köprüsü'ndeki atmosferik sıcaklığı bu konumun görüntülerine bakarak tahmin etmeye çalışacağız.

Yöntem

Bir resmin çekildiği anda sıcaklığı tahmin eden bir modeli eğitmek için bir evrişimli sinir ağı kullanacağız. Görevimiz, hedef değişkenimizin (sıcaklık) sürekli bir değişken olduğu için bir regresyon görevi olacak. Resim evrişimi genellikle nesne tespiti veya yüz tanıma gibi sınıflandırma problemleri için kullanılsa da, bir regresyon görevi için kullanmak pek yaygın değildir, bu yüzden bunun hakkında çok fazla materyal bulunmamaktadır.

Tokyo'daki Rainbow Köprüsü'nde sıcaklık: 9.1 °C

Veri Toplama

Bu görev için, resim ve hava durumu bilgilerini toplamak için Youtube ve OpenWeatherMap API'larına bağlanacağız. Youtube API'sine bağlanan ve Odaiba Canlı Kamera yayınından her 50 saniyede bir ekran görüntüsü alan bir betik yazıyoruz. Bir kez ekran görüntüsü alındıktan sonra, betik OpenWeatherMap API'ye bağlanır ve Rainbow Köprüsü'ndeki hava durumu bilgisini alır (Odaiba). Toplanan veriler, resmin ve sıcaklığın daha sonra bağlantısını sağlamak için yerel makinemize bir zaman damgasıyla birlikte yazılır. Betiği yaklaşık 2 gün boyunca çalıştırıyoruz ve hava bilgisiyle birlikte 2.000'den fazla görüntü topluyoruz.

Veri İşleme

Bir koordinattan hava durumu bilgisi sağlaması istendiğinde OpenWeatherMap API, yakınlardaki hava durumu istasyonlarını kontrol eder ve en son bilgileri sağlar. Örneğin, Rainbow Köprüsü hakkında sorgu yaptığımızda, sorgu ne zaman yapıldığına bağlı olarak Mita veya Shinagawa istasyonundan bilgi alırız. Verilerimizde kesikliği istemiyoruz (Mita ve Shinagawa aynı anda farklı sıcaklıklara sahip olabilir), bu nedenle veri kümemizi Mita istasyonundan alınan bilgilere daraltıyoruz. Bu, toplamda 1.902 görüntü bırakır. Resim dosya yolları ve ilgili sıcaklık, zaman damgasıyla birleştirilir ve ana veri dosyasına aktarılır. Bu veri, resimlerle birlikte Google Drive'a yüklenir ve Google Colab'da modelin eğitilmesi için kullanılır.

Tokyo'daki Rainbow Köprüsü'nde sıcaklık: 11.1 °C

Model

Rainbow Köprüsü alanının 1.902 görüntüsünü kullanarak, veri kümesini eğitim (%70) ve test (%30) alt kümelerine böleriz. Eğitim alt kümesinin bir kısmı, aşırı uyumun önlenmesi için erken durdurma için bir doğrulama alt kümesi olarak kullanılacaktır.

Sinir ağı, 1 giriş katmanı, 2 evrişimli+MaxPool katmanı + 1 Global Ortalama Havuzlama katmanı + 3 dolgun katman ve 1 çıkış katmanından oluşur (sıcaklık).

Evrişimli katman, resmin üzerinde küçük bir pencere kaydırır ve resimden faydalı özellikler çıkarır. Yaygın olarak kullanılan bir örnekte, bir evrişimli katman, bir resimdeki kenarları tanımayı öğrenebilir. Evrişimli katmandan hemen sonra MaxPool uygulamak, çıktıyı küçültmek için yaygın bir uygulamadır. Daha sonra, Global Ortalama Havuzlama katmanını uygulayarak resmi 1D vektöre indiririz. Bu 1D vektörü, ReLu aktivasyon fonksiyonuyla bir standart 3 katmanlı multilayer perceptron'a taşırız ve bize resimden 1 değer olarak sıcaklığı verecektir.

Daha hızlı öğrenme için Google Colab'da GPU hızlandırmasını kullanıyoruz. İlk dönem, tensörlerin GPU'ya taşınması nedeniyle nispeten uzun sürebilir, ancak gelecek dönemler önemli ölçüde daha kısa sürecek ve öğrenme 10 dakikadan az sürede tamamlanacaktır.

Tokyo'daki Rainbow Köprüsü'nde sıcaklık: 13.5 °C

Sonuçlar

Model, 1.2 °C Kök Ortalama Kare Hatasına ulaşırken, R-kare 0.79'dur. Hiç fena değil, özellikle modelin yalnızca ek veri olmadan resimler kullanılarak eğitildiği düşünüldüğünde.

Sonuç

Tokyo'daki Rainbow Köprüsü'nün görüntülerine bakarak atmosferik sıcaklığı tahmin etmek için bir evrişimli sinir ağı kullanarak bir makine öğrenimi modeli eğittik. Görüntü ve sıcaklık verileri, Youtube canlı kamerası ve OpenWeatherMap üzerinden 2 gün boyunca elde edildi. Modelin eğitimi için 1.902 görüntü kullanıldı ve makul bir doğruluk elde edildi. Model, sabahın erken saatlerinde ve öğleden sonraları sıcaklığın dramatik bir şekilde değiştiği saatlerde sıcaklığı tahmin etmekte zorlanırken, görüntüler benzer kaldığı için. Bu, modele saat bilgisini başka bir değişken olarak sağlayarak giderilebilir. Dahası, bir yıl boyunca çeşitli görüntülerle daha büyük bir veri kümesiyle çok daha doğru bir model eğitilebilir.

Tokyo'daki Rainbow Köprüsü'nde sıcaklık: 12.3°C

Kendiniz deneyin!

Kendi resimlerinizi kullanarak manzara resminin atmosferik sıcaklığını tahmin etmenizi sağlayan bir web sitesi oluşturdum! Çıkarım, tarayıcıda yapılır ve görüntü hiçbir yere kaydedilmez.

Kendi resimlerinizi kullanarak modeli test edin!

Kaynaklar

  1. Web Sitesi
  2. Makine öğrenimi kodu
  3. Veri toplama kodu
  4. Veri

Keyifli hack'lemeler!

Bu iş İngilizce'den ChatGPT ile çevrilmiştir. Herhangi bir belirsizlik durumunda İletişim sayfasından bana ulaşabilirsiniz.

Yorum bırak

Yorumlar

Diğer işlere bak