GPSログデータは、結構バラつきがあるため、そのままグラフ化しても関係性が掴みにくいものです。そのためデータを集約して平滑化することで、データの関係性・相関関係を探る必要があります。
PowerBI は「ビン」という処理方法があります。データを連続として捉えるのではなく、細かくグループ分けすることでグループごとの特性を掴むことが出来ます。この手法を使えばEXCELとは違った優れた分析が行えます。
https://learn.microsoft.com/ja-jp/power-bi/create-reports/desktop-grouping-and-binning
ビンを使用すると、連続した数値データを特定の幅の「ビン」にグループ化することができます。これにより、データの分布を視覚化することができます。
ビンの作成や編集はとても簡単です。
分割したいデータを右クリックして「新しいグループ」を選択します。
ビンの指定は、①「ビンの数」で指定する方法と②「ビンのサイズ」で指定する方法の2種類あります。それぞれ分けたい段階を考えて指定してください。
このグラフは水平速度と心拍の平均を「ビン」を使って表現しています。
水平速度と心拍の平均を「ビン」を使わない場合のグラフです。傾向性が掴みにくことがわかります。
水平速度と時間の積のグラフにも「ビン」が使われています。
「ビン」を使わない場合のグラフです。
勾配率毎の沿面距離の合計も「ビン」が使われています。
「ビン」を使わない場合のグラフです。この生データから何を読み取るのかを考えて、平滑化の加工を加えて行く必要があります。
勾配率を「ビン」化することで、グラフをスッキリさせることが出来ます。
「ビン」を使わない場合のグラフです。このグラフでも良いのですが、もう少し平均したほうが見やすいかと考えます。
PowerBI は「クイックメジャー」という処理方法があります。データの平均について「分子」「分母」を分けることで正しく計算することが出来ます。この手法はEXCELでは使えません。
https://learn.microsoft.com/ja-jp/power-bi/transform-model/desktop-quick-measures
たとえば速度平均を取る場合は、移動距離を移動時間で割る必要があります。
ところがEXCELの場合は、複数データをグループ毎に分けて、移動距離(分子)、移動時間(分母)を合計した後、割り算を行う必要があります。
クイックメジャーはそれらの計算を1行で指定することが出来ます。
まず準備として、「データビュー」で、計算したい分子と分母のデータ項目を作成しておきます。
その準備の後、「レポートビュー」の右上にある、クイックメジャーボタンを押します。
クイックメジャーの作成方法は、この場では触れませんが、最終的にはDAX関数というものが生成されます。
このDAX関数はEXCELでは無かった概念ですが、慣れると非常に高機能な計算を提供してくれます。
水平速度QMは「クイックメジャー」を使っています。クイックメジャーと「ビン」を組み合わせると、ビン内で水平速度の平均値を計算してもらえるため、グラフをスッキリさせることが出来ます。
水平速度や垂直速度を「ビン」で計算させる場合は、必ず「クイックメジャー」を使う必要があります。(正しい答えにならないためです。)
生データをグラフ化するとノイズの多い非常に見ずらいものになります。
GPSログデータには、どうしても異常値が入り込みやすいため、ある程度フィルターで異常値を除去する必要があります。今回は3つの手法で排除しています。
手法①「データビュー」の列ツールでDAX関数を使ったエラー排除を行っています。もし関数計算でエラーが出た場合「ブランク」となるように指定します。
手法②「データビュー」の列ツールで、エラー訂正用の項目を作成し、DAX 関数で閾値を指定することで排除します。ただしここでのエラー排除はやたらテーブルが増えることになるため、最低限に留めています。
手法③グラフ化する際に「フィルター」で異常値を排除します。ただし色々計算しているとフィルターを消し忘れてしまい、正しいグラフにならない場合があるため注意が必要です。不必要なフィルターは出来るだけ使わないように心がけます。
移動しているか、停止(休息)しているかの判定ロジックは大変難しく、理想的にはAIなどの機械学習を利用すべきかと考えます。今回は非常に簡単な簡易的方法で判定を行っています。
ここでは詳細説明を省略しますが、前後データの移動平均を使う方法と、心拍数で判断する方法の二種類を作成しています。