import numpy as np
def grand_total(num_days):
# 计算互补累积概率分布 num_days中存储的是所有的次数,总次数为sum(num_days)
grand_total = []
for i in range(1, len(num_days)):
a = num_days[i:] # 互补累积概率,单调递减
p = sum(a) / sum(num_days)
grand_total.append(p)
# print(grand_total)
grand_total.append(0.0)
return grand_total
def memory(ls):
ls_per = ls[:len(ls) - 1]
ls_after = ls[1:len(ls)]
mean_per = np.mean(ls_per)
mean_after = np.mean(ls_after)
sigma1 = 0
for j in ls_per:
sigma1 = sigma1 + (j - mean_per) ** 2
sigma1_per = sigma1 ** 0.5
sigma2 = 0
for k in ls_after:
sigma2 = sigma2 + (k - mean_after) ** 2
sigma1_after = sigma2 ** 0.5
sum1 = 0
for i in range(len(ls) - 1):
sum1 = sum1 + (ls_per[i] - mean_per) * (ls_after[i] - mean_after) * (
((sigma1_per + 0.01) * sigma1_after) ** (-1))
print('记忆性:', (1 / (len(ls) - 1)) * sum1)
def zhenfa(ls):
total = sum(ls)
lmbda = total / len(ls) # 间隔时间分布的均值
# lmbda = len(ls) / total
print('lmbda参数:', lmbda)
# 计算标准差
sq = 0
for i in ls:
sq = sq + (i - lmbda) ** 2
sq = sq ** 0.5
print('标准差:', sq)
B = (sq - lmbda) / (sq + lmbda)
print('阵发性:', B)
def huoyuedu(ls):
# 活跃度
total = sum(ls)
A = len(ls) * (total + 0.0) ** (-1)
print('活跃度:', A)