У меня есть эта формула, которая используется для прогнозирования спортивной c производительности на основе ежедневного стресса. Он основан на 5 постоянных уникальных для каждого человека. Я пытаюсь найти их, основываясь на ежедневном стресс-тестировании и тестировании производительности. Я новичок в программировании и не знаю с чего начать. см. Формулу
Производительность = Фитнес (= ежедневный стресс + спад вчерашнего фитнеса) - Усталость (ежедневный стресс + спад вчерашнего усталости) + P0 Это образец данных: данные
спасибо
import pandas as pd
import numpy as np
import math
from scipy import optimize
data = pd.read_csv('data_mod1.csv')
TSS = data['stress'].fillna(0)
arr = np.array(TSS)
#data = data.dropna()
a = [arr[0]]
b = [arr[0]]
x = arr[1:]
def Banister(x, t1, t2,k1,k2, c):
for v in x:
a.append(a[-1]*np.exp(-1/t1) + v)
b.append(b[-1]*np.exp(-1/t2) + v)
data['fit'] = pd.Series(a)
data['fat'] = pd.Series(b)
data['perf'] = ((data['fit']*k1)-(data['fat']*k2))+c
return data['perf']
# In[ ]:
from scipy.optimize import curve_fit
fit = curve_fit(Banister, arr,data[data.index], p0=[20, 10,1 ,2, 50])