【Python】自転車ロードレースのパワトレで使うPMCを作った

 

パワーメーターを使ってはじき出される数値を利用して、パフォーマンスマネジャーチャート(PMC)を作ることが出来ます。

 

今回はパワートレーニングバイブルを参考に、TSSとCTLの動向を読み取って練習不足かオーバートレーニング気味か教えてくれるPMCを作成したので紹介します。

 

スポンサーリンク

データを取得する

 

PMCを作成するにはデータが必要です、そしてこれから紹介するツールは1日の練習時間と平均パワー、作成者のFTP(1時間の平均最大パワー)を入力することで作動します。

 

今回はGoldenCheetahのデータを使いますが、Garmin Expressなどのトレーニング管理アプリは大抵エクスポート機能が付いているので、そこから必要な情報を取得するのもアリです。

 

【参考記事】自転車トレーニングのデータをGoldenCheetahで管理

 

そしてこういったcsvデータが取得できました。

 

 

このファイルの名前をtrainingdata.csvとしましょう。

 

コードを書く

 

さっき取得したcsvデータを使ってコードを書いていきます。

 

そして出来上がったのがこれです、

 

 

1. トレーニングデータ読み込み

 

pandasをつかってcsvデータを読み込みます。

 

今回のシステムで必要なのはトレーニング時間とNP(平均パワーでも可)なので、その情報を抜き出してリストを作成します。

 

2. リストを作成

 

次に、CTL、 ATL、 TSBのグラフを作るためにリストを作成します。

 

ちなみにTSS、CTL、ATL、TSBはそれぞれ以下をざっくり意味します。

 

TSS = トレーニング強度を示す

CTL = 長期トレーニング負荷「体力」に近い意味

ATL = 短期トレーング負荷「疲労」に近い意味

TSB = トレーニング・ストレス・バランス、「どのくらい元気な状態か?」を示す

 

3. トレーニング毎のCTL, ATL, TSBを計算

 

csvデータを一行ずつ読み込んでトレーニング毎のCTL、ATL、TSBを計算、それぞれリストに加えます。

 

また、上記の値を計算するのに必要なため、TSSとIF(強度係数)も一緒に計算します。

 

TSS、IF、CTL、ATL、TSBは以下の計算式で導きます。

 

TSS = { ( TIME × NP × IF ) ÷ FTP } × 100

IF =  NP ÷ FTP

CTL = 前日のCTL × EXP(-1/42) + TSS × {1-EXP(-1/42)}

ATL = 前日のATL × EXP(-1/7) + TSS × {1-EXP(-1/7)}

TSB = 前日のCTL – 前日のATL

 

CTL、ATL、TBSはそれぞれ前日のデータが必要です。しかし、初めて測定を開始した日より前のデータは無いので、測定初日よりさらに一日前をバーチャルで作ります。その日はCTLとATLが1になる分だけ練習した(実質的にはしていない)ということにします。

 

なお、EXP(-1/7)とEXP(-1/42)はそれぞれ0.976、0.867にしています。

 

これでグラフに表す分のCTL、ATL、TSBのリストを作成することに成功しました。

 

4. 練習量を定義して不足か過足か知らせる

 

いくらグラフを作成しても、グラフの意味が理解できなければ宝の持ち腐れです。

 

そこで、パワトレ初心者でも簡単に利用できるようにCTLとATLの動向を読み取って「練習が足りていないか、オーバーワーク気味か」を教えてくれるプログラムを組み込みます

 

パワートレーニングバイブルを参考に、練習不足とオーバーワークを以下のように定義しました。

 

練習不足 = 直近2週間のCTLの差が5より上がっていない

オーバーワーク = 直近42日のCTLの差が28より大きい or 直近1週間のATLの差が70より大きい

 

これで、CTLとATLが上記の3つの定義に該当した場合、練習不足かオーバーワークかをprint()で知らせてくれます。

 

5. グラフとして表示

 

あとはmatplotlibでグラフを表示するだけです。

 

その結果がこちら、

 

 

3つの指標はそれぞれ、CTL=青、ATL=赤、TSB=緑で表示され、y軸が数値、x軸が日数を表しています。

 

まとめ

 

以上、パーフォーマンスマネジャーチャートの作り方の紹介でした。

 

このツールの良い部分は「練習不足か、オーバーワーク気味か」を教えてくれることです。

 

パワートレーニングを初めて間もない方はPMCを作っても意味を理解していない事が多く、なんとなく理解しても、

 

とりまCTLを上げまくったらええんやろ?

 

と考えてしまいがちですが、こういったツールを使えば最適な練習強度でトレーニングを続けることが出来るでしょう。