向こう1年間の最高気温を予測する

FANN(Fast Artificial Neural Network) Library を使った プログラム ブログ
FANN(Fast Artificial Neural Network) Library を使った プログラム

FANN (Fast Artificial Neural Network)を使ったプログラム
下記サイトを参照させていただきました。(感謝)
https://mam-mam.net/delphi/fann.html

mam 様が 新しい
FANN(Fast Artificial Neural Network) Library
を作られたようで、ライブラリを使用したプログラムを掲載されていたので
ほとんどそのまま使用させていただきました。(感謝)
翌日から向こう1年間の最高気温を予測するプログラムです。
面白いと思って使ってみていただければ嬉しいです。
パソコンってこんなこともできるのだなと思っていただければ幸いです。

プログラムを作成する道具はDelphi デルファイ です。
デルフィと発音される方もおられます。
使い慣れたDelphiなので、Delphi用のプログラムならば
割合気軽に取り組めて嬉しいです。(感謝)

使用方法
1 ダウンロード
プログラムは次からダウンロードできます。

向こう1年間の最高気温を予測する (28 ダウンロード )

ダウンロードの際、画面右上のダウンロードマークをクリックすると
ファイルが未確認と表示され、マルウエアの危険が表示されたら、
その下のマルウエアの検査ボタンをクリックしてマルウエア検査通過後
にファイル名が kion.zip となると思います。

2 ファイルの設置
kion.zip ファイルを解凍します。
kion フォルダの中に
kion.exe (プログラム本体)
fannfloat.dll (プログラムが参照するファイル)
ファイルの他に
data.csv ファイルも現れますが、これは
鳥取県倉吉市の2015/01/01-2023/12/31
のデータですので地区が違えば削除してください。
同じ地区ならそのままダウンロードなしで実行できます。

フォルダを適当な場所に移動させてください。

kion.exe ファイルをダブルクリックすれば
kionプログラムが起動して起動画面が現れます。

G01起動画面

3 気象庁のデータをダウンロードする
起動画面の データ取得 ボタンをクリックすると
気象庁データ検索画面になります。(はずです)
(インターネット接続環境であることが前提です)

G02気象庁データ検索画面

最初に地点を選びます。
画面を少し下にずらして県を選び、
県内の地点を選んでください。
地点をクリックすると選択地点が表示されます。
G03地域 参照

G03地域検索画面

次に項目を選ぶ ボタンをクリックして、最高気温を選びます。
項目をクリックすると項目が表示されます。
G04項目参照

G04項目選択画面

次に期間を選ぶ ボタンをクリックして、期間を指定します。
G05期間参照
ここでは 2015/01/01 から 2023/12/31を指定しています。

G05期間選択画面

期間の指定ができたら CSVファイルをダウンロード ボタンをクリックします。
少し時間を待つと G06保存 画面となると思いますので、
保存先の場所を確認して、保存ボタンをクリックします。

G06保存画面

G07ダウンロード 画面となりますので、
ファイル名を確認して保存ボタンをクリックしてください。

G07ダウンロード画面

G08ダウン完了画面になれば
data.csv ファイルの ダウンロードができているはずです。

G08ダウンロード完了画面

ダウンロードした data.csv ファイルを本プログラムがある
kion フォルダ内に移動してください。
できることならプログラムでデータファイルを移動したかった
のですが、私の力不足でできません。
申し訳ありません。

4 データの読込
data.csv ファイルをプログラムがある kion フォルダ内に
移動したら、 気温予測 タブのデータ読込ボタンをクリック
してください。
G09データ読込 画面

G09データ読込

読込終了の表示が出たら、ok ボタンをクリックして
読込データ タブをクリックすれば、読み込んだデータと
期間中の最高気温と最低気温が確認できます。
G10読込データ確認画面

G10読込データ確認

なおこれらの気温は小数点が抜けていますので
小数点を補って見てください。
このデータはメモリ上のデータなので、プログラムを終了すれば
消えてしまいます。
プログラムを立ち上げたときは、再度データ読込を
行ってください。
なお、私がダウンロードした倉吉市のデータは
2020年6月12日から同7月1日までの最高気温が抜けて
いたので、隣町のデータをコピーさせていただきましたが、
どちらも大きな違いはありませんでした。

5 学習
データ読込が終了したら、学習ボタンをクリックしてください。
学習が終わるとニューロンネットワーク図が表示されますが、
G11学習結果画面

G11学習結果画面

私には何を表示しているのかよくわかりません。
推測を交えてニューロンネットワーク図を説明します。
1 番目の段を インプット層
2 番目の段を 中間層
3 番目の段を アウトプット層
と呼ぶようです。
1番目の段の
左側の青丸は年を、
中の青丸は月を、
右の青丸は日を
担当するニューロンのようです
右側のオレンジの丸はわかりません。
プログラムでは学習の段階で
年月日にそれぞれ数値を入れ、
最高気温をアウトプットニューロンに入力して
[学習]させています。
つまりインプット側に年月日、
アウトプット側に最高気温(答え)
を入力して、多分記憶させるのでしょう。
中間層のニューロンが何をしているのかは
わかりません。

6 最高気温予測
気温予測ボタンをクリックします。
G12予測画面

G12予測結果表示画面

プログラム内では
インプット側のニューロンに予測を求めたい日の
年月日を入力して [学習] させると、
アウトプット側のニューロンに答えが出てきて
その答えを図にしているようです。
なぜ答えが出るのかはわかりません。

こういうのを 機械学習 というのでしょう。
ありがとうございました。

コメント

Verified by MonsterInsights
タイトルとURLをコピーしました