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

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

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

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

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

地点を選ぶ

地点を選ぶ
地点を選ぶ

項目を選ぶ

項目を選ぶ
項目を選ぶ

期間を選ぶ

期間を選ぶ
期間を選ぶ

表示オプションを選ぶ

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

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 の散布図でプロットする

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

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

まとめ

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

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

eStatの地図で見る統計(統計GIS)データダウンロードから小地域の境界データをダウンロードし,人口密度をQGISで表現する

こちらの方が自然に感じられる

 国勢調査をもとに作成された境界データダウンロードサービスがある.市区町村よりも更に細かい,町字の粒度でのGISデータである.今回は関東地方のデータをダウンロードし,QGISで人口密度を可視化する.

“eStatの地図で見る統計(統計GIS)データダウンロードから小地域の境界データをダウンロードし,人口密度をQGISで表現する” の続きを読む

国土地理院の基盤地図情報のベクタデータを大量に扱いたい時

 ベクタデータは拡大しても劣化がないが,データサイズが大きいため,環境によっては動作が極端に重くなる.

 これといった決定打があるわけではないが,事前の準備があると少しは取り扱いが楽になる.

“国土地理院の基盤地図情報のベクタデータを大量に扱いたい時” の続きを読む

SQL Server 2008 R2 に国土数値情報の行政区域データをアップロードする

東京都のshapeファイル

 医療圏のポリゴンデータをアップロードした際には日本語データが文字化けしており,原因も対処法も不明だった.

 今回は行政区域データをダウロードし,SQL Server にアップロードしてみたところ,日本語が文字化けしなかったので報告する.

“SQL Server 2008 R2 に国土数値情報の行政区域データをアップロードする” の続きを読む

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

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

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

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

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

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

厚労省「地域ごとのまん延の状況に関する指標等」の PDF から Power BI Desktop でデータを抽出し EXCEL のグラフに表現する

各都道府県の新型コロナウイルス確定患者数の推移

 新型コロナウイルスのパンデミック宣言以降,Twitter でフォローしているアカウントに自然と相互協調の動きがみられる.

 このツイートから始まった一連のやりとりで,厚労省の発表した PDF からテーブルを抽出するくだりに注目した.

 今回はここを画像つきで実施してみた.

“厚労省「地域ごとのまん延の状況に関する指標等」の PDF から Power BI Desktop でデータを抽出し EXCEL のグラフに表現する” の続きを読む