熱中症の重症度別搬送人員数を最高気温と平均湿度別にプロットする

気温・湿度別の重症度別搬送人員

 熱中症の搬送人員と最高気温との相関関係を可視化し閾値をχ二乗検定するでは最高気温と搬送数をプロットした.今回は気象庁から湿度のデータをダウンロードし,重症度別にプロットして可視化する.

平均湿度のデータをダウンロードする

 データは気象庁の過去の気象データ・ダウンロードにある.

地点を選ぶ

地点を選ぶ
地点を選ぶ

項目を選ぶ

項目を選ぶ
項目を選ぶ

期間を選ぶ

期間を選ぶ
期間を選ぶ

表示オプションを選ぶ

表示オプションを選ぶ
表示オプションを選ぶ

Power Query でデータクレンジングする

「データの取得」「ファイルから」「フォルダーから」
「データの取得」「ファイルから」「フォルダーから」
プレビュー
プレビュー
「テキストフィルター」「指定の値で始まる...」
「テキストフィルター」「指定の値で始まる…」
フィルター条件を記述
フィルター条件を記述
Csv.Document関数を記述
Csv.Document関数を記述
第1引数に[Content], 第2引数に[Encoding=932]を指定
第1引数に[Content], 第2引数に[Encoding=932]を指定
「他の列の削除」
「他の列の削除」
Tableを展開する
Tableを展開する
「1行目をヘッダーとして使用」
「1行目をヘッダーとして使用」
「その他の列のピボット解除」
「その他の列のピボット解除」
ヘッダーは「年月日」「属性」「値」となる
ヘッダーは「年月日」「属性」「値」となる
「年月日」列のデータ型を「日付」にする
「年月日」列のデータ型を「日付」にする
「平均湿度」列のデータ型を「整数」にする
「平均湿度」列のデータ型を「整数」にする
「石狩」を「北海道」に置換する
「石狩」を「北海道」に置換する
カスタム列を挿入し右端1文字を削除する
カスタム列を挿入し右端1文字を削除する
「北海」を「北海道」に置換する
「北海」を「北海道」に置換する

クエリのマージ

クエリのマージ
クエリのマージ
テーブルと照合列の列を指定する
テーブルと照合列の列を指定する
Tableを展開し,都道府県コードのみチェックする
Tableを展開し,都道府県コードのみチェックする

 

SQL Server でデータを結合する

 上記の作業で得られたテーブルをテキストファイルで保存し,SQL Server のウィザードを使用してアップロードする.作業そのものは前回の記事を同様であり,省略する.

クエリ

 下記のクエリを実行すると重症度別の搬送人員が得られる.結果をヘッダー付きでコピーし,EXCELに貼り付ける.

USE EMERGENCYDB;
GO
SELECT	'軽症'	AS '重症度'
	,	E.軽症	AS '搬送数'
	,	A.人口 
	,	T.日別最高気温
	,	M.湿度
	,	E.都道府県コード
	,	T.都道府県
	,	T.年月日
FROM	dbo.Emergency	AS E
INNER	JOIN dbo.Temperature	AS T
ON	E.日付 = T.年月日
AND	E.都道府県コード = T.都道府県コード
INNER	JOIN	dbo.T_Moisture	AS M
ON	E.日付 = M.年月日
AND	E.都道府県コード = M.都道府県コード
INNER	JOIN	dbo.T_Population	AS A
ON	E.都道府県コード = A.都道府県コード
AND	YEAR(E.日付) = A.調査年
WHERE	E.軽症 > 0

UNION

SELECT	'中等症'	AS '重症度'
	,	E.中等症	AS '搬送数'
	,	A.人口 
	,	T.日別最高気温
	,	M.湿度
	,	E.都道府県コード
	,	T.都道府県
	,	T.年月日
FROM	dbo.Emergency	AS E
INNER	JOIN dbo.Temperature	AS T
ON	E.日付 = T.年月日
AND	E.都道府県コード = T.都道府県コード
INNER	JOIN	dbo.T_Moisture	AS M
ON	E.日付 = M.年月日
AND	E.都道府県コード = M.都道府県コード
INNER	JOIN	dbo.T_Population	AS A
ON	E.都道府県コード = A.都道府県コード
AND	YEAR(E.日付) = A.調査年
WHERE	E.中等症 > 0

UNION

SELECT	'重症'	AS '重症度'
	,	E.重症	AS '搬送数'
	,	A.人口 
	,	T.日別最高気温
	,	M.湿度
	,	E.都道府県コード
	,	T.都道府県
	,	T.年月日
FROM	dbo.Emergency	AS E
INNER	JOIN dbo.Temperature	AS T
ON	E.日付 = T.年月日
AND	E.都道府県コード = T.都道府県コード
INNER	JOIN	dbo.T_Moisture	AS M
ON	E.日付 = M.年月日
AND	E.都道府県コード = M.都道府県コード
INNER	JOIN	dbo.T_Population	AS A
ON	E.都道府県コード = A.都道府県コード
AND	YEAR(E.日付) = A.調査年
WHERE	E.重症 > 0

UNION

SELECT	'死亡'	AS '重症度'
	,	E.死亡	AS '搬送数'
	,	A.人口 
	,	T.日別最高気温
	,	M.湿度
	,	E.都道府県コード
	,	T.都道府県
	,	T.年月日
FROM	dbo.Emergency	AS E
INNER	JOIN dbo.Temperature	AS T
ON	E.日付 = T.年月日
AND	E.都道府県コード = T.都道府県コード
INNER	JOIN	dbo.T_Moisture	AS M
ON	E.日付 = M.年月日
AND	E.都道府県コード = M.都道府県コード
INNER	JOIN	dbo.T_Population	AS A
ON	E.都道府県コード = A.都道府県コード
AND	YEAR(E.日付) = A.調査年
WHERE	E.死亡 > 0
(77678 行処理されました)

EXCEL の散布図でプロットする

 「重症度」でフィルターをかけると,「軽症」「中等症」「重症」「死亡」に分類される.それぞれの重症度でフィルターをかけた状態で散布図のデータ系列を作成する.結果は下図の状態である.

気温・湿度別の重症度別搬送人員
気温・湿度別の重症度別搬送人員

まとめ

 気象庁のサイトから最高気温と平均湿度をダウンロードし,総務省消防庁の熱中症救急搬送人員と結合して重症度別にプロットした.

 統計学的検定は行っていないが,やるとすればロジスティック回帰分析になるだろう.湿度を加えた場合に感度と特異度が向上するのか,逆に低下するのかは興味深い.重症度別に層別解析を行うことも考えられる.

熱中症の搬送人員と最高気温との相関関係を可視化し閾値をχ二乗検定する

日最高気温と搬送人員

 最高気温と熱中症の搬送人数との間に相関関係はあるだろうか.熱中症で救急搬送された人数は総務省の消防庁のサイトにある.これと気象庁のデータを結合してみた.

“熱中症の搬送人員と最高気温との相関関係を可視化し閾値をχ二乗検定する” の続きを読む

都道府県ごとの河川データを1つのcsvファイルに変換する

CSVテキストレイヤをベクタレイヤとして追加した結果

 河川データを都道府県別ではなく,水域別に抽出したい.そんな動機から QGIS と EXCEL の間を行ったり来たりしている.QGISで都道府県ごとの河川データをマージするではかなり無謀なことをやった.今回はもう少し丁寧にデータを扱ってみたい.

“都道府県ごとの河川データを1つのcsvファイルに変換する” の続きを読む

Power Query で Microsoft 日本語公式サイトから列挙体を取得する

 Microsoft の公式サイト,英語なら取得は容易であるが,当然日本語は取得できない.今回は日本語サイトから英語と日本語の両者を取得しようと試みた.

 結論から言うと,この記事で述べた方法で全ての日本語と英語とが分離できたわけではない.2 バイト文字と 1 バイト文字との分離という手法を用いたが,最終的には手動での対応が必要だった.

“Power Query で Microsoft 日本語公式サイトから列挙体を取得する” の続きを読む

Power Query でフォルダから複数ファイルを一括インポートする

ソースファイル内部の候補がポップアップする

 Power Query で,あるフォルダ内の同一構造のファイルを一括してインポートする機会は多い.M 言語は未開拓であるが,その一端に触れてみた.

 EXCEL ブックであれ csv ファイルであれ,構造化されたデータという観点から見れば,ファイル形式などどうでも良い話である.この抽象化が理解できれば,Power Query への理解が一定程度進むのではないかと思う.

 この記事はEXCEL VBA でフォルダ内のブックを開きデータを読み込むと対応する.

“Power Query でフォルダから複数ファイルを一括インポートする” の続きを読む

今後25年間の日本の都市の将来推計人口を EXCEL VBA で描く

データ系列のマーカースタイルを消去

 これまでは日本の都市人口の過去の推移を見てきた.総務省には日本の都市人口の推移予測がある.今回はこのデータをグラフにする.

 データを可視化するにあたり,重要なのは引き算である.強調すべき系列のみを強調するために,VBA の知識が欠かせない.

 グラフの系列にデータラベルを表示する方法にはいくつかある.

“今後25年間の日本の都市の将来推計人口を EXCEL VBA で描く” の続きを読む