Я пытаюсь написать эту формулу
![enter image description here](https://i.stack.imgur.com/WVDBB.jpg)
в python для оценки данных моего временного ряда: mean_30_sec_of_pulse
.Краткий справочный материал, чтобы помочь с этим, mean_30_sec_of_pulse
- это временной ряд данных сердечного ритма, которые усреднялись каждые тридцать секунд.В формуле счетчик i ссылается на каждую минуту, поэтому каждое другое значение в переменной 30 секунд.«Hk+i former
» и «Hk+i latter
» - это значения частоты сердечных сокращений за первые и последние 30 секунд временного интервала (k+i)
.q
- экспериментальное значение, я использовал q=4
, как показано ниже
У меня возникают трудности с проверкой / подтверждением того, что я правильно представляю эту формулу.
minute = 0
R_values = np.array([])
for k in range(1,len(mean_30_sec_of_pulse),2):
#print(k)
minute += 1
q = 4
q_s = np.arange(q*-1,q+1,1) #an array from -q to q
q_s = np.delete(q_s,q) #deletes the zero
Absolute_difference = np.array([])
for i in q_s:
H_subscript = minute+i
#print(H_subscript)
thirty_sec_indexer = ((H_subscript*2)-1)
if thirty_sec_indexer-1 < 0:
continue
if thirty_sec_indexer+1 > len(mean_30_sec_of_pulse):
continue
H_later = mean_30_sec_of_pulse[thirty_sec_indexer-1]
H_former = mean_30_sec_of_pulse[thirty_sec_indexer+1]
Difference = H_former-H_later
Abs_diff_iterative = abs(Difference)
Absolute_difference = np.append([Absolute_difference],[Abs_diff_iterative])
Sum_of_differences = np.sum(Absolute_difference)
R_value_iterative = (1/((2*q)+1))*Sum_of_differences
#print(H_former)
#print(H_later)
R_values = np.append([R_values],[R_value_iterative])