VBA(エクセル2000)で組んいます
日本各地の気温の変化の関係を調べるソフトを作くろうとしていますが頓挫しています
日本のすべての県庁所在地の365日分の気温を折れ線グラフにします
(47都道府県分あるので47個の折れ線グラフができます)
天気が西から東に移っていくので、温暖の変化も西から東に移っていくと仮設しています
東京のある一ヶ月を基準にして日本各地の県庁所在地の気温の似ている部分を調べたいのですが方法が分かりません
例えば
東京の5月1日から5月31日のグラフは静岡の4月20日から5月20日までのグラフに一番似ている
東京の5月1日から5月31日のグラフは長野の4月10日から5月10日までのグラフに二番目に似ている
東京の5月1日から5月31日のグラフは群馬の5月10日から6月10日までのグラフに三番目に似ている
などのように東京の5月1日から31日までの一ヶ月間を他の46個のグラフのどこかの一ヶ月間から似ている部分を探し出して順番をつけるソフトを作りたいと思っています
グラフを「似ている」順に並べる可能でしょうか?
そのような似ているグラフを並べ替えるプログラムの手法、または学習しなくてはならないことなど、どのようなことでもよいので
教えていただきたいです
今は目視して似ている順にグラフを並べ替えていますが何とかVBAで自動化したいと思っております
よろしくお願いします
No.1ベストアンサー
- 回答日時:
★まずは、類似するグラフを検索する事です。
・類似するグラフを検索するマクロを作りましょう。
・1か月分の折れ線(データ値)を元に類似するグラフを順番に比較して
差分などを取って一番差がないものを1番似ている。次に差がないものを
2番目に似ていると処理させます。ソートは検索の後で行います。
・問題は、類似するグラフをどうやって47県のグラフから一致させるかです。
・まずは、1ヶ月のデータを3日おきに10個の点と類似する部分を1月1日から
12月31日まで順番に検査していきます。もちろん、47県のグラフの1つですよ。
・10個の点が最も多く一致した場所を一時的に記録していきます。似ていると
判断したら何個一致したかの個数と、一致している最初の月日をセットで
管理して記憶します。そして、このなかで一番多く一致した箇所を1都道府県
で最も似たグラフの場所とします。→12月31日まで検査したあとで1つに絞る。
・これをあと46都道府県分おこない、全部で47個の似たグラフをはじき出します。
・そしたら、この47個のグラフから最も一致した箇所が多い県を1番似ている、
2番目に多く一致した箇所を2番目に似ている県と順位をつけます。
・よって、1位~47位と順位付けます。この上位の3位が類似しているベスト3
になります。わかりますかね。イメージが…。
まとめ:
・47都道府県のグラフから最も類似した場所のグラフを1県につき、1箇所だけ必ず
見つけます。
・そして、47県の類似グラフの中から最も一致した箇所の順に1位~47位と順位
付けます。
・あとは、順位付けグラフの上位の3位をベスト3として表示させれば良いのです。
・重要なのは、類似グラフの検索です。1か月分(31日)では多いので、3日おきに
10個の点として比較させるのです。あまり多いと検索時間がかかったり、どこも
類似しないと判定不能に陥ります。バランスですよ。10個って数はね。
・以上。類似検査のアルゴリズムでした。参考になりますかね?これ?おわり。
ご回答ありがとうございます
何度も繰り返し読んで全体の流れが理解できました
「似ている順に並べる」ということに関するアルゴリズムが
自分の頭の中でどのように組めばよいのか見当もつかなかったので
貴重な羅針盤になりました。
プログラムを組もうと思います
No.2
- 回答日時:
どのようなことでも良いのであれば、俺自身教えてもらったことも含めて書こうと思います。
まずはコヒーレンス関数です。
俺は挫折しました。
http://oshiete1.goo.ne.jp/qa2329264.html
もしかしたら役に立つかもしれません。
次に相互相関関数です。
ある程度似たよな波形を判別する基準にはなるようです。
ただ、俺の場合は利用できませんでした。
方程式を作ってしまって比較する方法として、最小二乗法で求めるのもありだと思います。
ここからは完全な予想で書きます。
俺がやるとしたらと言う方法です。
1)温度データを積分します。(1日+2日+・・・・31日)
その積分したデータを都道府県で引きます。(東京-静岡、東京-長野・・・)
2)温度データを微分し、そのデータを都道府県ごとに微分し、その微分のデータを合計します。
(東京1日-2日)-(静岡1日-2日)+(東京2日-3日)-(静岡2日-3日)・・・+(東京30日-31日)-(静岡30日-31日)
ゼロに近い方が似ています。
3)東京と指定の県の温度データの差を積分します。
ゼロに近い方が似ています。
(東京1日-静岡1日)-(東京2日-静岡2日)-・・・・(東京31日-静岡31日)
4)フーリエ変換をして取り出した周波数のスペクトルの差を積分するのはどうでしょう?
ゼロに近い方が似ています。
東京1Hz-静岡1Hz+東京2Hz+静岡2Hz+・・・
1つだけで比較してもいいし、4つまとめて比較してもいいし、2つだけ使って比較してもいいと思います。
それぞれやってみてどの組み合わせなら今までの基準に近い順番になるのかを検討します。
参考になれば幸いです。
ご回答ありがとうございます
ご回答とリンク先を拝見させていただきました
繰り返し読ませていただきましたが難しくて今はまだ理解できておりません
しかし、自分にとってこの「似ているグラフを並べる」という問題は長期間掛けて取り組もうと思っていますので少しずつ時間を掛けて紐解かせていただきたいです。
ありがとうございました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
夏が終わったと感じる瞬間って、どんな時?
まだまだ暑い今日この頃。 しかしながら、もう夏は終わっている!……はず。 あなたが思う「夏が終わった!」エピソードを教えてください。
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
CDの保有枚数を教えてください
ひとむかし前はCDを買ったり借りたりが主流でしたが、サブスクで簡単に音楽が聴ける今、CDを手に取ることも減ってきたかと思います。皆さんは2024年現在、何枚くらいCDをお持ちですか?
-
昨日見た夢を教えて下さい
たまにすごいドラマチックな夢見ること、ありませんか? 起きてからも妙に記憶に残っているような、そんな夢。
-
「お昼の放送」の思い出
小学校から中学校、ところによっては高校まで お昼休みに校内放送で、放送委員が音楽とかおしゃべりとか流してましたよね。 最近は自分でもラジオができるようになって、そのクオリティもすごいことになっていると聞きます。
-
二つのデータの波形が似てるかどうかの判定方法
数学
-
コヒーレンス関数について
物理学
-
折れ線グラフの近似性を比較したい
化学
-
-
4
二つの波形の合致を調べる方法は?
物理学
-
5
グラフの類似度について
数学
-
6
2つのアナログ信号が一致してるか検出する方法
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
論文に載せるグラフを作成したい
-
Excel VBAでグラフをクリックし...
-
Scilabのグラフの凡例
-
沢山のフォルダにあるファイル...
-
マイドキュメントのフォルダの...
-
iso形式のファイルがフォルダに...
-
PCファイルの完全な削除方法
-
データ移動時にポップアップメ...
-
USBデータの消失
-
onedriveで同期解除をしたら、...
-
windows7でbootsectが使えない
-
CPコマンドでファイルがコピー...
-
エクセルでファイルの最終更新...
-
チェックボックスのデータをdat...
-
hamachiにログイン出来ません
-
isoイメージファイルの復元方法
-
HTML5からAndroid APKを作成する
-
ISOファイルが削除できません。
-
非圧縮のZIPファイルを作りたい...
-
や…やらかしてしまいました:助...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA グラフの存在の判定について
-
Excel VBAでグラフをクリックし...
-
【VBA】Excel等高線グラフの...
-
グラフを「似ている」順に並べ...
-
Excel VBAで、グラフを特定のセ...
-
論文に載せるグラフを作成したい
-
Excel VBA グラフ ChartType に...
-
Matlabによる複素数・・・
-
c言語 正負の値それぞれでの最...
-
グラフの元のデータを消しても...
-
グラフの色を数値で変わるように!
-
MFCプログラミング
-
matlabのy軸を2つ利用したグラ...
-
Excel VBAでグラフ作成。A,C列...
-
C#のChartで目盛線をグラフの前...
-
Excelのグラフをshapeオブ...
-
エクセルのマクロ
-
Excelマクロでグラフの縦軸目盛...
-
excelのグラフをLaTexに挿入す...
-
C言語でグラフ作成
おすすめ情報