에 대한 코드는 어떻게 비례 변화 (이 paper의 수학 식 1)에 대한 방정식을 코드?비례 변동성
내 코드는 다음과 같습니다
import pandas as pd
l = pd.Series([1,2,3,4,5,6]) # any list of numbers
n = len(l)
if n > 1:
C = (n*(n-1))/2
D = []
for i in l.index:
for j in l.index:
if i != j:
zi_zj = [l[i],l[j]]
D.append(1-((min(zi_zj))/(max(zi_zj))))
PV = (1/C)*(np.sum(D))
else:
PV = 0
나는 모든 숫자와 같은 목록을 두는 경우에 예상대로 내가 예를 들어, 산술 순서로 목록을 넣어 경우, 나는, 그러나, PV = 0
수 [0,2,4,6,8]
, PV = 1.4
이고 논문에 따르면 PV
은 0
과사이에 있어야하며 산술 시퀀스는 n
과 관계없이 PV = 0.5
이어야합니다.
내가 시도 또 다른 옵션은이었다
이l = pd.Series([1,2,3,4,5,6]) # any list of numbers
n = len(l)
if n > 1:
C = (n*(n-1))/2
i_s = set()
j_s = set()
D = []
for i in l.index:
for j in l.index:
if i != j:
if i not in i_s:
if j not in j_s:
zi_zj = [l[i],l[j]]
D.append(1-((min(zi_zj))/(max(zi_zj))))
i_s.add(i)
j_s.add(j)
PV = (1/C)*(np.sum(D))
else:
PV = 0
그러나 중 하나가 작동하지 않았다.
또한, 나는 숫자의 일련의 비례 변동성을 계산 파이썬에서 함수를 찾지 못했습니다.
는 아무도 내가 코드에서 잘못하고있는 무슨 자리 나 나가 내장 기능이 있으면 알려 수 있습니까? 내가 수행 한 계산을 바탕으로
는