演習: クエリを使用して傾向を調べる
生データおよび未知の気象データセットの範囲を調べてきました。 このユニットでは、視覚化を使用して、データがどのように分散されているかを確認します。
時間グラフ
前回のユニットで見たデータ列の一部は DateTime 型で、嵐の事象の開始時刻と終了時刻を表していたことを思い出してください。 嵐の事象のデータがある日付を確認するには、エントリの数と時刻をプロットできます。
前のユニットでは 50 個のデータ行のサブセットが使用されましたが、このユニットではすべてのデータセットが使用されることに注意してください。
次のクエリでは、時間の関数として 8 時間単位を使用した、嵐の事象が発生した回数を示す時間グラフを作成します。
次のクエリを実行します。
StormEvents | summarize Count = count() by bin (StartTime, 8h) | render timechart
次の画像のような結果が得られるはずです。
結果のグラフをご覧ください。 明確なギャップや異常が確認できますか。
状態別のイベント
データ分布を調べるもう 1 つの方法は、イベントの場所 (この場合は状態) でグループ化して、分布からどのような傾向が見られるかを確認することです。
次のクエリを実行します。
StormEvents | summarize event = count() by State | sort by event | render barchart
次の画像のような結果が得られるはずです。
結果のグラフをご覧ください。 一覧には、"米領サモア" や "ハワイ周辺海域" など、米国の公式の州ではない地域を含め、67 の異なる地域が示されています。 このような地理的な嵐の分布から何かを読み取ることができるでしょうか。
グラフの上にある [テーブル] タブを選択すると、基になるデータを表示することができます。 実際の数値は、データ分散を理解するのに役立ちますか。
地理的な場所別のイベント
イベント数が時間と状態によって、どのように異なるかを確認しました。 スキーマ マッピングで、嵐の事象の各エントリに緯度と経度の情報が含まれていたことを思い出してください。 地図上でデータがどのように分布するかを見てみましょう。
次のクエリは、イベントを地理的な集合でグループ化し、各集合のイベント数をカウントします。 これらの結果は、円のサイズがその集合内のイベントの数に対応する形で、地図上に表示されます。 次のクエリを実行します。
StormEvents | project BeginLon, BeginLat | where isnotnull(BeginLat) and isnotnull(BeginLon) | summarize count_summary=count() by hash = geo_point_to_s2cell(BeginLon, BeginLat,6) | project geo_s2cell_to_central_point(hash), count_summary | extend Events = "count" | render piechart with (kind = map)
次の画像のような結果が得られるはずです。
Ctrl + を押して、拡大してみてください。 ある種の嵐の事象を考慮してきました。米国の北東部とメキシコ湾の地域で、こうした嵐の事象が多く発生することが理解できたでしょうか。