في الوقت الحالي ، يبدو أن النموذج يتم حسابه على أنه الفرق في اللياقة البدنية والتعب في نفس اليوم. ومع ذلك ، قد يكون من الأفضل الاعتماد على اللياقة والإرهاق أمس. هذا أمر قابل للنقاش بالطبع. يمكنني اقتراح هاتين النقطتين فقط:
أ) أشعر أنه أكثر صوابًا بالنسبة لي بشكل شخصي ، حيث أشعر بتعب التدريب أكثر في اليوم التالي
ب) يقوم موقع TrainingPeaks بذلك (انظر هنا ، قسم "النموذج")
النموذج حسب التعريف هو (TrainingPeaks):
يمثل توازن الإجهاد التدريبي (TSB) أو النموذج توازن إجهاد التدريب.
Form (TSB) = لياقة الأمس (CTL) - تعب الأمس (ATL)
https://help.trainingpeaks.com/hc/en-us/articles/204071764-Form-TSB-
aprokop نعم يجب أن يتم ذلك مع النموذج الرياضي المستخدم. الصيغ في المساعد
thomaschampagne لست متأكدًا من فهمي لتعليقك. هل تقول أن هذا موجود بالفعل؟
aprokop نعم. رفع نموذج اللياقة = نموذج قمم التدريب
thomaschampagne لا أعتقد ذلك. نموذج TrainingPeaks هو
Form(day+1) = Fitness(day) - Fatigue(day)
يبدو أيضًا أن الصيغتين الأخريين غير صحيحين تمامًا ، ويجب أن يكونا كذلك
Fitness(day+1) = Fitness(day) + (StressScore(day+1)-Fitness(day)) x ...
Fatigue(day+1) = Fatigue(day) + (StressScore(day+1)-Fatigue(day)) x ...
ألقي نظرة على منحنى TrainingPeaks الخاص بي ، ويؤثر الجهد الكبير بشكل كبير على كل من اللياقة البدنية والتعب في نفس اليوم ، والشكل في اليوم التالي.
نعم هذه أيضًا وجهة نظري:
thomaschampagne لا أعتقد ذلك. نموذج TrainingPeaks هو
النموذج (يوم + 1) = لياقة (يوم) - تعب (يوم)
حسنًا ، لم أفهم. أعدت فتح التذكرة. شكرا على الحفر. رمز FYI موجود هنا: https://github.com/thomaschampagne/elevate/blob/990b5d0fc11113b2c4d120e6aec9f0ba3dc0e844/plugin/app/src/app/fitness-trend/shared/services/fitness.service.ts#L243
إجراء العلاقات العامة هو شيء ممكن بالنسبة لك أو أتعامل معه بنفسي؟
لم أعمل أبدًا مع لغة البرمجة هذه ، لكن يمكنني المحاولة إذا كنت تعتقد أنها سهلة بدرجة كافية. أعتقد أن شاغلي الرئيسي هو نطاق الكود المتأثر وما إذا كان يتطلب أي إعادة تنظيم.
aprokop يجب أن يكون النطاق هو تلك الطريقة فقط https://github.com/thomaschampagne/elevate/blob/990b5d0fc11113b2c4d120e6aec9f0ba3dc0e844/plugin/app/src/app/fitness-trend/shared/services/fitness.service.
لكن لا تقلق سأفعل ذلك. فقط بحاجة لمساعدتكم لاختبار والتحقق من صحة التغييرات.
aprokop هل أنت متأكد من 100٪ حول هذا أدناه؟
Fitness(day+1) = Fitness(day) + (StressScore(day+1)-Fitness(day)) x ...
Fatigue(day+1) = Fatigue(day) + (StressScore(day+1)-Fatigue(day)) x ...
لقد أصلحت الكود بتوصياتك (عبر الالتزام https://github.com/thomaschampagne/elevate/commit/ec73ee0c5a6d3c78662c41b94a4e090c70a1572b). لتبسيط التنفيذ في الكود الموجود ، قمت بتطبيق الصيغ الخاصة بك مثل هذا:
Fitness(day) = Fitness(day-1) + (StressScore(day)-Fitness(day-1)) x ...
Fatigue(day) = Fatigue(day-1) + (StressScore(day)-Fatigue(day-1)) x ...
Form(day) = Fitness(day-1) - Fatigue(day-1)
تضمين التغريدة
بناء الاختبار: v6.6.0_stable_ec73ee0_2018-10-17-16-05.zip
شكرا لمساعدتك :)
تضمين التغريدة
هل أنت متأكد بنسبة 100٪ من هذا أدناه؟
نعم و لا. نعم ، أنا متأكد من أنها خاطئة بمعنى أنها لا تتطابق مع TrainingPeaks لأن الجهد في نفس اليوم لن يؤثر على اللياقة / التعب في نفس اليوم. بالتأكيد من الضروري تغيير StressScore (يوم) إلى StressScore (يوم + 1). ومع ذلك ، لست متأكدًا مما إذا كانت هذه هي الصيغة الدقيقة. يمكن للمرء أن يعتقد أن هذه الصيغة مثل
Fitness(day+1) = Fitness(day) + (StressScore(day+1)-Fitness(day+1)) x ...
يمكن أن يكون له معنى أيضًا (سيحتاج المرء بعد ذلك إلى حل اللياقة البدنية (يوم + 1)). لكنني أعتقد أنها جيدة كما هي.
الالتزام بتنفيذ الصيغ المقترحة بشكل صحيح. يمكنك نقل تحديثات prevCtl
والأصدقاء من عبارات if (isPreStartDay)
، لكن هذا بسيط.
سأختبرها في المساء عندما أصل إلى المنزل.
لقد جربته للتو ، وسيتصرف كما هو متوقع. انخفض المستوى في اليوم
aprokop شكرا
Fitness(day+1) = Fitness(day) + (StressScore(day+1)-Fitness(day+1)) x ...
-- or --
Fitness(day+1) = Fitness(day) + (StressScore(day+1)-Fitness(day)) x ...
لكني أعتقد أن لدينا مشكلة مع الأولى :) من الغريب حساب Fitness(day+1)
إذا كان Fitness(day+1)
أيضًا جزءًا من التعبير ... هذا ما نريد إيجاده.
وإذا حلنا التعبير ، فلدينا:
Fitness(day+1) = (Fitness(day) - k * StressScore(day+1)) /(1 - k) where k = exp(-1/42)
... هل هذا منطقي؟!
هل هناك طريقة لتصدير بيانات csv من TrainingPeaks يومًا بعد يوم؟ أو احصل على مزيد من المعلومات من لقطة شاشة الرسم البياني لـ TrainingPeaks؟
في لقطة شاشة الرسم البياني لـ TrainingPeaks ، هل النقاط الحمراء هي يوم الجهد (المجهود)؟ هل تؤكد أن منحنى اللياقة والإرهاق يرتفع في يوم مجهودك؟
شكرا لمساعدتك :)
thomaschampagne أتفق معك في أن Fitness(day+1) = Fitness(day) + (StressScore(day+1)-Fitness(day+1)) x ...
هو أمر غريب. لقد ذكرت ذلك فقط لأنني لست متأكدًا بنسبة 100٪.
هل هناك طريقة لتصدير بيانات csv من TrainingPeaks يومًا بعد يوم؟ أو احصل على مزيد من المعلومات من لقطة شاشة الرسم البياني لـ TrainingPeaks؟
انها حقا فكرة جيدة. أعتقد أنه ممكن ، وقد فعلت ذلك في الماضي. اسمحوا لي أن أحاول الحصول على البيانات الحديثة.
في لقطة شاشة الرسم البياني لـ TrainingPeaks ، هل النقاط الحمراء هي يوم الجهد (المجهود)؟ هل تؤكد أن منحنى اللياقة والإرهاق يرتفع في يوم مجهودك؟
نعم ، النقاط الحمراء هي قيم TSS لكل يوم ، والنقاط الزرقاء هي الكثافة.
هل تؤكد أن منحنى اللياقة والإرهاق يرتفع في يوم مجهودك؟
نعم.
حسنًا ، لذلك يمكن للمرء تصدير التدريبات وليس قيم المنحنى. غرامة. لنختبره.
لنلقي نظرة على السباق الصعب الأخير (وضع علامة -
بيانات غير مهمة). كان لابد من أخذ البيانات من رسم بياني ، وتم تقريبها إلى أقرب عدد صحيح بواسطة TrainingPeaks.
| | يوم ما قبل السباق | يوم السباق | بعد يوم السباق |
| - | - | - | - |
| TSS | - | 395 | - |
| التعب | 54 | 102 | - |
| لياقة | 61 | 69 | - |
| النموذج | - | 8 | -33 |
وبالتالي:
باختصار ، تبدو هذه هي الخيار الأفضل:
Form(day) = Fitness(day-1) - Fatigue(day-1)
Fitness(day) = Fitness(day-1) + (StressScore(day)-Fitness(day-1)) x (1-exp(-1/42))
Fatigue(day) = Fatigue(day-1) + (StressScore(day)-Fatigue(day-1)) x (1-exp(-1/7))
ملاحظة: ما زلت لا أفهم تمامًا السبب في 2. نحن نحصل على 99 فقط وليس 102.
ألقوا نظرة على GoldenCheetah :
double lte = (double)exp(-1.0/ltsDays_);
double ste = (double)exp(-1.0/stsDays_);
...
// LTS
if (day) lastLTS = lts_[day-1];
lts_[day] = (stress_[day] * (1.0 - lte)) + (lastLTS * lte);
// STS
if (day) lastSTS = sts_[day-1];
sts_[day] = (stress_[day] * (1.0 - ste)) + (lastSTS * ste);
يوجد هذا ايضا.
لذا ، أعتقد أننا جيدون.
aprokop شكرًا جزيلاً على هذا التحليل العميق! إنه واضح لا لبس فيه!
التعليق الأكثر فائدة
aprokop شكرًا جزيلاً على هذا التحليل العميق! إنه واضح لا لبس فيه!